@import"https://fonts.googleapis.com/css2?family=Silkscreen:wght@400;700&family=Manrope:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box}:root{--hue: 70;--bg: oklch(.13 .012 70);--bg2: oklch(.16 .014 70);--panel: oklch(.205 .018 70);--panel-hi: oklch(.235 .02 70);--ink: oklch(.94 .008 70);--muted: oklch(.68 .014 70);--faint: oklch(.52 .016 70);--line: oklch(1 0 0 / .09);--line-2: oklch(1 0 0 / .16);--accent: oklch(.78 .14 var(--hue));--accent-hi:oklch(.86 .12 var(--hue));--green: oklch(.78 .16 145);--red: oklch(.62 .22 25)}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 70%,oklch(.11 .01 70) 100%)}.bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(oklch(1 0 0 / .018) 1px,transparent 1px),linear-gradient(90deg,oklch(1 0 0 / .018) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 95%);mask-image:linear-gradient(180deg,#000 0%,transparent 95%)}.scan{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.4;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000001f 3px);mix-blend-mode:multiply}#loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#0a0704f5}#loading-overlay.hidden{display:none}.spinner{width:52px;height:52px;border:3px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--faint);font-family:Silkscreen,monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;margin:0}section{display:none}section.active{display:flex}#start-screen,#results-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;align-items:center;justify-content:center;padding:24px;overflow-y:auto;background:#050302b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}#session-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#050302}.panel{width:min(460px,100%);border:1px solid var(--line-2);padding:34px 30px;background:var(--panel);clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px));text-align:center}.result-panel{width:min(520px,100%)}.brand-logo{display:block;font-family:Silkscreen,monospace;font-size:.6rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}.panel h1{margin:0 0 8px;color:var(--ink);font-family:Silkscreen,monospace;font-size:1.6rem;font-weight:700;letter-spacing:.02em;line-height:1.2;text-transform:uppercase}.panel-subtitle{margin:0 0 18px;font-family:Silkscreen,monospace;font-size:.6rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.panel-blurb{margin:0 0 22px;color:var(--muted);font-family:Manrope,system-ui,sans-serif;font-size:.95rem;line-height:1.55}.config-group{margin-bottom:18px;text-align:left}.config-label{color:var(--faint);font-family:Silkscreen,monospace;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px}.config-hint{margin:8px 2px 0;color:var(--faint);font-family:Manrope,system-ui,sans-serif;font-size:.78rem;line-height:1.45}.btn-row{display:flex;gap:8px;justify-content:stretch}.btn-row button{flex:1;min-height:44px;border:1px solid var(--line-2);clip-path:polygon(0 5px,5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px));padding:0 8px;color:var(--muted);background:var(--panel);font-family:Silkscreen,monospace;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn-row button:hover{background:var(--panel-hi);color:var(--ink)}.btn-row button.selected{background:oklch(.78 .14 var(--hue) / .2);border-color:var(--accent);color:var(--accent-hi)}#start-btn,.results-buttons button{display:block;width:100%;min-height:48px;margin-top:8px;border:1px solid var(--accent);clip-path:polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px));padding:0 28px;color:var(--ink);background:oklch(.78 .14 var(--hue) / .15);font-family:Silkscreen,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}#start-btn:hover,.results-buttons button:hover{background:oklch(.78 .14 var(--hue) / .3);color:var(--accent-hi)}#start-btn{margin-top:12px;margin-bottom:16px}.home-link{display:block;color:var(--faint);font-family:Silkscreen,monospace;font-size:.65rem;letter-spacing:.08em;text-decoration:none;text-align:center;transition:color .15s}.home-link:hover{color:var(--muted)}.home-link-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid var(--line-2);clip-path:polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px));color:var(--muted);background:var(--panel);font-family:Silkscreen,monospace;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.home-link-btn:hover{background:var(--panel-hi);color:var(--ink)}#scene-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.fx-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:11;pointer-events:none;opacity:0}.fx-flash.good{background:radial-gradient(circle at 50% 50%,oklch(.78 .16 145 / .55),transparent 70%);animation:fx-wash .6s ease-out}.fx-flash.bad{background:radial-gradient(circle at 50% 50%,oklch(.62 .22 25 / .6),transparent 72%);animation:fx-wash .55s ease-out}@keyframes fx-wash{0%{opacity:0}18%{opacity:1}to{opacity:0}}.camera-inset{position:absolute;bottom:16px;right:16px;width:168px;max-width:28vw;aspect-ratio:16 / 9;object-fit:cover;transform:scaleX(-1);border:1px solid var(--line-2);border-radius:6px;background:#000;opacity:.85;z-index:12;pointer-events:none}#status-bar{position:absolute;top:24px;left:50%;transform:translate(-50%);max-width:90%;padding:12px 26px;background:#000000b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-2);color:var(--ink);font-family:Silkscreen,monospace;font-size:.72rem;letter-spacing:.05em;text-align:center;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:13}#status-bar.visible{opacity:1}#status-bar.good{border-color:var(--green);color:var(--green);font-size:.92rem;box-shadow:0 0 24px #6ed27459}#status-bar.bad{border-color:var(--red);color:#ffaba3;color:oklch(.82 .16 25);font-size:.98rem;font-weight:700;box-shadow:0 0 26px #ee343b73;animation:status-pop .45s ease}@keyframes status-pop{0%{transform:translate(-50%) scale(1)}35%{transform:translate(-50%) scale(1.12)}to{transform:translate(-50%) scale(1)}}.end-btn,.back-btn{position:absolute;top:20px;z-index:14;display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 22px;border:1px solid var(--line-2);clip-path:polygon(0 5px,5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px));background:var(--panel);color:var(--muted);font-family:Silkscreen,monospace;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.end-btn:hover,.back-btn:hover{border-color:var(--accent)}.end-btn{right:20px}.back-btn{left:20px}.end-btn:hover,.back-btn:hover{background:var(--panel-hi);color:var(--ink)}.back-btn.hidden{display:none}.results-data{margin:8px 0 24px;display:flex;flex-direction:column;gap:10px}.result-score{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px;border:1px solid var(--accent);background:oklch(.78 .14 var(--hue) / .1);margin-bottom:6px}.result-score-value{font-family:Silkscreen,monospace;font-size:2.4rem;font-weight:700;color:var(--accent-hi);line-height:1}.result-score-label{font-family:Silkscreen,monospace;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.result-skills{padding:12px 16px;border:1px dashed var(--line-2);background:#ffffff05;color:var(--muted);font-family:Manrope,system-ui,sans-serif;font-size:.9rem;line-height:1.5}.result-skills strong{color:var(--ink)}.result-stat{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;border:1px solid var(--line);background:#ffffff05}.result-stat-label{color:var(--faint);font-family:Silkscreen,monospace;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.result-stat-value{color:var(--accent-hi);font-family:Silkscreen,monospace;font-size:.82rem;font-weight:700;letter-spacing:.06em}.medical-note{margin:4px 2px 0;color:var(--faint);font-family:Manrope,system-ui,sans-serif;font-size:.76rem;text-align:center}.results-buttons{display:flex;align-items:center;gap:12px;margin-top:4px}.results-buttons button{flex:1;margin:0}.results-buttons .home-link-btn{flex:1}@media(max-width:640px){.panel{padding:24px 18px}.panel h1{font-size:1.3rem}.btn-row button{font-size:.55rem;min-height:42px}.camera-inset{width:120px}}.hidden{display:none!important}#begin-btn,#intake-start-btn,#continue-btn{display:block;width:100%;min-height:48px;margin-top:14px;border:1px solid var(--accent);clip-path:polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px));padding:0 28px;color:var(--ink);background:oklch(.78 .14 var(--hue) / .15);font-family:Silkscreen,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}#begin-btn:hover,#intake-start-btn:hover,#continue-btn:hover{background:oklch(.78 .14 var(--hue) / .3);color:var(--accent-hi)}#begin-btn{margin-top:8px;margin-bottom:14px}#intake-start-btn{flex:0 0 auto}.intake-panel{width:min(520px,100%);text-align:left}.ot-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.ot-avatar{flex-shrink:0;width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--accent);border-radius:50%;color:var(--accent-hi);background:oklch(.78 .14 var(--hue) / .12)}.ot-bubble{flex:1;padding:12px 16px;border:1px solid var(--line-2);background:#ffffff08;clip-path:polygon(0 8px,8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%)}.ot-name{margin:0 0 4px;font-family:Silkscreen,monospace;font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.ot-greeting{margin:0;color:var(--ink);font-size:.98rem;line-height:1.55}.intake-form{flex:0 0 auto;display:flex;gap:8px}.intake-form input{flex:1;min-width:0;min-height:46px;padding:0 14px;border:1px solid var(--line-2);background:#05030280;color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:.98rem;outline:none;border-radius:0;clip-path:polygon(0 5px,5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px))}.intake-form input:focus{border-color:var(--accent)}.intake-form input::placeholder{color:var(--faint)}#intake-next-btn{flex-shrink:0;min-height:46px;padding:0 18px;border:1px solid var(--accent);background:oklch(.78 .14 var(--hue) / .15);color:var(--ink);font-family:Silkscreen,monospace;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;clip-path:polygon(0 5px,5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px));transition:background .15s,color .15s}#intake-next-btn:hover{background:oklch(.78 .14 var(--hue) / .3);color:var(--accent-hi)}.scene-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.scene-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#05030259,#0503021a,#0503028c 70%,#030101eb)}.scene-character{position:absolute;bottom:0;left:50%;transform:translate(-50%);height:min(82%,780px);max-width:94%;object-fit:contain;object-position:bottom center;z-index:5;pointer-events:none;filter:drop-shadow(0 10px 26px oklch(0 0 0 / .55));animation:character-in .35s ease-out;transition:left .28s ease}@keyframes character-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.scene-speech{position:absolute;z-index:6;max-width:min(280px,60vw);padding:12px 16px;background:#faf4eef5;border:1px solid oklch(.78 .14 var(--hue) / .5);border-radius:14px;box-shadow:0 8px 22px #0006;pointer-events:none;animation:character-in .35s ease-out}.scene-speech:after{content:"";position:absolute;border:9px solid transparent}.scene-speech[data-placement=above]{transform:translate(-50%,-100%)}.scene-speech[data-placement=above]:after{bottom:-18px;left:var(--tail-x, 50%);transform:translate(-50%);border-top-color:#faf4eef5}.scene-speech[data-placement=left]{transform:translate(-100%,-50%)}.scene-speech[data-placement=left]:after{right:-18px;top:var(--tail-y, 50%);transform:translateY(-50%);border-left-color:#faf4eef5}.scene-speech[data-placement=right]{transform:translateY(-50%)}.scene-speech[data-placement=right]:after{left:-18px;top:var(--tail-y, 50%);transform:translateY(-50%);border-right-color:#faf4eef5}.scene-speech-text{margin:0;color:#1c140c;font-family:Manrope,system-ui,sans-serif;font-size:.98rem;font-weight:500;line-height:1.4;text-align:center}.scene-speech.hidden{display:none}.session-hud{position:absolute;top:18px;left:18px;z-index:14;display:flex;flex-direction:column;gap:4px}.station-title{font-family:Silkscreen,monospace;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);text-shadow:0 1px 6px oklch(0 0 0 / .8)}.beat-progress{font-family:Silkscreen,monospace;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-hi)}.hud-stats{display:flex;flex-direction:column;gap:8px;margin-top:4px}.beat-dots{display:flex;gap:7px;align-items:center}.beat-dot{width:9px;height:9px;border:1px solid var(--line-2);border-radius:50%;background:#ffffff0f;transition:background .2s,border-color .2s,transform .2s}.beat-dot.done{background:var(--accent);border-color:var(--accent)}.beat-dot.current{border-color:var(--accent-hi);box-shadow:0 0 0 3px oklch(.78 .14 var(--hue) / .25);transform:scale(1.15)}.confidence{display:flex;flex-direction:column;gap:4px;width:132px}.confidence-label{font-family:Silkscreen,monospace;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.confidence-track{height:7px;border:1px solid var(--line-2);background:#00000080;overflow:hidden}.confidence-fill{height:100%;width:60%;background:var(--accent);transition:width .5s cubic-bezier(.22,1,.36,1),background .4s}.confidence-fill[data-band=high]{background:var(--green)}.confidence-fill[data-band=mid]{background:#f7b83d}.confidence-fill[data-band=low]{background:var(--red)}.dialogue{position:absolute;left:24px;bottom:24px;z-index:13;display:flex;flex-direction:column;width:min(440px,calc(100vw - 48px));max-height:min(82%,720px);padding:18px 22px;background:#080503ed;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-2);clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px));overflow-y:auto}.skill-tag{margin:0 0 14px;display:inline-block;font-family:Silkscreen,monospace;font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid var(--line-2);padding:4px 10px}.consequence{margin:0 0 12px;padding:10px 14px;color:var(--accent-hi);font-size:1.02rem;font-style:italic;line-height:1.5;border-left:2px solid var(--accent);background:oklch(.78 .14 var(--hue) / .08);animation:consequence-in .45s ease-out}@keyframes consequence-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.narration{margin:0 0 12px;color:var(--ink);font-size:1.3rem;line-height:1.55}.decision{margin:0 0 16px;color:var(--accent-hi);font-size:1.2rem;font-weight:600;line-height:1.5}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:10px}.option-btn,.option-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-height:134px;padding:14px 10px;border:1px solid var(--line-2);background:#ffffff0a;color:var(--ink);font-family:Manrope,system-ui,sans-serif;cursor:pointer;text-align:center;transition:background .15s,border-color .15s,transform .1s;clip-path:polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px))}.option-btn:hover,.option-card:hover{background:oklch(.78 .14 var(--hue) / .16);border-color:var(--accent)}.option-btn:active,.option-card:active{transform:scale(.98)}.option-icon{width:72px;height:72px;display:grid;place-items:center;line-height:1}.option-icon.is-loading{border-radius:12px;background:#ffffff0f;animation:icon-pulse 1.4s ease-in-out infinite}@keyframes icon-pulse{0%,to{opacity:.5}50%{opacity:1}}.option-icon-img{width:72px;height:72px;object-fit:contain;border-radius:12px;background:#ffffff0f;animation:character-in .3s ease-out}.option-label{font-size:1.06rem;font-weight:600;line-height:1.3;color:var(--ink)}.beat-feedback{display:flex;flex-direction:column;gap:10px}.feedback-rating{margin:0;font-family:Silkscreen,monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.feedback-rating[data-rating=independent]{color:var(--green)}.feedback-rating[data-rating=needs_support]{color:var(--amber, oklch(.82 .15 80))}.feedback-rating[data-rating=unsafe]{color:#ffa098;color:oklch(.8 .16 25)}.feedback-text{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.5}.fx-flash.warn{background:radial-gradient(circle at 50% 50%,oklch(.82 .15 80 / .5),transparent 72%);animation:fx-wash .55s ease-out}.scene-block{display:flex;flex-direction:column}.scene-situation{margin:0 0 12px;color:var(--ink);font-size:1.18rem;line-height:1.5}.scene-question{margin:0 0 16px;color:var(--accent-hi);font-size:1.04rem;font-weight:600;line-height:1.45}.options{display:flex;flex-direction:column;gap:10px}.option-btn{display:block;width:100%;min-height:54px;padding:12px 16px;text-align:left;border:1px solid var(--line-2);background:#ffffff0a;color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:1.04rem;line-height:1.4;cursor:pointer;clip-path:polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px));transition:background .15s,border-color .15s,transform .1s}.option-btn:hover{background:oklch(.78 .14 var(--hue) / .16);border-color:var(--accent)}.option-btn:active{transform:translateY(1px)}.option-btn:disabled{cursor:default;opacity:.55}.option-btn:disabled:hover{background:#ffffff0a;border-color:var(--line-2)}.option-btn.chosen{opacity:1;font-weight:600}.option-btn.chosen.independent{border-color:var(--green);background:#6ed27429}.option-btn.chosen.needs_support{border-color:#f7b83d;background:#f7b83d29}.option-btn.chosen.unsafe{border-color:var(--red);background:#ee343b29}.scene-feedback{margin:14px 0 0;padding:10px 14px;font-size:1rem;line-height:1.5;border-left:2px solid var(--accent);background:oklch(.78 .14 var(--hue) / .08);animation:consequence-in .4s ease-out}.scene-feedback.independent{border-left-color:var(--green)}.scene-feedback.needs_support{border-left-color:#f7b83d}.scene-feedback.unsafe{border-left-color:var(--red)}.scene-feedback.hidden{display:none}.scene-continue{display:block;width:100%;min-height:50px;margin-top:16px;border:1px solid var(--accent);clip-path:polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px));padding:0 28px;color:var(--ink);background:oklch(.78 .14 var(--hue) / .15);font-family:Silkscreen,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}.scene-continue:hover{background:oklch(.78 .14 var(--hue) / .3);color:var(--accent-hi)}.scene-continue.hidden{display:none}@media(max-width:640px){.dialogue{max-height:70%;padding:16px 18px;left:12px;bottom:12px}.scene-speech{max-width:56vw}.scene-situation{font-size:1.06rem}.option-btn{font-size:.98rem}}
