:root{color-scheme:dark;--bg:#12291f;--panel:#1b3529;--border:#375440;--cream:#f4f3d5;--muted:#becbb2;--lime:#c2f66d;--purple:#c9b4f1;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--cream)}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--border);border-radius:9px;background:var(--panel);padding:11px 16px;font-size:13px;font-weight:700}button:hover{border-color:var(--lime)}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--lime);outline-offset:3px}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}button[hidden],[hidden]{display:none!important}.shell{max-width:1140px;margin:auto;padding:0 34px}header{height:87px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;font-size:18px;font-weight:900;letter-spacing:-.7px;gap:8px}.brand span{color:var(--lime);margin-left:-8px}.header-actions{display:flex;align-items:center;gap:24px;font-size:13px}.header-actions button{padding:8px 12px;background:transparent}.intro{display:flex;justify-content:space-between;align-items:center;padding:42px 2px 32px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.5px;color:var(--lime);margin:0 0 13px}h1{font-size:clamp(44px,6.5vw,75px);line-height:.98;letter-spacing:-4px;margin:0;font-weight:900}h1 em{font-style:normal;color:var(--lime)}.intro-copy{font-size:14px;line-height:1.65;color:var(--muted);margin:17px 0 0}.intro-stamp{border:1px solid #607454;border-radius:50%;width:164px;height:164px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);position:relative;margin-right:45px}.intro-stamp span{font-weight:900;font-size:40px;letter-spacing:-2px}.intro-stamp small{font-size:8px;letter-spacing:1.7px;margin-top:6px}.stamp-ball{position:absolute;bottom:-9px;right:3px;font-size:46px;color:var(--lime);background:var(--bg);line-height:1}.game-card{border:1px solid #4c6549;border-radius:15px;overflow:hidden;box-shadow:0 18px 40px #06130e55}.scoreboard{display:flex;justify-content:space-between;align-items:center;background:#1b3024;padding:16px 24px;height:74px}.team{display:flex;align-items:center;gap:12px;width:35%}.team.right{justify-content:flex-end}.team strong{font-size:12px;letter-spacing:1.5px}.team-dot{width:10px;height:10px;border-radius:50%}.lime{background:var(--lime)}.purple{background:var(--purple)}.score{font-weight:900;font-size:35px;line-height:1;margin-left:15px}.right .score{margin-right:15px;margin-left:0}.clock{text-align:center}.clock>span{font-size:23px;font-variant-numeric:tabular-nums;font-weight:800}.clock small{display:block;font-size:8px;letter-spacing:1.6px;color:var(--muted);margin-top:3px}.arena{position:relative;background:#9abb76}canvas{display:block;width:100%;height:auto;aspect-ratio:1000/520}#announcement{position:absolute;top:24%;left:10%;width:80%;text-align:center;font-weight:900;letter-spacing:-1px;font-size:clamp(24px,4vw,50px);color:#f9fadd;text-shadow:0 3px 0 #173f25,0 1px 9px #173f25;pointer-events:none}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#10281ee8;z-index:2;padding:16px;text-align:center}.overlay h2{font-size:42px;letter-spacing:-2px;margin:0}.overlay p:not(.eyebrow){font-size:13px;color:var(--muted)}.overlay-actions{display:flex;gap:10px}.controls{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;background:#1b3024;gap:8px}.control-title{display:block;font-size:10px;font-weight:800;letter-spacing:1px;margin:0 0 8px;color:var(--lime)}.control-title span{margin-left:8px;color:var(--muted);font-size:9px}.control-side:last-child .control-title{color:var(--purple)}.pad{display:flex;gap:6px}.pad button{height:46px;min-width:46px;touch-action:none;user-select:none;-webkit-user-select:none}.pad button:nth-child(3){font-size:11px}.pad .ability-button{min-width:80px;background:#c2f66d;color:#173421;border:0;font-size:12px;padding:5px 12px;position:relative}.ability-button small{display:block;font-size:8px;letter-spacing:1px;margin-top:3px}.control-side:last-child .ability-button{background:var(--purple);color:#26183c}.pad button.active{transform:translateY(2px);background:#526b45}.pad .ability-button.active{background:#e1ffa3}.mid-controls{text-align:center}.mid-controls button{padding:7px 12px;margin-bottom:7px}.mid-controls span{display:block;font-size:7px;line-height:1.4;letter-spacing:1.1px;color:var(--muted)}.setup{padding:29px 27px;margin-top:22px;background:var(--panel);border:1px solid var(--border);border-radius:13px}.setup-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.setup .eyebrow{font-size:8px;margin-bottom:9px}.setup h2{font-size:23px;letter-spacing:-.8px;margin:0}.mode-switch{display:flex;border:1px solid var(--border);border-radius:9px;padding:4px;gap:4px}.mode-switch button{background:transparent;border:0;font-size:12px;padding:10px 15px}.mode-switch .selected{background:var(--cream);color:#183020}.setup-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:24px;margin:25px 0 15px}label{display:flex;justify-content:space-between;font-size:11px;font-weight:700;margin-bottom:9px}label span{font-size:9px;color:var(--muted)}select{width:100%;padding:12px 10px;border-radius:8px;border:1px solid #4e6850;background:#12291f;font-size:12px;font-weight:700}.ability-description{font-size:11px;line-height:1.65;color:var(--muted);margin:10px 0;max-width:250px}.match-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}.match-options label{grid-column:1/3;margin:0}.match-options select{grid-column:1/3;padding:8px}.setup-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--border);padding-top:18px}.setup-bottom p{max-width:500px;font-size:11px;line-height:1.6;color:var(--muted);margin:0}.primary{background:var(--lime);color:#183020;border-color:var(--lime);padding:14px 24px;white-space:nowrap}.primary span{margin-left:15px}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin:39px 2px}.step{font-size:10px;font-weight:700;color:var(--lime);border:1px solid var(--border);border-radius:6px;padding:5px 8px}.how h3{font-size:15px;margin:15px 0 9px}.how p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}footer{border-top:1px solid var(--border);padding:22px 0 28px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}footer>span:first-child{letter-spacing:1px}.footer-dot{color:var(--lime);margin:0 9px}body.playing .intro{display:none}body.playing .game-card{margin-top:22px}body.playing .how{display:none}body.playing .setup{display:none}body.playing footer{margin-top:20px}.cpu .control-side:last-child{opacity:.6}.cpu .control-side:last-child .pad button{pointer-events:none}body.playing .cpu .control-side:last-child .pad button{opacity:.5}@media(max-width:700px){.shell{padding:0 14px}header{height:64px}.brand{font-size:15px}.brand img{width:28px;height:28px}.header-actions{gap:10px;font-size:10px}.header-actions button{font-size:10px;padding:7px 8px}.intro{padding:28px 0 24px}h1{letter-spacing:-2px;font-size:50px}.intro-copy{font-size:12px}.intro-stamp{width:90px;height:90px;margin-right:3px}.intro-stamp span{font-size:27px}.intro-stamp small{font-size:5px;letter-spacing:.6px}.stamp-ball{font-size:32px}.scoreboard{padding:11px 12px;height:60px}.team{gap:6px}.team strong{font-size:9px;letter-spacing:.5px}.score{font-size:28px;margin-left:6px}.right .score{margin-right:6px}.clock>span{font-size:19px}.clock small{font-size:6px}.controls{padding:12px 8px;gap:4px}.control-title{font-size:9px}.control-title span{display:none}.pad{gap:3px}.pad button{min-width:30px;height:48px;padding:6px;font-size:10px;border-radius:7px}.pad button:nth-child(3){font-size:9px}.pad .ability-button{min-width:48px;font-size:10px;padding:4px}.ability-button small{font-size:7px;letter-spacing:0}.mid-controls button{padding:8px;margin:0;font-size:11px}.mid-controls span{display:none}.setup{padding:20px 16px;margin-top:15px}.setup-top{flex-direction:column;align-items:flex-start;gap:16px}.setup h2{font-size:21px}.mode-switch{width:100%}.mode-switch button{flex:1}.setup-grid{grid-template-columns:1fr 1fr;gap:15px;margin-top:21px}.match-options{grid-column:1/3;grid-template-columns:1fr 1fr;gap:8px 15px}.match-options label{grid-column:auto;grid-row:1}.match-options select{grid-column:auto;grid-row:2}.setup-bottom{flex-direction:column;align-items:stretch;gap:14px}.setup-bottom .primary{width:100%}.how{grid-template-columns:1fr;gap:24px;margin:28px 5px}.how>div{position:relative;padding-left:45px}.step{position:absolute;left:0;top:0}.how h3{margin-top:0}.how p{font-size:11px}footer{gap:14px;flex-direction:column;font-size:8px}body.playing header{height:50px}body.playing .game-card{margin-top:12px}.overlay h2{font-size:28px}.overlay p:not(.eyebrow){margin:8px 0}.overlay .eyebrow{margin-bottom:5px;font-size:8px}.overlay-actions button{padding:9px;font-size:10px}}@media(max-height:500px) and (orientation:landscape){body.playing .shell{max-width:800px}body.playing header,body.playing footer{display:none}body.playing .game-card{margin-top:5px}body.playing .scoreboard{height:40px;padding:5px 15px}body.playing canvas{max-height:calc(100dvh - 125px);object-fit:contain}body.playing .controls{padding:5px 12px}.control-title{margin-bottom:3px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:450px){.control-side{flex:1;min-width:0}.pad{display:grid;grid-template-columns:1fr 1fr;gap:5px}.pad button,.pad .ability-button{min-width:0;width:100%;height:46px}.mid-controls{padding:0 3px}.controls{gap:8px}.control-title{margin-bottom:7px}}

.fps{display:block;font-size:8px;color:var(--lime);margin-top:3px;font-variant-numeric:tabular-nums}.scoreboard{height:82px}.round-label{margin:0;padding:8px 12px;background:#14291f;color:var(--muted);font-size:9px;letter-spacing:.4px;text-align:center}.match-stats{padding:16px 24px;background:var(--panel);border-top:1px solid var(--border)}.match-stats h3{margin:0 0 10px;font-size:13px}.match-stats table{border-collapse:collapse;width:100%;text-align:center;font-size:12px}.match-stats th,.match-stats td{padding:7px;border-bottom:1px solid var(--border)}.match-stats th{font-weight:400;color:var(--muted)}.match-stats td{font-variant-numeric:tabular-nums;color:var(--lime)}.format-row{display:flex;align-items:center;gap:15px;border-top:1px solid var(--border);padding:14px 0}.format-row label{margin:0;white-space:nowrap}.format-row select{width:240px}.format-row span{color:var(--muted);font-size:10px}.pad .strike-button{font-size:11px;background:#304937}.header-actions{gap:12px}#graphics{font-size:10px;padding:8px 9px}.pad{gap:5px}.control-title span{font-size:8px}
@media(max-width:700px){.format-row{flex-wrap:wrap;gap:10px}.format-row select{width:calc(100% - 90px)}.format-row span{width:100%}.scoreboard{height:67px}.pad .strike-button{font-size:9px}#graphics{font-size:8px;padding:7px 5px}.header-actions{gap:5px}.header-actions>a{font-size:8px}.brand{font-size:13px;gap:6px}.brand span{margin-left:-6px}.brand img{width:23px;height:23px}.header-actions button{font-size:8px;padding:7px 6px}.overlay-copy{max-width:270px}.round-label{font-size:8px}.match-stats{padding:12px 14px}}
@media(max-width:450px){.pad{grid-template-columns:repeat(6,minmax(0,1fr))}.pad button:nth-child(1),.pad button:nth-child(2){grid-column:span 3}.pad button:nth-child(n+3){grid-column:span 2}.pad button,.pad .ability-button{height:46px}.pad button:nth-child(3),.pad .strike-button,.pad .ability-button{font-size:8px;padding:3px 0}.ability-button small{font-size:7px}.controls{gap:5px}.mid-controls{padding:0}.mid-controls button{padding:7px}.header-actions{gap:4px}}
@media(max-height:500px) and (orientation:landscape){body.playing canvas{max-height:calc(100dvh - 143px)}body.playing .round-label{padding:4px 8px}body.playing .clock>span{font-size:15px}body.playing .fps{display:inline-block;margin-left:6px;font-size:7px}body.playing .clock small{display:inline-block;margin-left:6px}.pad .strike-button{min-width:40px}}

@media(max-height:500px) and (orientation:landscape){body.playing canvas{width:min(100%,calc((100dvh - 143px) * 1000 / 520));height:auto;margin-inline:auto}body.playing .arena{background:#183726}}
