:root{--paper:#f3eee5;--surface:#fffcf6;--ink:#292229;--muted:#746b70;--line:#d9d0c8;--accent:#803e45;--accent-soft:#ead6cf;--peach:#e3b48f;--night:#231e23;--on-night:#f5ecdc;--night-muted:#c0b0aa;--error:#a53140;--success:#416851;--safe-top:0px;--safe-bottom:0px;--safe-left:0px;--safe-right:0px;--radius:18px;color-scheme:light}
html[data-role=conductors]{--accent:#66506e;--accent-soft:#e6d9e9;--peach:#deb49f;--night:#26212c}
html[data-theme=dark]{--paper:#231e23;--surface:#2d272d;--ink:#f3eade;--muted:#c2b3b9;--line:#51444e;--accent:#e0a7a6;--accent-soft:#4b333d;--error:#ffa2ac;--success:#a0c9af;color-scheme:dark}
html[data-role=conductors][data-theme=dark]{--accent:#d3b6e0;--accent-soft:#423345}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{min-width:280px;background:var(--paper);scrollbar-gutter:stable}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Golos,'Segoe UI',sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,textarea,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a,textarea{touch-action:manipulation}button{color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{border:0}svg{display:block;width:22px;height:22px;flex:none}h1,h2,h3,p{margin:0}button svg{pointer-events:none}button:disabled{pointer-events:none}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#app{min-height:100svh;isolation:isolate}.shell{max-width:1040px;margin:auto;min-height:100svh;padding:calc(20px + var(--safe-top)) max(22px,var(--safe-right)) max(24px,var(--safe-bottom)) max(22px,var(--safe-left));display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;margin-bottom:24px}.wordmark{font-family:Cormorant,Georgia,serif;font-weight:600;font-size:38px;line-height:1;letter-spacing:-2px;display:inline-flex;align-items:center;gap:7px}.brand-star{font-family:Golos,sans-serif;font-weight:400;font-size:23px;letter-spacing:0;color:var(--accent)}.top-actions{display:flex;align-items:center;gap:8px}.role-label{font-size:11px;color:var(--muted);padding-right:8px}.icon-btn{border:1px solid var(--line);width:42px;height:42px;border-radius:50%;background:transparent;display:inline-flex;align-items:center;justify-content:center;flex:none}.icon-btn svg{width:18px;height:18px}.icon-btn:active{transform:scale(.93)}
.home{background:var(--night);color:var(--on-night);position:relative;overflow:hidden}.home .topbar{position:relative;z-index:2}.home .brand-star{color:var(--peach)}.home .role-label{color:var(--night-muted)}.home .icon-btn{border-color:#61525c}.home .icon-btn:focus-visible{outline-color:var(--peach)}.home-main{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;flex:1;padding:22px 0 32px}.invitation{position:relative;z-index:1}.availability{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:var(--night-muted);margin-bottom:24px}.status-dot{width:6px;height:6px;border-radius:50%;background:#c1c696;box-shadow:0 0 0 4px #c1c69612}.closed .status-dot{background:#cba58c;box-shadow:none}.hero-title{font-family:Cormorant,Georgia,serif;font-size:clamp(60px,8vw,88px);font-weight:500;line-height:.93;letter-spacing:-2px;max-width:9ch}.hero-description{color:var(--night-muted);font-size:14px;line-height:1.7;max-width:33ch;margin-top:22px}.home-caption{font-size:11px;color:var(--night-muted);display:flex;gap:10px;align-items:center;margin-top:20px}.home-caption svg{width:15px;height:15px}.cta{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;border-radius:14px;padding:16px 20px;background:var(--ink);color:var(--paper);font-weight:550;text-align:left;transition:transform .18s,background .18s}.cta:active{transform:scale(.98)}.cta svg{width:20px;height:20px}.home .cta{background:var(--peach);color:var(--night);width:100%;margin-top:28px}.home .cta:focus-visible{outline-color:var(--on-night)}.subtle-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:var(--muted);padding:12px 4px;min-height:44px;text-decoration:none;font-size:12px}.home .subtle-btn{color:var(--night-muted)}.home-footer{border-top:1px solid #65525d70;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:18px;color:var(--night-muted);font-size:11px}.home-footer span:last-child{font-family:Cormorant,Georgia,serif;font-size:19px;white-space:nowrap}.home-footer svg{width:14px;height:14px}.home-footer>span:first-child{display:flex;align-items:center;gap:8px}
.atelier{position:relative;min-height:400px;display:grid;place-items:center;perspective:1100px;--rx:-9deg;--ry:-15deg;--glow:45%;touch-action:pan-y;user-select:none;-webkit-user-select:none}.orbit{position:absolute;width:360px;height:360px;border:1px solid #bfa78d30;border-radius:50%;transform:rotateX(58deg) rotateZ(-24deg);pointer-events:none}.orbit.second{width:440px;height:440px;transform:rotateX(62deg) rotateZ(22deg);border-color:#bfa78d16}.orbit:before,.orbit:after{content:'';position:absolute;width:7px;height:7px;background:var(--peach);border-radius:50%;left:35px;top:45px;box-shadow:0 0 20px #deb49f55}.orbit:after{width:3px;height:3px;left:auto;top:auto;bottom:23px;right:65px}.pass-shadow{position:absolute;width:240px;height:55px;border-radius:50%;background:#0007;filter:blur(23px);bottom:19px;transform:rotate(-15deg)}.pass-object{width:232px;height:320px;position:relative;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(-8deg);transition:transform .35s cubic-bezier(.2,.7,.2,1);will-change:transform}.pass-object:before{content:'';position:absolute;inset:4px -5px -5px 4px;border-radius:16px;background:#a68c78;transform:translateZ(-5px);box-shadow:22px 30px 55px #0005}.pass-face{position:absolute;inset:0;overflow:hidden;border-radius:15px;background:#eee3d0;color:#3b2b31;border:1px solid #fff8;backface-visibility:hidden;box-shadow:inset 0 0 0 5px #e6d7bf,inset 0 0 0 6px #bba68b99;padding:23px;display:flex;flex-direction:column;transform:translateZ(2px)}.pass-face:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#fff5 var(--glow),transparent 75%);mix-blend-mode:soft-light;pointer-events:none}.pass-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#675356;letter-spacing:.03em}.pass-top svg{width:18px;height:18px}.pass-title{font-family:Cormorant,Georgia,serif;font-size:41px;font-weight:600;letter-spacing:-2px;line-height:1;margin-top:12px}.pass-role{font-size:12px;margin-top:3px}.seal{position:relative;align-self:center;display:grid;place-items:center;width:133px;height:133px;margin:12px 0;background:conic-gradient(from 30deg,#58333d,#b87c73,#663c4a,#b9826b,#57323b);clip-path:polygon(50% 0,58% 7%,68% 3%,73% 13%,84% 12%,86% 24%,96% 28%,93% 39%,100% 50%,93% 59%,96% 72%,85% 76%,83% 88%,72% 87%,67% 98%,57% 94%,50% 100%,41% 94%,30% 98%,26% 88%,14% 88%,13% 77%,3% 71%,6% 60%,0 50%,7% 41%,3% 29%,14% 24%,16% 13%,27% 13%,32% 3%,42% 7%);filter:drop-shadow(0 4px 3px #55232a44)}html[data-role=conductors] .seal{background:conic-gradient(from 20deg,#51415e,#a990ad,#5a4768,#b48b98,#51415e)}.seal:before{content:'';position:absolute;inset:13px;border:1px solid #e6b6a76b;border-radius:50%;box-shadow:inset 0 0 0 5px #0001}.seal svg{width:71px;height:71px;color:#efc9ac;filter:drop-shadow(0 1px 1px #2b1429)}.pass-bottom{margin-top:auto;display:flex;align-items:end;justify-content:space-between;border-top:1px solid #b69c8670;padding-top:11px}.pass-bottom p{font-size:9px;line-height:1.6;color:#725e60}.barcode{height:23px;width:62px;background:repeating-linear-gradient(90deg,#514048 0px 1px,transparent 1px 3px,#514048 3px 5px,transparent 5px 8px,#514048 8px 9px,transparent 9px 12px)}.atelier-note{position:absolute;bottom:-5px;left:0;right:0;text-align:center;color:var(--night-muted);font-size:10px}.pass-object.enter{animation:pass-arrive 1s cubic-bezier(.18,.7,.2,1) both}@keyframes pass-arrive{from{opacity:0;transform:translateY(35px) rotateX(20deg) rotateY(-38deg) rotateZ(-14deg)}to{opacity:1;transform:rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(-8deg)}}
.form-shell{max-width:700px}.form-shell .topbar{margin-bottom:18px}.back-btn{display:inline-flex;align-items:center;gap:7px;background:transparent;padding:0;min-height:42px;font-size:12px;color:var(--muted)}.back-btn svg{width:17px;height:17px}.form-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px;font-size:12px;color:var(--muted)}.form-head strong{font-weight:500;color:var(--ink)}.progress{height:3px;background:var(--line);border-radius:2px;overflow:hidden;flex:none}.progress>span{display:block;height:100%;background:var(--accent);transition:width .45s cubic-bezier(.2,.7,.2,1)}.question-stage{flex:1;display:flex;flex-direction:column;padding:38px 0 20px}.section-name{color:var(--accent);font-size:12px;margin-bottom:15px;display:flex;align-items:center;gap:8px}.section-name:before{content:'';display:block;width:17px;height:1px;background:currentColor}.question-title{font-size:clamp(25px,5.6vw,36px);font-weight:450;line-height:1.2;letter-spacing:-.8px;white-space:pre-line;overflow-wrap:anywhere}.question-description{color:var(--muted);font-size:12px;margin:14px 0 25px;line-height:1.6}.answer-wrap{position:relative}.answer{display:block;width:100%;resize:vertical;min-height:190px;max-height:50vh;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);font-size:16px;line-height:1.7;transition:border-color .2s}.answer::placeholder{color:var(--muted);opacity:.65}.answer:focus{border-color:var(--accent);outline:2px solid var(--accent-soft);outline-offset:2px}.answer.invalid{border-color:var(--error)}.input-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:10px;min-height:24px;font-size:10px;color:var(--muted)}.save-state{display:flex;align-items:center;gap:5px}.save-state svg{width:13px;height:13px}.field-error{color:var(--error);font-size:12px;min-height:22px;margin-top:7px}.question-footer{display:flex;gap:12px;margin-top:auto;align-items:center;padding-top:18px}.question-footer .cta{flex:1;background:var(--accent);color:var(--surface)}html[data-theme=dark] .question-footer .cta{color:var(--night)}.question-footer>.icon-btn{width:56px;height:58px;border-radius:14px}.privacy{font-size:10px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.6}.next-section{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:11px}.next-section svg{width:15px;height:15px}.form-shell.enter .question-content{animation:question-enter .3s ease both}@keyframes question-enter{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}
.review-intro{padding:24px 0 28px}.review-intro h1{font-family:Cormorant,Georgia,serif;font-size:49px;font-weight:500;line-height:1;letter-spacing:-1px}.review-intro p{color:var(--muted);margin-top:12px;font-size:12px;max-width:44ch}.review-list{border-top:1px solid var(--line)}.review-item{padding:20px 0;border-bottom:1px solid var(--line)}.review-q{display:flex;align-items:flex-start;gap:12px}.review-q .number{font-family:Cormorant,Georgia,serif;color:var(--accent);font-size:24px;line-height:1;min-width:24px}.review-q h2{font-size:13px;font-weight:500;flex:1;padding-top:2px;overflow-wrap:anywhere}.edit-btn{background:transparent;color:var(--accent);padding:0 0 0 8px;min-height:30px;font-size:11px}.review-answer{white-space:pre-wrap;overflow-wrap:anywhere;padding-left:36px;color:var(--muted);font-size:13px;margin-top:10px;line-height:1.7}.review-consent{margin:22px 0 14px;display:flex;align-items:flex-start;gap:12px;font-size:12px;cursor:pointer}.review-consent input{width:20px;height:20px;flex:none;accent-color:var(--accent);margin:0}.review-consent span{padding-top:1px}.review-submit{position:sticky;bottom:0;background:var(--paper);padding:14px 0 max(8px,var(--safe-bottom));margin-top:12px}.review-submit .cta{width:100%;background:var(--accent);color:var(--surface)}html[data-theme=dark] .review-submit .cta{color:var(--night)}.request-error{color:var(--error);font-size:12px;line-height:1.6;margin-bottom:12px}.request-error:empty{display:none}
.status-layout{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:440px;padding:25px 0 60px}.status-art{width:98px;height:98px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;margin-bottom:28px;position:relative;color:var(--accent)}.status-art:before{content:'';position:absolute;inset:-9px;border:1px dashed var(--line);border-radius:50%;transform:rotate(14deg)}.status-art svg{width:40px;height:40px}.status-layout h1{font-family:Cormorant,Georgia,serif;font-size:58px;font-weight:500;line-height:1;letter-spacing:-1px;max-width:10ch}.status-layout p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:18px;max-width:36ch}.status-layout .cta{width:100%;margin-top:30px}.receipt{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);padding:11px 14px;border-radius:9px;margin-top:22px;align-self:flex-start;font-size:12px}.status-layout.done .status-art{animation:stamp .5s cubic-bezier(.2,.8,.2,1) both}@keyframes stamp{from{opacity:0;transform:scale(1.4) rotate(-18deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 22px}.admin-toolbar h1{font-family:Cormorant,Georgia,serif;font-size:40px;font-weight:500;line-height:1}.admin-count{color:var(--muted);font-size:12px}.candidate{padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}.candidate h2{font-size:25px;line-height:1.2;font-weight:500;overflow-wrap:anywhere}.candidate-meta{color:var(--muted);font-size:11px;margin-top:10px;overflow-wrap:anywhere}.candidate-photo{max-height:260px;max-width:100%;object-fit:contain;border-radius:10px;display:block;margin:20px auto 0}.candidate .review-list{margin-top:25px}.candidate .review-item:last-child{border-bottom:0}.candidate-nav{display:flex;justify-content:space-between;gap:12px;margin:15px 0}.candidate-nav button{min-height:44px;display:flex;align-items:center;gap:7px;background:transparent;font-size:12px;color:var(--muted)}.admin-decisions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;position:sticky;bottom:0;padding:15px 0 max(12px,var(--safe-bottom));background:var(--paper)}.decision-btn{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-height:54px;font-size:12px}.decision-btn.approve{background:var(--accent);color:var(--surface);border-color:var(--accent)}html[data-theme=dark] .decision-btn.approve{color:var(--night)}.decision-btn.reject{color:var(--error)}.decision-confirm{border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px;background:var(--surface)}.decision-confirm p{font-size:13px;margin-bottom:12px}.confirm-actions{display:flex;gap:10px}.confirm-actions button{border-radius:10px;padding:12px;background:var(--accent-soft);font-size:12px;flex:1}
.loading-screen{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:25px}.loading-screen .wordmark{font-size:56px}.loading-screen p{font-size:12px;color:var(--muted)}.loading-line{width:100px;height:2px;background:var(--line);position:relative;overflow:hidden}.loading-line:after{content:'';position:absolute;width:40%;height:100%;background:var(--accent);animation:loading 1.2s ease-in-out infinite}@keyframes loading{from{transform:translateX(-100%)}to{transform:translateX(350%)}}.toast{position:fixed;z-index:30;left:50%;bottom:max(28px,calc(var(--safe-bottom) + 12px));transform:translate(-50%,15px);opacity:0;pointer-events:none;background:var(--ink);color:var(--paper);box-shadow:0 10px 40px #0003;border-radius:12px;padding:13px 18px;max-width:calc(100% - 32px);width:max-content;font-size:12px;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript{padding:24px}
@media(max-width:660px){.shell{padding-left:max(22px,var(--safe-left));padding-right:max(22px,var(--safe-right))}.home .topbar{margin-bottom:6px}.home-main{display:flex;flex-direction:column;gap:0;padding:10px 0 28px;align-items:stretch}.invitation{display:contents}.availability{order:0;margin-bottom:16px;margin-top:8px}.hero-title{order:1;font-size:64px;max-width:10ch}.hero-description{order:2;margin-top:14px;max-width:35ch;font-size:13px;line-height:1.65}.atelier{order:3;min-height:330px;margin-top:4px;margin-bottom:6px}.pass-object{width:207px;height:284px}.pass-face{padding:21px}.pass-title{font-size:37px;margin-top:8px}.seal{width:112px;height:112px;margin:8px 0}.seal svg{width:62px;height:62px}.pass-bottom{padding-top:8px}.pass-bottom p{font-size:8px}.pass-role{font-size:11px}.pass-shadow{bottom:10px}.orbit{width:290px;height:290px}.orbit.second{width:365px;height:365px}.atelier-note{bottom:0}.home .cta{order:4;margin-top:14px;min-height:57px}.home-caption{order:5;margin-top:12px;justify-content:center;font-size:10px}.home-footer{font-size:10px;padding-top:16px}.home-footer span:last-child{font-size:17px}.role-label{font-size:10px;padding-right:4px}.top-actions{gap:6px}.icon-btn{width:38px;height:38px}.wordmark{font-size:35px}.question-stage{padding-top:30px}.question-title{font-size:28px}.form-head{font-size:11px}.review-intro h1{font-size:46px}.candidate{padding:20px}.admin-decisions{gap:6px}.decision-btn{font-size:11px}}
@media(max-width:350px){.shell{padding-left:17px;padding-right:17px}.hero-title{font-size:56px}.role-label{display:none}.atelier{min-height:300px}.pass-object{transform:scale(.9) rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(-8deg)}.home-footer span:last-child{font-size:15px}.question-title{font-size:25px}.review-q{gap:7px}.review-answer{padding-left:31px}}
@media(min-width:661px){.home{min-height:100svh}.home-main{min-height:620px}.home .invitation{max-width:400px}.atelier-note{bottom:0}.question-stage{min-height:440px}.form-shell{padding-top:28px}.form-shell .question-footer{padding-bottom:4px}.review-submit{padding-bottom:16px}}
@media(max-width:350px){.atelier-note{bottom:-10px;font-size:9px}.atelier{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.pass-object{will-change:auto}}
html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion=off] .pass-object{will-change:auto}