.hud{--hud-accent:#38d6ff;--hud-outline:0px 0px 8px #000000de;--hud-heart:#ff4d5e;--hud-callout:#ffc72c;--hud-panel:#080b0fd1;pointer-events:none;color:#f2f5f8;letter-spacing:.08em;text-shadow:0 1px 3px #0009;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;position:absolute;inset:0}.hud [hidden]{display:none}.hud__bar{text-shadow:var(--hud-outline);justify-content:center;gap:2rem;padding:.9rem 1rem;font-size:.85rem;display:flex}.hud__bar strong{color:var(--hud-accent);text-shadow:var(--hud-outline);margin-left:.35rem;font-size:1.15rem}.hud__banner{text-align:center;width:100%;position:absolute;top:40%}.hud__banner-title{font-size:clamp(1.1rem,3vw,2rem);font-weight:700}.hud__banner-sub{letter-spacing:0;color:var(--hud-accent);text-shadow:var(--hud-outline);margin-top:.4rem;font-size:clamp(.75rem,1.6vw,1rem);font-weight:800}.hud__callout{text-align:center;color:var(--hud-callout);opacity:0;white-space:pre;margin-top:-.65rem;font-size:.9rem;font-weight:700}.hud__vitals{flex-direction:column;gap:.5rem;display:flex;position:absolute;top:.85rem;left:1rem}.hud__hearts{gap:.3rem;display:flex}.hud__heart svg{width:1.6rem;height:1.6rem;fill:var(--hud-heart);stroke:#0000008c;stroke-width:1.2px;transition:fill .3s,stroke .3s;display:block}.hud__heart--lost svg{fill:#0000;stroke:#ffffff73}.hud__heart--lost{animation:.45s ease-out hud-heart-lost}@keyframes hud-heart-lost{0%{transform:scale(1.5)}30%{transform:scale(.8)rotate(-12deg)}to{transform:none}}.hud__dash{background:#ffffff29;border-radius:999px;width:5.6rem;height:.4rem;overflow:hidden;box-shadow:0 1px 3px #00000080}.hud__dash-fill{transform-origin:0;background:#ffffff8c;height:100%}.hud__dash--ready .hud__dash-fill{background:var(--hud-accent)}.hud__dash--ready{animation:.35s ease-out hud-dash-ready}@keyframes hud-dash-ready{0%{box-shadow:0 0 .7rem var(--hud-accent), 0 1px 3px #00000080}}.hud__toast{background:var(--hud-panel);border-left:3px solid var(--hud-accent);opacity:0;max-width:calc(100% - 2rem);padding:.55rem 1rem;font-size:.8rem;transition:opacity .25s,transform .25s;position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%,.8rem)}.hud__toast--visible{opacity:1;transform:translate(-50%)}.hud__damage{opacity:0;position:absolute;inset:0;box-shadow:inset 0 0 14vmin #ff283cb3}@media (width<=640px){.hud__bar{flex-wrap:wrap;gap:.3rem 1.1rem;padding-top:3.9rem;font-size:.72rem}.hud__bar strong{font-size:1rem}}.reduced-motion .hud *,.reduced-motion .hud :before,.reduced-motion .hud :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.hud *,.hud :before,.hud :after{transition:none!important;animation:none!important}}.screens{--screen-accent:#38d6ff;--screen-warn:#ff9f43;--screen-danger:#ff4d5e;--screen-panel:#080b0fdb;--screen-line:#38d6ff59;pointer-events:none;color:#f2f5f8;letter-spacing:.08em;text-shadow:0 1px 3px #0009;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;position:absolute;inset:0}.screens [hidden],.touch-mode .screens .keys-only,:not(.touch-mode)>.screens .touch-only{display:none}.screen{box-sizing:border-box;flex-direction:column;align-items:center;padding:22vh 1rem 1rem;display:flex;position:absolute;inset:0}.screen--dim{background:#04060994}.screen__panel{box-sizing:border-box;background:var(--screen-panel);border:1px solid var(--screen-line);text-align:center;min-width:16rem;padding:1.4rem 2.2rem;position:relative}.screen__panel:before{content:"";background:repeating-linear-gradient(-45deg,#ffc72c 0 8px,#16181b 8px 16px);height:4px;position:absolute;inset:-1px -1px auto}.screen__panel--wide{min-width:min(30rem,100%)}.screen__panel--message{max-width:min(34rem,100%);line-height:1.6}.screen__panel h2{margin:0 0 1rem;font-size:clamp(1.2rem,3vw,1.9rem)}.screen__hint{opacity:.7;margin:1rem 0 0;font-size:.72rem}.screen__menu{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.screen__item{cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:1px solid #0000;justify-content:center;align-items:center;gap:1.5rem;padding:.45rem 1.4rem;font-size:.95rem;transition:background .12s,border-color .12s;display:flex;position:relative}.screen__item:before{content:"▸";opacity:0;color:var(--screen-accent);position:absolute;left:.4rem}.screen__item--selected{border-color:var(--screen-line);color:var(--screen-accent);background:#38d6ff29}.screen__item--selected:before{opacity:1}.screen__menu--settings .screen__item{justify-content:space-between;font-size:.85rem}.screen__control{align-items:center;gap:.6rem;display:flex}.screen__arrow{opacity:.45;padding:0 .3rem;font-size:.75rem}.screen__arrow:hover,.screen__item--selected .screen__arrow{opacity:1}.screen__value{color:#f2f5f8;justify-content:flex-end;align-items:center;gap:.6rem;min-width:9.5rem;display:flex}.screen__value--off{opacity:.55}.screen__volume{gap:2px;display:flex}.screen__volume i{background:#ffffff24;width:.45rem;height:.8rem;display:block}.screen__volume i.screen__volume-on{background:var(--screen-accent)}.screen__percent{text-align:right;min-width:2.6rem;font-size:.75rem}.screen--title{background:radial-gradient(at 50% 55%,#0000 20%,#040609b3 85%),#04060959;padding-top:11vh}.screen__title-block{text-align:center;margin-bottom:2rem}.screen__kicker{color:var(--screen-accent);opacity:.85;margin:0 0 .6rem;font-size:.72rem}.screen__logo{letter-spacing:.22em;text-shadow:0 0 24px #38d6ff8c,0 4px #00000080;margin:0;padding-left:.22em;font-size:clamp(3rem,11vw,7rem);font-weight:800;line-height:1}.screen__tagline{opacity:.75;margin:.9rem 0 0;font-size:.8rem}.screen__best{color:var(--screen-warn);margin:1rem 0 0;font-size:.8rem}.screen__controls{flex-wrap:wrap;justify-content:center;gap:.5rem 1.6rem;margin:0;padding:0 1rem;font-size:.7rem;display:flex;position:absolute;bottom:1.2rem}.screen__controls div{gap:.5rem;display:flex}.screen__controls dt{color:var(--screen-accent)}.screen__controls dd{opacity:.75;margin:0}.screen__game-over{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem;display:flex}.screen__terminated{color:var(--screen-danger)}.screen__result{justify-content:center;gap:1.8rem;margin:0 0 1rem;font-size:.85rem;display:flex}.screen__result strong{color:var(--screen-accent);margin-left:.35rem;font-size:1.15rem}.screen__rank{min-height:1em;color:var(--screen-accent);margin:0 0 .9rem;font-size:.85rem}.screen__rank--best{color:var(--screen-warn);font-weight:700}.screen__menu--locked{opacity:.35;transition:opacity .3s}.screen--ready .screen__menu--locked{opacity:1}.screen__retry{visibility:hidden}.screen__retry--ready{visibility:visible;animation:1.2s ease-in-out infinite screen-pulse}@keyframes screen-pulse{50%{opacity:.35}}.screen__scores{text-align:left;min-width:15rem;padding:1rem 1.4rem}.screen__scores h3{opacity:.75;margin:0 0 .6rem;font-size:.8rem}.screen__score-list{margin:0;padding:0;font-size:.78rem;list-style:none}.screen__score{grid-template-columns:1.6rem 1fr 2.4rem 3.6rem;gap:.5rem;padding:.12rem .3rem;display:grid}.screen__score span:nth-child(2),.screen__score span:nth-child(3){text-align:right}.screen__score span:last-child{opacity:.6;text-align:right}.screen__score--new{color:var(--screen-accent);background:#38d6ff2e}.screen__score--empty{opacity:.6;display:block}.screen__global{opacity:.85;min-height:1em;margin:-.4rem 0 .9rem;font-size:.78rem}.screen__global:empty{display:none}.screen__global--best{color:var(--screen-warn);opacity:1;font-weight:700}.screen--board{padding-top:12vh}.screen__board{pointer-events:auto;scrollbar-width:thin;text-align:left;max-height:min(46vh,26rem);margin:0 0 .8rem;overflow-y:auto}.screen__board .screen__score{grid-template-columns:2.4rem 1fr 5.5rem 2.6rem}.screen__board .screen__score span:nth-child(2){text-align:left;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.screen__board .screen__score span:nth-child(3){text-align:right}.screen__board .screen__score span:last-child{opacity:.75}.screen__board-you{color:var(--screen-accent);margin:0 0 .9rem;font-size:.78rem}.screen__hint--above{margin:-.5rem 0 1rem}.screen__name-input{box-sizing:border-box;border:1px solid var(--screen-line);width:100%;color:var(--screen-accent);font:inherit;letter-spacing:.12em;text-align:center;text-transform:uppercase;pointer-events:auto;background:#ffffff0f;outline:none;padding:.55rem .8rem;font-size:1.1rem;display:block}.screen__name-input:focus{border-color:var(--screen-accent);box-shadow:0 0 0 1px var(--screen-accent)}.screen__name-input::placeholder{color:var(--screen-accent);opacity:.45}.screen__name-error{min-height:1.1em;color:var(--screen-danger);margin:.4rem 0 .6rem;font-size:.72rem}.screen--share{padding-top:14vh}.screen__share{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.screen__card{border:1px solid var(--screen-line);width:min(36rem,100%);height:auto;display:block;box-shadow:0 8px 32px #00000080}.screen__share-status{min-height:1.1em;color:var(--screen-accent);margin:.6rem 0 0;font-size:.72rem}@media (height<=500px){.screen,.screen--title,.screen--board,.screen--share{pointer-events:auto;padding-top:.9rem;overflow-y:auto}.screen__panel{padding:.9rem 1.6rem}.screen__panel h2{margin-bottom:.5rem}.screen__item{padding:.28rem 1.2rem}.screen__hint{margin-top:.5rem}.screen__title-block{margin-bottom:.8rem}.screen__kicker,.screen__tagline{display:none}.screen__logo{font-size:clamp(2rem,14vh,3.5rem)}.screen__controls{margin-top:.8rem;position:static}.screen__result,.screen__rank{margin-bottom:.5rem}.screen__card{width:min(26rem,48vw)}}.reduced-motion .screens *,.reduced-motion .screens :before{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.screens *,.screens :before{transition:none!important;animation:none!important}}.touch{--touch-accent:#38d6ff;--touch-panel:#080b0f8c;--touch-line:#ffffff47;--touch-stick:clamp(6.5rem, 28vmin, 9.5rem);--touch-jump:clamp(4.75rem, 21vmin, 6.75rem);--touch-dash:clamp(4rem, 17vmin, 5.5rem);--touch-edge:1.25rem;pointer-events:none;color:#f2f5f8;letter-spacing:.08em;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;position:absolute;inset:0}.touch[hidden]{display:none}.touch__zone,.touch__button,.touch__pause{pointer-events:auto;touch-action:none}.touch__zone{width:50%;position:absolute;top:0;bottom:0;left:0}.touch__stick{width:var(--touch-stick);height:var(--touch-stick);margin:calc(var(--touch-stick) / -2) 0 0 calc(var(--touch-stick) / -2);position:absolute}.touch__stick--ghost{left:calc(var(--touch-edge) + var(--touch-stick) / 2 + env(safe-area-inset-left,0px));top:calc(100% - var(--touch-edge) - var(--touch-stick) / 2 - env(safe-area-inset-bottom,0px));opacity:.6}.touch__stick--live{visibility:hidden;top:0;left:0}.touch--stick-held .touch__stick--ghost{visibility:hidden}.touch--stick-held .touch__stick--live{visibility:visible}.touch__stick-base{box-sizing:border-box;border:2px solid var(--touch-line);background:var(--touch-panel);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.touch__stick-knob{background:#f2f5f8d9;border-radius:50%;width:44%;height:44%;box-shadow:0 2px 6px #00000080}.touch__stick--live .touch__stick-knob{background:var(--touch-accent)}.touch__button{box-sizing:border-box;border:2px solid var(--touch-line);background:var(--touch-panel);text-shadow:0 1px 3px #0009;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;transition:transform 60ms,background 60ms;display:flex;position:absolute;overflow:hidden}.touch__button--jump{right:calc(var(--touch-edge) + env(safe-area-inset-right,0px));bottom:calc(var(--touch-edge) + env(safe-area-inset-bottom,0px));width:var(--touch-jump);height:var(--touch-jump)}.touch__button--dash{right:calc(var(--touch-edge) + var(--touch-jump) + .9rem + env(safe-area-inset-right,0px));bottom:calc(var(--touch-edge) + var(--touch-jump) * .45 + env(safe-area-inset-bottom,0px));width:var(--touch-dash);height:var(--touch-dash)}.touch__label{position:relative}.touch__charge{transform-origin:bottom;background:#ffffff24;position:absolute;inset:0}.touch__button--ready{border-color:var(--touch-accent);color:var(--touch-accent);animation:.35s ease-out touch-ready}.touch__button--ready .touch__charge{background:#38d6ff24}@keyframes touch-ready{0%{box-shadow:0 0 1rem var(--touch-accent)}}.touch__button--pressed{border-color:var(--touch-accent);background:#38d6ff52;transform:scale(.92)}.touch__pause{top:calc(.7rem + env(safe-area-inset-top,0px));right:calc(.9rem + env(safe-area-inset-right,0px));box-sizing:border-box;border:1px solid var(--touch-line);background:var(--touch-panel);border-radius:.5rem;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex;position:absolute}.touch__pause svg{fill:currentColor;width:1.3rem;height:1.3rem}.reduced-motion .touch *,.reduced-motion .touch :before{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.touch *,.touch :before{transition:none!important;animation:none!important}}
