:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--projection:#090a0a;--booth:#101212;--graphite:#171919;--graphite-raised:#1c1f1f;--screen:#f3f1ea;--screen-muted:#c7c5bd;--ink:#171818;--smoke:#929794;--ash:#666b69;--line:#f3f1ea1c;--line-soft:#f3f1ea11;--line-strong:#f3f1ea3d;--record:#ef544a;--record-dark:#b9352e;--approved:#49d79a;--amber:#d6a552;--focus:#f3f1ea;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--ease-out:cubic-bezier(.23, 1, .32, 1);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:var(--projection);color:var(--screen);font-family:Sora,Trebuchet MS,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--projection);min-width:0;overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}h1,h2,h3,p{margin:0}h1,h2{text-wrap:balance;letter-spacing:-.035em}p{text-wrap:pretty}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-shell{min-height:100dvh}.screen-enter{animation:screen-enter .21s var(--ease-out) both}@keyframes screen-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mode-notice{z-index:50;top:max(8px, env(safe-area-inset-top));color:#e4c58e;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#090a0aeb;border:1px solid #d6a55252;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font:500 10px/1.2 IBM Plex Mono,monospace;display:flex;position:fixed;left:50%;transform:translate(-50%)}.mode-notice__lamp{background:var(--amber);border-radius:50%;width:6px;height:6px}.brand{color:var(--screen);letter-spacing:.14em;align-items:center;gap:12px;font:600 14px/1 IBM Plex Mono,monospace;text-decoration:none;display:inline-flex}.brand__mark{border:1px solid var(--line-strong);width:28px;height:20px;position:relative}.brand__mark:before,.brand__mark:after{content:"";background:var(--screen);width:3px;height:3px;box-shadow:6px 0 var(--screen), 12px 0 var(--screen), 18px 0 var(--screen);opacity:.6;position:absolute;left:3px}.brand__mark:before{top:2px}.brand__mark:after{bottom:2px}.brand__mark span{background:var(--record);width:4px;position:absolute;top:7px;bottom:7px;left:5px}.brand--small{gap:8px;font-size:12px}.brand--small .brand__mark{width:24px;height:18px}.eyebrow,.mono-label{letter-spacing:.1em;color:var(--smoke);text-transform:uppercase;font:500 11px/1.35 IBM Plex Mono,monospace}.rec-lamp{background:var(--record);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;box-shadow:0 0 0 3px #ef544a1f}.button{border-radius:var(--radius-sm);cursor:pointer;min-height:48px;transition:transform .13s var(--ease-out), opacity .18s var(--ease-out), background-color .18s var(--ease-out), border-color .18s var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:scale(.97)}.button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.button:disabled{cursor:not-allowed;opacity:.42}.button--large{min-height:60px;padding:0 28px;font-size:15px}.button--primary{color:var(--ink);background:var(--screen);border-color:var(--screen)}.button--primary:hover:not(:disabled){background:#fff}.button--ghost{color:var(--screen);border-color:var(--line-strong);background:0 0}.button--ghost:hover:not(:disabled){background:var(--graphite-raised);border-color:#f3f1ea59}.button--record{background:var(--record);color:#fff;border-color:var(--record)}.button--record .loader--button{border-color:#fff #ffffff4d #ffffff4d}.record-dot{background:#fff;border-radius:50%;width:11px;height:11px}.utility-link{min-height:44px;color:var(--screen-muted);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:12px}.filmstrip{border-left:1px solid var(--line);border-right:1px solid var(--line);background:var(--booth);min-height:96px;padding:15px 0;position:relative;overflow:hidden}.filmstrip__perforation{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='7' viewBox='0 0 27 7'%3E%3Crect x='8' width='11' height='7' rx='1' fill='%23f3f1ea' fill-opacity='.2'/%3E%3C/svg%3E");background-repeat:repeat-x;height:7px;position:absolute;left:0;right:0}.filmstrip__perforation--top{top:3px}.filmstrip__perforation--bottom{bottom:3px}.filmstrip__frames{grid-template-columns:repeat(var(--filmstrip-frames,7), minmax(0, 1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:66px;display:grid}.filmstrip__frame{border-right:1px solid var(--line);background:#f3f1ea04;place-items:center;min-width:0;display:grid;position:relative}.filmstrip__frame:last-child{border:0}.filmstrip__frame.is-done{background:#49d79a0b}.filmstrip__frame.is-done:after{content:"";background:var(--approved);border-radius:50%;width:7px;height:7px}.filmstrip__frame.is-active{background:#ef544a12}.filmstrip__frame small{color:var(--smoke);letter-spacing:.06em;font:500 9px/1 IBM Plex Mono,monospace}.filmstrip__playhead{z-index:2;top:9px;bottom:9px;left:var(--playhead);background:var(--record);width:1px;transition:transform .2s var(--ease-out);position:absolute;box-shadow:0 0 0 1px #ef544a1a}.filmstrip__playhead:before{content:"";background:var(--record);width:9px;height:5px;position:absolute;top:-4px;left:-4px}.filmstrip--compact{min-height:54px;padding:11px 0}.filmstrip--compact .filmstrip__frames{height:32px}.filmstrip--compact .filmstrip__playhead{top:7px;bottom:7px}.status-pill{border:1px solid var(--line);letter-spacing:.06em;white-space:nowrap;border-radius:999px;align-items:center;gap:7px;width:fit-content;padding:7px 9px;font:500 9px/1 IBM Plex Mono,monospace;display:inline-flex}.status-pill i{background:var(--smoke);border-radius:50%;width:6px;height:6px}.status-pill--record{color:#ff9a93;border-color:#ef544a42}.status-pill--record i{background:var(--record)}.status-pill--success{color:#92ebc4;border-color:#49d79a3d}.status-pill--success i{background:var(--approved)}.status-pill--warning{color:#e6c185;border-color:#d6a5524d}.status-pill--warning i{background:var(--amber)}.boot-screen{place-content:center;justify-items:center;gap:28px;min-height:100vh;padding:24px;display:grid}.boot-screen .filmstrip{width:min(720px,82vw)}.boot-screen p{color:var(--smoke);font:11px IBM Plex Mono,monospace}.boot-screen small{max-width:420px;color:var(--ash);text-align:center;font:9px/1.6 IBM Plex Mono,monospace}.loader{border:2px solid var(--line-strong);border-top-color:var(--screen);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin;display:inline-block}.loader--large{width:34px;height:34px}.loader--dark{border-color:#090a0a2e;border-top-color:var(--ink)}@keyframes spin{to{transform:rotate(360deg)}}.access-shell{background:var(--projection);grid-template-rows:80px 1fr 40px;min-height:100dvh;display:grid}.access-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 clamp(24px,4vw,64px);display:flex}.access-screen{grid-template-columns:minmax(0,.88fr) minmax(440px,1.12fr);align-items:center;gap:clamp(52px,8vw,108px);width:min(1160px,100%);margin:0 auto;padding:clamp(40px,7vh,84px) clamp(24px,5vw,72px);display:grid}.access-copy{max-width:540px}.access-copy h1{margin:18px 0 24px;font-size:clamp(48px,5.8vw,76px);font-weight:600;line-height:.98}.access-copy>p{max-width:500px;color:var(--screen-muted);font-size:16px;line-height:1.65}.access-cue{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;width:min(440px,100%);margin:36px 0 0;display:grid}.access-cue div{border-right:1px solid var(--line);align-content:center;gap:7px;min-height:72px;padding:12px 16px;display:grid}.access-cue div:last-child{border:0}.access-cue dt{color:var(--ash);letter-spacing:.09em;font:500 9px/1 IBM Plex Mono,monospace}.access-cue dd{color:var(--screen-muted);margin:0;font:500 12px/1.2 IBM Plex Mono,monospace}.access-console{border:1px solid var(--line-strong);background:var(--booth);overflow:hidden}.access-console__header{justify-content:space-between;align-items:center;gap:20px;min-height:84px;padding:16px 20px;display:flex}.access-console__header strong{letter-spacing:.04em;margin-top:7px;font:500 15px/1 IBM Plex Mono,monospace;display:block}.access-console>.filmstrip{border-left:0;border-right:0}.access-checking{justify-content:center;align-items:center;gap:16px;min-height:300px;padding:32px;display:flex}.access-checking strong{font-size:14px;display:block}.access-checking p{color:var(--smoke);margin-top:7px;font-size:11px}.access-form{align-content:start;min-height:300px;padding:28px;display:grid}.access-form>label{color:var(--screen-muted);margin-bottom:10px;font-size:12px;font-weight:500}.password-control{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--projection);min-height:60px;transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);grid-template-columns:minmax(0,1fr) auto;display:grid}.password-control:focus-within{border-color:var(--screen);box-shadow:0 0 0 1px var(--screen)}.password-control.has-error{border-color:var(--record)}.password-control input{width:100%;min-width:0;color:var(--screen);letter-spacing:.04em;background:0 0;border:0;padding:0 16px;font:500 16px/1 IBM Plex Mono,monospace}.password-control input:focus-visible{outline:0}.password-control input:disabled{opacity:.62}.password-control button{border:0;border-left:1px solid var(--line);min-width:92px;min-height:58px;color:var(--screen-muted);cursor:pointer;background:0 0;padding:0 14px;font-size:11px}.password-control button:hover{background:var(--graphite-raised);color:var(--screen)}.access-hint{color:var(--ash);margin-top:9px;font:9px/1.45 IBM Plex Mono,monospace}.access-feedback{align-items:center;min-height:64px;display:flex}.access-feedback p{border-left:2px solid var(--record);color:#ffaaa4;background:#ef544a0f;width:100%;padding:10px 12px;font-size:11px;line-height:1.5}.access-feedback--warning p{border-left-color:var(--amber);color:#e6c185;background:#d6a5520f}.access-submit{width:100%}.loader--button{border-color:#17181840;border-top-color:var(--ink);width:17px;height:17px}.access-retry{min-height:44px;color:var(--screen-muted);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin:8px auto 0;padding:0 8px;font-size:11px}.access-footer{border-top:1px solid var(--line-soft);color:var(--ash);letter-spacing:.08em;justify-content:space-between;align-items:center;padding:0 clamp(24px,4vw,64px);font:9px/1 IBM Plex Mono,monospace;display:flex}.kiosk-shell{grid-template-rows:80px 1fr 40px;min-height:100dvh;display:grid}.kiosk-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 clamp(24px,4vw,64px);display:flex}.kiosk-topbar__meta{align-items:center;gap:32px;display:flex}.kiosk-content{align-items:center;width:min(1280px,100%);margin:0 auto;padding:clamp(32px,6vh,72px) clamp(24px,5vw,72px);display:grid}.kiosk-footer{border-top:1px solid var(--line-soft);color:var(--ash);letter-spacing:.08em;justify-content:space-between;align-items:center;padding:0 clamp(24px,4vw,64px);font:9px IBM Plex Mono,monospace;display:flex}.kiosk-footer>div{align-items:center;gap:20px;display:flex}.kiosk-footer button{min-height:32px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.kiosk-footer button:disabled{cursor:wait;opacity:.55}.kiosk-footer__error{color:#ffaaa4}.welcome-screen{grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);align-items:center;gap:clamp(52px,8vw,116px);display:grid}.welcome-copy{max-width:580px}.welcome-copy h1{max-width:620px;margin:18px 0 24px;font-size:clamp(48px,6.2vw,84px);font-weight:600;line-height:.98}.welcome-copy>p{max-width:530px;color:var(--screen-muted);font-size:17px;line-height:1.65}.welcome-cta{margin-top:40px}.welcome-cta svg{transition:transform .18s var(--ease-out)}.welcome-cta:hover svg{transform:translate(3px)}.privacy-note{color:var(--ash);margin-top:16px;font:10px/1.5 IBM Plex Mono,monospace;display:block}.welcome-reel{min-width:0}.welcome-reel__frame{aspect-ratio:16/10;border:1px solid var(--line-strong);background:var(--graphite);margin:16px 0;position:relative;overflow:hidden}.welcome-reel__frame:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M0 0h32M0 0v32' fill='none' stroke='%23f3f1ea' stroke-opacity='.035'/%3E%3C/svg%3E");background-repeat:repeat;position:absolute;inset:0}.welcome-reel__frame strong{z-index:2;text-align:right;letter-spacing:-.04em;font:600 clamp(18px,2vw,28px)/1.05 IBM Plex Mono,monospace;position:absolute;bottom:28px;right:28px}.frame-count{z-index:2;color:var(--smoke);font:10px IBM Plex Mono,monospace;position:absolute;top:18px;left:20px}.silhouette{background:var(--booth);border:1px solid #f3f1ea2e;border-radius:48% 48% 10% 10%;width:33%;height:68%;position:absolute;bottom:-9%}.silhouette:before{content:"";aspect-ratio:1;background:var(--booth);border:1px solid #f3f1ea2e;border-radius:50%;width:60%;position:absolute;top:-34%;left:20%}.silhouette--one{left:15%;transform:rotate(-3deg)}.silhouette--two{width:29%;height:61%;left:42%;transform:rotate(4deg)}.focus-cross{border-top:1px solid var(--record);border-left:1px solid var(--record);opacity:.65;width:26px;height:26px;position:absolute}.focus-cross--a{top:20%;left:12%}.focus-cross--b{bottom:16%;right:12%;transform:rotate(180deg)}.reel-caption{grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:8px 16px;font:10px IBM Plex Mono,monospace;display:grid}.reel-caption span{color:var(--ash)}.reel-caption strong{color:var(--screen-muted);font-weight:500}.back-link{min-height:44px;color:var(--smoke);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-bottom:32px;display:inline-flex}.consent-screen{width:min(1050px,100%);margin:auto}.consent-layout{grid-template-columns:.88fr 1.12fr;align-items:start;gap:clamp(48px,8vw,112px);display:grid}.consent-layout h1{margin:18px 0 20px;font-size:clamp(38px,4.5vw,60px);font-weight:600;line-height:1.04}.consent-layout>div>p{color:var(--screen-muted);font-size:15px;line-height:1.65}.consent-list{border:0;gap:12px;margin:0;padding:0;display:grid}.check-row{border:1px solid var(--line);background:var(--booth);cursor:pointer;min-height:96px;transition:transform .18s var(--ease-out), border-color .18s var(--ease-out), background-color .18s var(--ease-out);grid-template-columns:28px 1fr;gap:16px;padding:20px;display:grid;position:relative}.check-row:hover{border-color:var(--line-strong)}.check-row:has(input:checked){background:#49d79a09;border-color:#49d79a59}.check-row input{opacity:0;position:absolute}.check-row input:focus-visible+.check-box{outline:2px solid var(--focus);outline-offset:3px}.check-box{border:1px solid var(--line-strong);background:var(--projection);place-items:center;width:28px;height:28px;display:grid}.check-box svg{opacity:0;width:16px}.check-row input:checked+.check-box{background:var(--approved);border-color:var(--approved);color:var(--ink)}.check-row input:checked+.check-box svg{opacity:1}.check-row strong{margin:2px 0 7px;font-size:14px;display:block}.check-row small{color:var(--smoke);font-size:12px;line-height:1.5}.data-note{color:var(--smoke);grid-template-columns:22px 1fr;gap:12px;padding:16px;display:grid}.data-note p{font-size:11px;line-height:1.6}.data-note strong{color:var(--screen-muted);font-weight:500}.kiosk-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px;display:flex}.kiosk-heading h1{margin:10px 0 8px;font-size:clamp(34px,4vw,54px);line-height:1}.kiosk-heading p{color:var(--smoke);font-size:14px}.camera-stage{width:min(1120px,100%);margin:auto}.camera-stage>.filmstrip{margin-bottom:16px}.capture-workspace{border:1px solid var(--line);grid-template-columns:minmax(0,1fr) 284px;display:grid}.camera-viewport{block-size:clamp(360px,50vh,520px);background:#050606;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.camera-source{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.camera-frame{max-width:100%;max-height:100%;aspect-ratio:var(--camera-frame-ratio);background:#050606;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff1a}.camera-frame--horizontal{width:100%;height:auto}.camera-frame--vertical{width:auto;height:100%}.camera-preview{object-fit:fill;background:#050606;width:100%;height:100%;display:block}.camera-candidate{z-index:2;object-fit:contain;background:#050606;width:100%;height:100%;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff1a}.capture-guide{z-index:3;pointer-events:none;border:1px solid #f3f1ea29;position:absolute;inset:9%}.capture-guide:before,.capture-guide:after,.capture-guide span:before,.capture-guide span:after{content:"";border-color:#f3f1eab3;width:32px;height:32px;position:absolute}.capture-guide:before{border-top:2px solid;border-left:2px solid;top:-1px;left:-1px}.capture-guide:after{border-top:2px solid;border-right:2px solid;top:-1px;right:-1px}.capture-guide span:before{border-bottom:2px solid;border-left:2px solid;bottom:-1px;left:-1px}.capture-guide span:after{border-bottom:2px solid;border-right:2px solid;bottom:-1px;right:-1px}.capture-guide i{border:1px dashed #f3f1ea61;position:absolute}.capture-guide--portrait i{border-radius:48% 48% 44% 44%;inset:9% 31%}.capture-guide--body{inset:4% 18%}.capture-guide--body i{border-radius:38% 38% 22% 22%/14% 14% 8% 8%;inset:7% 35% 5%}.capture-guide--body i:before{content:"";aspect-ratio:1;background:#05060614;border:1px dashed #f3f1ea75;border-radius:50%;width:34%;position:absolute;top:-2%;left:50%;transform:translate(-50%,-20%)}.camera-frame--vertical .capture-guide--portrait i{inset:15% 18% 25%}.camera-frame--vertical .capture-guide--body{inset:3% 8%}.camera-frame--vertical .capture-guide--body i{inset:5% 29% 3%}.capture-guide.is-analyzing{border-color:#d6a55266}.capture-guide.is-analyzing i,.capture-guide.is-analyzing i:before{border-color:#d6a552b8}.capture-guide.is-analyzing:before,.capture-guide.is-analyzing:after,.capture-guide.is-analyzing span:before,.capture-guide.is-analyzing span:after{border-color:var(--amber)}.capture-guide.is-counting,.capture-guide.is-counting i,.capture-guide.is-counting i:before{border-color:#f5524ac7}.capture-guide.is-counting:before,.capture-guide.is-counting:after,.capture-guide.is-counting span:before,.capture-guide.is-counting span:after{border-color:var(--record)}.capture-guide.is-analyzing:after{animation:analysis-corner .9s var(--ease-out) infinite alternate}.camera-countdown{z-index:5;pointer-events:none;color:var(--screen);text-align:center;background:#05060657;place-content:center;justify-items:center;gap:8px;display:grid;position:absolute;inset:0}.camera-countdown span{aspect-ratio:1;border:2px solid var(--record);width:clamp(96px,18vw,148px);animation:countdown-pop .72s var(--ease-out) both;background:#090a0ad1;border-radius:50%;place-items:center;font:600 clamp(64px,10vw,104px)/1 IBM Plex Mono,monospace;display:grid}.camera-countdown small{letter-spacing:.06em;text-transform:uppercase;background:#090a0adb;padding:6px 9px;font:9px IBM Plex Mono,monospace}.photo-analysis{z-index:4;width:min(420px,100% - 32px);min-height:68px;color:var(--screen);background:#090a0aeb;border:1px solid #d6a5524d;justify-content:center;align-items:center;gap:14px;padding:12px 16px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.photo-analysis .loader{border-top-color:var(--amber);width:20px;height:20px}.photo-analysis strong{font-size:12px;display:block}.photo-analysis small{color:var(--smoke);margin-top:5px;font:9px IBM Plex Mono,monospace;display:block}.body-framing-review{z-index:4;border:1px solid #d6a5526b;border-left:2px solid var(--amber);background:#090a0af5;gap:12px;width:100%;margin-top:16px;padding:14px;display:grid;position:relative}.body-framing-review strong{font-size:13px;display:block}.body-framing-review small{color:var(--screen-muted);margin-top:6px;font:9px/1.5 IBM Plex Mono,monospace;display:block}.body-framing-review>div:last-child{grid-template-columns:1fr;gap:8px;display:grid}.body-framing-review button{border:1px solid var(--line-strong);min-height:44px;color:var(--screen);cursor:pointer;background:0 0;padding:0 10px;font-size:9px}.body-framing-review button:last-child{border-color:var(--amber);background:var(--amber);color:var(--ink);font-weight:600}@keyframes analysis-corner{to{opacity:.35}}@keyframes countdown-pop{0%{opacity:.2;transform:scale(1.16)}to{opacity:1;transform:scale(1)}}.camera-loading{z-index:4;color:var(--smoke);background:#090a0ad9;place-content:center;justify-items:center;gap:12px;font:11px IBM Plex Mono,monospace;display:grid;position:absolute;inset:0}.camera-unavailable{z-index:5;text-align:center;background:#050606f0;place-content:center;justify-items:center;gap:10px;padding:24px;display:grid;position:absolute;inset:0}.camera-unavailable svg{width:34px;color:var(--record)}.camera-unavailable strong{font-size:16px}.camera-unavailable span{max-width:360px;color:var(--smoke);font:10px/1.5 IBM Plex Mono,monospace}.camera-unavailable button{border:1px solid var(--line-strong);background:var(--booth);min-height:44px;color:var(--screen);cursor:pointer;margin-top:8px;padding:0 16px;font-size:11px}.capture-rail{border-left:1px solid var(--line);background:var(--booth);flex-direction:column;padding:20px;display:flex}.capture-rail__person{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding-bottom:20px;display:flex}.person-index{border:1px solid var(--line-strong);place-items:center;min-width:44px;height:44px;font:500 13px IBM Plex Mono,monospace;display:grid}.capture-rail__person strong,.contact-frame__meta strong{font-size:13px;display:block}.capture-rail__person small,.contact-frame__meta small{color:var(--smoke);margin-top:4px;font-size:10px;display:block}.quality-list{color:var(--screen-muted);gap:16px;margin:24px 0;padding:0;font-size:12px;list-style:none;display:grid}.quality-list li{align-items:center;gap:10px;display:flex}.quality-list svg{width:15px;color:var(--approved)}.orientation-control{border-top:1px solid var(--line-soft);margin-top:auto;padding-top:16px}.orientation-control>span{color:var(--ash);letter-spacing:.06em;align-items:center;gap:7px;font:8px IBM Plex Mono,monospace;display:flex}.orientation-control>span svg{width:14px}.orientation-control>div{border:1px solid var(--line);grid-template-columns:1.35fr 1fr 1fr;margin-top:10px;display:grid}.orientation-control button{border:0;border-right:1px solid var(--line);min-width:0;min-height:44px;color:var(--smoke);cursor:pointer;background:0 0;padding:0 5px;font:8px IBM Plex Mono,monospace}.orientation-control button:last-child{border:0}.orientation-control button.is-active{background:var(--graphite-raised);color:var(--screen);box-shadow:inset 0 -2px var(--record)}.orientation-control button:disabled{cursor:wait;opacity:.45}.orientation-control small{color:var(--ash);margin-top:9px;font:8px/1.5 IBM Plex Mono,monospace;display:block}.inline-message{min-height:40px;padding-top:10px}.error-message{border-left:2px solid var(--record);color:#ffaaa4;background:#ef544a0f;padding:11px 14px;font-size:12px;line-height:1.45}.kiosk-actions{justify-content:space-between;gap:16px;margin-top:16px;display:flex}.kiosk-actions .button--primary,.kiosk-actions .button--record{min-width:230px}.review-screen{width:min(1080px,100%);margin:auto}.review-screen>.filmstrip{margin-bottom:16px}.contact-sheet{grid-template-columns:1fr 1fr;gap:16px;display:grid}.contact-frame{border:1px solid var(--line);background:var(--booth);align-self:start;margin:0;overflow:hidden}.contact-frame img{aspect-ratio:16/9;object-fit:contain;background:#050606;width:100%;display:block;box-shadow:inset 0 0 0 1px #ffffff14}.contact-frame img.is-vertical{aspect-ratio:3/4}.contact-frame__meta{grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:14px;display:grid}.contact-frame__meta button{min-height:44px;color:var(--screen-muted);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;font-size:11px;text-decoration:underline}.sending-screen{text-align:center;max-width:680px;margin:auto}.projection-loader{margin-bottom:40px;position:relative}.projection-loader .filmstrip{width:min(620px,80vw)}.projection-loader>.loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sending-screen h1{margin:16px 0;font-size:clamp(36px,5vw,60px)}.sending-screen p{color:var(--smoke)}.ticket-screen{grid-template-columns:1fr 430px;align-items:center;gap:clamp(48px,8vw,100px);width:min(1050px,100%);margin:auto;display:grid}.ticket-copy h1{margin:20px 0;font-size:clamp(40px,5vw,64px);line-height:1.02}.ticket-copy>p{max-width:520px;color:var(--screen-muted);line-height:1.65}.job-code{border:1px solid var(--line);gap:8px;width:fit-content;margin:32px 0;padding:14px 18px;display:grid}.job-code span{color:var(--smoke);letter-spacing:.08em;font:9px IBM Plex Mono,monospace}.job-code strong{letter-spacing:.12em;font:600 26px IBM Plex Mono,monospace}.qr-ticket{background:var(--screen);color:var(--ink);text-align:center;padding:32px;position:relative}.qr-ticket .eyebrow{color:#646765}.qr-ticket__notch{background:var(--projection);border-radius:50%;width:18px;height:36px;position:absolute;top:58%}.qr-ticket__notch--left{left:-9px}.qr-ticket__notch--right{right:-9px}.qr-frame{aspect-ratio:1;border:1px solid #090a0a1f;place-items:center;width:238px;margin:20px auto;display:grid}.qr-frame img{width:100%;height:100%;display:block}.qr-ticket h2{font-size:20px}.qr-ticket p{color:#555957;margin-top:10px;font-size:12px;line-height:1.55}.ticket-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;align-items:center;gap:24px;padding-top:24px;display:flex}.ticket-actions span{color:var(--smoke);font-size:11px}.status-shell{border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft);background:var(--booth);width:min(720px,100%);min-height:100vh;margin:0 auto}.status-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:72px;padding:0 24px;display:flex}.connection-banner{color:#e6c185;background:#d6a5520f;border-bottom:1px solid #d6a55238;align-items:center;gap:10px;padding:12px 24px;font-size:11px;display:flex}.connection-banner svg{width:16px}.status-loading{place-content:center;justify-items:center;gap:24px;min-height:calc(100vh - 72px);padding:24px;display:grid}.status-loading .filmstrip{width:min(600px,100vw - 48px)}.status-loading p{color:var(--smoke);font:11px IBM Plex Mono,monospace}.status-content{padding:48px 40px 64px}.status-hero{justify-items:start;display:grid}.status-hero .status-pill{margin:18px 0 16px}.status-hero h1{max-width:620px;font-size:clamp(38px,8vw,62px);line-height:1}.status-hero>p{max-width:560px;color:var(--screen-muted);margin:18px 0 32px;line-height:1.6}.status-content>.filmstrip{margin-bottom:24px}.scene-progress{border:1px solid var(--line);grid-template-columns:180px 1fr;display:grid}.scene-progress__count{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:260px;padding:24px;display:flex}.scene-progress__count strong{font:500 72px/1 IBM Plex Mono,monospace}.scene-progress__count span{color:var(--smoke);font-size:11px;line-height:1.5}.scene-progress ol{margin:0;padding:0;list-style:none}.scene-progress li{border-bottom:1px solid var(--line-soft);grid-template-columns:32px 1fr;align-items:center;gap:12px;min-height:86px;padding:16px 20px;display:grid}.scene-progress li:last-child{border:0}.scene-progress li>span{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--smoke);place-items:center;font:10px IBM Plex Mono,monospace;display:grid}.scene-progress li.is-ready>span{background:var(--approved);border-color:var(--approved);color:var(--ink)}.scene-progress li.is-failed>span{border-color:var(--record);color:var(--record)}.scene-progress li svg{width:15px}.scene-progress strong{font-size:12px;display:block}.scene-progress small{color:var(--smoke);margin-top:5px;font-size:10px;display:block}.status-final-error{border:1px solid #ebae5847;border-left:2px solid var(--amber);background:#ebae580b;grid-template-columns:24px 1fr;align-items:start;gap:16px;padding:20px;display:grid}.status-final-error svg{width:20px;color:var(--amber)}.status-final-error strong{font-size:14px;display:block}.status-final-error p{color:var(--screen-muted);margin-top:8px;font-size:12px;line-height:1.55}.status-meta{border-top:1px solid var(--line-soft);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:20px;padding-top:16px;font:9px IBM Plex Mono,monospace;display:grid}.status-meta span{color:var(--ash)}.status-meta strong{color:var(--screen-muted);font-weight:500}.status-meta button{min-height:44px;color:var(--screen-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font:10px IBM Plex Mono,monospace;display:flex}.status-meta svg{width:15px}.status-assurance,.expiry-note{color:var(--ash);text-align:center;margin-top:20px;font:10px/1.5 IBM Plex Mono,monospace}.ready-panel{border:1px solid var(--line);padding:16px}.video-poster{aspect-ratio:16/9;background:var(--projection);overflow:hidden}.video-poster video{object-fit:contain;width:100%;height:100%}.video-placeholder{height:100%;color:var(--smoke);place-content:center;justify-items:center;gap:12px;font:10px IBM Plex Mono,monospace;display:grid}.video-placeholder svg{width:44px;height:44px}.ready-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.empty-state{text-align:center;place-content:center;justify-items:center;gap:16px;min-height:calc(100vh - 72px);padding:32px;display:grid}.empty-state p{color:var(--smoke)}.operator-shell{background:var(--projection);min-height:100vh}.operator-topbar{border-bottom:1px solid var(--line);grid-template-columns:210px 1fr auto;align-items:center;gap:24px;min-height:72px;padding:12px 24px;display:grid}.operator-title{align-items:baseline;gap:16px;display:flex}.operator-title h1{letter-spacing:-.02em;font-size:18px}.operator-tools{align-items:center;gap:8px;display:flex}.operator-tools button{border:1px solid var(--line);background:var(--booth);cursor:pointer;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-size:10px;display:flex}.operator-tools svg{width:16px}.api-health{color:var(--smoke);align-items:center;gap:7px;margin-right:8px;font:9px IBM Plex Mono,monospace;display:inline-flex}.api-health i{background:var(--approved);border-radius:50%;width:6px;height:6px}.app-shell--operator .mode-notice{top:auto;bottom:12px;left:12px;transform:none}.operator-metrics{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(120px,.7fr)) repeat(2,minmax(160px,1.15fr));display:grid}.operator-metrics>div{border-right:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;min-height:84px;padding:18px 20px;display:flex}.operator-metrics>div:last-child{border:0}.operator-metrics span{color:var(--ash);letter-spacing:.06em;font:9px IBM Plex Mono,monospace}.operator-metrics strong{font-variant-numeric:tabular-nums;font:500 28px IBM Plex Mono,monospace}.operator-metrics .metric-text{color:var(--screen-muted);font-size:12px}.operator-metrics .has-alert strong{color:var(--record)}.operator-error{color:#ffaaa4;background:#ef544a0f;border-bottom:1px solid #ef544a3d;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;font-size:11px;display:flex}.operator-error button{min-height:36px;color:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.operator-workspace{grid-template-columns:minmax(700px,1fr) 340px;min-height:calc(100vh - 157px);display:grid}.queue-panel{border-right:1px solid var(--line);min-width:0}.queue-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:92px;padding:16px 24px;display:flex}.queue-header h2{margin-top:6px;font-size:20px}.filter-tabs{border:1px solid var(--line);padding:3px;display:flex}.filter-tabs button{min-height:34px;color:var(--smoke);cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:10px}.filter-tabs button.is-active{background:var(--graphite-raised);color:var(--screen)}.queue-columns{border-bottom:1px solid var(--line-soft);min-height:34px;color:var(--ash);letter-spacing:.07em;grid-template-columns:120px 1fr 210px;align-items:center;padding:0 20px;font:8px IBM Plex Mono,monospace;display:grid}.job-list{display:grid}.job-lane{border:0;border-bottom:1px solid var(--line-soft);text-align:left;cursor:pointer;width:100%;min-height:92px;transition:transform .18s var(--ease-out), background-color .18s var(--ease-out);background:0 0;grid-template-columns:120px 1fr 210px;align-items:center;gap:0;padding:0 20px;display:grid}.job-lane:hover{background:#f3f1ea06}.job-lane.is-selected{background:var(--booth);box-shadow:inset 2px 0 var(--screen)}.job-lane.has-error{box-shadow:inset 2px 0 var(--record)}.job-identity strong{letter-spacing:.06em;font:500 13px IBM Plex Mono,monospace;display:block}.job-identity small{color:var(--ash);margin-top:7px;font:9px IBM Plex Mono,monospace;display:block}.job-timeline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='3' viewBox='0 0 20 3'%3E%3Crect x='7' width='6' height='3' fill='%23f3f1ea' fill-opacity='.16'/%3E%3C/svg%3E");background-position:0 0;background-repeat:repeat-x;grid-template-columns:1.3fr .9fr 1fr 1.1fr 1fr;align-items:stretch;height:44px;padding:4px 10px;display:grid;position:relative}.job-timeline:after{content:"";background-image:inherit;background-repeat:repeat-x;height:3px;position:absolute;bottom:0;left:0;right:0}.timeline-shot{border:1px solid var(--line);background:var(--graphite);place-items:center;margin:5px 2px;display:grid;position:relative}.timeline-shot small{color:var(--smoke);font:8px IBM Plex Mono,monospace}.timeline-shot--ready,.timeline-shot--fallback_ready{background:#49d79a0d;border-color:#49d79a57}.timeline-shot--failed{background:#ef544a12;border-color:#ef544a80}.timeline-shot--remote_running,.timeline-shot--downloading,.timeline-shot--validating,.timeline-shot--submitting{border-color:#d6a5526b}.timeline-playhead{z-index:3;background:var(--record);width:1px;position:absolute;top:-5px;bottom:-5px}.timeline-playhead:before{content:"";background:var(--record);width:7px;height:4px;position:absolute;top:0;left:-3px}.job-state{justify-items:start;padding-left:20px;display:grid}.job-state small{color:var(--ash);margin-top:7px;font:9px IBM Plex Mono,monospace}.queue-skeleton{display:grid}.queue-skeleton span{border-bottom:1px solid var(--line-soft);background:#f3f1ea05;height:92px;animation:1.1s ease-in-out infinite alternate skeleton}@keyframes skeleton{to{opacity:.42}}.operator-empty{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:360px;display:grid}.operator-empty .filmstrip{width:320px}.operator-empty h3{font-size:16px}.operator-empty p{color:var(--ash);font-size:11px}.job-inspector{background:var(--booth);min-width:0;padding:24px}.job-inspector>header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:10px;padding-bottom:20px;display:grid}.job-inspector>header .eyebrow{grid-column:1/-1}.job-inspector>header>strong{letter-spacing:.08em;font:600 24px IBM Plex Mono,monospace}.inspector-frame{margin:20px 0}.inspector-frame>span{color:var(--ash);margin-bottom:8px;font:8px IBM Plex Mono,monospace;display:block}.inspector-data{border:1px solid var(--line);grid-template-columns:1fr 1fr;margin:0;display:grid}.inspector-data div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:66px;padding:12px}.inspector-data div:nth-child(2n){border-right:0}.inspector-data div:nth-last-child(-n+2){border-bottom:0}.inspector-data dt{color:var(--ash);text-transform:uppercase;font:8px IBM Plex Mono,monospace}.inspector-data dd{color:var(--screen-muted);margin:8px 0 0;font:500 11px IBM Plex Mono,monospace}.shot-list{margin-top:24px}.shot-list>.eyebrow{margin-bottom:10px;display:block}.shot-list>div{border-top:1px solid var(--line-soft);grid-template-columns:28px 1fr 10px;align-items:center;gap:10px;min-height:58px;display:grid}.shot-list>div>span{color:var(--ash);font:9px IBM Plex Mono,monospace}.shot-list strong{font-size:11px;display:block}.shot-list small{color:var(--ash);text-transform:uppercase;margin-top:4px;font:9px IBM Plex Mono,monospace;display:block}.shot-status{background:var(--smoke);border-radius:50%;width:7px;height:7px}.shot-status--ready,.shot-status--fallback_ready{background:var(--approved)}.shot-status--failed{background:var(--record)}.shot-status--remote_running,.shot-status--submitting,.shot-status--downloading,.shot-status--validating{background:var(--amber)}.inspector-alert{border-left:2px solid var(--record);background:#ef544a0e;margin-top:20px;padding:14px}.inspector-alert strong{color:#ffaaa4;font-size:11px}.inspector-alert p{color:var(--smoke);margin-top:7px;font-size:10px;line-height:1.5}.inspector-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;display:grid}.inspector-actions .button{min-width:0;padding:0 8px;font-size:10px}.operator-safety{color:var(--ash);margin-top:16px;font:8px/1.6 IBM Plex Mono,monospace}.job-inspector--empty{color:var(--ash);place-content:center;font-size:11px;display:grid}.is-spinning{animation:.8s linear infinite spin}.operator-login{place-content:center;justify-items:center;gap:36px;min-height:100vh;padding:24px;display:grid}.operator-login form{border:1px solid var(--line);background:var(--booth);gap:16px;width:min(440px,100vw - 48px);padding:28px;display:grid}.operator-login h1{font-size:32px}.operator-login p{color:var(--smoke);font-size:13px;line-height:1.6}.operator-login label{gap:8px;display:grid}.operator-login label span{color:var(--screen-muted);font-size:11px}.operator-login input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--projection);min-height:52px;color:var(--screen);padding:0 14px;font-family:IBM Plex Mono,monospace}@media (width<=980px){.access-screen{grid-template-columns:1fr;gap:48px}.access-copy{max-width:680px}.access-copy h1{font-size:clamp(48px,9vw,68px)}.access-console{width:min(680px,100%)}.welcome-screen{grid-template-columns:1fr;gap:48px}.welcome-reel{max-width:720px}.welcome-copy h1{font-size:clamp(48px,9vw,72px)}.operator-workspace{grid-template-columns:1fr}.job-inspector{border-top:1px solid var(--line)}.queue-panel{border-right:0}.operator-topbar{grid-template-columns:auto 1fr}.operator-title{display:none}.operator-tools{justify-self:end}.operator-metrics{grid-template-columns:repeat(3,1fr)}.operator-metrics>div:nth-child(n+4){display:none}}@media (width<=720px){.mode-notice,.app-shell--operator .mode-notice{border-width:0 0 1px;border-radius:0;justify-content:center;width:100%;min-height:34px;position:relative;inset:auto;transform:none}.access-shell{grid-template-rows:68px 1fr 32px}.access-topbar{padding:0 20px}.access-topbar .mono-label{display:none}.access-screen{align-items:start;gap:36px;padding:32px 20px 48px}.access-copy h1{font-size:clamp(42px,12vw,58px)}.access-copy>p{font-size:14px}.access-cue{margin-top:28px}.access-console__header{min-height:76px}.access-form{min-height:292px;padding:20px}.access-checking{min-height:292px}.access-footer span:last-child{display:none}.kiosk-shell{grid-template-rows:68px 1fr 32px}.kiosk-topbar{padding:0 20px}.kiosk-topbar .mono-label{display:none}.kiosk-topbar__meta{gap:0}.kiosk-content{align-items:start;padding:28px 20px 44px}.brand{font-size:11px}.brand__mark{width:24px;height:18px}.welcome-screen{gap:36px}.welcome-copy h1{font-size:clamp(44px,14vw,64px)}.welcome-copy>p{font-size:15px}.welcome-cta{width:100%}.welcome-reel__frame strong{font-size:18px}.filmstrip{min-height:76px}.filmstrip__frames{height:46px}.filmstrip__frame small{display:none}.consent-layout{grid-template-columns:1fr;gap:32px}.consent-layout h1{font-size:38px}.check-row{min-height:104px}.kiosk-heading{align-items:start}.kiosk-heading h1{font-size:34px}.kiosk-heading p{max-width:300px}.kiosk-heading .status-pill{display:none}.capture-workspace{grid-template-columns:1fr}.camera-viewport{block-size:min(56vh,560px);min-block-size:360px}.capture-rail{border-left:0;border-top:1px solid var(--line)}.quality-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.quality-list li{font-size:10px}.orientation-control{margin-top:8px}.orientation-control>div{grid-template-columns:repeat(3,1fr)}.orientation-control button{font-size:9px}.kiosk-actions .button{flex:1;min-width:0;padding:0 16px}.body-framing-review>div:last-child{grid-template-columns:1fr}.contact-sheet{gap:8px}.contact-frame__meta{grid-template-columns:36px 1fr;padding:10px}.contact-frame__meta .person-index{width:36px;min-width:36px;height:36px}.contact-frame__meta button{border-top:1px solid var(--line-soft);grid-column:1/-1;width:100%}.contact-frame__meta small{font-size:8px}.ticket-screen{grid-template-columns:1fr;gap:32px}.ticket-copy h1{font-size:40px}.qr-ticket{width:min(420px,100%);margin:auto}.ticket-actions{text-align:center;display:grid}.ticket-actions .button{width:100%}.status-shell{border:0}.status-content{padding:36px 20px 72px}.status-hero h1{font-size:42px}.scene-progress{grid-template-columns:112px 1fr}.scene-progress__count{padding:16px}.scene-progress__count strong{font-size:48px}.scene-progress li{padding:12px}.ready-actions{grid-template-columns:1fr}.operator-topbar{padding:10px 14px}.operator-tools .api-health,.operator-tools button:last-child{display:none}.operator-metrics>div{min-height:72px;padding:12px}.operator-metrics strong{font-size:22px}.operator-workspace{display:block}.queue-header{flex-direction:column;align-items:flex-start;height:auto;padding:16px}.filter-tabs{width:100%;overflow-x:auto}.filter-tabs button{flex:1}.queue-panel{overflow:hidden}.queue-columns{display:none}.job-lane{grid-template-columns:80px minmax(180px,1fr) 128px;min-width:610px;padding:0 12px}.job-list{overflow-x:auto}.job-state{padding-left:12px}.job-inspector{padding:20px}}@media (width<=430px){.access-screen{gap:28px;padding:24px 16px 40px}.access-copy h1{margin:14px 0 16px;font-size:40px}.access-copy>p{font-size:13px}.access-cue{display:none}.access-console__header{min-height:68px;padding:12px 16px}.access-console__header .status-pill{display:none}.access-form{min-height:276px;padding:16px}.password-control button{min-width:80px;padding:0 10px}.access-footer{padding:0 16px}.kiosk-topbar .utility-link{display:none}.kiosk-content{padding-left:16px;padding-right:16px}.welcome-copy h1{font-size:clamp(40px,13vw,46px)}.welcome-reel__frame{aspect-ratio:4/3}.reel-caption{grid-template-columns:auto 1fr}.quality-list{grid-template-columns:1fr}.quality-list li{font-size:10px}.camera-viewport{block-size:min(58vh,520px);min-block-size:340px}.kiosk-actions{grid-template-columns:minmax(88px,.7fr) minmax(0,1.3fr);gap:8px;display:grid}.kiosk-actions .button{width:100%;padding:0 12px;font-size:12px}.contact-sheet{grid-template-columns:1fr}.contact-frame img{aspect-ratio:16/9}.status-topbar{padding:0 16px}.status-hero h1{font-size:38px}.scene-progress{grid-template-columns:1fr}.scene-progress__count{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:end;min-height:auto}.scene-progress__count span{text-align:right}.status-meta{grid-template-columns:auto 1fr}.status-meta button{border-top:1px solid var(--line-soft);grid-column:1/-1;justify-content:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.screen-enter{transform:none}}
