:root{
    --bg:#070907;--panel:#101310;--panel-2:#171b17;--paper:#f2f3ec;--ink:#090b09;
    --acid:#ddff45;--yellow:#ffd85a;--orange:#ff913d;--red:#ff5038;--blue:#3555f4;
    --line:#4d554b;--muted:#9da49a;--tone:var(--acid);
    --mono:"SFMono-Regular","Roboto Mono",Consolas,monospace;--sans:Inter,Arial,sans-serif
}
*{box-sizing:border-box}
html,body{min-width:0;min-height:100%;margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans)}
body{overflow-x:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}.hidden{display:none!important}
.noise{position:fixed;z-index:1000;inset:0;pointer-events:none;opacity:.05;background-size:7px 7px;background-image:linear-gradient(90deg,transparent 50%,#fff 50%)}
.app{--tone:var(--acid);min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.app[data-tone="normal"]{--tone:var(--acid)}.app[data-tone="elevated"]{--tone:var(--yellow)}.app[data-tone="critical"]{--tone:var(--orange)}.app[data-tone="alarm"]{--tone:var(--red)}
.topbar{min-height:94px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:12px 42px;border-bottom:4px solid var(--paper);background:var(--paper);color:var(--ink)}
.brand{display:flex;align-items:center;gap:13px;min-width:0;color:inherit;text-decoration:none}.brand-mark{width:58px;height:58px;display:grid;flex:none;place-items:center;border:4px solid var(--ink);background:var(--acid);box-shadow:6px 6px 0 var(--red);font:900 17px var(--mono)}.brand>span:last-child b,.brand>span:last-child strong{display:block}.brand>span:last-child b{font:900 9px var(--mono);letter-spacing:.06em}.brand>span:last-child strong{margin-top:7px;font-size:27px;line-height:.85;letter-spacing:-.055em}
.product-title{padding:10px 15px;border-left:5px solid var(--red);background:#dedfd8}.product-title span,.product-title b{display:block;font:900 10px/1.2 var(--mono)}.product-title b{margin-top:6px;color:var(--blue)}
.sensor{height:60px;display:grid;grid-template-columns:auto auto;grid-template-rows:1fr 1fr;align-items:center;gap:0 10px;padding:9px 13px;border:4px solid var(--ink);background:var(--acid);font:900 10px/1 var(--mono)}.sensor i{grid-row:1/span 2;width:13px;height:13px;background:#159449;animation:blink 1.1s steps(2,end) infinite}.sensor time{font-size:18px;font-variant-numeric:tabular-nums}
main{min-height:0}.scan-screen{min-height:calc(100vh - 142px);display:grid;grid-template-columns:minmax(220px,17%) minmax(460px,1fr) minmax(270px,22%);gap:14px;padding:16px 42px 18px}.telemetry,.control-panel{min-width:0;border:3px solid var(--line);background:var(--panel)}
.panel-heading{min-height:46px;display:flex;align-items:center;gap:9px;padding:8px 11px;border-bottom:3px solid var(--line);font:900 9px/1.2 var(--mono);letter-spacing:.07em}.panel-heading>span{padding:6px 7px;background:var(--acid);color:var(--ink)}
.telemetry{display:flex;flex-direction:column}.telemetry dl{margin:0}.telemetry dl>div{padding:12px 11px;border-bottom:3px solid #292e28}.telemetry dt,.telemetry dd{margin:0;font-family:var(--mono)}.telemetry dt{color:var(--muted);font-size:8px;font-weight:900}.telemetry dd{margin-top:6px;color:var(--acid);font-size:11px;font-weight:900;text-align:right}.telemetry-note{margin-top:auto;padding:14px 12px;border-top:4px solid var(--acid);background:var(--paper);color:var(--ink)}.telemetry-note b,.telemetry-note span{display:block;font-family:var(--mono)}.telemetry-note b{font-size:13px}.telemetry-note span{margin-top:7px;font-size:8px;font-weight:900;line-height:1.35}
.camera-panel{min-width:0;min-height:580px;display:grid;grid-template-rows:45px minmax(0,1fr);border:4px solid var(--paper);background:#020302;box-shadow:8px 8px 0 var(--blue)}.camera-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;background:var(--paper);color:var(--ink);font:900 9px/1 var(--mono)}.camera-topline b{padding:7px 8px;background:var(--blue);color:#fff}
.camera-stage{position:relative;min-height:0;overflow:hidden;background:#161a16}.camera-stage video,.camera-stage>img,.camera-stage>canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camera-stage video{filter:saturate(.68) contrast(1.12)}.camera-stage.is-mirrored video{transform:scaleX(-1)}.camera-stage>img,.camera-stage>canvas{filter:saturate(.62) contrast(1.16)}.camera-stage>canvas{z-index:2}.video-tint{position:absolute;z-index:3;inset:0;pointer-events:none;box-shadow:inset 0 0 0 5px rgba(221,255,69,.14);background:rgba(221,255,69,.025)}
.refresh-sweep{position:absolute;z-index:4;inset:0;pointer-events:none;background:rgba(255,255,255,.08);transform:translateX(-105%);animation:refresh 7s steps(8,end) infinite}.scan-line{position:absolute;z-index:6;left:4%;right:4%;top:10%;height:5px;background:var(--acid);box-shadow:0 0 18px var(--acid);animation:scanline 3s ease-in-out infinite alternate}
.face-frame{position:absolute;z-index:7;left:26%;top:11%;width:48%;height:76%;animation:lockpulse 1.5s ease-in-out infinite}.face-frame i{position:absolute;width:68px;height:68px;border-color:var(--acid);border-style:solid}.face-frame i:nth-child(1){left:0;top:0;border-width:5px 0 0 5px}.face-frame i:nth-child(2){right:0;top:0;border-width:5px 5px 0 0}.face-frame i:nth-child(3){right:0;bottom:0;border-width:0 5px 5px 0}.face-frame i:nth-child(4){left:0;bottom:0;border-width:0 0 5px 5px}.face-frame span{position:absolute;left:0;top:-30px;padding:6px 8px;background:var(--acid);color:var(--ink);font:900 8px/1 var(--mono)}
.hex-stream{position:absolute;z-index:8;right:9px;top:62px;width:95px;color:var(--acid);font:900 7px/1.5 var(--mono);text-align:right;word-break:break-all;opacity:.72}.flash{position:absolute;z-index:30;inset:0;pointer-events:none;background:#fff;opacity:0}.flash.fire{animation:flash .38s steps(2,end)}
.camera-gate{position:absolute;z-index:20;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;background:rgba(5,7,5,.94);text-align:center}.gate-kicker,.eyebrow{color:var(--acid);font:900 9px var(--mono);letter-spacing:.08em}.camera-gate h1{margin-top:11px;font-size:clamp(52px,5vw,94px);line-height:.77;letter-spacing:-.075em}.camera-gate p{max-width:520px;margin-top:20px;color:var(--muted);font:800 10px/1.5 var(--mono)}
button,.fallback-actions label{min-height:46px;border:3px solid var(--paper);border-radius:0;background:transparent;color:var(--paper);padding:10px 14px;font:900 10px/1.2 var(--mono);box-shadow:4px 4px 0 var(--paper)}button:hover,.fallback-actions label:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--paper)}button:active,.fallback-actions label:active{transform:translate(2px,2px);box-shadow:none}.primary{background:var(--acid);border-color:var(--acid);color:var(--ink);box-shadow:5px 5px 0 var(--paper)}.camera-gate>.primary{width:min(100%,410px);min-height:58px;margin-top:24px;font-size:12px}.fallback-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:min(100%,410px);margin-top:13px}.fallback-actions label{display:grid;place-items:center;cursor:pointer}.camera-error{max-width:520px;margin-top:20px;padding:9px 12px;background:var(--red);color:var(--ink);font:900 9px/1.35 var(--mono)}button:focus-visible,input:focus-visible,select:focus-visible,.fallback-actions label:focus-within,a:focus-visible{outline:4px solid var(--blue);outline-offset:3px}
.ready-copy{position:absolute;z-index:10;left:50%;bottom:22px;transform:translateX(-50%);width:min(86%,620px);padding:14px 18px;border:4px solid var(--acid);background:rgba(5,7,5,.91);text-align:center}.ready-copy b,.ready-copy span{display:block}.ready-copy b{font:900 clamp(17px,1.3vw,25px)/1 var(--mono)}.ready-copy span{margin-top:7px;color:var(--muted);font:900 8px var(--mono)}.dots::after{display:inline-block;width:1.5em;content:"";animation:dots 1.2s steps(4,end) infinite}
.analysis-panel{position:absolute;z-index:15;left:18px;right:18px;bottom:18px;padding:15px 16px;border:4px solid var(--acid);background:rgba(4,6,4,.95)}.analysis-title{display:grid;grid-template-columns:1fr auto;align-items:end}.analysis-title span{grid-column:1/-1;color:var(--acid);font:900 8px var(--mono)}.analysis-title strong{margin-top:5px;font:900 clamp(23px,2vw,36px)/1 var(--mono)}.analysis-title b{color:var(--acid);font:900 28px/1 var(--mono)}.measurement-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-top:12px}.measurement-list div{display:flex;justify-content:space-between;gap:9px;padding-bottom:5px;border-bottom:3px solid #30362f;font:900 7px/1.1 var(--mono)}.measurement-list span{color:var(--muted)}.measurement-list b{color:var(--acid);text-align:right}.measurement-list .measuring b{color:var(--yellow)}.progress{height:16px;margin-top:12px;border:3px solid var(--paper);padding:2px}.progress i{display:block;width:0;height:100%;background:var(--acid)}
.control-panel{display:flex;flex-direction:column}.control-copy{padding:18px 16px 15px;border-bottom:3px solid var(--line)}.control-copy h2{margin-top:8px;font-size:clamp(28px,2.2vw,41px);line-height:.88;letter-spacing:-.055em}.control-copy p{margin-top:12px;color:var(--muted);font:800 9px/1.45 var(--mono)}.form-fields{display:grid;gap:11px;padding:15px 16px}.form-fields label>span{display:block;margin-bottom:6px;color:var(--muted);font:900 8px var(--mono)}input,select{width:100%;min-height:45px;border:3px solid var(--paper);border-radius:0;background:var(--bg);padding:8px 9px;font:900 10px var(--mono)}.scan-button{min-height:70px;margin:0 16px;background:var(--acid);border-color:var(--acid);color:var(--ink);font-size:12px}.scan-button:disabled{cursor:not-allowed;opacity:.35;filter:grayscale(1)}.scan-help{padding:10px 16px;color:var(--muted);text-align:center;font:900 7px/1.35 var(--mono)}.source-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 15px}.source-actions button{min-width:0;padding:7px;font-size:8px}.disclaimer{margin-top:auto;padding:13px 14px;border-top:4px solid var(--yellow);background:var(--paper);color:var(--ink)}.disclaimer b,.disclaimer span{display:block;font-family:var(--mono)}.disclaimer b{font-size:9px}.disclaimer span{margin-top:6px;font-size:8px;font-weight:900;line-height:1.35}
.result-screen{--tone:var(--acid);min-height:calc(100vh - 142px);display:grid;grid-template-columns:minmax(350px,38%) minmax(0,1fr);padding:16px 42px 18px}.result-screen[data-tone="normal"]{--tone:var(--acid)}.result-screen[data-tone="elevated"]{--tone:var(--yellow)}.result-screen[data-tone="critical"]{--tone:var(--orange)}.result-screen[data-tone="alarm"]{--tone:var(--red)}
.result-portrait{position:relative;min-width:0;min-height:600px;overflow:hidden;border:5px solid var(--tone);background:#151915}.result-portrait canvas{width:100%;height:100%;object-fit:cover;filter:saturate(.55) contrast(1.18)}.result-grid{position:absolute;inset:0;background-size:64px 64px;background-image:linear-gradient(#ffffff12 3px,transparent 3px),linear-gradient(90deg,#ffffff12 3px,transparent 3px);box-shadow:inset 0 0 0 6px rgba(255,255,255,.08)}.result-subject,.result-seal{position:absolute;left:20px;right:20px;padding:13px 14px;border:4px solid var(--tone);background:rgba(5,7,5,.93)}.result-subject{top:20px}.result-subject span,.result-subject b,.result-seal span,.result-seal b{display:block;font:900 8px var(--mono)}.result-subject strong{display:block;margin:5px 0;font-size:clamp(30px,3vw,55px);line-height:.88;letter-spacing:-.055em}.result-subject b{color:var(--muted)}.result-seal{bottom:20px;display:grid;grid-template-columns:1fr auto;align-items:end}.result-seal span{grid-column:1/-1;color:var(--tone)}.result-seal strong{font:900 clamp(30px,3vw,54px)/.9 var(--mono);color:var(--tone)}.result-seal b{font-size:17px;color:var(--tone)}
.result-content{min-width:0;display:grid;grid-template-rows:auto auto auto auto 1fr auto auto;border:5px solid var(--tone);border-left:0;background:var(--panel)}.result-topline{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 20px;border-bottom:4px solid var(--tone);font:900 9px/1.2 var(--mono)}.result-topline b{padding:8px 10px;background:var(--tone);color:var(--ink)}.diagnosis{padding:19px 25px 15px;border-bottom:4px solid #303630}.diagnosis>span,.mood-verdict>span,.expectation>span,.tips>span{display:block;color:var(--tone);font:900 9px var(--mono);letter-spacing:.08em}.diagnosis h2{margin-top:8px;color:var(--tone);font-size:clamp(63px,6vw,116px);line-height:.76;letter-spacing:-.075em;text-wrap:balance}.diagnosis p{margin-top:17px;font:900 16px var(--mono)}.diagnosis p strong{color:var(--tone)}.mood-verdict{padding:14px 25px;background:var(--tone);color:var(--ink)}.mood-verdict>span{color:var(--ink)}.mood-verdict h3{margin-top:6px;font-size:clamp(34px,3.2vw,62px);line-height:.84;letter-spacing:-.06em}.expectation{padding:14px 25px;border-bottom:4px solid #303630}.expectation strong{display:block;margin-top:7px;font-size:clamp(16px,1.4vw,27px);line-height:1.05}.tips{padding:14px 25px}.tips>div{display:grid;gap:8px;margin-top:10px}.tips b{display:block;padding:9px 11px;border-left:7px solid var(--tone);background:#242924;font:900 clamp(12px,1vw,18px)/1.15 var(--mono)}.tips b::before{content:"→ ";color:var(--tone)}.result-actions{display:grid;grid-template-columns:1.5fr 1fr;gap:10px;padding:13px 25px;border-top:4px solid var(--tone)}.result-actions button{min-height:54px}.result-actions .primary{border-color:var(--tone);background:var(--tone)}.result-disclaimer{padding:9px 25px;background:var(--tone);color:var(--ink);text-align:center;font:900 8px/1.2 var(--mono)}
footer{min-height:48px;display:flex;align-items:center;gap:28px;padding:8px 42px;border-top:4px solid var(--paper);background:var(--paper);color:var(--ink);font:900 9px var(--mono)}footer b{color:var(--blue)}footer .privacy{margin-left:auto}.privacy i{display:inline-block;width:9px;height:9px;margin-right:6px;background:#16964a}
.app[data-tone="alarm"] .result-screen:not(.hidden){animation:alarmframe .667s steps(1,end) infinite}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:.25}}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%,100%{content:"..."}}@keyframes scanline{0%{top:7%}100%{top:91%}}@keyframes refresh{0%,85%{transform:translateX(-105%)}100%{transform:translateX(105%)}}@keyframes lockpulse{0%,100%{transform:scale(.985)}50%{transform:scale(1.015)}}@keyframes flash{0%,35%{opacity:1}36%,100%{opacity:0}}@keyframes alarmframe{0%,49%{box-shadow:inset 0 0 0 0 var(--red)}50%,100%{box-shadow:inset 0 0 0 16px var(--red)}}
.camera-stage>canvas.face-overlay{z-index:9;pointer-events:none;filter:none}.source-health{display:none;position:absolute;z-index:12;left:10px;top:10px;gap:6px}.source-health span{padding:6px 8px;background:rgba(5,7,5,.88);border-left:4px solid var(--acid);font:900 7px/1 var(--mono)}.source-health b{margin-left:4px;color:var(--acid)}.camera-switch{position:absolute;z-index:13;right:10px;top:10px;min-height:42px;max-width:48%;padding:8px 10px;border-color:var(--acid);background:var(--acid);color:var(--ink);box-shadow:4px 4px 0 rgba(5,7,5,.88);font-size:8px}.camera-switch:disabled{cursor:wait;opacity:.62}
.fallback-actions{grid-template-columns:1fr}.status-good{color:var(--acid)!important}.status-warn{color:var(--yellow)!important}.status-bad{color:var(--red)!important}.telemetry dd.status-bad{animation:blink 1.1s steps(2,end) infinite}
@media(max-width:1260px){.topbar{padding:10px 24px}.scan-screen{grid-template-columns:minmax(0,1fr) 310px;padding:12px 24px 16px}.telemetry{display:none}.camera-panel{min-height:620px}.result-screen{padding:12px 24px 16px}.diagnosis h2{font-size:66px}footer{padding:8px 24px}}
@media(max-width:820px){.topbar{grid-template-columns:1fr auto;min-height:82px;padding:10px 14px}.brand-mark{width:48px;height:48px}.brand>span:last-child strong{font-size:21px}.product-title{display:none}.sensor{height:52px;padding:7px 9px}.sensor>span{display:none}.sensor time{font-size:14px}.scan-screen{display:block;min-height:0;padding:12px 12px 18px}.app.source-ready .scan-screen{padding-bottom:96px}.camera-panel{min-height:0;height:min(68vh,650px);box-shadow:6px 6px 0 var(--blue)}.control-panel{margin-top:16px}.control-copy{padding:17px}.control-copy h2{font-size:36px}.form-fields{grid-template-columns:1fr}.source-health{display:flex}.app.source-ready #scan-button{position:fixed;z-index:900;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;min-height:66px;margin:0;border:4px solid var(--ink);box-shadow:0 0 0 4px var(--acid),8px 8px 0 rgba(0,0,0,.7);font-size:13px}.app.source-ready.is-editing #scan-button{display:none}.disclaimer{margin-top:6px}.result-screen{display:block;min-height:0;padding:12px}.result-portrait{min-height:0;height:48vh;border-bottom:0}.result-content{border-left:5px solid var(--tone)}.diagnosis h2{font-size:clamp(49px,14vw,78px)}.mood-verdict h3{font-size:clamp(31px,9vw,50px)}footer{justify-content:space-between;padding:10px 14px}footer span:nth-child(2),footer span:nth-child(3){display:none}footer .privacy{margin:0}.camera-gate h1{font-size:59px}.face-frame{left:20%;width:60%}}
@media(max-width:520px){.noise{display:none}.topbar{position:relative}.brand>span:last-child b{font-size:7px}.brand>span:last-child strong{font-size:18px}.sensor{border-width:3px}.camera-panel{height:64vh;min-height:510px}.camera-topline{font-size:7px}.camera-topline b{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-gate{padding:22px 18px}.camera-gate h1{font-size:50px}.camera-gate p{font-size:8px}.fallback-actions{grid-template-columns:1fr}.form-fields{grid-template-columns:1fr}.source-actions{grid-template-columns:1fr 1fr}.camera-switch{right:8px;top:8px;min-height:40px;max-width:51%;padding:7px 8px}.hex-stream{right:8px;top:58px}.analysis-panel{left:10px;right:10px;bottom:10px;padding:11px}.measurement-list{grid-template-columns:1fr;gap:4px}.analysis-title strong{font-size:22px}.analysis-title b{font-size:20px}.ready-copy{bottom:15px}.result-portrait{height:40vh;min-height:340px}.result-subject{left:13px;right:13px;top:13px}.result-seal{left:13px;right:13px;bottom:13px}.result-seal strong{font-size:27px}.result-topline{align-items:flex-start;flex-direction:column}.diagnosis,.mood-verdict,.expectation,.tips{padding-left:16px;padding-right:16px}.diagnosis h2{font-size:clamp(43px,13vw,64px)}.result-actions{grid-template-columns:1fr;padding:13px 16px}.result-disclaimer{padding:9px 16px}footer{font-size:7px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
