:root{--navy:#081b44;--blue:#002395;--red:#ce2434;--cream:#f7f4eb;--yellow:#f9e842}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--navy);font:16px/1.5 system-ui,-apple-system,sans-serif}a{color:inherit}button,select{font:inherit;cursor:pointer}button{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #e3aa16;outline-offset:4px}.game-header{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;border-bottom:1px solid #d7d8dd;background:#fff;gap:16px}.game-header a{font-weight:900;text-decoration:none;font-size:22px}.game-header>span{font:12px monospace;letter-spacing:.16em}.language select{border:1px solid #c6ccd8;background:#fff;padding:8px;border-radius:4px;color:var(--navy)}main{max-width:1120px;margin:auto;padding:35px 28px 55px}.intro-copy{margin-bottom:28px}.eyebrow{font:700 11px/1.4 monospace;letter-spacing:.17em;color:var(--red)}h1{margin:8px 0;font-size:18px;letter-spacing:.03em}h1 span{display:block;font:900 clamp(29px,5vw,54px)/1.15 monospace;letter-spacing:-.05em}h2,h3{line-height:1.15}.intro-copy>p:last-child{margin:12px 0;color:#566077}.arcade-layout{display:grid;grid-template-columns:minmax(0,560px) 1fr;gap:55px;align-items:start}.cabinet{padding:12px;background:var(--navy);border-radius:16px;box-shadow:0 9px 0 #020b20,0 18px 30px #081b4422;overflow:hidden}.tricolour{height:5px;display:flex;margin:0 4px 12px}.tricolour i{flex:1;background:var(--blue)}.tricolour i:nth-child(2){background:white}.tricolour i:last-child{background:var(--red)}.scoreboard{display:flex;justify-content:space-between;align-items:center;color:#fff;padding:4px 20px 12px;font-family:monospace}.scoreboard strong{display:block;font-size:38px;line-height:1.2;letter-spacing:.08em}.scoreboard span{font-size:11px;letter-spacing:.08em}.score-player{border-left:4px solid #5988ff;padding-left:12px}.score-cpu{border-right:4px solid #fa6772;padding-right:12px;text-align:right}.score-center{display:grid;gap:8px;text-align:center}.score-center span:last-child{color:var(--yellow)}.screen{position:relative;border:2px solid #607397;overflow:hidden;background:#081b44;border-radius:3px}canvas{display:block;width:100%;height:auto;aspect-ratio:4/5;image-rendering:pixelated;touch-action:none;user-select:none}.overlay{position:absolute;inset:0;background:linear-gradient(180deg,#061434ee,#061434cc);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;padding:22px;z-index:2;overflow:hidden}.overlay[hidden]{display:none}.overlay>*{position:relative;z-index:1}.overlay .insert{color:var(--yellow);font:700 12px monospace;letter-spacing:.12em;margin:0 0 14px}.overlay h2{font:900 clamp(24px,4vw,38px)/1.2 monospace;text-shadow:3px 3px #002395;margin:0 0 14px}.overlay p{max-width:330px;font-size:14px}.overlay label{font-size:12px;margin:4px 0 18px}.overlay select{background:#102856;color:white;border:1px solid #7385aa;padding:6px 8px;border-radius:3px}.primary,.secondary{min-height:46px;padding:12px 25px;font:700 14px monospace;border:0;border-radius:4px;box-shadow:0 4px 0 #8e1421;letter-spacing:.06em;background:var(--red);color:white}.primary:hover{background:#e12b3f}.secondary{background:transparent;box-shadow:none;border:1px solid #8c9bb8;margin-top:15px;font-size:12px}.intro-ball{position:absolute;width:170px;top:12%;left:calc(50% - 85px);z-index:0;opacity:.18;animation:fly-in 2s cubic-bezier(.25,.6,.2,1) both;pointer-events:none}.intro-ball svg{width:100%;filter:drop-shadow(0 0 18px #f9e84250)}@keyframes fly-in{0%{transform:translate(80px,-120px) scale(.02) rotate(-110deg);opacity:1}65%{opacity:1}100%{transform:translate(0,100px) scale(4.5) rotate(20deg);opacity:.07}}.status{min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--yellow);font:12px/1.4 monospace;padding:7px}.game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.game-toolbar button{background:#162d58;color:white;border:1px solid #53688c;border-radius:4px;padding:9px 12px;font:12px monospace;min-height:40px}.game-toolbar button:disabled{opacity:.35;cursor:default}.game-toolbar span{font:9px monospace;color:#99afce;text-align:center}.guide{padding-top:7px}.guide h2{font:800 32px/1.1 monospace;letter-spacing:-.06em;margin:12px 0 30px}.tip{display:flex;gap:16px;margin:24px 0}.tip>b{font:700 14px monospace;color:var(--red);padding-top:2px}.tip h3{font-size:17px;margin:0 0 8px}.tip p{font-size:14px;color:#536077;margin:0}.dpad{display:grid;grid-template-columns:48px 48px 48px;grid-template-rows:44px 44px 44px;justify-content:center;gap:4px;margin:26px 0}.dpad button{background:var(--navy);color:white;border:0;border-bottom:3px solid #000;border-radius:5px;font-size:23px;touch-action:none;user-select:none}.dpad button:active,.dpad button.pressed{background:var(--blue);transform:translateY(2px)}.dpad [data-dir=up]{grid-column:2}.dpad [data-dir=left]{grid-column:1;grid-row:2}.dpad span{grid-column:2;grid-row:2;text-align:center;align-self:center;color:var(--red)}.dpad [data-dir=right]{grid-column:3;grid-row:2}.dpad [data-dir=down]{grid-column:2;grid-row:3}details{border-top:1px solid #cbd0db;padding-top:16px;font-size:13px}summary{cursor:pointer;font-weight:700}details p,.keyboard-note{color:#536077;font-size:12px}.keyboard-note{line-height:1.7;margin-top:20px}footer{padding:24px 5%;border-top:1px solid #d7d8dd;font-size:11px;color:#68728a;display:flex;justify-content:space-between;gap:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}@media(max-width:800px){main{padding:24px 15px 40px}.arcade-layout{grid-template-columns:minmax(0,520px);justify-content:center;gap:30px}.intro-copy{max-width:520px;margin:0 auto 22px}.guide{display:grid;grid-template-columns:1fr;position:relative}.guide .dpad{grid-row:1;margin:10px 0 24px}.game-header>span{display:none}.game-header{padding:13px 18px}.intro-copy .eyebrow{font-size:10px}footer{flex-wrap:wrap}.cabinet{padding:8px}.scoreboard{padding:2px 10px 8px}.scoreboard strong{font-size:30px}.guide h2{font-size:27px}.overlay .intro-ball{width:130px;left:calc(50% - 65px)}.overlay h2{font-size:26px}}@media(prefers-reduced-motion:reduce){.intro-ball{animation:none;opacity:.08;transform:scale(3)}*{scroll-behavior:auto}}
/* Keep the whole playing surface visible during a match. */
body.is-playing .intro-copy{display:none}body.is-playing main{padding-top:18px}body.is-playing .cabinet{width:min(100%,calc((100svh - 300px)*.8 + 24px));justify-self:center}body.is-playing .arcade-layout{grid-template-columns:minmax(0,560px) 1fr}@media(max-width:800px){body.is-playing .arcade-layout{grid-template-columns:minmax(0,520px)}body.is-playing .cabinet{width:min(100%,calc((100svh - 240px)*.8 + 16px))}}

.game-header .languages{position:relative;z-index:10;font-size:12px}
.game-header .languages summary{list-style:none;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}
.game-header .languages summary::-webkit-details-marker{display:none}
.game-header .flag{width:30px;height:20px;object-fit:contain;flex-shrink:0;display:inline-block;vertical-align:middle;border-radius:2px;box-shadow:0 0 0 1px #233a3420}
.game-header .languages>div{position:absolute;right:0;top:100%;padding:12px 18px;background:white;box-shadow:0 8px 30px #203c3322;min-width:180px}
.game-header .language-choice{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:500;white-space:nowrap}
.game-header .language-choice:hover,.game-header .language-choice[aria-current]{color:#002395;text-decoration:underline}
