:root{color-scheme:dark;--bg:#090e13;--panel:#101a22;--line:#2a3c46;--text:#ecf1eb;--muted:#9aabb0;--acid:#d6ef92;--red:#f59a88;--mono:Consolas,'Courier New',monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,Arial,sans-serif;min-height:100vh}body:before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 85% 40%,#23434a44,transparent 55%);pointer-events:none;z-index:-1}a{color:var(--acid);text-decoration:none}button,input,select{font:inherit}button,.button{display:inline-block;border:1px solid var(--line);background:#17252f;color:var(--text);padding:14px 18px;border-radius:3px;cursor:pointer;text-align:left;min-height:48px}button:hover,.button:hover{border-color:var(--acid)}button:disabled{opacity:.4;cursor:not-allowed}button.primary,.button.primary{background:var(--acid);color:#101b1b;border-color:var(--acid);font-weight:650}button.danger{color:var(--red)}:focus-visible{outline:3px solid var(--acid);outline-offset:4px}header{height:94px;margin:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px}.brand{display:flex;align-items:center;gap:14px;color:var(--text);letter-spacing:3px;font:700 15px var(--mono)}.brand small{font:10px var(--mono);letter-spacing:1px;color:var(--muted);margin-left:20px}.sigil{display:grid;place-items:center;border:1px solid var(--acid);color:var(--acid);width:34px;height:34px;transform:skew(-8deg)}.connection,.eyebrow,.label{font:12px var(--mono);letter-spacing:2px;color:var(--acid)}.connection.offline{color:var(--red)}main{max-width:1600px;margin:auto;padding:45px 5vw 70px}.eyebrow{margin-bottom:24px;text-transform:uppercase}h1{font-size:clamp(40px,5.6vw,88px);line-height:1.02;letter-spacing:-3px;font-weight:450;margin:0 0 30px;max-width:1050px}h2{font-size:24px;font-weight:450;margin:0 0 20px}h3{font:13px var(--mono);letter-spacing:1px;color:var(--acid)}p{line-height:1.7;color:var(--muted);white-space:pre-line}.lede{font-size:clamp(17px,1.6vw,25px);max-width:950px;line-height:1.65}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:5vw;align-items:center;min-height:62vh}.hero h1{font-size:clamp(60px,7.5vw,112px)}.hero em{font-family:Georgia,serif;font-weight:400;color:var(--acid)}.orbital{position:relative;min-height:380px;display:grid;place-items:center}.planet{width:280px;height:280px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#63817e,#253d42 36%,#0b141c 68%);box-shadow:-15px -8px 45px #7aa6a314,inset 2px 2px 1px #a6c6b958}.orbit{position:absolute;width:390px;height:170px;border:1px solid #758c8055;border-radius:50%;transform:rotate(-27deg)}.orbit.two{transform:rotate(55deg);width:430px;height:210px}.orbital .label{position:absolute;bottom:10px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.metrics{display:flex;border-top:1px solid var(--line);margin-top:32px;padding-top:20px;gap:45px;font:12px var(--mono);color:var(--muted)}.metrics strong{display:block;color:var(--text);font:26px var(--mono);margin-bottom:6px}.panel{border:1px solid var(--line);background:#101a22cc;padding:25px;border-radius:4px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px}.control-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:30px}.control-layout h1{font-size:50px}.stack{display:grid;gap:22px;align-content:start}.option{display:block;width:100%;margin:10px 0;line-height:1.4}.option.selected{border-color:var(--acid);background:#26372a}.option .letter{color:var(--acid);font-family:var(--mono);margin-right:14px}.poll-title{font-size:22px;color:var(--text);margin-top:0}.timer{font:38px var(--mono);color:var(--acid)}.statusline{display:flex;justify-content:space-between;align-items:center;gap:15px;font:12px var(--mono);color:var(--muted);margin:20px 0}.hint{border-left:3px solid var(--acid);padding:15px 20px;background:#d6ef9210;color:var(--text)}.result{padding:15px 0;border-bottom:1px solid var(--line)}.result strong{font-size:16px}.result small{float:right;color:var(--acid)}progress{display:block;width:100%;height:8px;margin-top:10px;accent-color:var(--acid)}input,select{width:100%;padding:14px;background:#080f14;border:1px solid var(--line);color:var(--text);margin:10px 0 20px;border-radius:3px}label{font-size:14px;color:var(--muted)}.code{font:36px var(--mono);letter-spacing:6px;color:var(--acid);padding:15px 0}.join{max-width:700px;margin:auto}.join h1{font-size:44px;letter-spacing:-1.5px}.join .lede{font-size:17px}.badge{padding:10px 15px;border:1px solid var(--line);font:12px var(--mono);color:var(--acid)}.puzzle{margin:28px 0;border:1px solid var(--line);background:#0c151d;padding:25px;overflow:auto}.puzzle table{border-collapse:collapse;width:100%;font:clamp(14px,1.4vw,22px) var(--mono)}.puzzle th,.puzzle td{padding:18px 12px;border-bottom:1px solid var(--line);text-align:left}.puzzle th{color:var(--muted);font-size:12px}.puzzle svg{width:100%;min-width:340px;max-height:360px}.puzzle svg text{fill:var(--text);font:20px var(--mono)}.puzzle svg .node{fill:#14252e;stroke:#80958a;stroke-width:2}.puzzle svg .link{stroke:#d6ef92;stroke-width:3;fill:none}.puzzle svg .broken{stroke:#a3aeb0;stroke-dasharray:7 8}.puzzle svg .pulse{fill:#d6ef92}.puzzle .caption{font:13px var(--mono);color:var(--muted)}.script{font-size:17px;line-height:1.8;color:#d3dcd8}.readiness{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.screen h1{font-size:clamp(38px,4.5vw,72px)}.screen .lede{font-size:clamp(18px,1.6vw,26px)}.screen .code{font-size:24px}.screen .puzzle{padding:20px}.fullscreen{position:fixed;right:20px;bottom:45px;opacity:.7;font:11px var(--mono);z-index:2}footer{position:fixed;bottom:0;left:0;right:0;padding:12px 5vw;display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:2px;background:var(--bg);color:#7e969b;border-top:1px solid var(--line)}#notice{position:fixed;bottom:65px;left:50%;transform:translateX(-50%);background:#422b24;color:white;max-width:90vw;padding:0;z-index:10}#notice:not(:empty){padding:18px 25px;border:1px solid var(--red)}.paused{padding:14px;background:#543b21;color:#ffe5a8;margin-bottom:20px}.muted{color:var(--muted);font-size:13px}.steps{font:12px var(--mono);color:var(--muted);margin-bottom:20px}.steps b{color:var(--acid)}.login{max-width:450px;margin:60px auto}.login h1{font-size:44px;letter-spacing:-1px}.sr-only{position:absolute;left:-10000px}.danger-zone{margin-top:30px}.danger-zone summary{cursor:pointer;color:var(--muted)}@media(max-width:1000px){.layout,.control-layout{grid-template-columns:1fr}.brand small{display:none}.hero{grid-template-columns:1fr}.orbital{display:none}.screen .layout{grid-template-columns:minmax(0,1fr) 280px}.control-layout h1{font-size:42px}}@media(max-width:650px){header{height:70px}.brand{font-size:12px;letter-spacing:1px}.connection{font-size:9px;letter-spacing:1px}main{padding-top:28px}.screen .layout{grid-template-columns:1fr}h1{letter-spacing:-1.5px}.hero h1{font-size:64px}.panel{padding:20px}.metrics{gap:24px}.puzzle{padding:10px}.puzzle td{padding:16px 8px}footer span:last-child{display:none}.code{font-size:30px}.fullscreen{bottom:40px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
:root .screen .option:disabled{opacity:1;cursor:default;color:var(--text)}.screen header{height:70px}.screen main{padding-top:25px}.screen h1{margin-bottom:20px}.screen .eyebrow{margin-bottom:18px}.screen .panel{padding:18px}.screen .puzzle{margin:20px 0;padding:15px}.screen .puzzle td{padding:12px}.screen .statusline{margin:12px 0}.screen .option{padding:11px 14px;min-height:44px}.screen .code{padding:8px 0}.screen .panel p{margin:12px 0}.screen .steps{margin-bottom:16px}
.host-link{display:none;color:var(--muted);letter-spacing:2px;font-size:11px}.host-link:hover{color:var(--acid)}body.home .host-link{display:inline}
.join-url{font:22px var(--mono);color:var(--acid);word-break:break-all;padding:8px 0 14px}
.logs{display:grid;grid-template-columns:1.2fr 1fr;gap:28px}.logs table{font-size:clamp(13px,1.15vw,18px)}.memo{border:1px dashed var(--line);padding:12px 14px;font:13px var(--mono);color:var(--muted);margin-top:18px}.memo b{color:var(--acid)}
.puzzle svg .sub{font-size:12px;fill:var(--muted)}.puzzle svg .grid{stroke:#2a3c46;stroke-dasharray:3 5}
.msgs{display:grid;gap:14px}.msg{border-left:3px solid var(--line);padding:6px 16px;background:#0f1a22}.msg small{font:11px var(--mono);letter-spacing:1px;color:var(--muted)}.msg p{margin:6px 0;color:var(--text);font-size:clamp(15px,1.3vw,20px);line-height:1.5}.msg.voice{border-left-color:var(--red)}
.saved{padding:14px 0;color:var(--muted);line-height:1.6}.saved strong{display:block;color:var(--text);font-size:18px;margin-top:8px;font-weight:500}
.casefile summary{cursor:pointer;font:12px var(--mono);letter-spacing:2px;color:var(--acid)}.casefile .note{border-top:1px solid var(--line);padding:12px 0}.casefile .note small{font:11px var(--mono);letter-spacing:1px;color:var(--muted)}.casefile .note p{margin:6px 0;color:var(--text)}.casefile .note.right small{color:var(--acid)}.casefile .note.wrong small{color:var(--red)}.casefile .truth{font-size:14px;color:var(--muted)!important}.casefile.big{margin:20px 0}.panel.final{border-color:var(--acid)}.option .count{color:var(--acid);font-family:var(--mono)}
@media(max-width:800px){.logs{grid-template-columns:1fr}}
.option.lead{display:flex;gap:14px;align-items:flex-start}.option.lead b{display:block;font-weight:600}.option.lead small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.option.lead small.hostnote{color:#c9b98a;font-size:12px}.option.lead .count{margin-left:auto}
.option.small{padding:10px 14px;min-height:44px;margin:6px 0;font-size:15px}.part{border:0;padding:0;margin:0 0 18px}.part legend{font-size:17px;color:var(--text);margin-bottom:6px}
.doctitle{font-size:clamp(28px,3vw,44px);margin:0 0 10px}.doc table td:first-child{white-space:nowrap;color:var(--acid)}.doctext{color:var(--text);font:clamp(14px,1.2vw,18px)/1.8 var(--mono);white-space:pre-line}
.locker details{border-top:1px solid var(--line);padding:10px 0}.locker summary{cursor:pointer;color:var(--text)}.locker .puzzle{margin:12px 0}
.leadgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}.leadcard{border:1px solid var(--line);background:#101a22;padding:16px 18px;border-radius:3px}.leadcard .letter{color:var(--acid);font-family:var(--mono);margin-right:10px}.leadcard b{font-size:clamp(16px,1.4vw,21px);font-weight:600}.leadcard small{display:block;color:var(--muted);margin-top:6px;font-size:clamp(13px,1vw,16px)}
.note{border-top:1px solid var(--line);padding:12px 0}.note small{font:11px var(--mono);letter-spacing:1px;color:var(--muted)}.note p{margin:6px 0;color:var(--text)}.note.right small{color:var(--acid)}.note.wrong small{color:var(--red)}.note .truth{font-size:14px;color:var(--muted)}
.screen .lede{margin-bottom:8px}
.control .option:disabled{opacity:1;cursor:default}
.scene-img{margin:0 0 26px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#05080b;aspect-ratio:16/9}.scene-img img{display:block;width:100%;height:100%;object-fit:cover}
.orpheus{border-left:3px solid var(--red);background:#1a1214;padding:14px 18px;margin:18px 0;max-width:950px}.orpheus .who{font:11px var(--mono);letter-spacing:3px;color:var(--red)}.orpheus p{margin:6px 0 0;color:#f2dcd6;font-size:clamp(16px,1.4vw,22px);line-height:1.6;font-style:italic}
.sealed{border:1px dashed var(--line);padding:12px 16px;color:#ffe5a8;font:clamp(14px,1.1vw,17px)/1.6 var(--mono);max-width:950px}
.locker details{border-top:1px solid var(--line);padding:10px 0}.locker summary{cursor:pointer;color:var(--text)}.locker p{color:var(--muted)}.locker .orpheus p{font-size:15px}
.recap{color:var(--text);line-height:1.7;padding-left:22px}.recap li{margin:8px 0}.small-title{font-size:20px}
.control .option:disabled,.screen .option:disabled{opacity:1;cursor:default}
.screen .scene-img{max-height:46vh;aspect-ratio:auto}.screen .scene-img img{max-height:46vh}
.screen .scene-img{max-height:36vh;margin-bottom:18px}.screen .scene-img img{max-height:36vh}.screen h1{font-size:clamp(30px,3.2vw,52px);margin-bottom:12px}.screen .lede{font-size:clamp(16px,1.3vw,21px);line-height:1.55;margin:8px 0}.screen .orpheus{margin:12px 0}.screen .orpheus p{font-size:clamp(15px,1.2vw,19px)}.screen .sealed{margin:10px 0}.screen .eyebrow{margin-bottom:10px}.screen .recap{font-size:15px}
.screen .scene-img img{object-fit:contain}
.screen .scene-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}.screen .scene-img{max-height:none;aspect-ratio:16/9;margin:0}.screen .scene-img img{max-height:none;object-fit:cover}.screen .scene-text h1{margin-top:0}.screen .orpheus{max-width:none;margin-top:18px}.screen .orpheus p{line-height:1.5}.screen main{padding-bottom:60px}
