:root{color:#eafffb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--surface-raised:#0d1d27;--line:#245361;--line-bright:#3a8390;--text-muted:#9ab4ba;--cyan:#72f7e2;--lime:#b4f85f;--focus:#ffe66d;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);background:#04080d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background-color:#04080d;background-image:linear-gradient(#1e667014 1px,#0000 1px),linear-gradient(90deg,#1e667014 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:2rem 2rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100%}body{min-width:0;min-height:100vh;min-height:100dvh;margin:0}body:has(.dialog-card[open]){overflow:hidden}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.app-shell{width:min(100%,43rem);min-height:100vh;min-height:100dvh;padding:.75rem;padding-top:max(.75rem, var(--safe-top));padding-right:max(.75rem, var(--safe-right));padding-bottom:max(.75rem, var(--safe-bottom));padding-left:max(.75rem, var(--safe-left));place-content:center;gap:clamp(.5rem,1vmin,.75rem);margin-inline:auto;display:grid}.hero{text-align:center}.eyebrow,.subtitle,.instructions,.dialog-kicker{color:var(--text-muted);margin:0}.eyebrow,.dialog-kicker{letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:800}h1{color:var(--cyan);letter-spacing:.09em;text-shadow:0 0 1.5rem #72f7e23d;margin:.2rem 0;font-size:clamp(2.5rem,7vmin,4rem);line-height:.95}.subtitle{font-size:1rem}.game-panel{gap:clamp(.4rem,.8vmin,.65rem);display:grid}.scoreboard{border:1px solid var(--line);background:#09141ce0;border-radius:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.scoreboard__item{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.6rem 1rem;display:flex}.scoreboard__item+.scoreboard__item{border-left:1px solid var(--line)}.scoreboard dt{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:800}.scoreboard dd{color:var(--lime);font-variant-numeric:tabular-nums;margin:0;font-size:1.35rem;font-weight:800}.arena-frame{width:min(100%,max(14rem,100vh - 26rem));border:1px solid var(--line-bright);background:#071018;border-radius:.85rem;width:min(100%,max(14rem,100dvh - 26rem));margin-inline:auto;padding:.4rem;box-shadow:0 1rem 3rem #00000057,0 0 1.75rem #72f7e214}.arena-canvas{aspect-ratio:1;touch-action:pinch-zoom;background:#051017;border:1px solid #173945;border-radius:.55rem;width:100%;display:block}.instructions{text-align:center;font-size:.86rem;line-height:1.45}.dpad{touch-action:none;-webkit-user-select:none;user-select:none;grid-template:repeat(2,48px)/repeat(3,48px);gap:.45rem;width:max-content;margin-inline:auto;display:grid}.dpad__button{border:1px solid var(--line-bright);width:48px;height:48px;color:var(--cyan);cursor:pointer;background:#0d1d27c7;border-radius:.65rem;place-items:center;padding:0;font-size:1.35rem;font-weight:800;line-height:1;display:grid}.dpad__button:hover{border-color:var(--cyan);background:#112a34}.dpad__button--up{grid-area:1/2}.dpad__button--right{grid-area:2/3}.dpad__button--down{grid-area:2/2}.dpad__button--left{grid-area:2/1}.game-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.button,.icon-button{border:1px solid var(--line-bright);background:var(--surface-raised);cursor:pointer;border-radius:.65rem;min-width:44px;min-height:48px;font-size:.86rem;font-weight:800}.button{padding:.7rem .8rem}.button:hover,.icon-button:hover{border-color:var(--cyan);background:#112a34}.button--primary{border-color:var(--cyan);background:var(--cyan);color:#03201c}.button--primary:hover{background:#b9fff5;border-color:#b9fff5}.dialog-card{width:min(100% - 1rem,27rem);max-width:calc(100vw - var(--safe-left) - var(--safe-right) - 1rem);max-height:calc(100vh - 1rem);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 1rem);border:1px solid var(--line-bright);color:#eafffb;overscroll-behavior:contain;background:#08141c;border-radius:.9rem;padding:1.25rem;overflow-y:auto;box-shadow:0 1.5rem 5rem #000000b3}.dialog-card::backdrop{background:#010509c7}.dialog-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dialog-card h2{margin:.15rem 0 0;font-size:1.6rem}.icon-button{flex:0 0 48px;place-items:center;width:48px;padding:0;font-size:1.7rem;line-height:1;display:grid}.settings-list{gap:.55rem;margin-top:1.25rem;display:grid}.setting{border:1px solid var(--line);background:var(--surface-raised);cursor:pointer;border-radius:.65rem;justify-content:space-between;align-items:center;gap:1rem;min-height:56px;padding:.35rem .35rem .35rem .85rem;font-weight:700;display:flex}.setting:focus-within{border-color:var(--focus)}.setting input{width:44px;height:44px;accent-color:var(--lime);cursor:pointer;margin:0}.setting select{border:1px solid var(--line-bright);color:#eafffb;width:10rem;min-width:0;max-width:100%;min-height:44px;font:inherit;cursor:pointer;background:#08141c;border-radius:.45rem;flex:0 0 10rem;padding:.45rem 1.25rem .45rem .4rem}#setting-walls{flex:0 0 10.5rem;width:10.5rem}.setting--select{gap:.25rem}.dialog-card--game-over{text-align:center}.final-score{color:var(--text-muted);gap:.2rem;margin:1.25rem 0;display:grid}.final-score strong{color:var(--lime);font-size:3rem;line-height:1}.new-best{color:var(--focus);font-weight:800}.dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}.app-shell[data-high-contrast=true]{--surface-raised:#000;--line:#fff;--line-bright:#fff;--text-muted:#fff;--cyan:#0ff;--lime:#ff0;--focus:#0ff;color:#fff;background:#000}.app-shell[data-high-contrast=true] h1,.app-shell[data-high-contrast=true] .scoreboard dd,.app-shell[data-high-contrast=true] .final-score strong,.app-shell[data-high-contrast=true] .new-best{text-shadow:none}.app-shell[data-high-contrast=true] .scoreboard,.app-shell[data-high-contrast=true] .arena-frame,.app-shell[data-high-contrast=true] .arena-canvas,.app-shell[data-high-contrast=true] .dialog-card,.app-shell[data-high-contrast=true] .setting,.app-shell[data-high-contrast=true] .setting select,.app-shell[data-high-contrast=true] .button,.app-shell[data-high-contrast=true] .icon-button,.app-shell[data-high-contrast=true] .dpad__button{color:#fff;box-shadow:none;background:#000;border-color:#fff}.app-shell[data-high-contrast=true] .button--primary,.app-shell[data-high-contrast=true] .button:not(:disabled):hover,.app-shell[data-high-contrast=true] .icon-button:not(:disabled):hover,.app-shell[data-high-contrast=true] .dpad__button:not(:disabled):hover{color:#000;background:#0ff;border-color:#0ff}.app-shell[data-high-contrast=true] button:focus-visible,.app-shell[data-high-contrast=true] input:focus-visible,.app-shell[data-high-contrast=true] select:focus-visible{outline-color:#0ff}.app-shell[data-high-contrast=true] button:disabled,.app-shell[data-high-contrast=true] button:disabled:hover,.app-shell[data-high-contrast=true] button:disabled:focus,.app-shell[data-high-contrast=true] button:disabled:active{color:#bbb;cursor:not-allowed;background:#242424;border-color:#999}.app-shell[data-high-contrast=true] .scoreboard dd,.app-shell[data-high-contrast=true] .final-score strong,.app-shell[data-high-contrast=true] .new-best{color:#ff0}.app-shell[data-high-contrast=true] .setting:focus-within{border-color:#0ff}.app-shell[data-high-contrast=true] .setting input{accent-color:#0ff}.app-shell[data-high-contrast=true] .dialog-card::backdrop{background:#000000eb}.app-shell[data-reduced-motion=true],.app-shell[data-reduced-motion=true] *,.app-shell[data-reduced-motion=true] :before,.app-shell[data-reduced-motion=true] :after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}@media (orientation:portrait) and (max-width:30rem){.app-shell{padding:.35rem .5rem;padding-top:max(.35rem, var(--safe-top));padding-right:max(.5rem, var(--safe-right));padding-bottom:max(.35rem, var(--safe-bottom));padding-left:max(.5rem, var(--safe-left));gap:.3rem}.eyebrow{font-size:.56rem;line-height:1.15}h1{margin-block:.05rem;font-size:2rem;line-height:.95}.subtitle{font-size:.72rem;line-height:1.15}.game-panel{gap:.25rem}.scoreboard__item{padding:.25rem .55rem}.scoreboard dt{font-size:.6rem}.scoreboard dd{font-size:1rem}.arena-frame{width:min(100%,max(14rem,100vh - 22.5rem));width:min(100%,max(14rem,100dvh - 22.5rem));padding:.25rem}.instructions{font-size:.65rem;line-height:1.2}.dpad{grid-template:repeat(2,44px)/repeat(3,44px);gap:.25rem}.dpad__button{width:44px;height:44px}.game-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem}.button{min-height:44px;padding:.35rem .2rem;font-size:.68rem}}@media (orientation:landscape) and (max-height:30rem) and (min-width:31rem){.app-shell{width:100%;height:100vh;height:100dvh;min-height:20rem;padding:.35rem .5rem;padding-top:max(.35rem, var(--safe-top));padding-right:max(.5rem, var(--safe-right));padding-bottom:max(.35rem, var(--safe-bottom));padding-left:max(.5rem, var(--safe-left));display:block;position:relative}.hero{z-index:1;top:max(.35rem, var(--safe-top));left:max(.5rem, var(--safe-left));width:44%;position:absolute}.eyebrow{font-size:.52rem;line-height:1}h1{margin-block:.05rem;font-size:1.75rem;line-height:.95}.subtitle{font-size:.65rem;line-height:1.1}.game-panel{grid-template:"empty arena"3.5rem"scoreboard arena""instructions arena"minmax(0,1fr)"instructions dpad""instructions actions"/minmax(15.5rem,.9fr) minmax(0,1fr);align-items:center;gap:.3rem .5rem;width:100%;height:100%;display:grid}.hud{grid-area:scoreboard}.scoreboard__item{padding:.2rem .45rem}.scoreboard dt{font-size:.58rem}.scoreboard dd{font-size:.95rem}.arena-frame{width:min(100%,max(9.5rem,100vh - 10rem));grid-area:arena;width:min(100%,max(9.5rem,100dvh - 10rem));padding:.25rem}.instructions{grid-area:instructions;font-size:.62rem;line-height:1.2}.dpad{grid-template:repeat(2,44px)/repeat(3,44px);grid-area:dpad;gap:.25rem}.dpad__button{width:44px;height:44px}.game-actions{grid-area:actions;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem}.button{min-height:44px;padding:.35rem .3rem;font-size:.68rem}}
