:root{--bg:#050608;--ink:#e9e6df;--ink-dim:#8d8a84;--amber:#ffb003;--red:#e3120b;--tv-body:#1b1a19;--tv-edge:#0c0b0b;--remote:#17171a;--key:#2a2a2f;--key-hi:#3b3b42;--font:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Heiti SC", system-ui, sans-serif;--mono:"Cascadia Mono", Consolas, "DejaVu Sans Mono", "Noto Sans Mono CJK SC", monospace;--side-w:176px;--tv-w:min(calc(100vw - 2 * var(--side-w) - 110px), calc((100vh - 150px) * 1.333), 1040px)}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button{font-family:inherit}#room{--dread:0;background:radial-gradient(ellipse at 50% 42%, #28344e47, transparent 62%), var(--room-img,none) center / cover no-repeat, #050608;place-items:center;display:grid;position:fixed;inset:0}#room:after{content:"";pointer-events:none;box-shadow:inset 0 0 22vw 8vw rgb(0 0 0/var(--dread));background:radial-gradient(at 50% 45%,#0000 38%,#000000d1 100%);position:absolute;inset:0}#dawn{pointer-events:none;opacity:0;mix-blend-mode:screen;z-index:1;background:linear-gradient(105deg,#ffd69657,#ffbe781a 45%,#0000 70%),linear-gradient(#7896be38,#ffdcaa1f);transition:opacity 6s ease-in;position:absolute;inset:0}#room.dawn #dawn{opacity:1}#set{z-index:2;align-items:center;gap:28px;display:flex;position:relative}#tv{width:var(--tv-w);background:linear-gradient(#262422, var(--tv-body) 18%, #141312);border-radius:22px 22px 14px 14px;padding:2.6% 2.6% 0;box-shadow:inset 0 2px #ffffff12,inset 0 -3px #0009,0 30px 60px #000000bf}#tube{aspect-ratio:4/3;box-shadow:0 0 0 6px var(--tv-edge), 0 0 0 8px #ffffff0d, inset 0 0 60px #000000e6;background:#000;border-radius:5%/6.5%;transition:box-shadow .5s;position:relative;overflow:hidden}#tv.on #tube{box-shadow:0 0 0 6px var(--tv-edge), 0 0 0 8px #ffffff0d, 0 0 140px 30px #6e8cc833}#crt{width:100%;height:100%;display:block}#reflection{pointer-events:none;opacity:0;mix-blend-mode:screen;background:50%/cover no-repeat;transition:opacity .6s;position:absolute;inset:0}#glass{pointer-events:none;background:radial-gradient(70% 40% at 28% 12%,#ffffff17,#0000 70%),radial-gradient(#0000 55%,#00000073 100%);position:absolute;inset:0}#tv-panel{align-items:center;gap:14px;height:clamp(30px,5.2vh,46px);padding:0 6px;display:flex}#tv-brand{letter-spacing:.3em;color:#6f6b64;font-size:13px;font-weight:800}#tv-led{background:#3a1210;border-radius:50%;width:7px;height:7px;box-shadow:inset 0 0 2px #000}#tv.on #tv-led{background:#ff3b30;box-shadow:0 0 8px #ff3b30}#tv-grille{opacity:.8;background:repeating-linear-gradient(90deg,#0a0a0a 0 3px,#2a2826 3px 6px);border-radius:3px;flex:1;max-width:220px;height:12px;margin-left:auto}#remote{width:var(--side-w);background:linear-gradient(#222226, var(--remote));-webkit-user-select:none;user-select:none;border-radius:20px;flex:none;grid-template-columns:repeat(6,1fr);gap:8px;padding:16px 14px 18px;display:grid;box-shadow:inset 0 1px #ffffff14,0 20px 40px #000000b3}#remote button{background:linear-gradient(var(--key-hi), var(--key));color:#d9d6cf;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:0;border-radius:9px;grid-column:span 2;height:36px;padding:0;font-size:14px;font-weight:700;transition:transform 50ms,filter .2s;box-shadow:0 2px #0b0b0d,inset 0 1px #ffffff1a}#remote button:active,#remote button.down{filter:brightness(1.3);transform:translateY(2px);box-shadow:0 0 #0b0b0d}#remote button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}#remote .w3{grid-column:span 3}#remote .w6{grid-column:span 6}#remote .gap{grid-column:span 6;height:2px}#remote .k-power{color:#fff;background:linear-gradient(#c5281f,#8d1610)}#remote .k-ok{color:#111;background:linear-gradient(#ecebe6,#bdbbb4);height:40px}#remote .k-red{color:#fff;background:linear-gradient(#e0362c,#a8160f)}#remote .k-green{color:#fff;background:linear-gradient(#2fb24c,#1b7a31)}#remote .k-note{color:#2a2408;background:linear-gradient(#e9d77a,#c2ac48)}#remote .k-note[hidden]{display:none}#remote .k-cover{color:#c5cfc6;letter-spacing:.1em;touch-action:none;background:linear-gradient(#252d2c,#171e1d);border:1px solid #4c5b55;height:42px;margin-top:4px}#remote .k-cover.needed{color:#f2d8c4;border-color:#b97866;box-shadow:0 0 16px #a7442f40}#remote .k-cover.held{color:#8b9d90;background:#0b1110;transform:translateY(2px);box-shadow:inset 0 2px 5px #000}#signal-status{z-index:5;text-align:center;color:#c7c7bb;width:min(640px,100vw - 36px);font:13px/1.6 var(--mono);letter-spacing:.1em;text-shadow:0 1px 8px #000,0 0 18px #000;pointer-events:none;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}#signal-status[hidden]{display:none}#room[data-signal=warning] #signal-status,#room[data-signal=caught] #signal-status{color:#d3a796}#room.eyes-closed #glass,#room.eyes-closed #reflection{opacity:0!important}.reduce-motion #reflection{transition:none}#remote .k-note.fresh{animation:.9s ease-in-out 4 pulse}#remote.warped .k-power{animation:.18s linear infinite shiver}@keyframes pulse{50%{filter:brightness(1.5);transform:scale(1.04)}}@keyframes shiver{25%{transform:translate(1px,-1px)}75%{transform:translate(-1px,1px)}}#notes{width:var(--side-w);color:#2b2610;visibility:hidden;background:linear-gradient(#f3e79b,#e4d478);flex:none;align-self:flex-end;margin-bottom:6vh;padding:14px 13px 16px;font-size:13px;line-height:1.55;transform:rotate(-2.2deg);box-shadow:0 14px 28px #0009}#notes.has{visibility:visible}#notes.folded p{display:none}#notes h3{letter-spacing:.2em;color:#6d6226;margin:0 0 8px;font-size:12px}#notes.folded h3{margin:0}#notes p{overflow-wrap:anywhere;margin:0 0 7px}#notes p:last-child{margin-bottom:0}#notes p.new{animation:1.6s ease-out ink}@keyframes ink{0%{background:#e3120b59}}#room-text{z-index:3;color:#c9c5bb;letter-spacing:.08em;text-shadow:0 2px 8px #000;white-space:nowrap;padding:6px 16px;font-size:16px;position:absolute;bottom:5vh;left:50%;transform:translate(-50%)}#room-text[hidden]{display:none}#overlay{z-index:10;background:#030406db;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}#overlay[hidden]{display:none}#overlay.ending{background:#030406b8;animation:1.6s ease-out fade}@keyframes fade{0%{opacity:0}}.card{background:#0e0f13f5;border:1px solid #ffffff24;border-radius:14px;width:min(560px,100%);padding:30px 30px 26px;box-shadow:0 30px 80px #000000b3}.card h1{letter-spacing:.06em;text-wrap:balance;margin:0;font-size:clamp(28px,5vw,40px)}.card h1 .bug{vertical-align:-.08em;background:linear-gradient(#1c1c1e 0 31%,#efefef 31% 69%,#ffb003 69%);border-radius:50%;width:.9em;height:.9em;margin-right:.3em;display:inline-block}.card .sub{color:var(--ink-dim);letter-spacing:.12em;margin:6px 0 18px;font-size:14px}.card p{color:#c4c1b9;margin:0 0 10px;font-size:14px;line-height:1.7}.card .warn{border-left:3px solid var(--red);color:#e9c9c5;background:#e3120b17;padding:10px 12px}.card .viewing-rule{color:#b9c1b3;border-left:2px solid #596458;padding:2px 0 2px 12px}.field{align-items:center;gap:10px;margin:16px 0 10px;display:flex}.field label{color:var(--ink-dim);flex:none;font-size:14px}.field input[type=text]{min-width:0;height:40px;color:var(--ink);font:600 16px var(--font);background:#0a0b0e;border:1px solid #fff3;border-radius:8px;flex:1;padding:0 12px}.field input[type=text]:focus-visible,.row button:focus-visible,.go:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.row{color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:10px 0;font-size:14px;display:flex}.row button{height:30px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:7px;padding:0 12px;font-size:13px}.row button[aria-pressed=true]{border-color:var(--amber);color:var(--amber)}.row label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.endings{flex-wrap:wrap;gap:6px;margin:4px 0 2px;display:flex}.endings span{color:var(--ink-dim);border:1px solid #ffffff29;border-radius:999px;padding:3px 9px;font-size:12px}.endings span.got{border-color:var(--amber);color:var(--amber)}.go{color:#fff;width:100%;height:48px;font:800 17px var(--font);letter-spacing:.3em;cursor:pointer;background:linear-gradient(#c5281f,#8d1610);border:0;border-radius:10px;margin-top:16px}.go:hover{filter:brightness(1.12)}.identity-note,.save-summary{color:#a9b7a4!important;font-size:12px!important}.go.continue{background:linear-gradient(#65765b,#3b4a35)}.go.restart{color:#a7a49b;letter-spacing:.1em;background:0 0;height:36px;margin-top:8px;font-size:13px}#save-status,#asset-status{right:max(12px, env(safe-area-inset-right));bottom:max(6px, env(safe-area-inset-bottom));z-index:12;color:#697568;pointer-events:none;max-width:calc(100vw - 24px);font-size:10px;position:fixed}#save-status[data-status=error],#asset-status{color:#d4b095}#asset-status{bottom:24px}.field input[readonly]{color:#c7cdbb;font-size:14px}.keys{color:#6f6c66;margin-top:14px;font-size:12px;line-height:1.8}.card.end{text-align:center}.card.end .tag{color:var(--red);letter-spacing:.4em;font-size:13px}.card.end h1{margin:8px 0 12px}.card.end .endings{justify-content:center;margin-top:16px}#debug{z-index:20;color:#7dff9a;font:11px/1.45 var(--mono);pointer-events:none;background:#000000b3;margin:0;padding:6px 8px;position:fixed;top:8px;left:8px}#debug[hidden]{display:none}@media (max-width:860px),(max-aspect-ratio:1){:root{--tv-w:min(calc(100vw - 20px), calc((100vh - 330px) * 1.333))}#set{flex-direction:column;gap:12px}#remote{width:min(var(--tv-w), 520px);border-radius:14px;grid-template-columns:repeat(12,1fr);gap:6px;padding:10px}#remote button{height:38px;font-size:13px}#remote .gap{display:none}#remote .w3{grid-column:span 3}#remote .w6{grid-column:span 4}#remote .k-cover{grid-column:span 8;height:38px;margin-top:0}#notes{z-index:4;width:min(240px,66vw);margin:0;position:fixed;top:8px;left:8px}#notes:not(.has){display:none}#notes.folded{width:auto;padding:8px 10px}#room-text{font-size:14px;top:10px;bottom:auto}}@media (max-height:520px) and (min-aspect-ratio:3/2){:root{--tv-w:min(calc(100vw - 278px), calc((100dvh - 86px) * 1.333))}#set{flex-direction:row;gap:14px}#remote{width:240px}#signal-status{font-size:11px;bottom:6px}}@media (prefers-reduced-motion:reduce){#remote .k-note.fresh,#remote.warped .k-power,#notes p.new,#overlay.ending{animation:none}#dawn{transition-duration:10ms}}
