:root{color-scheme:dark;--bar: clamp(28px, 7.5vh, 82px)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;background:#06070a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}#scene{display:block;width:100%;height:100%}#grade{position:fixed;inset:0;pointer-events:none;background:radial-gradient(120% 85% at 50% 45%,transparent 42%,rgba(4,5,9,.72) 100%),linear-gradient(190deg,rgba(90,120,200,.06),transparent 55%)}.bar{position:fixed;left:0;right:0;height:0;background:#06070a;pointer-events:none;transition:height 1.1s cubic-bezier(.22,1,.36,1);z-index:3}#bar-top{top:0}#bar-bottom{bottom:0}body.rolling .bar{height:var(--bar)}#fade{position:fixed;inset:0;background:#06070a;pointer-events:none;opacity:1;transition:opacity 1.2s ease;z-index:5}body.lit #fade{opacity:0}#hud{position:fixed;bottom:calc(var(--bar) + 1.6rem);right:clamp(1.5rem,5vw,5rem);z-index:6;display:flex;flex-direction:column;align-items:flex-end;gap:.7rem;transition:opacity .7s ease}body.rolling #hud{opacity:0;pointer-events:none}#status{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#ffffff52;min-height:1em}.buttons{display:flex;gap:.6rem}#play,#drive{display:inline-flex;align-items:center;gap:.65rem;padding:.72rem 1.6rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#ffffffdb;font:inherit;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;opacity:0;transition:background .25s ease,border-color .25s ease,opacity .8s ease}body.ready .buttons{display:flex;gap:.6rem}#play,#drive{opacity:1}#play:hover,#drive:hover,#copy-theme:hover{background:#ffffff1f;border-color:#ffffff57}body.driving #play{display:none}.glyph{font-size:.7rem;line-height:1}@media(prefers-reduced-motion:reduce){.bar,#fade{transition-duration:.01ms}}#keys{position:fixed;top:1.4rem;left:clamp(1.2rem,4vw,3rem);z-index:6;display:flex;gap:1.1rem;color:#ffffff6b;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(-8px);transition:opacity .6s ease,transform .6s ease;pointer-events:none}#keys b{color:#ffffffd1;font-weight:500}body.driving #keys{opacity:1;transform:translateY(0)}#theme-reveal{position:fixed;left:clamp(1.2rem,5vw,5rem);bottom:clamp(1.5rem,6vh,4.5rem);z-index:7;width:min(34rem,calc(100vw - 2.4rem));padding:1.25rem;border:1px solid rgba(255,255,255,.19);border-radius:1rem;background:linear-gradient(145deg,#12151de0,#06070ab8);box-shadow:0 24px 80px #0000007a,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;transform:translateY(22px) scale(.98);transform-origin:bottom left;transition:opacity .55s ease,transform .7s cubic-bezier(.22,1,.36,1);pointer-events:none}body.at-theme-chamber #theme-reveal{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.reveal-kicker{color:#ffffff70;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}#cave-theme{margin-top:.4rem;color:#fff;font-size:clamp(1.55rem,4vw,2.45rem);font-weight:500;letter-spacing:-.05em}#theme-reveal p{margin-top:.22rem;color:#ffffff8c;font-size:.72rem}.command-row{display:flex;align-items:center;gap:.65rem;margin-top:1rem;padding:.5rem .5rem .5rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:.7rem;background:#00000052}#theme-command{min-width:0;flex:1;overflow:hidden;color:#ffffffdb;font:inherit;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}#theme-command:before{content:"$ ";color:#ffffff57}#copy-theme{flex:none;padding:.58rem .8rem;border:1px solid rgba(255,255,255,.16);border-radius:.5rem;background:#ffffff12;color:#ffffffc7;font:inherit;font-size:.6rem;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,border-color .2s ease}@media(max-width:680px){#keys{gap:.6rem;font-size:.54rem}#keys span:last-child{display:none}#theme-reveal{bottom:5.4rem}.command-row{align-items:stretch;flex-direction:column;padding:.72rem}#copy-theme{align-self:flex-start}}body.capturing #scene{object-fit:contain;background:#000}body.capturing #hud,body.capturing #keys,body.capturing #theme-reveal{display:none}body.capturing{cursor:none}body.capturing.needs-gesture{cursor:pointer}
