:root{--ink:#f5f1ea;--muted:#b9b4c9;--night:#070b1a;--peppermint:#d4202c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif}*{box-sizing:border-box}html,body,#app{background:var(--night);height:100%;color:var(--ink);margin:0}a{color:inherit}.home{max-width:52rem;margin:0 auto;padding:12vh 1.25rem 4rem}.home h1{letter-spacing:.01em;margin:0 0 .25rem;font-size:clamp(2.2rem,6vw,3.4rem)}.lede{color:var(--muted);margin:0 0 2.5rem}.cards{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.card>a,.card>div{background:linear-gradient(135deg,#d4202c38,#ffffff0a);border:1px solid #ffffff1f;border-radius:14px;height:100%;text-decoration:none;transition:transform .16s,border-color .16s;display:block;overflow:hidden}.card>a:hover{border-color:#ffffff59;transform:translateY(-2px)}.card h3{margin:0 0 .35rem;font-size:1.3rem}.card p{color:var(--muted);margin:0}.card.soon>div{opacity:.6;background:#ffffff08}.card img,.card-art{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.card-art{background:radial-gradient(circle at 70% 30%,#bee1ff59,#0000 55%),linear-gradient(160deg,#1d3350,#0b1426)}.card-text{padding:1rem 1.25rem 1.2rem;display:block}.card.feature{grid-column:1/-1}.card.feature img{aspect-ratio:5/2}.card.feature h3{font-size:1.6rem}.collection+.collection{margin-top:3rem}.collection h2{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem;font-size:.95rem;font-weight:600}.stage{position:fixed;inset:0;overflow:hidden}.stage canvas{touch-action:none;display:block}.back,.hint,.verse,.loading,.title-card{z-index:2;pointer-events:none;position:absolute}.back{pointer-events:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070b1a8c;border:1px solid #ffffff26;border-radius:999px;padding:.4rem .8rem;font-size:.9rem;text-decoration:none}.back-links{z-index:2;flex-wrap:wrap;gap:.5rem;display:flex;position:absolute;top:1rem;left:1rem}.back-links .back{position:static}.back.all{color:var(--muted)}.loading{color:var(--muted);place-items:center;display:grid;inset:0}.hint{color:var(--muted);text-align:right;text-shadow:0 1px 6px #0009;font-size:.85rem;top:3.6rem;right:1rem}.verse{text-align:center;color:#f5f1ead9;text-shadow:0 1px 10px #000c;width:min(40rem,100% - 2rem);font-size:clamp(.9rem,2.2vw,1.05rem);font-style:italic;line-height:1.5;bottom:1.4rem;left:50%;transform:translate(-50%)}.verse cite{color:var(--muted);margin-top:.2rem;font-size:.8em;font-style:normal;display:block}@media (max-width:600px){.hint{display:none}}.float-label{z-index:2;pointer-events:none;white-space:nowrap;color:#fff4d0;letter-spacing:.02em;text-shadow:0 0 12px #ffc85ae6,0 2px 4px #0009;font-size:1.35rem;font-weight:700;position:absolute;top:0;left:0}.hint,.verse,.title-card,.overview{opacity:0;transition:opacity 2.4s}.hint.show,.verse.show,.title-card.show,.overview.show{opacity:1}.overview{pointer-events:none}.overview.show{pointer-events:auto}.title-card{text-align:center;place-content:center;display:grid;inset:0}.title-card h1{letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;color:#f5f1eaeb;text-shadow:0 0 24px #ffd69659;margin:0;font-size:clamp(1.8rem,5vw,3rem);font-weight:400}.title-card p{letter-spacing:.12em;color:var(--muted);margin:.9rem 0 0;font-style:italic}.overview{z-index:2;font:inherit;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070b1a8c;border:1px solid #ffffff26;border-radius:999px;padding:.4rem .95rem;font-size:.9rem;position:absolute;top:1rem;right:1rem}.overview:hover{border-color:#fff6}.doorway{z-index:2;white-space:nowrap;letter-spacing:.02em;color:#fff4d0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#070b1a99;border:1px solid #ffd68c73;border-radius:999px;padding:.55rem 1.1rem;font-size:.95rem;text-decoration:none;transition:opacity 1.6s;position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%);box-shadow:0 0 24px #ffc87840}.doorway.show{opacity:1;pointer-events:auto}.doorway.corner{padding:.4rem .9rem;font-size:.85rem;bottom:1rem;left:auto;right:1rem;transform:none}@media (max-width:600px){.doorway.corner{top:3.6rem;bottom:auto}}.float-label.quiet{color:#f5f1eae6;text-shadow:0 0 14px #ffd69659,0 1px 6px #000c;font-size:1.05rem;font-style:italic;font-weight:400}.float-label.spooky{color:#f1e6ff;text-shadow:0 0 14px #aa6efff2,0 2px 4px #000000b3}.doorway:hover{border-color:#ffd68ce6}.overview.walk{right:7.6rem}@media (max-width:600px){.overview.walk{top:1rem;left:50%;right:auto;transform:translate(-50%)}}.tour{z-index:2;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#1a100a9e;border:1px solid #ffc88c47;border-radius:14px;width:min(30rem,100% - 2rem);padding:1rem 1.2rem .9rem;transition:opacity .8s;position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000059}.tour.show{opacity:1;pointer-events:auto}.tour h2{letter-spacing:.04em;color:#ffe2b8;margin:.1rem 0 .35rem;font-size:1.3rem;font-weight:500}.tour-count{letter-spacing:.18em;color:#ffe2b899;margin:0;font-size:.75rem}.tour-text{color:#f5ecdee6;margin:0 0 .8rem;font-size:.95rem;line-height:1.45}.tour-nav{justify-content:center;gap:.6rem;display:flex}.tour button{font:inherit;color:#fff1dc;cursor:pointer;background:#ffffff0f;border:1px solid #ffd2a059;border-radius:999px;padding:.4rem 1rem;font-size:.9rem}.tour button.primary{background:#d66e288c;border-color:#ffb46eb3}.tour button:disabled{opacity:.35;cursor:default}.tour button:not(:disabled):hover{border-color:#ffdcaae6}.tour .tour-close{color:#ffe2b8b3;background:0 0;border:none;margin-top:.55rem;font-size:.8rem;text-decoration:underline}.play-hud{z-index:2;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f4f8fb;text-shadow:0 1px 4px #0006;background:#080a128c;border-radius:12px;padding:.55rem .9rem;position:absolute;bottom:1rem;left:1rem}.play-hud p{margin:0}.play-stats{font-variant-numeric:tabular-nums;font-size:1rem}.play-keys{opacity:.8;font-size:.8rem;margin-top:.2rem!important}.portal-fade{z-index:4;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 55%, #fff 0%, var(--tint,#fff) 35%, #05060a 100%);transition:opacity .85s ease-in;position:absolute;inset:0}.portal-fade.show{opacity:1}.tune-panel{z-index:3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#e8eef6;background:#0a0e18c7;border-radius:12px;width:17rem;max-height:calc(100% - 2rem);padding:.5rem .8rem;font-size:.75rem;position:absolute;top:1rem;right:1rem;overflow:auto}.tune-panel summary{cursor:pointer;padding:.2rem 0;font-size:.85rem;font-weight:600}.tune-panel label{grid-template-columns:6.5rem 1fr 2.4rem;align-items:center;gap:.4rem;margin:.25rem 0;display:grid}.tune-panel input{width:100%}.tune-panel output{text-align:right;font-variant-numeric:tabular-nums}.tune-actions{gap:.5rem;margin:.5rem 0 .2rem;display:flex}.tune-actions button{font:inherit;color:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:999px;padding:.25rem .7rem}.play-hud.boosting .play-stats{color:#ffb066;text-shadow:0 0 10px #ff8228cc}.touch-drive{z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute;inset:0}.touch-steer{pointer-events:auto;touch-action:none;width:50%;height:62%;position:absolute;bottom:0;left:0}.touch-stick{opacity:0;background:#0a0e1859;border:1px solid #ffffff40;border-radius:999px;width:9rem;height:3.6rem;margin:-1.8rem 0 0 -4.5rem;transition:opacity .15s;position:absolute}.touch-stick.active{opacity:1}.touch-stick span{background:#ffffff8c;border-radius:50%;width:2.8rem;height:2.8rem;margin:-1.4rem 0 0 -1.4rem;position:absolute;top:50%;left:50%;box-shadow:0 2px 10px #0006}.touch-pedals{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));pointer-events:auto;grid-template-columns:auto auto;grid-template-areas:"boost drift""reverse gas";align-items:end;gap:.7rem;display:grid;position:absolute}.touch-btn{font:inherit;letter-spacing:.03em;color:#f4f8fb;touch-action:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-tap-highlight-color:transparent;background:#0a0e1873;border:1px solid #ffffff4d;border-radius:50%;width:4.6rem;height:4.6rem;font-size:.85rem;font-weight:600}.touch-btn.gas{background:#288c5080;grid-area:gas;width:5.6rem;height:5.6rem}.touch-btn.reverse{background:#aa322873;grid-area:reverse}.touch-btn.boost{background:#e6781e73;grid-area:boost}.touch-btn.drift{grid-area:drift;justify-self:center;width:3.8rem;height:3.8rem;font-size:.75rem}.touch-btn.held{filter:brightness(1.6);transform:scale(.94)}.touch-reset{pointer-events:auto;color:#f4f8fb;background:#0a0e188c;border:1px solid #ffffff40;border-radius:50%;width:2.6rem;height:2.6rem;font-size:1.3rem;position:absolute;top:1rem;right:1rem}.touch-mode .play-hud{padding:.35rem .7rem;top:3.6rem;bottom:auto;left:1rem}.touch-mode .keys-only,.touch-mode .tune-panel{display:none}.sound-toggle{cursor:pointer;width:2.1rem;height:2.1rem;color:var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070b1a8c;border:1px solid #ffffff26;border-radius:50%;place-items:center;padding:0;display:grid}.sound-toggle:hover{border-color:#fff6}.sound-toggle[aria-pressed=false]{color:var(--muted)}.sound-toggle svg{width:1.1rem;height:1.1rem}
