*,:before,:after{box-sizing:border-box}html,body{color:#e0e0e0;-webkit-font-smoothing:antialiased;background:#1a1a2e;height:100%;margin:0;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}#root{height:100%}button{font-family:inherit}::selection{background:#4a9eff4d}.room-wrapper{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.room{aspect-ratio:3/2;border:2px solid var(--room-accent,#555);background:#111;border-radius:12px;width:100%;max-width:100%;max-height:100%;animation:.28s room-enter;position:relative;overflow:hidden}.room-bg{width:100%;height:100%;display:block}.room-label{top:calc(16px + var(--hud-clear,0px));z-index:2;position:absolute;left:20px}.room-name{letter-spacing:2px;text-transform:uppercase;color:var(--room-accent);text-shadow:0 0 10px #000000e6,0 0 20px #000000b3;border:1px solid var(--room-accent);background:#00000080;border-radius:6px;margin:0;padding:6px 14px;font-size:1.4rem;font-weight:700}.station-marker{z-index:3;color:#f2f6ff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0d16c2;border:1.5px solid #aabee66b;border-radius:999px;align-items:center;gap:6px;min-width:36px;max-width:min(210px,28%);min-height:36px;padding:5px 8px 5px 5px;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s,opacity .16s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 20px #00000047}.station-marker:hover:not(:disabled),.station-marker:focus-visible:not(:disabled){background:#182138eb;border-color:#dcebffb8;outline:none;transform:translate(-50%,-50%)scale(1.05);box-shadow:0 12px 28px #0000005c}.station-marker:disabled{cursor:default}.station-marker-dot{color:#cfe0ff;background:#82aaff2e;border:1px solid #96b9ff8c;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.82rem;font-weight:900;line-height:1;display:grid}.station-marker-label{color:#eff4ff;letter-spacing:.4px;text-align:left;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:850;line-height:1.1;overflow:hidden}.station-marker-status{color:#cbd6f7;letter-spacing:.7px;opacity:0;pointer-events:none;text-transform:uppercase;background:#0a0d16e6;border:1px solid #aabee657;border-radius:999px;padding:4px 7px;font-size:.56rem;font-weight:900;line-height:1;transition:opacity .14s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.station-marker:hover .station-marker-status,.station-marker:focus-visible .station-marker-status,.hotspot-suggested .station-marker-status{opacity:1}.station-marker-available{border-color:#91b9ff9e}.station-marker-available .station-marker-dot{color:#edf4ff;background:#5a91ff47}.station-marker-done{border-color:#8aff9a80}.station-marker-done .station-marker-dot{color:#c7ffd1;background:#5abe6e33;border-color:#8aff9a99}.station-marker-done .station-marker-status{color:#c7ffd1}.station-marker-locked{opacity:.42}.station-marker-locked .station-marker-dot{color:#b2b8ca;background:#ffffff0f;border-color:#bec3d738}.hotspot-suggested{border-color:#ffdc64bf;animation:1.8s ease-in-out infinite hotspot-pulse;box-shadow:0 0 #ffdc6480}.hotspot-just-completed{animation:1.2s hotspot-complete}@keyframes hotspot-pulse{50%{box-shadow:0 0 0 12px #ffdc6400}}@keyframes hotspot-complete{0%{background:#8aff9a3d;box-shadow:0 0 #8aff9a8c}to{background:#0a0d16c2;box-shadow:0 0 0 18px #8aff9a00}}@keyframes room-enter{0%{opacity:.78;transform:scale(.992)}to{opacity:1;transform:scale(1)}}@media (width<=900px){.room-wrapper{width:100%}.station-marker{max-width:34%}.station-marker-label{max-width:14ch}}@media (width<=560px){.station-marker{min-width:34px;padding-right:5px}.station-marker-label{display:none}}@media (prefers-reduced-motion:reduce){.room,.station-marker,.hotspot-suggested,.hotspot-just-completed,.station-marker-status{transition:none;animation:none}}.nav-arrows{z-index:5;grid-template-rows:48px;grid-template-columns:repeat(2,48px);grid-template-areas:"left right";gap:8px;display:grid;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.nav-btn{color:#ddd;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e1e32d9;border:2px solid #555;border-radius:10px;justify-content:center;align-items:center;font-size:1.4rem;transition:all .15s;display:flex}.nav-btn:hover:not(:disabled){color:#fff;background:#3c3c64e6;border-color:#aaa;transform:scale(1.08)}.nav-btn:active:not(:disabled){transform:scale(.95)}.nav-btn:disabled{opacity:.2;cursor:not-allowed}.nav-btn.nav-locked{opacity:.55;border-style:dashed;font-size:1.1rem}.nav-btn.nav-just-unlocked{border-color:#8aff9a;animation:1.4s ease-out infinite nav-unlocked-pulse;box-shadow:0 0 #8aff9a8c}.nav-left{grid-area:left}.nav-right{grid-area:right}@keyframes nav-unlocked-pulse{0%{box-shadow:0 0 #8aff9a8c}to{box-shadow:0 0 0 16px #8aff9a00}}@media (prefers-reduced-motion:reduce){.nav-btn{transition:none}.nav-btn.nav-just-unlocked{animation:none}}.minimap{top:calc(12px + var(--hud-clear,0px));z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#141423e6;border:1.5px solid #444;border-radius:10px;padding:10px;position:absolute;right:12px}.matching-puzzle{flex-direction:column;gap:16px;width:min(100%,720px);min-width:0;max-width:720px;display:flex}.matching-title{letter-spacing:2px;text-transform:uppercase;color:#aaa;text-align:center;margin:0;font-size:1rem}.matching-instructions{color:#bbb;text-align:center;margin:0;font-size:.9rem;font-style:italic;line-height:1.4}.matching-stage{aspect-ratio:4/3;background:#0a0a14;border:1px solid #333;border-radius:8px;position:relative;overflow:hidden}.matching-image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.matching-target{cursor:pointer;color:#ddd;background:0 0;border:2px dashed #c8c8ff4d;border-radius:8px;flex-direction:column;justify-content:space-between;align-items:center;gap:4px;padding:4px;transition:all .2s;display:flex;position:absolute}.matching-target:hover{background:#6464b41f;border-color:#c8c8ffb3}.matching-target.targetable{border-color:#6aa8ff;animation:1.5s ease-in-out infinite target-pulse}@keyframes target-pulse{0%,to{box-shadow:0 0 #6aa8ff66}50%{box-shadow:0 0 0 8px #6aa8ff00}}.matching-target.wrong{background:#f553;border-color:#f55;animation:.4s target-shake}@keyframes target-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.matching-target.done{background:#50c87814;border-style:solid;border-color:#50c87899}.target-label{clip-path:inset(50%);white-space:nowrap;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.target-placed{flex-wrap:wrap;justify-content:center;gap:3px;margin-top:auto;display:flex}.placed-chip{color:#0a1a0f;cursor:pointer;background:#50c878d9;border-radius:4px;padding:2px 8px;font-family:Courier New,monospace;font-size:.78rem;font-weight:600}.placed-chip:hover{color:#1a0a0a;background:#ff7878d9}.matching-chips{background:#0000004d;border:1px solid #2a2a3e;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:60px;padding:12px;display:flex}.matching-chip{color:#e0e0ff;cursor:pointer;letter-spacing:1px;background:#2a2a40;border:1.5px solid #4a4a6a;border-radius:6px;padding:8px 14px;font-family:Courier New,monospace;font-size:.95rem;font-weight:600;transition:all .15s}.matching-chip:hover{background:#3a3a55;border-color:#6a6a90;transform:translateY(-2px)}.matching-chip.selected{color:#fff;background:#4a6aff;border-color:#8ab0ff;box-shadow:0 0 12px #4a6aff99}.matching-chips-empty{color:#666;margin:0;font-size:.85rem;font-style:italic}.matching-solved{text-align:center;color:#8aff9a;font-weight:600;animation:.4s solved-in}@keyframes solved-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.matching-solved p{margin:0}.manufacturing-puzzle{flex-direction:column;gap:18px;width:min(100%,720px);display:flex}.manufacturing-title{color:#aaa;letter-spacing:2px;text-align:center;text-transform:uppercase;margin:0;font-size:1rem}.manufacturing-instructions,.manufacturing-prompt{color:#bbb;text-align:center;margin:0;font-size:.9rem;line-height:1.45}.manufacturing-instructions{font-style:italic}.manufacturing-fill-row,.manufacturing-slider-card{background:#0000003d;border:1px solid #7887aa47;border-radius:10px;grid-template-columns:minmax(120px,160px) 1fr;align-items:center;gap:12px;padding:18px;display:grid}.manufacturing-fixed-label{color:#e8e8f4;text-align:center;font-family:Courier New,monospace;font-size:1rem;font-weight:800}.manufacturing-drop-zone{color:#f0f4ff;cursor:pointer;background:#161c2de0;border:1.5px dashed #8fa2ff8c;border-radius:8px;min-height:64px;font-family:Courier New,monospace;font-size:1rem;font-weight:800}.manufacturing-drop-zone.filled{border-style:solid;border-color:#8aff9abf;box-shadow:inset 0 0 0 1px #8aff9a33}.manufacturing-options{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.manufacturing-option,.manufacturing-submit{border-radius:8px;min-height:40px;font-size:.92rem;font-weight:800}.manufacturing-option{color:#e8e8f4;cursor:grab;background:#25253e;border:1.5px solid #4a4a68;padding:8px 14px}.manufacturing-option:active{cursor:grabbing}.manufacturing-option:hover,.manufacturing-submit:hover:not(:disabled){color:#fff;border-color:#8fa2ff}.manufacturing-submit{color:#ecfff0;cursor:pointer;text-transform:uppercase;background:#2b4e3b;border:1px solid #8aff9a61;align-self:center;min-width:120px;padding:9px 16px}.manufacturing-submit:disabled{cursor:default;opacity:.45}.manufacturing-slider-wrap{flex-direction:column;gap:14px;display:flex}.manufacturing-slider{accent-color:#70d99d;cursor:pointer;width:100%}.manufacturing-slider:disabled{cursor:default}.manufacturing-slider-scale{justify-content:space-between;align-items:flex-end;padding-inline:6px;display:flex}.scale-dot{background:#dce6ffcc;border-radius:999px 999px 2px 2px;display:block}.scale-dot.small{width:10px;height:12px}.scale-dot.medium{width:14px;height:20px}.scale-dot.large{width:18px;height:28px}.manufacturing-feedback{text-align:center;margin:0;font-size:.9rem;font-weight:700}.manufacturing-feedback.success{color:#8aff9a}.manufacturing-feedback.wrong{color:#ffad70}@media (width<=680px){.manufacturing-fill-row,.manufacturing-slider-card{grid-template-columns:1fr}}.gear-lock{flex-direction:column;align-items:center;gap:18px;width:min(100%,720px);display:flex}.gear-lock-title{color:#aaa;letter-spacing:2px;text-align:center;text-transform:uppercase;margin:0;font-size:1rem}.gear-lock-instructions{color:#bbb;text-align:center;margin:0;font-size:.92rem;font-style:italic;line-height:1.45}.gear-lock-stage{background:radial-gradient(circle at 50% 35%,#61a9d938,#0000 38%),linear-gradient(#0f1a26fa,#060b12fa);border:1px solid #60829a8c;border-radius:12px;place-items:center;width:100%;min-height:360px;padding:20px;display:grid;box-shadow:inset 0 0 32px #00000073}.gear-lock-wheel{aspect-ratio:1;cursor:grab;touch-action:none;place-items:center;width:min(72vw,280px);transition:filter .2s;display:grid;position:relative}.gear-lock-wheel:active{cursor:grabbing}.gear-lock-wheel.solved{cursor:default;filter:drop-shadow(0 0 18px #8aff9a33);transition:filter .25s}.gear-lock-rotor{transform:rotate(var(--gear-rotation));will-change:transform;transition:transform .22s cubic-bezier(.2,.85,.24,1);position:absolute;inset:0}.gear-lock-wheel.dragging .gear-lock-rotor{transition:none}.gear-lock-teeth{background:repeating-conic-gradient(#7f9dad 0deg 10deg,#466272 10deg 20deg);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 0 36%,#000 37% 56%,#0000 57%),repeating-conic-gradient(#000 0deg 7deg,#0000 7deg 15deg);mask:radial-gradient(circle,#0000 0 36%,#000 37% 56%,#0000 57%),repeating-conic-gradient(#000 0deg 7deg,#0000 7deg 15deg)}.gear-lock-prefix-track{justify-content:center;width:72px;margin-left:-36px;display:flex;position:absolute;top:15%;left:50%}.gear-lock-prefix{color:#ffcc5c;letter-spacing:1px;text-transform:lowercase;background:#1c1406eb;border:1px solid #ffcc5cb3;border-radius:999px;padding:4px 10px;font-family:Courier New,monospace;font-size:1rem;font-weight:700}.gear-lock-center{z-index:1;aspect-ratio:1;text-align:center;background:radial-gradient(circle at 35% 30%,#addcf62e,#0000 40%),linear-gradient(#172635,#0a121c);border:2px solid #6ab0c88c;border-radius:50%;place-items:center;gap:6px;width:58%;padding:18px;display:grid;position:relative;box-shadow:inset 0 0 24px #0006,0 0 24px #3053694d}.gear-lock-word{color:#e4f6ff;letter-spacing:1px;font-family:Courier New,monospace;font-size:clamp(1.3rem,3vw,1.8rem);font-weight:700}.gear-lock-meaning{color:#d2e8f4c2;letter-spacing:1px;text-transform:uppercase;font-size:.84rem}.gear-lock-feedback{color:#9fb7c7;text-align:center;margin:0;font-size:.9rem}.gear-lock-feedback.success{color:#8aff9a;font-weight:700}.gear-lock-continue{color:#f6fff6;cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:#24522ee6;border:1px solid #8aff9a66;border-radius:8px;min-width:160px;padding:11px 18px;font-size:.95rem;font-weight:700}.gear-lock-continue:hover{background:#2c6438f2}@media (width<=620px){.gear-lock-stage{min-height:320px;padding:16px}}.prefix-wheel{flex-direction:column;align-items:center;gap:16px;width:min(100%,720px);min-width:0;max-width:720px;display:flex}.pw-title{letter-spacing:2px;text-transform:uppercase;color:#aaa;text-align:center;margin:0;font-size:1rem}.pw-instructions{color:#bbb;text-align:center;margin:0;font-size:.9rem;font-style:italic;line-height:1.4}.pw-door{background:linear-gradient(#1a2a35 0%,#0e1a22 100%);border:2px solid #3a5a6a;border-radius:10px;width:100%;height:220px;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #0009}.pw-door-frame{display:flex;position:absolute;inset:10px}.pw-door-panel{background:linear-gradient(#2a4a5a 0%,#1a3040 100%);border:1.5px solid #4a7a8a;flex:1;transition:transform .8s cubic-bezier(.4,0,.2,1)}.pw-door-left{border-radius:6px 0 0 6px;box-shadow:inset -4px 0 10px #0006}.pw-door-right{border-radius:0 6px 6px 0;box-shadow:inset 4px 0 10px #0006}.pw-door-seam{background:#0a1820;width:2px;transition:opacity .4s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.pw-door-open .pw-door-left{transform:translate(-100%)}.pw-door-open .pw-door-right{transform:translate(100%)}.pw-door-open .pw-door-seam{opacity:0}.pw-display{z-index:2;background:#000c;border:2px solid #6ab0c8;border-radius:8px;padding:16px 24px;transition:opacity .4s,transform .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 24px #6ab0c866}.pw-door-open .pw-display{opacity:0;transform:translate(-50%,-50%)scale(.8)}.pw-display-screen{letter-spacing:2px;color:#9ed8ea;text-shadow:0 0 8px #9ed8ea99;align-items:baseline;gap:2px;font-family:Courier New,monospace;font-size:1.8rem;font-weight:700;display:flex}.pw-prefix{color:#ffc94a;text-align:center;min-width:2.5ch;transition:color .2s;display:inline-block}.pw-prefix.wrong{color:#ff7878;animation:.35s pw-shake}.pw-prefix.success{color:#8aff9a;text-shadow:0 0 16px #8aff9ae6}@keyframes pw-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.pw-sep{opacity:.4;margin:0 1px}.pw-controls{background:#0000004d;border:1px solid #2a2a3e;border-radius:10px;align-items:center;gap:16px;padding:12px 18px;display:flex}.pw-arrow{color:#ccc;cursor:pointer;background:#2a2a40;border:1.5px solid #4a4a6a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;transition:all .15s;display:flex}.pw-arrow:hover:not(:disabled){color:#fff;background:#3a3a55;border-color:#8a8ab0;transform:scale(1.08)}.pw-arrow:active:not(:disabled){transform:scale(.92)}.pw-arrow:disabled{opacity:.3;cursor:not-allowed}.pw-chip-display{flex-direction:column;align-items:center;gap:4px;min-width:120px;display:flex}.pw-chip-label{letter-spacing:2px;color:#888;text-transform:uppercase;font-size:.65rem}.pw-chip{color:#1a1a2e;letter-spacing:1.5px;text-align:center;background:#ffc94a;border-radius:6px;min-width:60px;padding:6px 16px;font-family:Courier New,monospace;font-size:1.15rem;font-weight:700}.pw-chip-index{color:#666;font-size:.7rem}.pw-try{color:#fff;letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:#4a6aff;border:none;border-radius:8px;padding:10px 32px;font-size:.9rem;font-weight:600;transition:all .15s}.pw-try:hover:not(:disabled){background:#5a7aff;box-shadow:0 0 16px #4a6aff80}.pw-try:active:not(:disabled){transform:scale(.97)}.pw-try.solved{cursor:default;background:#3a9a52}.pw-try:disabled:not(.solved){opacity:.5;cursor:not-allowed}.pw-feedback{text-align:center;margin:0;font-size:.85rem;animation:.25s pw-feedback-in}.pw-feedback-wrong{color:#ff9090}.pw-feedback-success{color:#8aff9a;font-weight:600}@keyframes pw-feedback-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sequence-puzzle{flex-direction:column;gap:16px;width:min(100%,720px);min-width:0;max-width:720px;display:flex}.seq-title{letter-spacing:2px;text-transform:uppercase;color:#aaa;text-align:center;margin:0;font-size:1rem}.seq-instructions{color:#bbb;text-align:center;margin:0;font-size:.9rem;font-style:italic;line-height:1.4}.seq-entries{flex-direction:column;gap:6px;display:flex}.seq-entry{cursor:pointer;-webkit-user-select:none;user-select:none;background:#1e1e32e6;border:1.5px solid #3a3a5a;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.seq-entry:hover:not(.locked){background:#282841f2;border-color:#6a6a90}.seq-entry.selected{background:#2d2d4bf2;border-color:#4a6aff;box-shadow:0 0 12px #4a6aff80}.seq-entry.locked{cursor:default;border-color:#50c87880}.seq-num{color:#aaa;background:#2a2a40;border:1.5px solid #4a4a6a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:flex}.seq-entry.selected .seq-num{color:#fff;background:#4a6aff;border-color:#8ab0ff}.seq-entry-body{flex-direction:column;flex:1;gap:2px;display:flex}.seq-blah{color:#c8e0ff;letter-spacing:1.5px;font-family:Courier New,monospace;font-size:1.05rem;font-weight:600}.seq-hint{color:#777;font-size:.75rem;font-style:italic}.seq-reorder{flex-direction:column;gap:2px;display:flex}.seq-move{color:#888;cursor:pointer;background:0 0;border:1px solid #3a3a5a;border-radius:4px;justify-content:center;align-items:center;width:24px;height:20px;padding:0;font-size:.65rem;transition:all .12s;display:flex}.seq-move:hover:not(:disabled){color:#ccc;background:#6464964d;border-color:#6a6a90}.seq-move:disabled{opacity:.2;cursor:not-allowed}.seq-submit{color:#fff;letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:#4a6aff;border:none;border-radius:8px;align-self:center;padding:10px 32px;font-size:.9rem;font-weight:600;transition:all .15s}.seq-submit:hover{background:#5a7aff;box-shadow:0 0 16px #4a6aff80}.seq-submit:active{transform:scale(.97)}.seq-replay{background:#0009;border:1.5px solid #4a6a3a;border-radius:10px;padding:16px 20px;animation:.3s replay-in}@keyframes replay-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.seq-replay-header{letter-spacing:3px;color:#8aff9a;text-align:center;margin-bottom:14px;font-size:.7rem;font-weight:700}.seq-replay-steps{flex-direction:column;gap:8px;display:flex}.seq-replay-step{opacity:.3;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:.88rem;transition:all .4s;display:flex}.seq-replay-step.active{opacity:1;background:#8aff9a14;border-left:3px solid #8aff9a;animation:.4s step-flash}.seq-replay-step.past{opacity:.6}.seq-replay-step.future{opacity:.2}@keyframes step-flash{0%{background:#8aff9a33}to{background:#8aff9a14}}.seq-replay-icon{text-align:center;width:28px;font-size:1.2rem}.seq-replay-text{color:#d0d0e0}.seq-solved{text-align:center;color:#8aff9a;font-weight:600;animation:.4s seq-solved-in}@keyframes seq-solved-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.seq-solved p{margin:0}.seq-feedback{text-align:center;margin:0;font-size:.85rem;animation:.25s seq-fb-in}.seq-feedback-wrong{color:#ff9090}.seq-feedback-success{color:#8aff9a;font-weight:600}@keyframes seq-fb-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.choice-puzzle{flex-direction:column;gap:16px;width:min(100%,720px);display:flex}.choice-title{letter-spacing:2px;text-align:center;text-transform:uppercase;color:#aaa;margin:0;font-size:1rem}.choice-instructions{color:#bbb;text-align:center;margin:0;font-size:.9rem;font-style:italic;line-height:1.45}.choice-panel{background:#00000059;border:1px solid #333950;border-radius:8px;padding:18px}.choice-body{color:#cfe2ff;text-align:center;white-space:pre-line;font-family:Courier New,monospace;font-size:1rem;line-height:1.6}.choice-question{color:#e5e5f5;text-align:center;margin:14px 0 0;font-size:1rem;line-height:1.45}.choice-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice-option{color:#e8e8f4;cursor:pointer;background:#282842;border:1.5px solid #474766;border-radius:8px;min-height:44px;padding:10px 12px;font-size:.92rem;font-weight:600;line-height:1.25;transition:all .15s}.choice-option:hover:not(:disabled){color:#fff;background:#343450;border-color:#7f91c8}.choice-option.wrong{color:#ffd0ad;background:#ff9b502e;border-color:#ffad70;animation:.26s choice-shake}.choice-option.success,.choice-option.correct-answer{color:#dcffe4;background:#64e68c29;border-color:#8aff9a}.choice-option:disabled{cursor:default;opacity:.7}.choice-feedback{text-align:center;margin:0;font-size:.88rem;animation:.18s choice-feedback-in}.choice-feedback-wrong{color:#ffad70}.choice-feedback-success{color:#8aff9a;font-weight:700}.choice-progress{color:#777;letter-spacing:1px;align-self:center;font-size:.72rem}@keyframes choice-feedback-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes choice-shake{0%,to{transform:translate(0)}30%{transform:translate(-4px)}70%{transform:translate(4px)}}@media (width<=560px){.choice-options{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.choice-option,.choice-feedback{transition:none;animation:none}}.puzzle-clue-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));justify-items:center;gap:12px;width:100%;max-width:min(100%,520px);margin:0 auto;display:grid}.puzzle-clue-card{background:#0000003d;border:1px solid #7887aa57;border-radius:8px;gap:8px;width:100%;min-width:0;max-width:460px;padding:10px;display:grid;overflow:hidden}.puzzle-clue-image{aspect-ratio:1;object-fit:contain;background:#060a15;border-radius:6px;width:100%;display:block}.puzzle-clue-copy{text-align:center;gap:4px;display:grid}.puzzle-clue-copy h3{color:#f0f4ff;margin:0;font-size:.86rem;line-height:1.2}.puzzle-clue-copy p{color:#dce6ffa6;margin:0;font-size:.78rem;line-height:1.35}@media (width<=620px){.puzzle-clue-cards{grid-template-columns:1fr}}.builder-puzzle{flex-direction:column;gap:16px;width:min(100%,720px);display:flex}.builder-title{color:#aaa;letter-spacing:2px;text-align:center;text-transform:uppercase;margin:0;font-size:1rem}.builder-instructions,.builder-prompt{color:#bbb;text-align:center;margin:0;font-size:.9rem;font-style:italic;line-height:1.45}.builder-prompt{color:#d8d8f0;font-style:normal}.builder-slots{grid-template-columns:repeat(var(--slot-count), minmax(72px, 1fr));gap:8px;width:100%;display:grid}.builder-slot{color:#cfe2ff;cursor:pointer;overflow-wrap:anywhere;background:#0000006b;border:1.5px dashed #5b6488;border-radius:8px;min-height:52px;padding:8px;font-family:Courier New,monospace;font-size:1rem;font-weight:700}.builder-slot.filled{background:#4a6aff29;border-style:solid;border-color:#7f91ff}.builder-has-wrong .builder-slot.filled{border-color:#ffad70e6;animation:.28s builder-shake}.builder-has-success .builder-slot.filled{border-color:#8aff9ae6;box-shadow:0 0 14px #8aff9a29}.builder-preview{color:#cfd8ff;overflow-wrap:anywhere;text-align:center;background:#0000003d;border:1px solid #6e789659;border-radius:8px;min-height:28px;padding:7px 10px;font-family:Courier New,monospace;font-size:.92rem;line-height:1.35}.builder-door-console{background:#080a10b3;border:1px solid #7887aa57;border-radius:8px;justify-content:center;align-self:center;align-items:center;gap:10px;min-width:180px;padding:10px 14px;display:flex}.builder-door-light{background:#f7c948;border-radius:50%;width:14px;height:14px;box-shadow:0 0 12px #f7c9487a}.builder-door-status{color:#d8d8f0;letter-spacing:1.6px;font-family:Courier New,monospace;font-size:.82rem;font-weight:800}.builder-effect-door-lock.builder-has-wrong{animation:.34s door-thunk}.builder-effect-door-lock.builder-has-wrong .builder-door-console{background:#4809096b;border-color:#ff5656d1;box-shadow:inset 0 0 18px #ff282824,0 0 24px #ff28281f}.builder-effect-door-lock.builder-has-wrong .builder-door-light{background:#ff3636;box-shadow:0 0 18px #ff3636e6}.builder-effect-door-lock.builder-has-success .builder-door-light{background:#8aff9a;box-shadow:0 0 18px #8aff9ad1}.builder-tiles{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.builder-tile{color:#e8e8f4;cursor:pointer;background:#25253e;border:1.5px solid #4a4a68;border-radius:8px;min-height:38px;padding:8px 12px;font-family:Courier New,monospace;font-size:.95rem;font-weight:700;transition:all .15s}.builder-slot[draggable=true],.builder-tile[draggable=true]{cursor:grab}.builder-slot[draggable=true]:active,.builder-tile[draggable=true]:active{cursor:grabbing}.builder-tile:hover:not(:disabled){background:#343450;border-color:#8fa2ff}.builder-tile:disabled{cursor:default;opacity:.35}.builder-actions{justify-content:center;gap:10px;display:flex}.builder-secondary,.builder-submit{cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;border-radius:8px;min-width:92px;padding:9px 16px;font-size:.82rem;font-weight:700}.builder-secondary{color:#bbb;background:0 0;border:1px solid #5e6278}.builder-submit{color:#fff;background:#4a6aff;border:none}.builder-secondary:hover:not(:disabled),.builder-submit:hover:not(:disabled){filter:brightness(1.12)}.builder-secondary:disabled,.builder-submit:disabled{cursor:default;opacity:.5}.builder-feedback{text-align:center;margin:0;font-size:.88rem}.builder-feedback-wrong{color:#ffad70}.builder-feedback-success{color:#8aff9a;font-weight:700}.builder-progress{color:#777;letter-spacing:1px;align-self:center;font-size:.72rem}@media (width<=620px){.builder-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.builder-slots{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.builder-slot,.builder-tile{transition:none;animation:none}}@keyframes builder-shake{0%,to{transform:translate(0)}30%{transform:translate(-4px)}70%{transform:translate(4px)}}@keyframes door-thunk{0%,to{transform:translate(0)}18%{transform:translate(-8px)}36%{transform:translate(5px)}54%{transform:translate(-3px)}}.conversation-puzzle{flex-direction:column;gap:14px;width:min(100%,720px);display:flex}.conversation-title{color:#aaa;letter-spacing:2px;text-align:center;text-transform:uppercase;margin:0;font-size:1rem}.conversation-instructions,.conversation-prompt{color:#bbb;text-align:center;margin:0;font-size:.9rem;font-style:italic;line-height:1.45}.conversation-prompt{color:#d8d8f0;font-style:normal}.conversation-log{flex-direction:column;gap:8px;max-height:260px;padding:4px;display:flex;overflow-y:auto}.conversation-line{border:1px solid #333950;border-radius:8px;grid-template-columns:70px 1fr;align-items:start;gap:10px;padding:10px 12px;display:grid}.conversation-line.from-alien{background:#5ccdb814}.conversation-line.from-player{background:#4a6aff1f}.conversation-line.active{border-color:#82dccda6;box-shadow:0 0 14px #5ccdb829}.conversation-speaker{color:#8da1c8;letter-spacing:1px;text-transform:uppercase;font-size:.72rem;font-weight:700}.conversation-text{color:#e8e8f5;overflow-wrap:anywhere;font-family:Courier New,monospace;line-height:1.35}.conversation-slots{grid-template-columns:repeat(var(--slot-count), minmax(62px, 1fr));gap:8px;display:grid}.conversation-slot{color:#cfe2ff;cursor:pointer;overflow-wrap:anywhere;background:#0000006b;border:1.5px dashed #5b6488;border-radius:8px;min-height:48px;padding:8px;font-family:Courier New,monospace;font-size:.94rem;font-weight:700}.conversation-slot.filled{background:#4a6aff29;border-style:solid;border-color:#7f91ff}.conversation-has-wrong .conversation-slot.filled{border-color:#ffad70e6;animation:.28s conversation-shake}.conversation-has-success .conversation-slot.filled{border-color:#8aff9ae6;box-shadow:0 0 14px #8aff9a29}.conversation-preview{color:#cfd8ff;overflow-wrap:anywhere;text-align:center;background:#0000003d;border:1px solid #6e789659;border-radius:8px;min-height:28px;padding:7px 10px;font-family:Courier New,monospace;font-size:.92rem;line-height:1.35}.conversation-tiles{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.conversation-tile{color:#e8e8f4;cursor:pointer;background:#25253e;border:1.5px solid #4a4a68;border-radius:8px;min-height:38px;padding:8px 12px;font-family:Courier New,monospace;font-size:.92rem;font-weight:700}.conversation-slot[draggable=true],.conversation-tile[draggable=true]{cursor:grab}.conversation-slot[draggable=true]:active,.conversation-tile[draggable=true]:active{cursor:grabbing}.conversation-tile:hover:not(:disabled){background:#343450;border-color:#8fa2ff}.conversation-tile:disabled{cursor:default;opacity:.35}.conversation-actions{justify-content:center;gap:10px;display:flex}.conversation-secondary,.conversation-submit{cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;border-radius:8px;min-width:92px;padding:9px 16px;font-size:.82rem;font-weight:700}.conversation-secondary{color:#bbb;background:0 0;border:1px solid #5e6278}.conversation-submit{color:#fff;background:#4a6aff;border:none}.conversation-secondary:disabled,.conversation-submit:disabled{cursor:default;opacity:.5}.conversation-feedback{text-align:center;margin:0;font-size:.88rem}.conversation-feedback-wrong{color:#ffad70}.conversation-feedback-success{color:#8aff9a;font-weight:700}@media (width<=660px){.conversation-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.conversation-line{grid-template-columns:1fr;gap:4px}}@media (width<=420px){.conversation-slots{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.conversation-slot,.conversation-tile{transition:none;animation:none}}@keyframes conversation-shake{0%,to{transform:translate(0)}30%{transform:translate(-4px)}70%{transform:translate(4px)}}.experiment-puzzle{flex-direction:column;gap:16px;width:min(100%,720px);display:flex}.experiment-title{color:#aaa;letter-spacing:2px;text-align:center;text-transform:uppercase;margin:0;font-size:1rem}.experiment-instructions{color:#bbb;text-align:center;margin:0;font-size:.9rem;font-style:italic;line-height:1.45}.experiment-console{grid-template-columns:minmax(170px,.8fr) minmax(220px,1.2fr);gap:14px;display:grid}.experiment-buttons,.experiment-output{background:#00000042;border:1px solid #7887aa59;border-radius:8px;padding:14px}.experiment-buttons{gap:10px;display:grid}.experiment-button{color:#e8e8f4;cursor:pointer;background:#25253e;border:1.5px solid #4a4a68;border-radius:8px;min-height:44px;padding:8px 12px;font-family:Courier New,monospace;font-size:1rem;font-weight:700}.experiment-button:hover:not(:disabled),.experiment-button.active{background:#343450;border-color:#8fa2ff}.experiment-button.tested:not(.active){border-color:#96aad28c}.experiment-button:disabled{cursor:default;opacity:.6}.experiment-output{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:190px;display:flex}.experiment-cup{background:linear-gradient(90deg,#ffffff14,#ffffff38,#ffffff14);border:2px solid #d2e1ff80;border-top:none;border-radius:0 0 18px 18px;align-items:end;width:72px;height:98px;display:flex;position:relative;overflow:hidden}.experiment-cup:before{content:"";border-top:2px solid #d2e1ff8c;position:absolute;top:0;left:-7px;right:-7px}.experiment-liquid{opacity:.82;width:100%;height:62%;animation:.35s liquid-rise;display:block;box-shadow:inset 0 10px 14px #ffffff3d}.experiment-resolution{flex-direction:column;align-items:center;gap:10px;display:flex}.experiment-resolution p{color:#8aff9a;text-align:center;margin:0;font-size:.9rem;font-weight:700}.experiment-resolution button{color:#fff;cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;background:#4a6aff;border:none;border-radius:8px;min-width:110px;padding:9px 16px;font-size:.82rem;font-weight:700}.experiment-resolution button:hover:not(:disabled){filter:brightness(1.12)}.experiment-resolution button:disabled{cursor:default;opacity:.5}@keyframes liquid-rise{0%{height:0}to{height:62%}}@media (width<=620px){.experiment-console{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.experiment-liquid{animation:none}}.vocabulary-review{flex-direction:column;gap:16px;width:min(100%,720px);display:flex}.vocabulary-title{color:#aaa;letter-spacing:2px;text-align:center;text-transform:uppercase;margin:0;font-size:1rem}.vocabulary-message{color:#d8d8f0;text-align:center;margin:0;font-size:1rem;font-style:italic;line-height:1.55}.vocabulary-list{background:#0000003d;border:1px solid #7887aa59;border-radius:8px;gap:14px;max-height:430px;padding:14px;display:grid;overflow-y:auto}.vocabulary-empty{color:#777;text-align:center;margin:8px;font-style:italic}.vocabulary-group{gap:6px;display:grid}.vocabulary-group h3{color:#ffffff94;letter-spacing:1.2px;text-transform:uppercase;margin:0;font-size:.72rem}.vocabulary-rows{gap:5px;display:grid}.vocabulary-row{background:#ffffff08;border-radius:6px;grid-template-columns:auto minmax(70px,1fr) auto minmax(120px,1.4fr);align-items:center;gap:8px;padding:6px 8px;font-family:Courier New,monospace;display:grid}.vocabulary-kind{color:#0b0b12;background:#a8c0ffe6;border-radius:6px;place-items:center;width:20px;height:20px;font-size:.68rem;font-weight:700;display:grid}.vocabulary-blah{color:#a8c0ff;font-weight:700}.vocabulary-equals{color:#666;font-size:.75rem}.vocabulary-english{color:#ddd}.vocabulary-prefix .vocabulary-kind{background:#ffb37ee6}.vocabulary-prefix .vocabulary-blah{color:#ffb37e}.vocabulary-suffix .vocabulary-kind{background:#7effb3e6}.vocabulary-suffix .vocabulary-blah{color:#7effb3}.vocabulary-pronoun .vocabulary-kind{background:#ffeb82f2}.vocabulary-pronoun .vocabulary-blah{color:#ffe982}.vocabulary-word .vocabulary-kind{background:#be96fff2}.vocabulary-word .vocabulary-blah{color:#c6a2ff}.vocabulary-unknown .vocabulary-kind{background:#aaaab4e6}.vocabulary-unknown .vocabulary-blah,.vocabulary-unknown .vocabulary-english{color:#aaa}.vocabulary-continue{color:#fff;cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;background:#4a6aff;border:none;border-radius:8px;align-self:center;min-width:110px;padding:10px 18px;font-size:.82rem;font-weight:700}.vocabulary-continue:hover{filter:brightness(1.12)}@media (width<=560px){.vocabulary-row{grid-template-columns:auto 1fr auto}.vocabulary-english{grid-column:2/-1}}.translation-check{flex-direction:column;gap:16px;width:min(100%,720px);display:flex}.translation-title{color:#aaa;letter-spacing:2px;text-align:center;text-transform:uppercase;margin:0;font-size:1rem}.translation-instructions,.translation-status,.translation-prompt{color:#bbb;text-align:center;margin:0;font-size:.9rem;font-style:italic;line-height:1.45}.translation-label{color:#cfe2ff;letter-spacing:2px;text-align:center;background:#00000059;border:1px solid #333950;border-radius:8px;gap:8px;padding:18px;font-family:Courier New,monospace;font-size:1.35rem;font-weight:700;line-height:1.5;display:grid}.translation-label-line{overflow-wrap:anywhere}.translation-decode{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.translation-token{text-align:center;background:#ffffff09;border:1px solid #91a5cd3d;border-radius:8px;align-items:center;gap:4px;min-height:66px;padding:10px 12px;display:grid}.translation-token-word{color:#a8c0ff;font-family:Courier New,monospace;font-size:1rem;font-weight:800}.translation-token-meaning{color:#dce6ff94;font-size:.82rem}.translation-token.known{border-color:#8aff9a66}.translation-token.known .translation-token-meaning{color:#c7ffd1;font-weight:700}.translation-form{gap:10px;display:grid}.translation-input{color:#e8e8f4;font:inherit;text-align:center;background:#0000006b;border:1.5px solid #5b6488;border-radius:8px;min-height:46px;padding:10px 12px;font-size:1rem;line-height:1.35}.translation-input:focus{border-color:#8fa2ff;outline:none}.translation-input:disabled{cursor:default;opacity:.5}.translation-submit{color:#fff;cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;background:#4a6aff;border:none;border-radius:8px;justify-self:center;min-width:110px;padding:9px 16px;font-size:.82rem;font-weight:700}.translation-submit:hover:not(:disabled){filter:brightness(1.12)}.translation-submit:disabled{cursor:default;opacity:.5}.translation-feedback{text-align:center;margin:0;font-size:.88rem}.translation-feedback-wrong{color:#ffad70}.translation-feedback-success{color:#8aff9a;font-weight:700}@media (width<=560px){.translation-decode{grid-template-columns:1fr}}.visual-discovery{flex-direction:column;gap:16px;width:min(100%,720px);display:flex}.visual-title{color:#aaa;letter-spacing:2px;text-align:center;text-transform:uppercase;margin:0;font-size:1rem}.visual-instructions,.visual-prompt{color:#bbb;text-align:center;margin:0;font-size:.9rem;font-style:italic;line-height:1.45}.visual-prompt{color:#d8d8f0;font-style:normal}.visual-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.visual-card-grid-single{grid-template-columns:minmax(220px,340px);justify-content:center}.visual-card-grid-single .visual-picture{aspect-ratio:1}.visual-card{background:#00000042;border:1px solid #7887aa59;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid;overflow:hidden}button.visual-card{color:inherit;cursor:pointer;font:inherit;text-align:inherit}.visual-card-selectable{transition:border-color .16s,background .16s,transform .16s}.visual-card-selectable:hover:not(:disabled),.visual-card-selectable:focus-visible,.visual-card-selectable.selected{background:#4660a038;border-color:#8fa2ffd9;outline:none}.visual-card-selectable.selected{box-shadow:inset 0 0 0 2px #8aff9a3d}.visual-picture{aspect-ratio:1;background:linear-gradient(#ffffff09 1px,#0000 1px) 0 0/22px 22px,linear-gradient(90deg,#ffffff09 1px,#0000 1px) 0 0/22px 22px,radial-gradient(circle at 50% 35%,#6aa8ff33,#0000 48%),#0b1020;border:1px solid #7887aa47;border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.visual-picture.has-image{background:#060a15}.visual-image{object-fit:contain;border-radius:6px;width:100%;height:100%;display:block}.visual-orbit,.visual-figure,.visual-tool{display:block;position:absolute}.visual-picture-earth .visual-figure,.visual-picture-amber .visual-figure{border-radius:50%;width:82px;height:82px;box-shadow:inset -15px -12px 22px #00000059,0 0 24px #7ec7ff47}.visual-picture-earth .visual-figure{background:radial-gradient(at 32% 38%,#6ee6a8 0 14%,#0000 15%),radial-gradient(at 62% 58%,#58d29c 0 18%,#0000 19%),#4aa8ff}.visual-picture-earth .visual-tool{border:2px solid #bee6ff73;border-left:0;border-right:0;border-radius:50%;width:118px;height:42px;transform:rotate(-18deg)}.visual-picture-amber .visual-figure{background:linear-gradient(20deg,#0000 36%,#ffec9680 37% 45%,#0000 46%),#d89a4a}.visual-picture-amber .visual-orbit{border:3px solid #ffe0949e;border-radius:50%;width:126px;height:44px;transform:rotate(-18deg)}.visual-picture-pilot .visual-figure,.visual-picture-medic .visual-figure{background:#7d91c9;border-radius:40px 40px 16px 16px;width:84px;height:96px;bottom:18px;box-shadow:inset -12px 0 20px #00000038}.visual-picture-pilot .visual-figure:before,.visual-picture-medic .visual-figure:before{content:"";background:#bee6ffcc;border:4px solid #0a101eb8;border-radius:999px;width:48px;height:36px;position:absolute;top:14px;left:18px}.visual-picture-pilot .visual-tool{border:2px solid #a0d2ff8c;border-radius:8px;width:66px;height:42px;top:26px;right:28px;transform:rotate(-8deg)}.visual-picture-pilot .visual-tool:before{content:"";background:#a0d2ff8c;height:2px;position:absolute;top:19px;left:10px;right:10px}.visual-picture-medic .visual-figure{background:#d7e5f0}.visual-picture-medic .visual-tool{background:linear-gradient(90deg,#0000 38%,#70d99d 39% 61%,#0000 62%),linear-gradient(#0000 38%,#70d99d 39% 61%,#0000 62%),#ffffffd6;border:2px solid #70d99db3;border-radius:8px;width:38px;height:38px;top:34px;right:38px}.visual-card-copy{text-align:center;gap:4px;display:grid}.visual-card-copy h3{color:#f0f4ff;margin:0;font-size:.92rem;line-height:1.2}.visual-card-copy p{color:#dce6ff9e;margin:0;font-size:.8rem;line-height:1.35}.visual-label{justify-content:center;min-width:0;display:flex}.visual-picture .visual-label{z-index:2;position:absolute;bottom:12px;left:12px;right:12px}.visual-label-static{pointer-events:none}.visual-part{color:#e8e8f4;cursor:pointer;background:#25253e;border:1.5px solid #4a4a68;min-height:40px;padding:8px 12px;font-family:Courier New,monospace;font-size:1rem;font-weight:800}.visual-part:first-child{border-radius:8px 0 0 8px}.visual-part:last-child{border-radius:0 8px 8px 0}.visual-part:only-child{border-radius:8px}.visual-part+.visual-part{border-left:0}.visual-part:hover:not(:disabled),.visual-part.selected{color:#fff;background:#343450;border-color:#8fa2ff}.visual-part.selected{color:#f5fff7;background:#264c39;border-color:#8aff9a;box-shadow:inset 0 0 0 2px #8aff9a73,0 0 16px #8aff9a47}.visual-part:disabled{cursor:default;opacity:.75}.visual-part.selected:disabled{opacity:1}.visual-part-static{cursor:default;align-items:center;display:inline-flex}.visual-picture .visual-part{background:#0e121edb;border-color:#b4c8ff94;box-shadow:0 8px 18px #00000047}.visual-meaning-card{grid-template-rows:auto minmax(62px,auto) auto}.visual-meaning-target{color:#e8e8f4b8;cursor:pointer;background:#00000052;border:1.5px dashed #7887aa9e;border-radius:8px;min-height:42px;padding:8px 10px;font-size:.9rem;font-weight:700;line-height:1.2}.visual-meaning-target:hover:not(:disabled),.visual-meaning-target:focus-visible{background:#4a6aff24;border-color:#8fa2ff;outline:none}.visual-meaning-target.filled{color:#dcffe4;background:#8aff9a24;border-style:solid;border-color:#8aff9ab8}.visual-meaning-chips{background:#0000003d;border:1px solid #7887aa42;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:58px;padding:10px;display:flex}.visual-meaning-chip{color:#e8e8f4;cursor:grab;background:#25253e;border:1.5px solid #4a4a68;border-radius:8px;min-height:38px;padding:8px 14px;font-size:.92rem;font-weight:800}.visual-meaning-chip:hover:not(:disabled),.visual-meaning-chip.selected{color:#fff;background:#343450;border-color:#8fa2ff}.visual-meaning-chip:active{cursor:grabbing}.visual-meaning-chip:disabled{cursor:default;opacity:.6}.visual-feedback{text-align:center;margin:0;font-size:.88rem}.visual-feedback-wrong{color:#ffad70}.visual-feedback-success{color:#8aff9a;font-weight:700}.visual-feedback-hint{color:#b8c7ff}.visual-progress{color:#777;letter-spacing:1px;align-self:center;font-size:.72rem}@media (width<=620px){.visual-card-grid{grid-template-columns:1fr}}.treatment-slider-puzzle{flex-direction:column;gap:16px;width:min(100%,720px);display:flex}.treatment-slider-title{color:#aaa;letter-spacing:2px;text-align:center;text-transform:uppercase;margin:0;font-size:1rem}.treatment-slider-instructions{color:#bbb;text-align:center;margin:0;font-size:.9rem;font-style:italic;line-height:1.45}.treatment-stage{grid-template-columns:minmax(92px,1fr) minmax(170px,1.25fr) minmax(92px,1fr);align-items:stretch;gap:12px;display:grid}.treatment-status,.treatment-portrait{background:#00000042;border:1px solid #7887aa59;border-radius:8px}.treatment-status{place-items:center;min-height:220px;padding:12px;display:grid}.treatment-status span{color:#e8e8f4;overflow-wrap:anywhere;text-align:center;font-family:Courier New,monospace;font-size:1rem;font-weight:900}.treatment-status-before{box-shadow:inset 0 0 28px rgba(255, 150, 95, calc(var(--sick-opacity) * .22))}.treatment-status-after{box-shadow:inset 0 0 28px rgba(138, 255, 154, calc(var(--well-opacity) * .22))}.treatment-portrait{place-items:center;min-height:220px;display:grid;position:relative;overflow:hidden}.treatment-portrait-images{aspect-ratio:1;min-height:0}.treatment-portrait:before{content:"";background:radial-gradient(circle at 50% 36%, rgba(255, 173, 112, calc(var(--sick-opacity) * .18)), transparent 42%), radial-gradient(circle at 50% 36%, rgba(138, 255, 154, calc(var(--well-opacity) * .18)), transparent 42%), linear-gradient(#ffffff09 1px, transparent 1px), linear-gradient(90deg, #ffffff09 1px, transparent 1px);background-size:auto,auto,22px 22px,22px 22px;position:absolute;inset:0}.treatment-portrait-images:before{content:none}.treatment-image{object-fit:cover;grid-area:1/1;width:100%;height:100%;transition:opacity .18s,transform .18s;display:block}.treatment-image-before{opacity:var(--sick-opacity);transform:scale(calc(1 + var(--well-opacity) * .015))}.treatment-image-after{opacity:var(--well-opacity);transform:scale(calc(1.015 - var(--well-opacity) * .015))}.treatment-face{border:3px solid #0a101e94;border-radius:54px 54px 34px 34px;width:122px;height:142px;transition:opacity .18s,transform .18s;position:absolute;box-shadow:inset -16px -10px 22px #00000038}.treatment-face-sick{opacity:var(--sick-opacity);background:#d9bc8b;transform:translateY(10px)rotate(-3deg)}.treatment-face-well{opacity:var(--well-opacity);background:#9fd9bd;transform:translateY(-4px)}.treatment-eye,.treatment-mouth,.treatment-spot{display:block;position:absolute}.treatment-eye{background:#182031;border-radius:999px;width:16px;height:9px;top:46px}.treatment-eye.left{left:32px}.treatment-eye.right{right:32px}.treatment-face-sick .treatment-eye{height:5px;transform:rotate(8deg)}.treatment-mouth{border-top:4px solid #182031;border-radius:50%;width:34px;height:18px;top:92px;left:44px}.treatment-face-well .treatment-mouth{border-top:0;border-bottom:4px solid #182031;top:80px}.treatment-spot{background:#be464eb8;border-radius:50%;width:13px;height:13px}.spot-one{top:72px;left:26px}.spot-two{top:78px;right:26px}.treatment-root-strip{justify-content:center;align-self:center;align-items:center;gap:8px;min-height:42px;display:flex}.treatment-root-strip span,.treatment-root-strip strong{color:#e8e8f4;background:#25253e;border:1.5px solid #4a4a68;padding:8px 12px;font-family:Courier New,monospace;font-size:.96rem}.treatment-root-strip span{border-radius:8px}.treatment-root-strip strong{color:#dcffe4;border-color:#8aff9ab8;border-radius:8px;box-shadow:0 0 14px #8aff9a29}.treatment-range-label{color:#dce6ff9e;letter-spacing:1.3px;text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:900}.treatment-range{accent-color:#70d99d;cursor:pointer;width:100%}.treatment-range:disabled{cursor:default;opacity:.7}.treatment-move,.treatment-keep{color:#fff;cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;background:#4a6aff;border:none;border-radius:8px;align-self:center;min-width:110px;padding:9px 16px;font-size:.82rem;font-weight:700}.treatment-move{color:#dce8ff;background:#253858;border:1px solid #90baff66}.treatment-move.is-ready{color:#dcffe4;background:#2c674a;border-color:#8aff9a9e}.treatment-move:not(:disabled):hover,.treatment-keep:not(:disabled):hover{filter:brightness(1.08)}.treatment-keep:disabled{cursor:default;opacity:.5}.treatment-move:disabled{cursor:default;opacity:.7}.treatment-feedback{color:#8aff9a;text-align:center;margin:0;font-size:.9rem;font-weight:700}@media (width<=680px){.treatment-stage{grid-template-columns:1fr}.treatment-status{min-height:76px}}@media (prefers-reduced-motion:reduce){.treatment-face,.treatment-image{transition:none}}.morpheme-inventory{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e0e0e0;background:#0e121cd9;border:1px solid #788ca099;border-radius:16px;min-width:220px;max-width:360px;font-size:.8rem;position:absolute;top:0;right:0;overflow:hidden;box-shadow:0 8px 22px #00000059}.morpheme-toggle{color:#ccc;cursor:pointer;letter-spacing:.8px;text-transform:uppercase;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:8px 14px;font-size:.78rem;display:flex}.morpheme-toggle:hover{background:#ffffff0d}.morpheme-title{font-weight:600}.morpheme-chevron{color:#888;font-size:.9rem}.morpheme-list{border-top:1px solid #ffffff14;flex-direction:column;gap:10px;max-height:420px;padding:10px 10px 12px;display:flex;overflow-y:auto}.morpheme-empty{color:#777;text-align:center;margin:4px 8px;font-size:.78rem;font-style:italic}.morpheme-group{flex-direction:column;gap:4px;display:flex}.morpheme-group-title{letter-spacing:1px;text-transform:uppercase;color:#ffffff80;padding-left:4px;font-size:.7rem}.morpheme-row{background:#ffffff05;border-radius:6px;grid-template-columns:auto minmax(74px,1fr) auto minmax(118px,1.4fr);align-items:center;gap:6px;padding:4px 6px;font-family:Courier New,monospace;display:grid}.morpheme-row:hover{background:#ffffff0a}.morpheme-row.is-new{animation:1.2s morpheme-flash}.morpheme-blah{color:#a8c0ff;text-align:left;font-weight:600}.morpheme-equals{color:#666;font-size:.75rem}.morpheme-english{color:#ddd;text-align:left}.morpheme-kind{color:#0b0b12;text-transform:uppercase;border-radius:6px;place-items:center;width:20px;height:20px;font-size:.68rem;font-weight:700;display:grid}.morpheme-kind-pronoun{background:#ffeb82f2}.morpheme-kind-prefix{background:#ffb37ee6}.morpheme-kind-root{background:#a8c0ffe6}.morpheme-kind-suffix{background:#7effb3e6}.morpheme-kind-word{background:#be96fff2}.morpheme-kind-unknown{background:#aaaab4e6}.morpheme-pronoun .morpheme-blah{color:#ffe982}.morpheme-prefix .morpheme-blah{color:#ffb37e}.morpheme-suffix .morpheme-blah{color:#7effb3}.morpheme-word .morpheme-blah{color:#c6a2ff}.morpheme-unknown .morpheme-blah,.morpheme-unknown .morpheme-english{color:#aaa}@keyframes morpheme-flash{0%{background:#78d2ff66}to{background:#ffffff05}}.morpheme-list::-webkit-scrollbar{width:6px}.morpheme-list::-webkit-scrollbar-thumb{background:#444;border-radius:3px}@media (width<=620px){.morpheme-inventory{max-width:min(360px,100vw - 28px)}.morpheme-list{max-height:52vh}}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;animation:.2s overlay-in;display:flex;position:fixed;inset:0}.modal-overlay.modal-locked{cursor:default}.modal-word-bank{z-index:120;position:fixed;top:18px;right:18px}.modal-word-bank .morpheme-inventory{width:min(420px,100vw - 36px);max-width:min(420px,100vw - 36px);position:relative;top:auto;right:auto}.modal-word-bank .morpheme-list{max-height:min(64vh,560px)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal-content{color:#e0e0e0;background:#1e1e30;border:2px solid #555;border-radius:8px;width:90%;max-width:520px;max-height:90vh;padding:clamp(24px,4vw,32px) clamp(22px,5vw,40px);animation:.25s modal-in;position:relative;overflow-y:auto;box-shadow:0 0 40px #0009}.modal-content.modal-wide{max-width:780px}.modal-close{color:#cfd3e8;cursor:pointer;background:#ffffff0a;border:1px solid #96a0be61;border-radius:50%;width:30px;height:30px;font-size:.9rem;font-weight:700;line-height:1;position:absolute;top:10px;right:10px}.modal-close:hover,.modal-close:focus-visible{color:#fff;background:#ffffff1a;border-color:#d2dcffad}.modal-close-note{color:#777f99;text-align:center;margin:14px 0 0;font-size:.72rem;line-height:1.3}.modal-station-label{color:#8fa6d8;letter-spacing:1.6px;text-transform:uppercase;margin:0 36px 12px 0;font-size:.7rem;font-weight:900}.modal-body{flex-direction:column;align-items:center;width:100%;display:flex}.modal-body>*{max-width:100%}.modal-body>h2,.modal-body>.clue-text,.modal-body>.clue-note,.modal-body>.narration-content{width:100%}@keyframes modal-in{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-content h2{text-transform:uppercase;letter-spacing:2px;color:#aaa;margin:0 0 16px;font-size:1.2rem}.modal-content .clue-text{text-align:center;letter-spacing:4px;background:#0006;border:1px solid #333;border-radius:8px;margin:12px 0;padding:20px;font-family:Courier New,monospace;font-size:1.5rem;line-height:2}.modal-content .clue-note{color:#777;text-align:center;margin-top:12px;font-size:.85rem;font-style:italic}.narration-content{text-align:center}.narration-content .narration-line{color:#d8d8f0;justify-content:center;align-items:center;min-height:3em;margin:16px 0 24px;font-size:1.15rem;font-style:italic;line-height:1.6;display:flex}.narration-actions{justify-content:center;gap:10px;display:flex}.narration-content .narration-next{color:#ccc;cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;background:0 0;border:1px solid #6a6a8a;border-radius:6px;padding:6px 18px;font-size:.85rem;transition:all .15s}.narration-content .narration-next:hover:not(:disabled){color:#fff;background:#64648c4d;border-color:#aaa}.narration-content .narration-next:disabled{cursor:default;opacity:.35}.narration-content .narration-back{color:#9ca3be}.narration-dots{justify-content:center;gap:6px;margin-top:14px;display:flex}.nd-dot{background:#333;border-radius:50%;width:6px;height:6px;transition:all .2s}.nd-dot.active{background:#aaa;transform:scale(1.3)}.nd-dot.past{background:#555}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-content,.nd-dot{transition:none;animation:none}}.health-bar{z-index:7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e121cd9;border:1px solid #788ca099;border-radius:999px;align-items:center;gap:10px;min-width:224px;padding:8px 12px;display:flex;position:absolute;top:0;left:0;box-shadow:0 8px 22px #00000059}.health-icon{place-items:center;width:22px;height:22px;display:grid}.health-icon svg{fill:#ff6b6b;filter:drop-shadow(0 0 6px #ff6b6b66);width:20px;height:20px}.health-track{background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;flex:1;height:12px;overflow:hidden}.health-fill{background:linear-gradient(90deg,#f35a5a 0%,#69e57b 100%);border-radius:999px;height:100%;transition:width .6s,background .3s;box-shadow:inset 0 0 6px #0000004d}.health-percent{color:#dfe7ff;letter-spacing:.6px;text-align:right;min-width:48px;font-size:.78rem;font-weight:800}.health-dropping{animation:.52s health-drop-flash}.health-dropping .health-icon svg,.health-low .health-icon svg{fill:#ff4f5e}.health-low:not(.health-healing){border-color:#ff5f698c}.health-low:not(.health-healing) .health-fill{background:linear-gradient(90deg,#f34242 0%,#ff9d4d 100%)}.health-critical:not(.health-healing){border-color:#ff4652f2;animation:.9s ease-in-out infinite health-critical-pulse}.health-critical:not(.health-healing) .health-fill{background:linear-gradient(90deg,#dc1f35 0%,#ff4f5e 100%)}.health-healing{background:#0c2a1ee6;border-color:#7effb3e6;animation:4.2s health-heal-flash}.health-healing .health-icon svg{fill:#8aff9a;filter:drop-shadow(0 0 8px #8aff9ab8)}.health-healing .health-fill{background:linear-gradient(90deg,#41e68a 0%,#baff70 100%);box-shadow:inset 0 0 6px #0000003d,0 0 14px #8aff9a6b}.health-healing .health-percent{color:#dcffe4}@keyframes health-drop-flash{0%{border-color:#ff5f6933;box-shadow:0 8px 22px #00000059}45%{border-color:#ff5f69f2;box-shadow:0 0 18px #ff555f61}to{border-color:#788ca099;box-shadow:0 8px 22px #00000059}}@keyframes health-heal-flash{0%{border-color:#8aff9a40;box-shadow:0 8px 22px #00000059}35%{border-color:#8aff9af2;box-shadow:0 0 22px #8aff9a6b}to{border-color:#788ca099;box-shadow:0 8px 22px #00000059}}@keyframes health-critical-pulse{0%,to{box-shadow:0 8px 22px #00000059}50%{box-shadow:0 0 0 3px #ff3c4629,0 0 24px #ff3c4673}}@media (prefers-reduced-motion:reduce){.health-fill,.health-dropping,.health-healing,.health-critical{transition:none;animation:none}}.station-panel{color:#e8edf8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c101cdb;border:1px solid #91a5cd61;border-radius:10px;flex-direction:column;align-self:center;gap:12px;width:clamp(230px,22vw,292px);max-height:calc(100vh - 32px);padding:14px;display:flex;box-shadow:0 16px 36px #00000059}.station-panel-header{flex-direction:column;gap:4px;display:flex}.station-panel-kicker,.station-panel-progress,.station-panel-footer{color:#dce6ff94;letter-spacing:1.4px;text-transform:uppercase;font-size:.7rem;font-weight:800}.station-panel h2{color:#f3f6ff;letter-spacing:.4px;margin:0;font-size:1rem}.mission-log{background:#00000038;border:1px solid #91a5cd38;border-radius:8px;gap:5px;padding:10px;display:grid}.mission-log-kicker{color:#dce6ff8a;letter-spacing:1.2px;text-transform:uppercase;font-size:.66rem;font-weight:900}.mission-log-goal,.mission-log-next,.mission-log-count{margin:0}.mission-log-goal{color:#edf3ff;font-size:.78rem;font-weight:800;line-height:1.3}.mission-log-next,.mission-log-count{color:#dce6ff9e;font-size:.68rem;line-height:1.25}.mission-log-count{color:#8aff9ac2;font-weight:800}.mission-log-review{color:#dbe6ff;cursor:pointer;letter-spacing:1.1px;text-transform:uppercase;background:#4c6cb424;border:1px solid #91b9ff5c;border-radius:8px;justify-self:start;margin-top:3px;padding:7px 9px;font-size:.66rem;font-weight:900}.mission-log-review:hover,.mission-log-review:focus-visible{background:#4c6cb447;border-color:#a5beffb3;outline:none}.station-list{flex-direction:column;gap:8px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.station-row{color:#e8edf8;cursor:pointer;text-align:left;background:#ffffff09;border:1px solid #91a5cd3d;border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px;transition:border-color .16s,background .16s,transform .16s;display:grid}.station-row:hover:not(:disabled),.station-row:focus-visible:not(:disabled){background:#4c6cb42e;border-color:#a5beffa6;outline:none;transform:translate(-2px)}.station-row:disabled{cursor:default}.station-index{color:#9fb4e5;background:#00000047;border:1px solid #91a5cd3d;border-radius:8px;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:900;display:grid}.station-main{flex-direction:column;gap:3px;min-width:0;display:flex}.station-name{color:#f3f6ff;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:800;line-height:1.15;overflow:hidden}.station-subtext{color:#dce6ff85;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;line-height:1.15;overflow:hidden}.station-state{letter-spacing:.7px;text-transform:uppercase;border-radius:999px;padding:5px 7px;font-size:.58rem;font-weight:900;line-height:1}.station-new .station-state{color:#bed3ff;background:#78aaff26;border:1px solid #91b9ff73}.station-done{border-color:#8aff9a47}.station-done .station-index,.station-done .station-state{color:#c7ffd1;border-color:#8aff9a73}.station-done .station-state{background:#50b46924}.station-locked{opacity:.52}.station-locked .station-state{color:#a8adbf;background:#ffffff0d;border:1px solid #b4b9cd38}.station-suggested{border-color:#ffdc64b3;animation:1.8s ease-in-out infinite station-suggest;box-shadow:0 0 #ffdc646b}.station-just-completed{animation:1.2s station-complete}.station-list::-webkit-scrollbar{width:6px}.station-list::-webkit-scrollbar-thumb{background:#96aad259;border-radius:999px}@keyframes station-suggest{50%{box-shadow:0 0 0 8px #ffdc6400}}@keyframes station-complete{0%{background:#8aff9a38}to{background:#ffffff09}}@media (width<=900px){.station-panel{align-self:stretch;width:100%;max-height:238px}.station-list{grid-auto-columns:minmax(196px,1fr);grid-auto-flow:column;padding:0 0 4px;display:grid;overflow:auto hidden}.station-row{min-width:0}}@media (prefers-reduced-motion:reduce){.station-row,.station-suggested,.station-just-completed{transition:none;animation:none}}.game{background:#0e0e1a;width:100vw;height:100vh;overflow:hidden}.game-layout{justify-content:center;align-items:stretch;gap:14px;width:100%;height:100%;padding:16px;display:flex}.hud{z-index:6;pointer-events:none;height:0;position:absolute;top:12px;left:12px;right:12px}.hud>*{pointer-events:auto}.health-warning{z-index:4;pointer-events:none;background:radial-gradient(#0000 55%,#8c00008c 100%);transition:opacity .6s;position:absolute;inset:0}.health-warning-critical{animation:.9s ease-in-out infinite health-warning-pulse}.idle-hint{z-index:7;color:#dbe4ff;text-align:center;pointer-events:none;background:#0e121ce0;border:1px solid #96aad273;border-radius:8px;max-width:min(520px,100% - 32px);padding:10px 14px;font-size:.9rem;line-height:1.35;position:absolute;bottom:82px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.dev-lock-toggle{z-index:7;color:#dbe4ff;cursor:pointer;letter-spacing:.8px;text-transform:uppercase;background:#0e121cdb;border:1px solid #96aad26b;border-radius:999px;padding:8px 11px;font-size:.72rem;font-weight:800;position:absolute;bottom:14px;left:14px}.dev-lock-toggle:hover,.dev-lock-toggle:focus-visible{background:#1e263af0;border-color:#d2e1ffb3;outline:none}.dev-lock-toggle.enabled{color:#dfffe5;border-color:#8aff9a8f}.reset-progress-button{z-index:7;color:#ffe0e0;cursor:pointer;letter-spacing:.8px;text-transform:uppercase;background:#231218e0;border:1px solid #ff96966b;border-radius:999px;padding:8px 11px;font-size:.72rem;font-weight:800;position:absolute;bottom:14px;right:14px}.reset-progress-button:hover,.reset-progress-button:focus-visible{background:#3a1c26f0;border-color:#ffd2d2b8;outline:none}.word-toast,.room-event{z-index:150;pointer-events:none;text-align:center;border-radius:8px;max-width:min(520px,100% - 32px);padding:9px 13px;font-size:.84rem;font-weight:700;line-height:1.35;animation:.24s toast-in;position:fixed;left:50%;transform:translate(-50%)}.word-toast{color:#dfe9ff;background:#1b2842eb;border:1px solid #91b9ff8c;top:76px}.room-event{color:#dcffe4;background:#163222eb;border:1px solid #8aff9a8c;top:116px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@keyframes health-warning-pulse{0%,to{filter:saturate()}50%{filter:saturate(1.45)brightness(1.18)}}@media (prefers-reduced-motion:reduce){.health-warning,.idle-hint,.dev-lock-toggle,.reset-progress-button,.word-toast,.room-event{transition:none;animation:none}}@media (width<=900px){.game-layout{flex-direction:column;gap:10px;padding:10px}}
