:root{--bg: #0a0c0f;--bg-2: #0e1116;--panel: #13171c;--panel-2: #171c22;--line: #262d35;--line-2: #333c46;--text: #d7dde4;--muted: #7f8a96;--faint: #576069;--accent: #e6a13a;--accent-dim: #9a7636;--accent-glow: rgba(230, 161, 58, .28);--amber: var(--accent);--amber-dim: var(--accent-dim);--amber-glow: var(--accent-glow);--cyan: #5fb3c9;--cyan-glow: rgba(95, 179, 201, .3);--red: #d2503f;--red-glow: rgba(210, 80, 63, .35);--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans: "IBM Plex Sans", system-ui, sans-serif;--radius: 3px;--bezel: 10px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--mono);font-size:15px;line-height:1.55;font-feature-settings:"tnum" 1,"zero" 1;-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:40px 16px 64px;position:relative}.crt:before{content:"";position:fixed;inset:0;z-index:40;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");opacity:.025;mix-blend-mode:screen}.crt:after{content:"";position:fixed;inset:0;z-index:41;pointer-events:none;background:radial-gradient(ellipse 120% 90% at center,transparent 58%,rgba(0,0,0,.5) 100%)}.crt.flicker{animation:none}.console{width:100%;max-width:760px;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 120px),var(--panel);border:1px solid var(--line);border-radius:var(--bezel);padding:26px 26px 22px;box-shadow:0 1px #ffffff0a inset,0 40px 90px -30px #000c,0 0 0 1px #00000080;animation:rise .5s cubic-bezier(.2,.8,.2,1) both}@media(min-width:640px){.console{padding:34px 40px 28px}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.console:before,.console:after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--line-2);opacity:.6}.console:before{top:10px;left:10px;border-right:0;border-bottom:0}.console:after{bottom:10px;right:10px;border-left:0;border-top:0}.label{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.label strong{color:var(--accent);font-weight:600}.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--line)}.progress{display:flex;gap:3px;flex-wrap:wrap;max-width:50%}.progress i{display:block;width:5px;height:5px;background:var(--line-2);border-radius:1px}.progress i.done{background:var(--accent)}.progress i.now{background:var(--text);box-shadow:0 0 5px var(--text)}.prompt{font-family:var(--sans);min-height:3em;font-size:19px;font-weight:400;line-height:1.5;color:var(--text);margin:4px 0 22px;letter-spacing:-.005em;cursor:default}@media(min-width:640px){.prompt{font-size:21px}}.prompt .caret{display:inline-block;width:.55em;height:1.05em;background:var(--accent);vertical-align:-.14em;margin-left:3px;animation:blink 1.1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.body{min-height:240px;display:flex;flex-direction:column;align-items:center;gap:18px}.reaction{font-family:var(--sans);margin-top:20px;min-height:1.6em;color:var(--muted);font-size:14px;opacity:0;transition:opacity .26s ease}.reaction.show{opacity:1}.reaction:before{content:"> ";color:var(--accent-dim)}.btn{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text);background:var(--panel-2);border:1px solid var(--line-2);padding:11px 20px;border-radius:var(--radius);cursor:pointer;transition:border-color .12s,background .12s,color .12s}.btn:hover{border-color:var(--accent-dim);color:var(--accent)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.btn.primary{background:var(--accent);color:#141414;border-color:var(--accent);box-shadow:0 0 18px -4px var(--accent-glow)}.btn.primary:hover{background:#f2b24e;color:#141414}.btn.ghost{background:transparent;border-color:var(--line);color:var(--muted)}.btn.ghost:hover{border-color:var(--line-2);color:var(--text)}.btn.danger{border-color:var(--red);color:#e4786b;background:transparent}.btn.danger:hover{background:var(--red-glow);color:#fff}.btn[disabled]{opacity:.35;cursor:default;pointer-events:none}.row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.hint{font-family:var(--sans);font-size:12px;color:var(--faint)}.error{color:#e4786b;font-size:12px;min-height:1.4em;font-family:var(--sans)}input.field,textarea.field{font-family:var(--mono);font-size:16px;width:100%;max-width:460px;color:var(--text);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:11px 13px;caret-color:var(--accent)}textarea.field{min-height:112px;resize:vertical}input.field:focus,textarea.field:focus{outline:none;border-color:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow)}.icon,.tile-icon,.visual-icon,.hold-icon,.follower-icon,.slot-icon,.knob-icon{display:inline-flex;color:var(--accent)}.icon svg{width:1em;height:1em;display:block}.tile-icon svg{width:44%;height:44%}.visual-icon{color:var(--accent)}.visual-icon svg{width:56px;height:56px;filter:drop-shadow(0 0 10px var(--accent-glow))}.tile-glyph{font-size:13px;letter-spacing:.08em;color:var(--muted);font-family:var(--sans)}.hero{text-align:center;margin:6px 0 16px}.title{font-family:var(--sans);font-size:30px;font-weight:600;letter-spacing:.26em;color:var(--text);margin:0 0 6px;padding-left:.26em}.subtitle{font-family:var(--sans);color:var(--muted);margin:0;font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase}.notice{font-family:var(--sans);border-left:2px solid var(--accent-dim);padding:10px 14px;margin:18px 0;font-size:13px;color:var(--muted);background:var(--bg-2);border-radius:0 var(--radius) var(--radius) 0}.notice strong{color:var(--text);font-weight:600}.verdict-word{font-family:var(--sans);font-size:46px;font-weight:600;letter-spacing:.18em;text-align:center;margin:14px 0 6px;padding-left:.18em}.verdict-word.HUMAN{color:var(--cyan);text-shadow:0 0 24px var(--cyan-glow)}.verdict-word.REPLICANT{color:#e4786b;text-shadow:0 0 24px var(--red-glow)}.verdict-word.INCONCLUSIVE{color:var(--accent);text-shadow:0 0 24px var(--accent-glow)}.readouts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 22px;margin:20px 0}@media(min-width:640px){.readouts{grid-template-columns:repeat(4,1fr)}}.readout .label{margin-bottom:5px;display:flex;justify-content:space-between}.bar{height:5px;background:var(--line);border-radius:2px;overflow:hidden}.bar>span{display:block;height:100%;width:0;background:var(--accent);transition:width 1s cubic-bezier(.2,.8,.2,1)}.bar.red>span{background:var(--red)}.bar.cyan>span{background:var(--cyan)}.scores{display:flex;justify-content:center;gap:44px;margin:10px 0 18px}.scores .num{font-size:32px;color:var(--text);font-variant-numeric:tabular-nums}.transcript-list{list-style:none;padding:0;margin:14px 0 0;font-size:12px;border-top:1px solid var(--line);max-height:320px;overflow-y:auto}.transcript-list li{display:grid;grid-template-columns:26px 1fr auto;gap:10px;padding:7px 2px;border-bottom:1px solid rgba(38,45,53,.6);align-items:baseline}.transcript-list .id{color:var(--faint);font-variant-numeric:tabular-nums}.transcript-list .note{color:var(--muted);font-family:var(--sans)}.transcript-list .delta{color:var(--accent-dim);white-space:nowrap;font-variant-numeric:tabular-nums}details.penalties{margin-top:14px;font-size:12px;color:var(--muted);font-family:var(--sans)}details.penalties summary{cursor:pointer;color:var(--accent-dim);letter-spacing:.08em}details.penalties li{margin:3px 0}.footer{font-family:var(--sans);margin-top:24px;font-size:11px;color:var(--faint);text-align:center;letter-spacing:.04em}.footer a{color:var(--accent-dim)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(prefers-reduced-motion:reduce){.console,.prompt .caret{animation:none}.bar>span{transition:none}}.machine{width:100%;max-width:300px;margin:0 auto 14px;display:block}.machine .bellows{fill:var(--panel-2);stroke:var(--line-2);stroke-width:1}.machine .body{fill:var(--bg-2);stroke:var(--line-2);stroke-width:1}.machine .lens-ring{fill:none;stroke:var(--line-2);stroke-width:1.5}.machine .lens-glass{fill:#06080a}.machine .iris{fill:var(--accent);opacity:.9;transition:r .7s cubic-bezier(.2,.8,.2,1),fill .5s,opacity .5s}.machine .iris.hot{fill:var(--red)}.machine .pupil{fill:#000;transition:r .7s cubic-bezier(.2,.8,.2,1)}.machine .glint{fill:var(--cyan);opacity:.7}.machine .gauge-face{fill:#06080a;stroke:var(--line-2);stroke-width:1}.machine .needle{stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;transform-origin:250px 70px;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.machine .tick{stroke:var(--faint);stroke-width:1}.machine .lamp{fill:#2a1512;transition:fill .3s}.machine .lamp.on{fill:var(--red);filter:drop-shadow(0 0 4px var(--red-glow))}.machine .legend{fill:var(--faint);font:7px var(--sans);letter-spacing:.18em}.meter{display:flex;align-items:center;gap:9px;font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}.meter .bar{width:110px}@media(prefers-reduced-motion:reduce){.machine .iris,.machine .pupil,.machine .needle{transition:none}}.cbx-wrap{position:relative;width:100%;max-width:420px;height:180px}.cbx{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--line);background:#0000004d;border-radius:var(--radius);cursor:pointer;user-select:none;transition:left .18s cubic-bezier(.2,.8,.2,1),top .18s cubic-bezier(.2,.8,.2,1);box-shadow:0 6px 18px #0006}.cbx .box{width:26px;height:26px;border:2px solid var(--amber-dim);border-radius:3px;display:grid;place-items:center;color:var(--bg);font-weight:700;background:#0006}.cbx.checking .box{border-color:var(--amber);animation:spin .7s linear infinite;border-top-color:transparent;border-radius:50%}.cbx.checked .box{background:var(--amber);border-color:var(--amber)}@keyframes spin{to{transform:rotate(360deg)}}.cbx .brand{margin-left:auto;font-size:9px;letter-spacing:.2em;color:var(--muted);text-align:right;line-height:1.2}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;max-width:360px}.tile{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);background:#00000059;font-size:42px;display:grid;place-items:center;cursor:pointer;position:relative;transition:transform .12s,border-color .12s,box-shadow .12s;padding:0;color:var(--text);overflow:hidden}.tile:hover{border-color:var(--amber-dim)}.tile:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.tile.selected{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber),0 0 14px var(--amber-glow);transform:scale(.94)}.tile.selected:after{content:"";position:absolute;top:6px;left:7px;width:6px;height:11px;border:solid var(--accent);border-width:0 2px 2px 0;transform:rotate(42deg);filter:drop-shadow(0 0 4px var(--accent-glow))}.tile.void{background:#050403}.tile.mirror{background:linear-gradient(135deg,#3b3a3a,#8a8d92 35%,#d8dde3,#8a8d92 65%,#3b3a3a);border-color:#6a6a6a}.tile.mirror:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.35) 48%,transparent 56%)}.tile.abstract-0{background:radial-gradient(circle at 30% 30%,#7a4b1f,#0b0a08 70%)}.tile.abstract-1{background:linear-gradient(160deg,#1b3a4a,#0b0a08 60%,#3c2a12)}.tile.abstract-2{background:repeating-linear-gradient(90deg,#2b2116 0 6px,#0b0a08 6px 12px)}.tile.abstract-3{background:conic-gradient(from 20deg,#4a2a1a,#0b0a08,#6a4a1a,#0b0a08)}.tile.abstract-4{background:radial-gradient(circle at 70% 70%,#8fd9e8 0 8%,#0b0a08 9% 60%,#231d12)}.tile.abstract-5{background:repeating-radial-gradient(circle at 50% 50%,#2b2116 0 4px,#0b0a08 4px 9px)}.tile.abstract-6{background:linear-gradient(45deg,#0b0a08 45%,#b3261e 46% 54%,#0b0a08 55%)}.tile.abstract-7{background:repeating-linear-gradient(170deg,#1b2a3a 0 2px,#0b0a08 2px 7px)}.tile.abstract-8{background:radial-gradient(ellipse at 50% 100%,#a97a22 0 20%,#0b0a08 60%)}.visual{font-size:64px;line-height:1;filter:drop-shadow(0 0 10px rgba(0,0,0,.6))}.choices{display:flex;flex-direction:column;gap:8px;width:100%;max-width:440px}.choices .btn{text-align:left;text-transform:none;letter-spacing:.02em;font-size:15px}.choice-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%;max-width:360px}.choice-tiles .tile{font-size:14px;letter-spacing:.2em;color:var(--muted)}.distorted{font-size:40px;letter-spacing:.2em;color:var(--text);user-select:none;display:flex;gap:2px;padding:10px 18px;background:repeating-linear-gradient(115deg,transparent 0 9px,rgba(242,177,52,.1) 9px 10px),#00000059;border:1px solid var(--line);border-radius:var(--radius);filter:blur(.3px)}.distorted span{display:inline-block}.distorted span:nth-child(1){transform:rotate(-12deg) translateY(3px) skew(8deg)}.distorted span:nth-child(2){transform:rotate(9deg) translateY(-4px) scaleY(1.2)}.distorted span:nth-child(3){transform:rotate(-6deg) skew(-14deg)}.distorted span:nth-child(4){transform:rotate(14deg) translateY(5px) scaleX(.8)}.distorted span:nth-child(5){transform:rotate(-10deg) translateY(-3px)}.distorted span:nth-child(6){transform:rotate(7deg) skewY(10deg)}.distorted span:nth-child(7){transform:rotate(-15deg) translateY(4px) scaleY(.85)}.audio-btn{display:inline-flex;align-items:center;gap:10px}.audio-wave{display:inline-flex;gap:2px;align-items:end;height:14px}.audio-wave i{display:block;width:3px;height:4px;background:var(--amber)}.audio-btn.playing .audio-wave i{animation:wave .9s ease-in-out infinite}.audio-btn.playing .audio-wave i:nth-child(2){animation-delay:.12s}.audio-btn.playing .audio-wave i:nth-child(3){animation-delay:.24s}.audio-btn.playing .audio-wave i:nth-child(4){animation-delay:.36s}@keyframes wave{50%{height:14px}}.hold-zone{position:relative;width:100%;max-width:420px;height:220px;border:1px dashed var(--line);border-radius:var(--radius);display:grid;place-items:center;overflow:hidden;touch-action:none}.hold-glyph{font-size:72px;line-height:1;position:relative}.hold-glyph .tear{position:absolute;width:6px;height:10px;border-radius:50% 50% 60% 60%;background:var(--cyan);opacity:0;left:30%;top:60%;animation:tear 1.8s ease-in infinite}.hold-glyph .tear:nth-child(2){left:62%;animation-delay:.7s}@keyframes tear{0%{opacity:0;transform:translateY(0)}20%{opacity:.9}to{opacity:0;transform:translateY(60px)}}.hold-ring{position:absolute;inset:0;pointer-events:none}.hold-ring circle{fill:none;stroke:var(--amber);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .1s linear}.follower{position:fixed;pointer-events:none;font-size:28px;transform:translate(-30%,-110%);z-index:5;transition:transform .12s}.target{width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,#000 0 22%,var(--amber) 23%,#a97a22 60%,#3a2a10 100%);box-shadow:0 0 30px var(--amber-glow);transition:width .1s linear,height .1s linear;cursor:crosshair}.target.closing{filter:saturate(1.3)}.slider-wrap{width:100%;max-width:420px;display:grid;gap:12px;justify-items:center}.puzzle{width:180px;height:120px;border:1px solid var(--line);border-radius:8px 8px 20px 20px;background:#00000059;position:relative;display:grid;place-items:center}.puzzle .slot{width:56px;height:56px;border:2px dashed var(--amber-dim);border-radius:50% 50% 0 0/60% 60% 0 0;opacity:.7;display:grid;place-items:center;font-size:36px;color:transparent}.puzzle .slot.filled{border-style:solid;color:#e0665c;opacity:1;filter:drop-shadow(0 0 8px var(--red-glow))}.track{position:relative;width:100%;height:48px;border:1px solid var(--line);border-radius:24px;background:#00000059;touch-action:none;user-select:none}.track .fill{position:absolute;left:0;top:0;bottom:0;background:#f2b13426;border-radius:24px}.track .knob{position:absolute;top:3px;left:3px;width:40px;height:40px;border-radius:50%;background:var(--amber);display:grid;place-items:center;font-size:22px;cursor:grab;box-shadow:0 2px 10px #00000080}.track .knob:active{cursor:grabbing}.track .track-label{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;pointer-events:none}.wait-wrap{display:grid;place-items:center;gap:14px;min-height:160px}.wait-wrap .btn{padding:22px 44px;font-size:16px}.draw-wrap{display:grid;gap:12px;justify-items:center;width:100%}.draw-canvas{background:radial-gradient(circle at 50% 0,rgba(242,177,52,.05),transparent 70%),#00000073;border:1px solid var(--line);border-radius:var(--radius);touch-action:none;cursor:crosshair;box-shadow:inset 0 0 30px #00000080}.draw-canvas.cursive{background:repeating-linear-gradient(to bottom,transparent 0 36px,rgba(242,177,52,.12) 36px 37px),#00000073}.tile{background:var(--bg-2);border:1px solid var(--line);color:var(--accent)}.tile:hover{border-color:var(--line-2);background:var(--panel-2)}.tile.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 14px -4px var(--accent-glow);transform:none;background:#e6a13a0f}.tile-icon{width:100%;height:100%;align-items:center;justify-content:center}.hold-icon svg{width:68px;height:68px;color:var(--accent)}.follower-icon svg{width:26px;height:26px;color:var(--accent)}.slot-icon svg{width:34px;height:34px}.knob-icon svg{width:20px;height:20px;color:#141414}.cbx .box svg{width:18px;height:18px;color:#141414}.choice-count{display:flex;gap:10px}.choice-count .icon svg{width:34px;height:34px;color:var(--accent)}.gate{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);display:flex;align-items:center;gap:8px;min-height:1.4em}.gate .gate-bar{width:90px;height:3px;background:var(--line);border-radius:2px;overflow:hidden}.gate .gate-bar>span{display:block;height:100%;width:0;background:var(--accent-dim);transition:width .12s linear}.gate.ready{color:var(--cyan)}.gate.ready .gate-bar>span{background:var(--cyan)}.draw-canvas{background:var(--bg-2);border-color:var(--line);box-shadow:inset 0 0 0 1px #0006}.draw-canvas.cursive{background:repeating-linear-gradient(to bottom,transparent 0 36px,rgba(95,179,201,.1) 36px 37px),var(--bg-2)}.distorted{filter:none;color:var(--text);background:var(--bg-2);border-color:var(--line)}.target{background:radial-gradient(circle,#000 0 22%,var(--accent) 23%,var(--accent-dim) 60%,#2a2010 100%);box-shadow:0 0 24px -6px var(--accent-glow)}.cbx{background:var(--bg-2);border-color:var(--line)}.cbx .box{border-color:var(--accent-dim);background:var(--bg)}.cbx.checked .box{background:var(--accent);border-color:var(--accent)}.cbx .brand{font-family:var(--sans)}.hold-glyph .tear{background:var(--cyan)}.puzzle .slot.filled{color:var(--accent);filter:drop-shadow(0 0 8px var(--accent-glow))}.track .knob{background:var(--accent)}.track .fill{background:#e6a13a1f}.trace-wrap{display:grid;gap:12px;justify-items:center}.trace-zone{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 50% 50%,rgba(230,161,58,.03),transparent 70%),var(--bg-2);touch-action:none;cursor:crosshair;overflow:hidden}.trace-dot{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.trace-ring{position:absolute;margin:0;transform:translate(-50%,-50%);border:1px dashed var(--line-2);border-radius:50%;pointer-events:none}.rhythm-wrap{display:grid;gap:20px;justify-items:center;min-height:180px;align-content:center}.rhythm-pulse{width:86px;height:86px;border-radius:50%;border:2px solid var(--line-2);background:var(--bg-2);transition:transform 90ms ease-out,background 90ms,box-shadow 90ms}.rhythm-pulse.on{background:var(--accent);box-shadow:0 0 30px var(--accent-glow);transform:scale(1.12)}.rhythm-tap{min-width:120px}@media(prefers-reduced-motion:reduce){.rhythm-pulse{transition:background 90ms}}.math-wrap{display:grid;gap:16px;justify-items:center;width:100%}.math-problem{font-family:var(--mono);font-size:24px;font-weight:500;letter-spacing:.01em;color:var(--accent);text-align:center;padding:18px 22px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);max-width:480px;line-height:1.4}@media(min-width:640px){.math-problem{font-size:28px}}.math-field{max-width:320px;text-align:center;font-size:20px}
