@font-face{font-family:Queensland;src:url('assets/queensland.ttf') format('truetype');font-weight:400 700;font-display:swap}*{box-sizing:border-box} :root{font-family:Queensland,'Trebuchet MS',Arial,sans-serif;color:#faf8e9;background:#102d24;font-synthesis:none;--red:#e45a49;--blue:#59bbed;--gold:#ffcf6f}body{margin:0;background:radial-gradient(ellipse at 50% 20%,#275642 0,#102d24 75%);min-height:100dvh}button{font:inherit;font-weight:700;cursor:pointer;min-height:52px;border:1px solid #ffffff30;border-radius:12px;color:inherit;background:#ffffff0c;padding:12px 20px;transition:background .15s,transform .15s}button:hover{background:#ffffff22}button:active{transform:translateY(2px)}button:focus-visible,canvas:focus-visible{outline:4px solid #ffdb83;outline-offset:4px}button:disabled{opacity:.4;cursor:default}button[hidden],[hidden]{display:none!important}#app{max-width:1500px;margin:auto;padding:22px 38px 12px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:#c4d2b4}h1{font-size:35px;line-height:1.1;letter-spacing:-1px;margin:6px 0 0;font-weight:900}h1 span{color:var(--gold)}.tools{display:flex;gap:8px}.tools button{font-size:19px}.tools span{font-size:14px}.scoreboard{max-width:930px;display:flex;align-items:center;justify-content:space-between;margin:0 auto 19px;gap:24px}.team{display:flex;align-items:center;gap:15px;flex:1}.team strong{display:block;font-size:23px;white-space:nowrap}.team small{font:800 11px Arial,sans-serif;letter-spacing:2px;display:block;margin-bottom:4px;color:#d0dacc}.team b{font:900 46px 'Trebuchet MS',sans-serif;margin-left:auto;line-height:1}.blue{text-align:right}.blue b{margin-left:0;margin-right:auto}.team-mark,.turn-badge{display:grid;place-items:center;width:48px;height:53px;border-radius:12px 12px 20px 20px;background:var(--red);font:bold 23px Arial;box-shadow:inset 0 -5px #0002}.blue .team-mark{background:var(--blue);color:#102c3b}.red strong{color:#ffa193}.blue strong{color:#97daff}.match-tag{text-align:center;padding:0 20px;display:grid;gap:4px;white-space:nowrap;border-left:1px solid #ffffff25;border-right:1px solid #ffffff25}.match-tag span{font:700 10px Arial;letter-spacing:2px;color:#bac9b5}.match-tag strong{font-size:16px;color:var(--gold)}.arena{max-width:calc((100dvh - 315px)*1.774);margin-inline:auto;border:9px solid #503321;border-radius:22px;background:#563921;box-shadow:0 0 0 2px #94683e,inset 0 0 0 2px #211a14,0 16px 50px #00180f80;overflow:hidden}.pitch-wrap{position:relative;aspect-ratio:1100/620;margin:auto;background:#31804b}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.field-label{position:absolute;top:12px;font:800 10px Arial;letter-spacing:2px;color:#fff9;pointer-events:none}.field-label.left{left:28px}.field-label.right{right:28px}.control-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:22px 0 12px;min-height:68px}.turn{display:flex;align-items:center;gap:14px}.turn-badge{width:46px;height:48px}.turn-badge.blue{background:var(--blue);color:#102c3b}.turn strong{display:block;font-size:22px}.turn div>span{display:block;font-size:14px;color:#c6d8c3;margin-top:4px}.kick-controls{display:flex;gap:18px;align-items:center}.power{display:flex;align-items:center;gap:12px}.power>span{font-size:14px;color:#cfdfc9}.power>div{display:flex;border:1px solid #ffffff25;border-radius:12px;padding:3px}.power button{border:none;min-height:48px;font-size:15px;padding:8px 16px;background:transparent}.power button.selected{background:#f2e8cb;color:#233f2e;box-shadow:0 2px 4px #0003}.kick,.primary{background:var(--gold);color:#322813;border:1px solid #ffe6a8;box-shadow:0 5px 0 #a87b32;font-size:21px;min-width:150px}.kick:hover,.primary:hover{background:#ffdc95}.kick span{margin-left:25px}.wood{background:linear-gradient(#755039,#50321f);box-shadow:inset 0 2px #ffffff26,0 4px 0 #281e15;border:2px solid #b0804a;font-size:19px}.wood span{margin-left:14px}footer{display:flex;justify-content:space-between;font-size:12px;color:#a5bba6;margin-top:15px}dialog{width:min(580px,calc(100% - 32px));border:5px solid #805333;border-radius:24px;padding:28px 32px 22px;color:#243e2d;background:#fffbed;box-shadow:0 0 0 2px #d1a56c,0 20px 100px #00180f88;text-align:center}dialog::backdrop{background:#071d19ac;backdrop-filter:blur(5px)}dialog button{color:#25432e;border-color:#244a2c30;background:#e5eddc}dialog button:hover{background:#d1e3bd}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-top .eyebrow{color:#61764f;font-size:10px;letter-spacing:1px}.read{font-size:20px;white-space:nowrap;padding:9px 12px;min-height:48px}.read span{font-size:14px}.question-icon{height:59px;width:59px;margin:22px auto 14px;border-radius:16px;background:var(--red);display:grid;place-items:center;color:#fff;font:900 28px Arial;box-shadow:inset 0 -5px #0002}h2{font-size:27px;line-height:1.2;margin:16px 0 12px}#questionText{font-size:46px;margin:14px 0 24px;font-weight:800;line-height:1.3}#questionText.word{font-size:25px;font-weight:600;line-height:1.45}.answers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.answers button{font-size:33px;min-height:84px;border:2px solid #b6cba5;box-shadow:0 4px 0 #b8c5a7;background:#fff}.answers button:hover{background:#edf4dd}.answers button.correct{background:#c6e99a;border-color:#62913f}.answers button.wrong{background:#ffe1d6;border-color:#d78769}.feedback{min-height:25px;color:#496635;font-size:17px;margin:20px 0 10px}.text-button{background:transparent!important;border:0;color:#657a55;min-height:44px;font-size:14px}.dialog-actions{display:flex;gap:15px;justify-content:center;margin:25px 0 5px}.dialog-actions button{font-size:17px;min-width:0}#mathDialog .primary{width:100%;margin-bottom:10px}#resetDialog p{font-size:19px}body:fullscreen{overflow:auto}@keyframes pop{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@media(min-width:1700px){#app{padding-top:30px}button{min-height:60px}.answers button{min-height:95px}dialog{width:650px}#questionText.word{font-size:30px}}
@media(max-width:800px){#app{padding:14px 15px 10px}header{margin-bottom:17px}h1{font-size:28px}.tools span{display:none}.tools button{padding:9px 13px;min-height:46px}.eyebrow{font-size:10px}.scoreboard{gap:10px;margin-bottom:14px}.team{gap:9px}.team strong{font-size:17px}.team small{font-size:9px;letter-spacing:1px}.team-mark{width:35px;height:42px;font-size:18px}.team b{font-size:35px}.match-tag{padding:0 12px}.match-tag strong{font-size:12px}.arena{max-width:none;border-width:6px;border-radius:16px}.pitch-wrap{min-height:0;max-height:none}.control-bar{align-items:stretch;flex-wrap:wrap;margin-top:17px}.kick-controls{width:100%;justify-content:space-between}.power{gap:8px}.power button{padding:8px 12px}.kick{min-width:120px}.turn strong{font-size:20px}footer{font-size:10px;gap:10px}.field-label{font-size:7px;letter-spacing:1px;top:7px}.field-label.left{left:12px}.field-label.right{right:12px}}
@media(max-width:450px){.team-mark{display:none}.team strong{font-size:14px}.team b{font-size:31px}.match-tag{padding:0 9px}.power>span{display:none}.kick{min-width:100px;padding:12px 15px}.kick span{margin-left:10px}dialog{padding:20px 19px 16px}h2{font-size:24px}#questionText.word{font-size:21px}.answers{gap:8px}.answers button{min-height:69px;font-size:27px}.modal-top .eyebrow{max-width:140px;text-align:left}.read span{font-size:12px}.turn div>span{font-size:12px}.wood{font-size:15px;padding:10px 13px}.turn-badge{width:34px;height:42px}.turn{gap:9px}.turn strong{font-size:17px}footer span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.back-maths{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#faf8e9;text-decoration:none;border:1px solid #ffffff30;border-radius:12px;padding:12px 16px;font-size:19px;font-weight:700;min-height:52px}.back-maths:hover{background:#ffffff22}.back-maths:focus-visible{outline:4px solid #ffdb83;outline-offset:4px}@media(max-width:800px){.back-maths{padding:9px 13px;min-height:46px}}@media(max-width:450px){header{gap:8px}.tools{gap:5px}.tools button,.back-maths{padding-inline:10px}}

/* Secret-shot countdown stays clear of the playing surface. */
#countdown{position:absolute;top:12px;left:50%;transform:translateX(-50%);pointer-events:none;display:flex;align-items:center;gap:14px;background:#12291fee;border:2px solid #ffe08c;border-radius:16px;padding:8px 20px;box-shadow:0 4px 15px #0006;color:#fff1ba}#countTeam{font-weight:700;font-size:20px}#countNumber{font:900 48px/1 'Courier New',monospace;min-width:1ch;text-align:center}
#goalFlash{position:absolute;inset:0;display:none;align-content:center;justify-items:center;gap:12px;background:#062419b8;pointer-events:none}#goalFlash.show{display:grid}.goal-bubble{position:relative;background:#ffdb72;color:#3a2712;border:5px solid #fff6c8;border-radius:50%;padding:6px 35px;font:1000 clamp(35px,6vw,85px)/1.1 'Trebuchet MS',sans-serif;font-style:italic;box-shadow:0 5px 0 #a77926,0 10px 25px #0007;animation:goal-glow 1.1s ease-in-out infinite alternate}.vintage-board{background:#18211c;border:7px solid #986b3c;border-radius:12px;padding:12px 30px 20px;box-shadow:inset 0 0 0 3px #050a07,0 8px 0 #3c2919,0 14px 32px #0009;color:#fff0bb;text-align:center}.goal-team{display:block;font-size:18px;font-weight:700;margin-bottom:10px}.board-teams{display:flex;align-items:center;gap:24px}.board-teams>div>span{display:block;font:700 14px Arial;letter-spacing:4px;margin-bottom:7px}.score-cell{position:relative;display:block;height:1.1em;min-width:1.3em;overflow:hidden;background:linear-gradient(#222e27 49%,#080d09 50%,#19231c 52%);color:#ffe8a5;font:900 clamp(45px,8vw,110px)/1.1 'Courier New',monospace;border:2px solid #040704;border-radius:5px;padding:0 5px;box-shadow:inset 0 2px 6px #000a}.score-reel{display:block;transition:transform .65s cubic-bezier(.25,.8,.3,1)}.score-reel>span{display:block;height:1.1em;line-height:1.1}.score-cell.ticking .score-reel{transform:translateY(-50%)}.score-dash{font-size:40px;color:#b9af8d}@keyframes goal-glow{from{filter:brightness(1);transform:scale(1)}to{filter:brightness(1.18);transform:scale(1.05)}}
@media(max-width:800px){#countdown{top:6px;padding:5px 12px;gap:8px}#countTeam{font-size:14px}#countNumber{font-size:30px}.goal-team{font-size:14px;margin-bottom:5px}.vintage-board{padding:7px 18px 9px;border-width:4px}.board-teams{gap:15px}.board-teams>div>span{font-size:10px;letter-spacing:2px;margin-bottom:3px}.goal-bubble{border-width:3px;padding:3px 20px}#goalFlash{gap:8px}}
@media(max-width:450px){.goal-bubble{font-size:29px}.score-cell{font-size:34px}.goal-team{font-size:12px}.vintage-board{padding:5px 14px}.board-teams{gap:12px}#goalFlash{gap:6px}}
@media(prefers-reduced-motion:reduce){.goal-bubble{animation:none}.score-reel{transition:none}}

/* Number curriculum selection and long-number answers. */
#setupDialog{width:min(970px,calc(100% - 24px));max-height:92dvh;overflow-y:auto;padding:24px 28px}#setupDialog h2{font-size:38px;margin:8px 0}.setup-heading .eyebrow{color:#567148}.setup-heading p{font-size:18px;margin:6px 0 18px;color:#526344}#setupDialog h3{text-align:left;font-size:20px;margin:18px 0 10px}.concept-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.concept-choice{display:flex;align-items:center;text-align:left;gap:10px;min-height:68px;padding:10px 12px}.concept-choice strong{font-size:17px;line-height:1.2}.concept-symbol{display:grid;place-items:center;flex-shrink:0;min-width:35px;height:36px;font:900 24px 'Trebuchet MS',sans-serif;color:#416532}.concept-choice[aria-pressed="true"],.level-choice[aria-pressed="true"]{background:#234b36!important;color:#fff4c6;border-color:#163b29;box-shadow:inset 0 0 0 2px #cfb35d}.concept-choice[aria-pressed="true"] .concept-symbol{color:#ffdd86}.level-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.level-choice{text-align:left;padding:13px 16px;min-height:90px}.level-choice strong{display:block;font-size:21px}.level-choice span{display:block;font-size:16px;margin-top:5px;line-height:1.3}.setup-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:23px}.setup-actions .primary{font-size:20px;min-height:58px}#setupDialog button:focus-visible{outline-color:#976220}.settings-button{font-size:14px;padding:7px 12px;min-height:40px;margin-top:-7px}footer{align-items:center;gap:10px}#questionText{white-space:pre-line}.answers{grid-template-columns:repeat(2,minmax(0,1fr))}.answers button{font-size:clamp(25px,3vw,33px);min-height:70px}
@media(max-width:700px){#setupDialog{padding:18px}.concept-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.concept-choice{padding:10px 8px;gap:7px}.concept-choice strong{font-size:15px}.concept-symbol{font-size:21px;min-width:26px}.level-choice{padding:10px}.level-choice span{font-size:14px}.level-choice strong{font-size:18px}#setupDialog h2{font-size:30px}.settings-button{font-size:12px}}
@media(max-width:450px){.concept-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.level-choices{grid-template-columns:1fr}.level-choice{min-height:60px}.level-choice strong{display:inline-block;margin-right:10px}.level-choice span{display:inline}.setup-actions{flex-wrap:wrap}.setup-actions .primary{width:100%;font-size:18px}.settings-button{max-width:60%;white-space:normal}footer>span{font-size:10px}}

/* Ready travels with the kicker in both page and fullscreen play. */
.pitch-ready{position:absolute;z-index:4;min-width:100px;min-height:52px;padding:10px 15px;font-size:19px;touch-action:manipulation;box-shadow:0 4px 0 #986b27,0 6px 18px #0007}.pitch-ready span{margin-left:8px}.pitch-ready:active{transform:translateY(2px)}
html.game-fullscreen,body.play-fullscreen{overflow:hidden!important;width:100%;height:100%;overscroll-behavior:none}body.play-fullscreen #app{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;padding:0;margin:0}body.play-fullscreen .arena{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none}body.play-fullscreen .pitch-wrap{width:100%;height:100%;max-height:none;min-height:0;aspect-ratio:auto;margin:0}body.play-fullscreen #pitch{width:100%;height:100%}
body.play-fullscreen header{position:absolute;z-index:12;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));margin:0;pointer-events:none}body.play-fullscreen .brand,body.play-fullscreen .back-maths{display:none}body.play-fullscreen .tools{pointer-events:auto;padding:4px;border-radius:14px;background:#10271ee8;box-shadow:0 3px 12px #0004}body.play-fullscreen .tools button{min-height:44px;font-size:19px;padding:9px 13px}body.play-fullscreen .tools span{display:none}
body.play-fullscreen .scoreboard{position:absolute;z-index:10;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));width:520px;max-width:calc(100% - 190px);margin:0;padding:8px 14px;gap:16px;border:1px solid #d7d8a758;border-radius:13px;background:#10271ee8;box-shadow:0 3px 12px #0004;pointer-events:none}body.play-fullscreen .team{gap:10px}body.play-fullscreen .team small,body.play-fullscreen .team-mark,body.play-fullscreen .match-tag{display:none}body.play-fullscreen .team strong{font-size:18px}body.play-fullscreen .team b{font-size:32px}body.play-fullscreen .red b{color:#ffab98}body.play-fullscreen .blue b{color:#a6ddff}
body.play-fullscreen .control-bar{position:absolute;z-index:10;bottom:12px;left:50%;right:auto;transform:translateX(-50%);width:min(420px,38vw);max-width:calc(100% - 24px);margin:0;min-height:0;align-items:center;flex-direction:column;flex-wrap:nowrap;pointer-events:none;gap:8px}body.play-fullscreen .turn{padding:8px 12px;border:1px solid #d7d8a738;border-radius:13px;background:#10271ee8;max-width:100%}body.play-fullscreen .turn-badge{width:30px;height:35px;font-size:19px}body.play-fullscreen .turn strong{font-size:19px}body.play-fullscreen .turn div>span{font-size:14px}body.play-fullscreen .kick-controls{width:auto;pointer-events:auto;gap:0}body.play-fullscreen .power{padding:5px;border-radius:13px;background:#10271ee8}body.play-fullscreen .power>span{display:none}body.play-fullscreen #questionOpen{pointer-events:auto}body.play-fullscreen footer{position:absolute;z-index:10;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(9px,env(safe-area-inset-bottom));margin:0;pointer-events:none}body.play-fullscreen footer>span{display:none}body.play-fullscreen #settings{pointer-events:auto;max-width:100%;margin:0;background:#10271ee8;min-height:40px}body.play-fullscreen .field-label{display:none}body.play-fullscreen #countdown{top:80px;z-index:5}body.play-fullscreen #goalFlash{z-index:6}body.play-fullscreen .pitch-ready{font-size:21px;min-width:116px;min-height:56px}
@media(max-width:650px){body.play-fullscreen .team strong{display:none}body.play-fullscreen .team-mark{display:grid;width:24px;height:28px;font-size:15px}body.play-fullscreen .scoreboard{max-width:calc(100% - 172px);gap:10px;padding:8px}body.play-fullscreen .team{gap:7px}body.play-fullscreen .team b{font-size:26px}body.play-fullscreen .tools{gap:4px}body.play-fullscreen .tools button{padding:8px 11px}body.play-fullscreen .turn{padding:6px 9px;gap:7px;max-width:100%}body.play-fullscreen .turn-badge{display:none}body.play-fullscreen .turn strong{font-size:16px}body.play-fullscreen .turn div>span{font-size:12px}body.play-fullscreen .power button{padding:8px;min-height:44px;font-size:13px}body.play-fullscreen .pitch-ready{min-width:100px;font-size:19px;min-height:52px}}
@media(max-height:500px){body.play-fullscreen .turn strong{display:none}body.play-fullscreen .control-bar{bottom:8px}body.play-fullscreen .turn{padding:7px 10px}body.play-fullscreen #countdown{top:65px}body.play-fullscreen .scoreboard{padding-block:5px}body.play-fullscreen .pitch-ready{min-height:48px;padding-block:7px}}

@media(max-width:650px) and (min-height:501px){body.play-fullscreen .control-bar{width:calc(100% - 24px);bottom:60px;flex-direction:row;justify-content:space-between}body.play-fullscreen .turn{max-width:52%}}
