: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-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:.9em;text-indent:.9em;color:var(--ink-dim);margin-top:30px;font-size:13px;font-weight:300;transition:font-size 1.2s,color 1.2s,margin 1.2s,letter-spacing 1.2s,text-indent 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{letter-spacing:1.1em;text-indent:1.1em;color:var(--ink);margin-top:0;font-size:30px;font-weight:200}.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;background:50%/cover no-repeat;transition:opacity 2.4s;animation:70s ease-in-out infinite alternate entry-drift;position:absolute;inset:0;transform:scale(1.06)}.entry-art.is-shown{opacity:1}@keyframes entry-drift{0%{transform:scale(1.06)translate(-.6%,.4%)}to{transform:scale(1.14)translate(.8%,-.5%)}}.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}.entry.is-ready .entry-art,.entry.is-ready .entry-tint{opacity:0}.glyph{isolation:isolate;--size:min(58vmin, 540px);--heat:0;width:var(--size);height:var(--size);opacity:0;transition:transform 1.4s cubic-bezier(.5,0,.2,1),opacity 1.2s,margin 1.2s;position:relative}.glyph.is-drawn{opacity:1}.glyph>img,.glyph>svg{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.glyph-bloom{opacity:calc(.15 + .85 * var(--heat));background:radial-gradient(closest-side,#ffa04657,#ff782824 45%,#ff641e0a 70%,#ff5a1400);border-radius:50%;transition:opacity 1.2s;animation:5.5s ease-in-out infinite glyph-breathe;position:absolute;inset:-22%}@keyframes glyph-breathe{0%,to{transform:scale(.96)}50%{transform:scale(1.04)}}.glyph-cavity{background:#000;border-radius:50%;position:absolute}.glyph-back,.glyph-glow{transition:opacity 1.2s}.glyph-glow{mix-blend-mode:plus-lighter}.glyph-back{opacity:calc(.14 + .86 * var(--heat))}.glyph-glow{opacity:var(--heat)}.glyph-coolant{overflow:visible}.glyph-coolant path{fill:none;stroke:#ffc478;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .9s}.glyph-coolant path.is-lit{opacity:1;filter:drop-shadow(0 0 1.2px #ffaa46f2)drop-shadow(0 0 3.5px #ff781e99)}.entry.is-ready .glyph{opacity:0;margin-bottom:calc(-1 * var(--size));transform:scale(1.3)}.entry.is-error .glyph-back,.entry.is-error .glyph-glow,.entry.is-error .glyph-bloom,.entry.is-error .glyph-coolant{opacity:0;animation:none}.entry-chatter{max-width:min(440px,100vw - 80px);transition:opacity .6s;position:absolute;bottom:36px;left:40px}.entry-chatter.is-fading,.entry.is-ready .entry-chatter,.entry.is-error .entry-chatter{opacity:0}.entry-chatter-from{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--coolant);opacity:.8;align-items:center;gap:10px;font-size:10px;display:flex}.entry-chatter-from:before{content:"";background:var(--coolant);width:6px;height:6px;box-shadow:0 0 6px var(--coolant-glow);border-radius:50%;animation:1.6s steps(2,jump-none) infinite chatter-live}@keyframes chatter-live{0%{opacity:1}to{opacity:.25}}.entry-chatter-text{color:var(--ink-dim);margin-top:8px;font-size:15px;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}
