:root{--cyan:#9de1e2;--ice:#bcd8ea;--lavender:#b7a6e5;--pink:#db72b5;--peach:#f1a36b;--cream:#ffe7a1;--floor:#71869b;--ink:#26364c}*{box-sizing:border-box}html,body{background:var(--ink);touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;margin:0;padding:0;overflow:hidden}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#game-root{background:var(--floor);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#game-stage{flex-direction:column;align-items:stretch;display:flex;position:relative}#game-canvas{width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;border:2px solid var(--ink);border-bottom:none;display:block}#hud{background:linear-gradient(180deg, var(--cyan) 0%, var(--lavender) 100%);border:2px solid var(--ink);pointer-events:none;border-top-width:1px;justify-content:space-evenly;align-items:center;gap:.4rem;padding:.35rem .5rem;display:flex;box-shadow:inset 0 1px #ffffff8c}.hud-item{color:var(--ink);align-items:center;gap:.3rem;font:700 .95rem/1 Courier New,ui-monospace,monospace;display:flex}.hud-icon{width:1.05rem;height:1.05rem}#hud-score-value,#hud-multiplier-value{display:inline-block}#hint-banner{max-width:90%;color:var(--cream);text-align:center;border:1px solid var(--ink);pointer-events:none;background:#26364cc7;padding:.3rem .6rem;font:700 .72rem/1.2 Courier New,ui-monospace,monospace;position:absolute;top:.4rem;left:50%;transform:translate(-50%)}#hint-banner[hidden]{display:none}#milestone-banner{max-width:92%;color:var(--cream);text-align:center;border:1px solid var(--ink);pointer-events:none;background:#26364cc7;padding:.3rem .6rem;font:700 .72rem/1.2 Courier New,ui-monospace,monospace;position:absolute;bottom:.4rem;left:50%;transform:translate(-50%)}#milestone-banner[hidden]{display:none}#touch-controls{width:100%;max-width:480px;padding:.85rem 1rem max(.85rem, env(safe-area-inset-bottom));box-sizing:border-box;justify-content:space-between;align-items:flex-end;display:none}.touch-cluster{pointer-events:auto;grid-template-columns:repeat(4,3.4rem);gap:.5rem;display:grid}.touch-btn{border:2px solid var(--ink);width:3.4rem;height:3.4rem;color:var(--ink);touch-action:none;background:#bcd8eae0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.touch-btn svg{width:1.6rem;height:1.6rem}.touch-fire{pointer-events:auto;background:#f1a36be0;align-self:flex-end;width:4.2rem;height:4.2rem}.touch-fire svg{width:1.8rem;height:1.8rem}.touch-pause{pointer-events:auto;background:#db72b5e0;align-self:flex-end}@media (hover:none),(pointer:coarse){#touch-controls{display:flex}}.menu-overlay{background:#26364c73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow:hidden}.menu-overlay[hidden]{display:none}.menu-panel{border:3px solid var(--ink);width:min(100%,20rem);max-height:100%;color:var(--ink);background:#ffffffeb;flex-direction:column;align-items:stretch;gap:.7rem;padding:1rem 1.4rem;font-family:Courier New,ui-monospace,monospace;display:flex;overflow-y:auto}.menu-panel-wide{width:min(100%,30rem)}.menu-title{letter-spacing:.05em;text-transform:uppercase;text-align:center;margin:0;font-size:1.1rem}.menu-subtitle{text-align:center;opacity:.85;margin:0;font-size:.8rem}.menu-list{flex-direction:column;gap:.5rem;display:flex}.menu-list-row{flex-direction:row;justify-content:center}.menu-option{min-height:44px;color:var(--ink);border:2px solid var(--ink);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;background:#bcd8eae0;padding:.5rem .8rem;font:700 .85rem/1.2 Courier New,ui-monospace,monospace}.menu-option:hover,.menu-option:focus-visible{background:#9de1e2f2;outline:none}.menu-option.is-selected{background:var(--peach);box-shadow:inset 0 0 0 2px var(--ink)}.menu-option:disabled{color:#26364c8c;cursor:not-allowed;background:#71869b59}.slot-list .menu-option{text-transform:none;letter-spacing:normal;flex-direction:column;align-items:flex-start;gap:.15rem;display:flex}.slot-list .slot-title{text-transform:uppercase;font-weight:700}.slot-list .slot-detail{opacity:.8;font-size:.75rem}.how-to-play-list{grid-template-columns:auto auto;gap:.2rem .9rem;margin:0;font-size:.85rem;display:grid}.how-to-play-list>div{display:contents}.how-to-play-list dt{opacity:.75;text-align:right;font-weight:400}.how-to-play-list dd{text-align:left;margin:0;font-weight:700}.upgrade-cards{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.6rem;display:grid}.upgrade-card{color:var(--ink);border:2px solid var(--ink);text-align:left;cursor:pointer;background:#bcd8eae0;flex-direction:column;gap:.3rem;min-height:44px;padding:.6rem .7rem;font-family:Courier New,ui-monospace,monospace;display:flex}.upgrade-card:hover,.upgrade-card:focus-visible{background:#9de1e2f2;outline:none}.upgrade-card.is-selected{background:var(--peach);box-shadow:inset 0 0 0 2px var(--ink)}.upgrade-card .upgrade-key{background:var(--ink);color:var(--cream);align-self:flex-start;padding:.05rem .35rem;font-size:.7rem;font-weight:700}.upgrade-card .upgrade-name{text-transform:uppercase;font-size:.9rem;font-weight:700}.upgrade-card .upgrade-level{opacity:.75;font-size:.7rem}.upgrade-card .upgrade-description{font-size:.75rem}.upgrade-card .upgrade-value{color:var(--pink);font-size:.8rem;font-weight:700}#results-stats{grid-template-columns:auto auto;gap:.15rem .9rem;margin:0;font-size:.85rem;display:grid}#results-stats>div{display:contents}#results-stats dt{opacity:.75;text-align:right;font-weight:400}#results-stats dd{text-align:left;margin:0;font-weight:700}
