:root{--bg:#02060b;--ink:#dcf7ff;--ink-2:#bee8f7b8;--ink-3:#a0d7eb80;--cyan:#6fe3ff;--cyan-deep:#1f8fb3;--amber:#ffb547;--red:#ff5a64;--line:#6fe3ff42;--line-strong:#6fe3ff99;--panel:#04121d75;--glow:0 0 18px #6fe3ff59;--display:"Michroma", "Eurostile", "Arial Narrow", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--gutter:clamp(16px, 2.6vw, 40px);--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:400 15px/1.55 var(--mono);-webkit-font-smoothing:antialiased;overflow:hidden}button,label.btn{font:inherit;color:inherit}.sr-only{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}::selection{background:#6fe3ff59}#gl,#beams{width:100%;height:100%;display:block;position:fixed;inset:0}#gl{cursor:grab;touch-action:none}#gl:active{cursor:grabbing}#beams{pointer-events:none;z-index:3}.screen-fx{pointer-events:none;z-index:2;mix-blend-mode:screen;background:repeating-linear-gradient(0deg,#6fe3ff06 0 1px,#0000 1px 3px),radial-gradient(120% 80% at 50% 40%,#0000 55%,#0000008c 100%);position:fixed;inset:0}.topbar{z-index:10;padding:20px var(--gutter);align-items:center;gap:24px;display:flex;position:fixed;top:0;left:0;right:0}.brand{font:400 15px/1 var(--display);letter-spacing:.32em;color:var(--ink);text-shadow:var(--glow)}.brand span{color:var(--cyan);margin:0 .1em}.status{color:var(--ink-2);align-items:center;gap:10px;margin:0 auto;font-size:13px;display:flex}.led{background:var(--cyan);width:7px;height:7px;box-shadow:0 0 10px var(--cyan);border-radius:50%;animation:2.4s infinite led}.status.busy .led{background:var(--amber);box-shadow:0 0 10px var(--amber);animation-duration:.5s}@keyframes led{50%{opacity:.35}}.toggles{gap:8px;display:flex}.toggle{white-space:nowrap;border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:0 0;padding:7px 12px;font-size:13px;transition:border-color .2s,color .2s,background .2s}.toggle:hover{border-color:var(--line-strong);color:var(--ink)}.toggle[aria-pressed=true]{color:var(--bg);background:var(--cyan);border-color:var(--cyan)}main{z-index:4;pointer-events:none;position:relative}main>*{pointer-events:auto}.bracketed{position:relative}.bracketed:before,.bracketed:after{content:"";pointer-events:none;border-color:var(--line-strong);border-style:solid;width:18px;height:18px;position:absolute}.bracketed:before{border-width:1px 0 0 1px;top:-1px;left:-1px}.bracketed:after{border-width:0 1px 1px 0;bottom:-1px;right:-1px}.intro{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.intro img{transform-origin:0 0;opacity:0;-webkit-mask-image:radial-gradient(var(--mask-r,140%) var(--mask-r,140%) at var(--mask-x,50%) var(--mask-y,42%), #000 45%, transparent 70%);-webkit-mask-image:radial-gradient(var(--mask-r,140%) var(--mask-r,140%) at var(--mask-x,50%) var(--mask-y,42%), #000 45%, transparent 70%);mask-image:radial-gradient(var(--mask-r,140%) var(--mask-r,140%) at var(--mask-x,50%) var(--mask-y,42%), #000 45%, transparent 70%);position:absolute;top:0;left:0}.ref-photo{margin:0 0 18px}.ref-photo img{object-fit:cover;object-position:50% 30%;filter:saturate(.9)contrast(1.02);width:100%;height:auto;max-height:30vh;display:block}.ref-photo figcaption{color:var(--ink-3);padding-top:7px;font-size:12px}.dossier{left:var(--gutter);width:270px;transition:opacity .6s var(--ease), transform .6s var(--ease);position:fixed;top:88px}.kicker{color:var(--cyan);margin:0 0 10px;font-size:13px}.name{font:400 26px/1.15 var(--display);letter-spacing:.02em;margin:0}.role{color:var(--ink-2);margin:8px 0 22px;font-size:14px}.stats{gap:10px;margin:0;display:grid}.stats div{border-bottom:1px solid #6fe3ff1f;justify-content:space-between;gap:12px;padding-bottom:8px;display:flex}.stats dt{color:var(--ink-3);font-size:13px}.stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:14px}.pose{color:var(--cyan);font-variant-numeric:tabular-nums;opacity:.8;margin-top:22px;font-size:13px}.intake{right:var(--gutter);width:min(480px,40vw);transition:opacity .6s var(--ease), transform .6s var(--ease);position:fixed;top:50%;transform:translateY(-52%)}.intake h1{font:400 clamp(34px, 3.9vw, 60px)/1.08 var(--display);letter-spacing:-.01em;text-wrap:balance;text-shadow:0 0 30px #6fe3ff40;margin:0}.lede{color:var(--ink-2);max-width:40ch;margin:22px 0 30px;font-size:16px}.actions{flex-wrap:wrap;gap:12px;display:flex}.btn{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--line-strong);min-height:52px;color:var(--ink);letter-spacing:.02em;transition:background .2s var(--ease), color .2s var(--ease), border-color .2s, transform .15s var(--ease);background:0 0;justify-content:center;align-items:center;gap:10px;padding:0 26px;font-size:15px;display:inline-flex}.btn:hover{background:#6fe3ff1a}.btn:active{transform:scale(.97)}.btn-primary{background:var(--cyan);color:#01131c;border-color:var(--cyan);box-shadow:var(--glow);font-weight:500}.btn-primary:hover{background:#a9efff}.privacy{color:var(--ink-3);margin:18px 0 0;font-size:13px}.loader{color:var(--ink-3);align-items:center;gap:14px;margin-top:28px;font-size:13px;display:flex}.loader-bar{background:#6fe3ff26;width:140px;height:2px;overflow:hidden}.loader-bar span{background:var(--cyan);width:0;height:100%;box-shadow:var(--glow);transition:width .4s var(--ease);display:block}.loader.ready{color:var(--cyan)}.scan{right:var(--gutter);flex-direction:column;gap:14px;width:min(440px,34vw);display:flex;position:fixed;top:88px;bottom:96px}.scan[hidden],.result[hidden],.intake[hidden]{display:none}.photo-panel{flex-direction:column;flex:auto;min-height:0;margin:0;display:flex}.photo-frame{border:1px solid var(--line);background:#020a1099;flex:auto;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #1f8fb32e}.photo-frame canvas{position:absolute;top:0;left:0}.sweep{opacity:0;background:var(--cyan);height:2px;position:absolute;top:0;left:0;right:0;box-shadow:0 0 22px 6px #6fe3ff8c}.photo-panel figcaption,.chip-panel figcaption,.ring-panel figcaption{color:var(--ink-3);justify-content:space-between;padding-top:8px;font-size:12px;display:flex}.probes{flex:none;grid-template-columns:1fr 1.25fr;gap:14px;display:grid}.chip-panel,.ring-panel{margin:0}.chip-panel canvas,.ring-panel canvas{border:1px solid var(--line);background:#020a108c;width:100%;height:auto;display:block}.readout{color:var(--cyan);font-variant-numeric:tabular-nums;min-height:1.5em;margin:0;font-size:12px}.result{left:var(--gutter);width:min(400px,30vw);position:fixed;top:96px}.score-label{color:var(--cyan);margin:0;font-size:13px}.score{font:400 clamp(64px, 8.6vw, 132px)/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;text-shadow:0 0 40px #6fe3ff73;margin:4px 0 0}.score .pct{color:var(--ink-2);margin-left:.08em;font-size:.42em}.verdict{font:400 20px/1.25 var(--display);color:var(--cyan);text-wrap:balance;margin:18px 0 6px}.verdict-sub{color:var(--ink-2);max-width:38ch;margin:0 0 22px;font-size:14px}.result.tier-low .verdict,.result.tier-low .score{color:var(--red)}.result.tier-mid .verdict{color:var(--amber)}.regions{gap:11px;margin:0 0 26px;padding:0;list-style:none;display:grid}.regions li{grid-template-columns:1fr auto;gap:4px 12px;font-size:13px;display:grid}.regions .label{color:var(--ink-2)}.regions .val{font-variant-numeric:tabular-nums;color:var(--ink)}.regions .bar{background:#6fe3ff1f;grid-column:1/-1;height:3px;position:relative;overflow:hidden}.regions .bar span{background:var(--cyan);width:0;box-shadow:var(--glow);position:absolute;inset:0 auto 0 0}.regions li.hot .label{color:var(--amber)}.regions li.hot .bar span{background:var(--amber)}.result-actions{flex-wrap:wrap;gap:12px;display:flex}.pipeline{z-index:5;padding:0 var(--gutter) 18px;pointer-events:none;justify-content:space-between;align-items:flex-end;gap:24px;display:flex;position:fixed;bottom:0;left:0;right:0}.pipeline ol{gap:6px;margin:0;padding:0;list-style:none;display:flex}.pipeline li{color:var(--ink-3);border-top:2px solid #6fe3ff24;padding:8px 10px 6px;font-size:12px;transition:color .3s,border-color .3s}.pipeline li.active{color:var(--amber);border-color:var(--amber)}.pipeline li.done{color:var(--cyan);border-color:var(--cyan)}.credit{color:#a0d7eb61;text-align:right;max-width:46ch;margin:0;font-size:11px}.drop-overlay{z-index:30;border:2px solid var(--cyan);pointer-events:none;background:#020a10b8;place-items:center;display:grid;position:fixed;inset:0}.drop-overlay[hidden]{display:none}.drop-overlay p{font:400 clamp(26px, 3vw, 44px)/1 var(--display);color:var(--cyan);text-shadow:var(--glow)}.camera{z-index:40;background:#01060aeb;align-content:center;place-items:center;gap:18px;display:grid;position:fixed;inset:0}.camera[hidden]{display:none}.camera-frame{aspect-ratio:4/3;border:1px solid var(--line-strong);width:min(560px,92vw);position:relative;overflow:hidden}.camera video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.camera-reticle{border:1px dashed #6fe3ff99;border-radius:46%/40%;position:absolute;inset:14% 26%}.camera-actions{gap:12px;display:flex}.noscript{text-align:center;color:var(--ink);position:fixed;inset:auto 0 40%}.is-scanning .intake{opacity:0;pointer-events:none;transform:translateY(-48%)translate(20px)}.has-result .dossier{opacity:0;pointer-events:none;transform:translate(-20px)}@media (max-width:860px){body{overflow:hidden auto}#gl{height:58vh;position:fixed}#beams{display:none}.topbar{padding:14px var(--gutter);background:linear-gradient(var(--bg), transparent);gap:12px}.status{display:none}.toggles{margin-left:auto}main{padding:54vh var(--gutter) 120px;gap:28px;display:grid}.dossier,.intake,.scan,.result{width:auto;position:relative;inset:auto;transform:none}.dossier{order:3}.ref-photo img{max-height:46vh}.intake{background:var(--bg);order:1;padding-top:18px}.scan{order:2;height:70vh}.result{background:var(--bg);order:1;padding-top:14px}.is-scanning .intake,.has-result .dossier{display:none}.pipeline{background:linear-gradient(transparent, var(--bg) 40%);padding-bottom:10px;position:fixed}body:not(.is-scanning) .pipeline{display:none}.toggle{padding:7px 10px;font-size:12px}.pipeline ol{overflow-x:auto}.pipeline li{white-space:nowrap}.credit{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}
