:root{--accent-rgb: 120 235 255;--hazard-rgb: 255 96 112;--orb-rgb: 180 255 220;--emissive-rgb: 150 120 255;--fog-rgb: 8 6 24;--ramp0-rgb: 12 10 30;--ramp4-rgb: 235 235 255;--accent: rgb(var(--accent-rgb));--hazard: rgb(var(--hazard-rgb));--orb: rgb(var(--orb-rgb));--emissive: rgb(var(--emissive-rgb));--fog: rgb(var(--fog-rgb));--on-accent: #05010f;--on-orb: #05010f;--ink: #f4f6fb;--ink-dim: #b9becd;--ink-faint: #9297a8;--rule: rgb(255 255 255 / .14);--rule-strong: rgb(var(--accent-rgb) / .55);--hud-shadow: 0 1px 3px rgb(0 0 0 / .85), 0 0 12px rgb(0 0 0 / .55);--font-display: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--gutter-t: max(14px, env(safe-area-inset-top, 0px));--gutter-r: max(14px, env(safe-area-inset-right, 0px));--gutter-b: max(14px, env(safe-area-inset-bottom, 0px));--gutter-l: max(14px, env(safe-area-inset-left, 0px));color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:#05010f;color:var(--ink);font-family:var(--font-display);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;overflow:hidden;-webkit-text-size-adjust:100%}#gl{position:fixed;inset:0;display:block;width:100%;height:100%;z-index:0;background:#05010f;touch-action:none;-webkit-user-select:none;user-select:none}#ui{position:fixed;left:0;top:0;width:100%;height:100vh;height:100dvh;z-index:1;pointer-events:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}[hidden]{display:none!important}.noscript{position:fixed;inset:0;z-index:9;display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;font-size:.9rem;letter-spacing:.24em;text-transform:uppercase;background:#05010f}.ht-eyebrow{font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--accent)}.ht-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.ht-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.ht-hud{position:absolute;inset:0;pointer-events:none;touch-action:none;opacity:1;transition:opacity .22s ease}.ht-hud.is-off{opacity:0}.ht-hud.is-off .ht-iconbtn{pointer-events:none}.ht-hud__top,.ht-hud__bottom{position:absolute;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:var(--gutter-t) var(--gutter-r) 0 var(--gutter-l)}.ht-hud__bottom{top:auto;bottom:0;align-items:flex-end;padding:0 var(--gutter-r) var(--gutter-b) var(--gutter-l)}.ht-hud__top{top:0}.ht-progress{position:absolute;top:0;left:0;right:0;height:2px;background:#ffffff1a}.ht-progress__fill{height:100%;width:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,rgb(var(--emissive-rgb)),var(--accent));will-change:transform}.ht-stat__label{font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim);text-shadow:var(--hud-shadow)}.ht-stat__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,7vw,2.4rem);font-weight:700;line-height:1.05;letter-spacing:.02em;color:var(--ink);text-shadow:var(--hud-shadow),0 0 18px rgb(var(--accent-rgb) / .45)}.ht-hud__right{display:flex;align-items:flex-start;gap:10px}.ht-lives{text-align:right}.ht-lives__pips{display:flex;justify-content:flex-end;gap:6px;margin-bottom:4px}.ht-pip{width:14px;height:14px;border:1.5px solid var(--accent);border-radius:2px;background:rgb(var(--accent-rgb) / .85);transform:rotate(45deg);transition:opacity .16s ease,transform .22s ease}.ht-pip.is-spent{background:transparent;border-color:#ffffff47;opacity:.5;transform:rotate(45deg) scale(.72)}.ht-lives__text{font-family:var(--font-mono);font-size:.58rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);text-shadow:var(--hud-shadow)}.ht-hud:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 2px rgb(var(--hazard-rgb) / .85),inset 0 0 60px rgb(var(--hazard-rgb) / .25);opacity:0;transition:opacity .2s ease}.ht-hud.is-critical:after{opacity:1}.ht-hud.is-critical .ht-lives__text{color:var(--hazard)}.ht-hud.is-critical .ht-pip:not(.is-spent){border-color:var(--hazard);background:rgb(var(--hazard-rgb) / .9)}.ht-combo{position:absolute;left:var(--gutter-l);top:calc(var(--gutter-t) + 4.6rem);display:flex;align-items:baseline;gap:8px;opacity:0;transform:translateY(-6px);transition:opacity .14s ease,transform .14s ease}.ht-combo.is-on{opacity:1;transform:translateY(0)}.ht-combo__mult{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700;letter-spacing:.02em;color:var(--orb);text-shadow:var(--hud-shadow)}.ht-combo__count{font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-dim);text-shadow:var(--hud-shadow)}.ht-meter{flex:1 1 auto;max-width:62%}.ht-meter__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}.ht-meter__label,.ht-stats{font-family:var(--font-mono);font-size:.58rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-dim);text-shadow:var(--hud-shadow)}.ht-meter__track{position:relative;height:5px;background:#ffffff1f;overflow:hidden}.ht-meter__fill{position:absolute;inset:0;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,rgb(var(--orb-rgb) / .7),var(--orb));will-change:transform}.ht-meter.is-full .ht-meter__label{color:var(--accent)}.ht-meter.is-full .ht-meter__fill{background:linear-gradient(90deg,var(--accent),rgb(var(--emissive-rgb)))}.ht-stats{text-align:right;line-height:1.55;white-space:pre}.ht-burst{position:absolute;left:0;right:0;top:38%;text-align:center;font-family:var(--font-mono);font-size:clamp(1.6rem,9vw,3rem);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orb);text-shadow:var(--hud-shadow),0 0 30px rgb(var(--orb-rgb) / .6);opacity:0;pointer-events:none}.ht-iconbtn{pointer-events:auto;touch-action:manipulation;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--rule);background:#00000059;color:var(--ink);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.1em;cursor:pointer}.ht-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--gutter-t) var(--gutter-r) var(--gutter-b) var(--gutter-l);pointer-events:auto;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,rgb(var(--fog-rgb) / .93),#000000eb 55%,rgb(var(--ramp0-rgb) / .95))}.ht-overlay.is-pass{pointer-events:none;background:none;overflow:visible}.ht-panel{width:min(100%,30rem);margin:auto;display:flex;flex-direction:column;gap:1.15rem;animation:ht-rise .34s cubic-bezier(.16,1,.3,1) both}.ht-panel:focus{outline:none}@keyframes ht-rise{0%{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes ht-fade{0%{opacity:0}to{opacity:1}}.ht-stagger>*{animation:ht-rise .4s cubic-bezier(.16,1,.3,1) both}.ht-stagger>*:nth-child(1){animation-delay:40ms}.ht-stagger>*:nth-child(2){animation-delay:80ms}.ht-stagger>*:nth-child(3){animation-delay:.12s}.ht-stagger>*:nth-child(4){animation-delay:.16s}.ht-stagger>*:nth-child(5){animation-delay:.2s}.ht-stagger>*:nth-child(6){animation-delay:.24s}.ht-stagger>*:nth-child(7){animation-delay:.28s}.ht-stagger>*:nth-child(8){animation-delay:.32s}.ht-title__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:.55rem;border-bottom:1px solid var(--rule-strong)}.ht-brand{font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.42em;text-transform:uppercase;color:var(--ink-dim)}.ht-rarity{font-family:var(--font-mono);font-size:.58rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--rule);color:var(--ink-dim)}.ht-rarity.is-uncommon{color:var(--orb);border-color:rgb(var(--orb-rgb) / .5)}.ht-rarity.is-rare{color:var(--accent);border-color:rgb(var(--accent-rgb) / .65)}.ht-rarity.is-error{color:var(--hazard);border-color:rgb(var(--hazard-rgb) / .6)}.ht-rarity.is-legendary{color:#06040f;background:var(--accent);border-color:var(--accent)}.ht-title__name{font-size:clamp(2.2rem,13vw,4.6rem);font-weight:800;line-height:.92;letter-spacing:.005em;text-transform:uppercase;overflow-wrap:break-word;color:rgb(var(--ramp4-rgb));text-shadow:0 0 42px rgb(var(--accent-rgb) / .4)}.ht-title__tag{font-size:.95rem;line-height:1.45;color:var(--ink-dim);max-width:34ch}.ht-facts{list-style:none;display:flex;flex-direction:column}.ht-facts li{font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);padding:.5rem 0;border-top:1px solid var(--rule);overflow-wrap:break-word}.ht-facts li:last-child{border-bottom:1px solid var(--rule)}.ht-scoreline{display:flex;gap:1.6rem;flex-wrap:wrap}.ht-scoreline__item{display:flex;flex-direction:column;gap:3px}.ht-scoreline__k{font-family:var(--font-mono);font-size:.58rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint)}.ht-scoreline__v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700;color:var(--ink)}.ht-btn{pointer-events:auto;touch-action:manipulation;display:block;width:100%;padding:1.05rem 1rem;border:1px solid var(--accent);background:#05010f80;color:var(--accent);font-family:var(--font-mono);font-size:.92rem;font-weight:700;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;cursor:pointer;transition:transform .14s ease,opacity .14s ease}.ht-btn:active{transform:scale(.985)}.ht-btn--primary{background:var(--accent);color:var(--on-accent);box-shadow:0 0 44px rgb(var(--accent-rgb) / .36);font-size:1rem}.ht-btn--ghost{border-color:var(--rule);color:var(--ink-dim)}.ht-btn--danger{border-color:rgb(var(--hazard-rgb) / .7);color:var(--hazard)}.ht-btn:focus-visible,.ht-iconbtn:focus-visible,.ht-seg button:focus-visible,.ht-check:focus-within,.ht-range:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.ht-btnrow{display:flex;gap:.6rem}.ht-btnrow .ht-btn{flex:1 1 0;letter-spacing:.18em;text-indent:.18em;font-size:.78rem;padding:.9rem .5rem}.ht-settings-wrap{display:flex;flex-direction:column;gap:.6rem}.ht-settings{display:flex;flex-direction:column;gap:1rem;padding-top:.9rem;border-top:1px solid var(--rule);animation:ht-fade .2s ease both}.ht-field{display:flex;flex-direction:column;gap:.4rem}.ht-field__head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.ht-label{font-family:var(--font-mono);font-size:.64rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}.ht-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.64rem;letter-spacing:.12em;color:var(--accent)}.ht-help{font-size:.72rem;line-height:1.45;color:var(--ink-faint);max-width:38ch}.ht-range{pointer-events:auto;touch-action:none;-webkit-appearance:none;appearance:none;width:100%;height:26px;background:transparent;cursor:pointer}.ht-range::-webkit-slider-runnable-track{height:3px;background:#fff3}.ht-range::-moz-range-track{height:3px;background:#fff3}.ht-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-top:-8px;border-radius:0;border:none;background:var(--accent);transform:rotate(45deg)}.ht-range::-moz-range-thumb{width:18px;height:18px;border-radius:0;border:none;background:var(--accent)}.ht-seg{display:flex;border:1px solid var(--rule)}.ht-seg button{pointer-events:auto;touch-action:manipulation;flex:1 1 0;padding:.6rem .2rem;border:0;border-left:1px solid var(--rule);background:transparent;color:var(--ink-dim);font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.ht-seg button:first-child{border-left:0}.ht-seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.ht-check{display:flex;align-items:flex-start;gap:.75rem;min-height:44px;padding:.35rem 0;cursor:pointer;pointer-events:auto;touch-action:manipulation}.ht-check input{-webkit-appearance:none;appearance:none;flex:0 0 auto;width:22px;height:22px;margin-top:1px;border:1px solid var(--rule-strong);background:transparent;cursor:pointer}.ht-check input:checked{background:var(--accent);box-shadow:inset 0 0 0 3px var(--on-accent)}.ht-check__body{display:flex;flex-direction:column;gap:.2rem}.ht-count{margin:auto;font-family:var(--font-mono);font-size:clamp(4.5rem,30vw,11rem);font-weight:700;line-height:1;letter-spacing:.06em;color:var(--ink);text-shadow:0 0 60px rgb(var(--accent-rgb) / .6);animation:ht-count .62s cubic-bezier(.16,1,.3,1) both}@keyframes ht-count{0%{opacity:0;transform:scale(1.45)}55%{opacity:1;transform:scale(1)}to{opacity:.75;transform:scale(1)}}.ht-heading{font-size:clamp(1.7rem,9vw,2.8rem);font-weight:800;line-height:1;letter-spacing:.04em;text-transform:uppercase}.ht-ribbon{align-self:flex-start;padding:.35rem .8rem;background:var(--orb);color:var(--on-orb);font-family:var(--font-mono);font-size:.64rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;animation:ht-pop .52s cubic-bezier(.34,1.56,.64,1) both}@keyframes ht-pop{0%{opacity:0;transform:scale(.7) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(-2deg)}}.ht-bigscore{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(3rem,18vw,5.5rem);font-weight:700;line-height:.95;letter-spacing:.01em;color:var(--accent);text-shadow:0 0 50px rgb(var(--accent-rgb) / .45)}.ht-rows{display:flex;flex-direction:column}.ht-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.55rem 0;border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}.ht-row:last-child{border-bottom:1px solid var(--rule)}.ht-row__k{color:var(--ink-faint)}.ht-row__v{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink);text-align:right}.ht-row--hl .ht-row__v{color:var(--accent)}.ht-error{border-left:2px solid var(--hazard);padding-left:1rem;font-size:.86rem;line-height:1.55;color:var(--ink-dim);overflow-wrap:break-word}.ht-error__code{font-family:var(--font-mono);font-size:.68rem;line-height:1.5;white-space:pre-wrap;color:var(--ink-dim);max-height:34vh;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}.ht-toast{position:absolute;left:50%;bottom:calc(var(--gutter-b) + 4.5rem);transform:translate3d(-50%,12px,0);max-width:min(90vw,26rem);padding:.7rem 1.1rem;background:#000000d1;border:1px solid var(--rule-strong);color:var(--ink);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.ht-toast.is-on{opacity:1;transform:translate3d(-50%,0,0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.ht-reduced *,.ht-reduced *:before,.ht-reduced *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}@media(max-height:700px){.ht-panel{gap:.85rem}.ht-title__tag{font-size:.85rem}.ht-facts li{padding:.38rem 0;font-size:.66rem}.ht-btn{padding:.85rem 1rem}}@media(max-height:460px)and (orientation:landscape){.ht-title__name{font-size:clamp(1.6rem,7vw,2.6rem)}.ht-count{font-size:clamp(3rem,18vh,6rem)}.ht-combo{top:calc(var(--gutter-t) + 3.6rem)}}.ht-howto__h{margin:.1em 0 .3em;font-size:clamp(1.5rem,7vw,2.1rem);font-weight:800;letter-spacing:-.01em;line-height:1.05}.ht-howto__lede{margin:0 0 1.4em;color:rgb(var(--ramp4-rgb) / .72);line-height:1.45}.ht-howto__sub{margin:1.6em 0 .7em;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--accent-rgb))}.ht-howto__keys{display:grid;grid-template-columns:minmax(6.5em,auto) 1fr;gap:.5em 1em;margin:0;align-items:baseline}.ht-howto__keys dt{font-family:var(--font-mono);font-size:.82rem;font-weight:700;color:rgb(var(--ramp4-rgb));white-space:nowrap}.ht-howto__keys dd{margin:0;color:rgb(var(--ramp4-rgb) / .74);line-height:1.35}@media(max-width:340px){.ht-howto__keys{grid-template-columns:1fr;gap:.15em}.ht-howto__keys dd{margin-bottom:.6em}}.ht-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85em}.ht-legend__item{display:flex;gap:.8em;align-items:flex-start}.ht-legend__dot{flex:none;width:.95em;height:.95em;margin-top:.28em;border-radius:50%}.ht-legend__dot.is-orb{background:rgb(var(--orb-rgb));box-shadow:0 0 .7em rgb(var(--orb-rgb) / .85)}.ht-legend__dot.is-hazard{background:rgb(var(--hazard-rgb));border-radius:2px;box-shadow:0 0 .7em rgb(var(--hazard-rgb) / .7)}.ht-legend__dot.is-accent{background:transparent;border:2px solid rgb(var(--accent-rgb));box-shadow:0 0 .6em rgb(var(--accent-rgb) / .6)}.ht-legend__dot.is-emissive{background:rgb(var(--emissive-rgb));border-radius:2px;transform:rotate(45deg);box-shadow:0 0 .7em rgb(var(--emissive-rgb) / .8)}.ht-legend__txt{display:flex;flex-direction:column;gap:.12em;line-height:1.35}.ht-legend__txt strong{font-weight:700}.ht-legend__txt span{color:rgb(var(--ramp4-rgb) / .7);font-size:.93em}.ht-howto__loop{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:.55em;color:rgb(var(--ramp4-rgb) / .8);line-height:1.4}.ht-howto__loop::marker{color:rgb(var(--accent-rgb))}.ht-howto__note{margin:1.3em 0 0;padding-left:.9em;border-left:2px solid rgb(var(--accent-rgb) / .45);color:rgb(var(--ramp4-rgb) / .66);font-size:.92em;line-height:1.45}.ht-howto__mod{margin:1.7em 0 0;padding:1em 1.1em;border:1px solid rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .07)}.ht-howto__modlabel{font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--ramp4-rgb) / .6)}.ht-howto__modname{margin-top:.15em;font-family:var(--font-mono);font-size:1.15rem;font-weight:700;letter-spacing:.06em;color:rgb(var(--accent-rgb))}.ht-howto__moddesc{margin:.35em 0 0;color:rgb(var(--ramp4-rgb) / .78);line-height:1.4}.ht-howto__modbonus{margin-top:.5em;font-family:var(--font-mono);font-size:.8rem;color:rgb(var(--ramp4-rgb) / .62)}.ht-howto .ht-btn{margin-top:1.8em}
