:root{--ink:#faf4e8f0;--ink-dim:#faf4e89e;--ink-faint:#faf4e857;--ink-ghost:#faecd224;--coolant:#ffb868;--coolant-glow:#ff963c8c;--shell:#0c0a08;--panel:#120e0a6b;--panel-edge:#ffecc824;--font:"Inter", "SF Pro Text", "Helvetica Neue", system-ui, sans-serif;--mono:"SF Mono", "JetBrains Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;background:#000;margin:0;overflow:hidden}#app{position:fixed;inset:0}.game-canvas{outline:none;display:block;position:absolute;inset:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.key-cap{border:1px solid var(--ink-faint);min-width:20px;height:20px;color:var(--ink);letter-spacing:.04em;text-transform:uppercase;border-radius:3px;place-items:center;padding:0 5px;font-size:10px;display:inline-grid}.entry{z-index:10;-webkit-user-select:none;user-select:none;background:radial-gradient(at 50% 46%,#120c07 0%,#050403 55%,#000 100%);flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:32px 16px;transition:opacity 1.1s,background 1.4s;display:flex;position:absolute;inset:0}.entry.is-hidden{opacity:0;pointer-events:none}.entry.is-hidden .entry-still,.entry.is-hidden .dial-orbit{animation:none}.entry.is-ready{cursor:pointer;background:radial-gradient(80% 70% at 50% 42%,#0000 40%,#00000080 100%),linear-gradient(#0000 68%,#0000008c)}.entry-centre{flex-direction:column;align-items:center;display:flex;position:relative}.entry-centre:before{content:"";opacity:0;pointer-events:none;z-index:-1;background:radial-gradient(closest-side,#0403028c,#04030242 45%,#04030214 75%,#04030200);width:1100px;height:400px;transition:opacity 1.4s;position:absolute;top:100%;left:50%;transform:translate(-50%,-62%)}.entry.is-ready .entry-centre:before{opacity:1}.entry-mark{letter-spacing:1.1em;text-indent:1.1em;color:var(--ink);opacity:0;font-size:30px;font-weight:200;transition:opacity 1.2s}.entry-enter{letter-spacing:.6em;text-indent:.6em;text-transform:uppercase;color:var(--ink);opacity:0;visibility:hidden;margin-top:26px;padding:10px 26px;font-size:11px;position:relative}.entry-enter:before,.entry-enter:after{content:"";background:linear-gradient(to right, transparent, var(--coolant));width:34px;height:1px;transition:width .4s;position:absolute;top:50%}.entry-enter:before{right:100%}.entry-enter:after{left:100%;transform:scaleX(-1)}.entry.is-ready:hover .entry-enter:before,.entry.is-ready:hover .entry-enter:after,.entry-enter:focus-visible:before,.entry-enter:focus-visible:after{width:64px}.entry-enter:focus-visible{color:var(--coolant);outline:none}.entry.is-ready .entry-mark{opacity:1}.entry.is-ready .entry-enter{visibility:visible;animation:3.2s ease-in-out 1.2s infinite both entry-breathe}@keyframes entry-breathe{0%,to{opacity:.55}50%{opacity:1}}.entry-art{z-index:-2;opacity:0;transition:opacity 2.4s;position:absolute;inset:0;overflow:hidden}.entry-art.is-shown{opacity:1}.entry-still{background:50%/cover no-repeat;animation-duration:15s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both;position:absolute;inset:0}.entry-art:not(.is-shown) .entry-still{animation-play-state:paused}.entry-still:first-child{animation-name:entry-still-1}.entry-still:nth-child(2){animation-name:entry-still-2}.entry-still:nth-child(3){animation-name:entry-still-3}@keyframes entry-still-1{0%{opacity:1;transform:scale(1.0116)}33.333%{opacity:1;transform:scale(1.06)}33.334%{opacity:0;transform:scale(1)}91.999%{opacity:0}92%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1.0116)}}@keyframes entry-still-2{0%,25.333%{opacity:0;transform:scale(1)}33.333%{opacity:1}66.667%{opacity:1;transform:scale(1.06)}66.668%,to{opacity:0;transform:scale(1)}}@keyframes entry-still-3{0%,58.667%{opacity:0;transform:scale(1)}66.667%,92%{opacity:1}to{opacity:0;transform:scale(1.06)}}.entry-tint{z-index:-1;background:radial-gradient(55% 60% at 50% 46%,#0a07049e,#050403cc 65%,#020101f0 100%),linear-gradient(#0000 70%,#00000080);transition:opacity 1.4s;position:absolute;inset:0}.dial{--heat:0;isolation:isolate;flex:none;width:92px;height:92px;position:relative}.dial-art{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dial-art path,.dial-art circle{fill:none;stroke-linecap:round;stroke-linejoin:round}.dial-track{stroke:#faecd229;stroke-width:1.3px}.dial-arc{stroke:#ffc478;stroke-width:2.4px;filter:drop-shadow(0 0 1.5px #ffa03ce6)drop-shadow(0 0 4px #ff781e73);transition:opacity .8s}.dial-art .dial-shell{fill:#0a0806b8;stroke:none}.dial-art .dial-cavity{fill:#000}.dial-art .dial-star{mix-blend-mode:plus-lighter;opacity:calc(.35 + .65 * var(--heat));transform-box:fill-box;transform-origin:50%;transform:scale(calc(.6 + .4 * var(--heat)));transition:opacity .8s}.dial-far{stroke:#faecd242;stroke-width:.8px}.dial-rib{stroke:#faecd280;stroke-width:.9px}.dial-ring-line{stroke:#faecd2b8;stroke-width:1.1px}.dial-band{stroke:#faecd2d1;stroke-width:1.2px}.dial-art .dial-band-hot{stroke:#ffb868;stroke-width:1.3px;opacity:var(--heat);filter:drop-shadow(0 0 1.2px #ff963ccc);transition:opacity .8s}.dial-limb{stroke:#faecd26b;stroke-width:1px}.dial-orbit{pointer-events:none;background:conic-gradient(#ffe2be00 0turn .7turn,#ffe8c8bf 1turn);border-radius:50%;animation:2.6s linear infinite dial-orbit;position:absolute;inset:0;-webkit-mask:radial-gradient(closest-side,#0000 89.5%,#000 90.4% 91.8%,#0000 92.8%);mask:radial-gradient(closest-side,#0000 89.5%,#000 90.4% 91.8%,#0000 92.8%)}@keyframes dial-orbit{to{transform:rotate(1turn)}}.dial-value{font-family:var(--font);font-variant-numeric:tabular-nums;color:#fffaf0;text-shadow:0 0 3px #281204e6,0 0 8px #28120499;pointer-events:none;justify-content:center;align-items:center;padding-left:3px;display:flex;position:absolute;inset:0}.dial-figure{letter-spacing:-.02em;font-size:15px;font-weight:600}.dial-unit{opacity:.8;align-self:center;margin-left:1px;font-size:8.5px;font-weight:500;transform:translateY(-2.5px)}.entry.is-error .dial-arc,.entry.is-error .dial-star,.entry.is-error .dial-band-hot,.entry.is-error .dial-orbit,.entry.is-error .dial-value{opacity:0;animation:none}.entry-corner{align-items:center;gap:18px;transition:opacity 1.2s;display:flex;position:absolute;bottom:32px;left:36px}.entry.is-ready .entry-corner{opacity:0}.entry-chatter{max-width:min(520px,100vw - 170px);transition:opacity .6s;display:grid}.entry-chatter-line{opacity:0;grid-area:1/1;align-self:center}.entry.is-error .entry-chatter{opacity:0}.entry-chatter-from{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--coolant);opacity:.85;font-size:12px}.entry-chatter-text{color:var(--ink-dim);margin-top:7px;font-size:18px;font-weight:300;line-height:1.45}.entry-keys{opacity:0;white-space:nowrap;gap:30px;transition:opacity 1s .6s;display:flex;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.entry.is-ready .entry-keys{opacity:1}.entry-key-group{align-items:center;gap:4px;display:flex}.entry-key-word{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin-left:6px;font-size:10px}.entry-message{border-top:1px solid var(--panel-edge);-webkit-user-select:text;user-select:text;width:min(520px,100%);max-height:46vh;padding:18px 0 0;overflow:auto}.entry-message-title{letter-spacing:.24em;text-transform:uppercase;color:var(--coolant);font-size:12px}.entry-message-body{color:var(--ink);overflow-wrap:anywhere;margin-top:10px;font-size:14px;line-height:1.5}.entry-message-detail{color:var(--ink-faint);margin-top:10px;font-size:11px}.entry-diag{font-family:var(--mono);grid-template-columns:max-content 1fr;gap:4px 14px;margin:16px 0 0;font-size:10.5px;line-height:1.45;display:grid}.entry-diag dt{color:var(--ink-faint)}.entry-diag dd{color:var(--ink-dim);overflow-wrap:anywhere;margin:0}.pause{-webkit-backdrop-filter:blur(6px)saturate(.75);z-index:9;cursor:pointer;background:radial-gradient(46% 52%,#050403cc,#05040380 60%,#00000052 100%);place-items:center;transition:opacity .25s;display:grid;position:absolute;inset:0}.pause.is-hidden{opacity:0;pointer-events:none}.pause-panel{cursor:default;flex-direction:column;align-items:stretch;width:min(300px,100vw - 32px);display:flex}.pause-title{letter-spacing:.7em;text-indent:.7em;text-transform:uppercase;color:var(--coolant);align-items:center;gap:14px;margin-bottom:40px;font-size:11px;display:flex}.pause-title:before,.pause-title:after{content:"";background:linear-gradient(90deg,#0000,#ffb86880);flex:1;height:1px}.pause-title:after{transform:scaleX(-1)}.pause-volume{grid-template-columns:1fr auto;align-items:baseline;row-gap:14px;display:grid}.pause-label{letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.pause-readout{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-size:12px;transition:color .2s}.pause-slider{--fill:50%;appearance:none;cursor:pointer;background:0 0;grid-column:1/-1;width:100%;height:18px;margin:0}.pause-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--coolant) var(--fill), var(--ink-ghost) var(--fill));height:2px;box-shadow:0 0 6px #ff963c40}.pause-slider::-webkit-slider-thumb{appearance:none;background:var(--shell);border:1.5px solid var(--coolant);width:13px;height:13px;box-shadow:0 0 8px var(--coolant-glow);border-radius:50%;margin-top:-5.5px;transition:transform .15s}.pause-slider:hover::-webkit-slider-thumb{transform:scale(1.25)}.pause-slider:focus-visible::-webkit-slider-thumb{transform:scale(1.25)}.pause-slider:focus-visible{outline:none}.pause.is-muted .pause-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--ink-faint) var(--fill), var(--ink-ghost) var(--fill));box-shadow:none}.pause.is-muted .pause-slider::-webkit-slider-thumb{border-color:var(--ink-faint);box-shadow:none}.pause.is-muted .pause-readout{color:var(--ink-faint);text-decoration:line-through}.pause-mute{letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);align-self:flex-start;align-items:center;gap:10px;margin-top:18px;font-size:10px;transition:color .2s;display:flex}.pause-mute:before{content:"";border:1px solid;border-radius:50%;width:7px;height:7px;transition:background .2s,box-shadow .2s}.pause-mute:hover,.pause-mute:focus-visible{color:var(--ink);outline:none}.pause-mute[aria-pressed=true]{color:var(--coolant)}.pause-mute[aria-pressed=true]:before{background:var(--coolant);box-shadow:0 0 6px var(--coolant-glow)}.pause-resume{letter-spacing:.6em;text-indent:.6em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid #0000;align-self:center;margin-top:52px;padding:8px 4px;font-size:11px;transition:border-color .25s,color .25s}.pause-resume:hover,.pause-resume:focus-visible{color:var(--coolant);border-color:#ffb86880;outline:none}.prompt{background:var(--panel);border:1px solid var(--panel-edge);-webkit-backdrop-filter:blur(10px);color:var(--ink-dim);letter-spacing:.14em;text-transform:uppercase;opacity:0;pointer-events:none;z-index:5;border-radius:2px;align-items:center;gap:10px;padding:7px 12px 7px 8px;font-size:12px;transition:opacity .25s;display:flex;position:absolute;top:58%;left:50%;transform:translate(-50%)}.prompt.is-shown{opacity:1}.prompt-key{border:1px solid var(--ink-faint);width:20px;height:20px;color:var(--ink);letter-spacing:0;border-radius:3px;place-items:center;font-size:11px;display:inline-grid}.intro-review{z-index:6;pointer-events:none;letter-spacing:.08em;color:#ffffffd1;text-shadow:0 1px 2px #000c;font-size:11px;position:fixed;top:20px;left:24px}.intro-review-time{font-variant-numeric:tabular-nums;white-space:pre;margin-bottom:4px}.intro-review-keys{color:#ffffff8c}.intro-overlay{pointer-events:none;z-index:5;position:fixed;inset:0;overflow:hidden}.intro-lid{will-change:transform;height:130vh;position:absolute;left:-5vw;right:-5vw}.intro-lid-top{background:linear-gradient(#000 0% 86%,#000000d1 92%,#0000);top:-68vh}.intro-lid-bottom{background:linear-gradient(#0000,#000000d1 8%,#000 14% 100%);bottom:-68vh}.intro-veil{opacity:0;background:#000;position:absolute;inset:0}.intro-hint{color:var(--ink-dim);letter-spacing:.18em;text-transform:uppercase;opacity:0;align-items:center;gap:10px;font-size:12px;display:flex;position:absolute;bottom:30px;right:34px}.intro-hint.is-shown{opacity:.85;transition:opacity 1.2s 1.2s}.intro-hint[hidden]{display:none}.intro-hint .intro-hint-word+.key-cap{margin-left:14px}
