:root{--pitch:#0b6b3a;--pitch-light:#12874a;--pitch-dark:#064d29;--board:#0d3b24;--wood:#8a5a2b;--chalk:#fff;--gold:#ffd23f;--gold-dark:#b8901a;--red:#ff6b6b;--green:#3ddc84;--blue:#4fc3f7;--text:#fff;--touch-min:64px;--radius:22px;--gap:clamp(8px, 1.6vmin, 20px);color:var(--text);background:var(--pitch);font-family:Segoe UI,Roboto,system-ui,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{overscroll-behavior:none;height:100dvh;margin:0;overflow:hidden}body{background:radial-gradient(circle at 50% 40%, var(--pitch) 0%, var(--pitch-dark) 100%);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}button{font:inherit;color:inherit;touch-action:manipulation;cursor:pointer}button:disabled{cursor:default}.screen{justify-content:center;align-items:center;gap:var(--gap);flex-direction:column;width:100%;height:100dvh;padding:clamp(12px,2.5vmin,36px);display:flex;position:relative;overflow:hidden}.title{text-align:center;text-shadow:0 4px #00000040;margin:0;font-size:clamp(34px,6.5vmin,76px);font-weight:800}.subtitle{font-size:clamp(24px,4vmin,44px);font-weight:600}.big-button{min-height:var(--touch-min);border-radius:var(--radius);background:var(--gold);color:#3a2a00;min-width:220px;box-shadow:0 6px 0 var(--gold-dark);border:none;padding:14px 36px;font-size:clamp(22px,3.6vmin,38px);font-weight:800;transition:transform 80ms,box-shadow 80ms}.big-button:active:not(:disabled){box-shadow:0 1px 0 var(--gold-dark);transform:translateY(5px)}.big-button:disabled{opacity:.55}.big-button-secondary{color:var(--text);background:#ffffff29;box-shadow:0 6px #00000040}.icon-button{width:var(--touch-min);height:var(--touch-min);background:#00000047;border:none;border-radius:18px;flex:none;place-items:center;font-size:30px;display:grid;box-shadow:0 4px #00000040}.icon-button:active{transform:translateY(3px);box-shadow:0 1px #00000040}.tap-to-start{cursor:pointer;background:0 0;border:none}.tap-ball{font-size:clamp(96px,22vmin,220px);animation:1.2s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8%)}}.xpbar{width:100%}.xpbar-label{justify-content:space-between;gap:12px;margin-bottom:6px;font-size:clamp(14px,2.2vmin,22px);font-weight:700;display:flex}.xpbar-track{background:#00000059;border-radius:99px;height:clamp(14px,2.2vmin,24px);overflow:hidden}.xpbar-fill{background:linear-gradient(90deg, var(--green), var(--gold));border-radius:99px;height:100%}.home{overscroll-behavior:contain;touch-action:pan-y;justify-content:flex-start;gap:clamp(14px,3vmin,40px);overflow-y:auto}.home:before,.home:after{content:"";flex:1 0 0}.home-controls{gap:var(--gap);display:flex;position:absolute;top:clamp(12px,2.5vmin,36px);right:clamp(12px,2.5vmin,36px)}.home-head{align-items:center;gap:var(--gap);flex-direction:column;width:min(720px,100%);margin-top:clamp(0px,1vmin,12px);display:flex}.home-level{width:min(560px,80%)}.leagues{gap:var(--gap);grid-template-columns:repeat(3,1fr);width:min(1040px,100%);display:grid}@media (aspect-ratio<=4/5){.leagues{grid-template-columns:repeat(2,1fr)}}@media (aspect-ratio>=3/2){.leagues{grid-template-columns:repeat(6,1fr);width:min(1180px,100%)}.league-card{min-height:clamp(84px,13vmin,130px);padding:8px}.league-name{font-size:clamp(14px,2.3vmin,24px)}}.league-card{border-radius:var(--radius);background:#00000047;border:4px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:clamp(96px,17vmin,170px);padding:10px 14px;display:flex;box-shadow:0 5px #00000040}.league-card.is-selected{border-color:var(--gold);background:#ffd23f2e}.league-card.is-locked{opacity:.5}.league-icon{font-size:clamp(34px,6vmin,64px);line-height:1}.league-name{text-align:center;font-size:clamp(18px,3vmin,30px);font-weight:800}.league-sub{opacity:.85;font-size:clamp(14px,2.2vmin,22px)}.home-actions{align-items:center;gap:var(--gap);flex-direction:column;display:flex}.play-button{min-width:min(480px,80vw);min-height:clamp(72px,11vmin,110px);font-size:clamp(28px,5vmin,52px)}.mode-toggle{background:#0000004d;border-radius:18px;display:flex;overflow:hidden}.mode-toggle button{min-height:var(--touch-min);background:0 0;border:none;min-width:160px;padding:8px 24px;font-size:clamp(18px,2.8vmin,28px);font-weight:700}.mode-toggle .is-on{background:var(--gold);color:#3a2a00}.penalty{justify-content:stretch;align-items:stretch;gap:var(--gap);background-image:repeating-linear-gradient(90deg,#ffffff0b 0 90px,#0000 90px 180px);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"top""board""pitch";display:grid}.penalty[data-sheet] .keypad-area{visibility:hidden}.penalty.has-keypad{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"top""board""pitch""keys"}@media (aspect-ratio>=11/10){.penalty.has-keypad{grid-template:"top top""board keys""pitch keys"minmax(0,1fr)/minmax(0,1fr) clamp(300px,34vw,440px)}}.topbar{align-items:center;gap:var(--gap);grid-area:top;display:flex}.topbar-xp{flex:1;min-width:80px}.pips{gap:clamp(6px,1.2vmin,14px);display:flex}.pip{background:#0000004d;border:3px solid #ffffff40;border-radius:50%;place-items:center;width:clamp(36px,5.4vmin,56px);height:clamp(36px,5.4vmin,56px);font-size:clamp(18px,3vmin,30px);display:grid}.pip-current{border-color:var(--gold);background:#ffd23f40}.pip-goal{border-color:var(--green);background:#3ddc8459}.pip-miss{border-color:var(--red);background:#ff6b6b4d}.combo{min-height:var(--touch-min);background:#00000047;border-radius:18px;align-items:center;gap:6px;padding:0 14px;font-size:clamp(20px,3.2vmin,32px);font-weight:800;display:flex}.combo-flame{filter:grayscale()opacity(.5);transition:filter .2s}.combo-2 .combo-flame,.combo-3 .combo-flame,.combo-4 .combo-flame,.combo-5 .combo-flame{filter:none;animation:.5s ease-in-out infinite alternate flicker}.combo-3 .combo-flame{font-size:1.2em}.combo-4 .combo-flame,.combo-5 .combo-flame{font-size:1.4em}.combo-mult{min-width:2ch;color:var(--gold)}.combo-pips{gap:4px;display:flex}.combo-pips i{background:#ffffff40;border-radius:50%;width:10px;height:10px}.combo-pips i.on{background:var(--gold)}@keyframes flicker{0%{transform:scale(1)rotate(-4deg)}to{transform:scale(1.12)rotate(4deg)}}.board-wrap{grid-area:board;justify-content:center;display:flex;position:relative}.board{border-radius:var(--radius);border:clamp(6px, 1vmin, 12px) solid var(--wood);background:var(--board);flex-direction:column;justify-content:center;align-items:center;gap:8px;width:min(100%,980px);min-height:clamp(110px,20vmin,220px);padding:clamp(10px,2vmin,24px) clamp(16px,3vmin,40px);display:flex;box-shadow:0 6px #0000004d,inset 0 0 40px #00000059}.board.shake{animation:.35s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.equation{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(8px,1.8vmin,24px);font-size:clamp(44px,10vmin,112px);font-weight:800;line-height:1.1;display:flex}.tok.op{color:var(--gold)}.blank{place-items:center;min-width:1.15em;height:1.15em;display:inline-grid}.blank-box{border:.07em dashed var(--gold);background:#ffffff14;border-radius:.18em}.blank-ball{font-size:.85em}.blank-x{color:var(--gold);font-style:italic}.blank-filled{border:.07em solid var(--gold);color:var(--gold);border-radius:.18em;padding:0 .15em}.board-text{text-align:center;margin:0;font-size:clamp(24px,4.4vmin,50px);font-weight:700;line-height:1.25}.board-text-small{font-size:clamp(18px,3vmin,32px)}.board-typed{color:var(--gold);font-size:clamp(20px,3vmin,30px);font-weight:800}.league-table{border-collapse:collapse;font-size:clamp(16px,2.8vmin,30px)}.league-table th,.league-table td{text-align:center;padding:2px clamp(10px,2vmin,24px)}.league-table td:first-child,.league-table th:first-child{text-align:left}.league-table th{color:var(--gold)}.xp-pop{white-space:nowrap;background:var(--gold);color:#3a2a00;box-shadow:0 4px 0 var(--gold-dark);pointer-events:none;z-index:5;border-radius:99px;padding:8px 18px;font-size:clamp(20px,3.4vmin,34px);font-weight:900;position:absolute;top:calc(50% + clamp(36px,7vmin,76px));left:50%;translate:-50%}.pitch{justify-content:flex-start;align-items:center;gap:var(--gap);flex-direction:column;grid-area:pitch;min-height:0;display:flex}.goal{border:clamp(8px, 1.2vmin, 14px) solid var(--chalk);background-color:#00000040;background-image:repeating-linear-gradient(0deg,#ffffff2e 0 2px,#0000 2px 22px),repeating-linear-gradient(90deg,#ffffff2e 0 2px,#0000 2px 22px);border-bottom:none;border-radius:14px 14px 0 0;flex:1 1 0;width:min(100%,980px);min-height:0;max-height:min(64vw,560px);position:relative;box-shadow:0 -4px #0003}.zones{gap:clamp(6px,1.2vmin,14px);padding:clamp(6px,1.2vmin,14px);display:grid;position:absolute;inset:0}.zone{min-height:var(--touch-min);z-index:2;background:#ffffff24;border:4px solid #ffffff8c;border-radius:18px;place-items:center;font-size:clamp(36px,8vmin,92px);font-weight:900;transition:background .15s,transform 80ms;display:grid;position:relative}.zone-static{pointer-events:none;background:0 0;border-style:dashed}.zone:active:not(:disabled):not(.zone-static){background:#ffd23f66;transform:scale(.97)}.zone.is-wrong{border-color:var(--red);opacity:.6;background:#ff6b6b40}.zone-label{text-align:center;text-wrap:balance;padding:0 clamp(6px,1.4vmin,16px);font-size:clamp(18px,3.6vmin,40px);font-weight:900;line-height:1.12}.zone-x{color:var(--red);font-size:.4em;position:absolute;top:6px;right:14px}.zone.is-answer{border-color:var(--green);background:#3ddc8473}.zone:disabled:not(.is-wrong):not(.is-answer){opacity:.85}.keeper{transform-origin:50% 100%;pointer-events:none;z-index:3;filter:drop-shadow(0 6px #00000040);flex-direction:column;align-items:center;font-size:clamp(40px,9vmin,96px);line-height:1;display:flex;position:absolute;bottom:0;translate:-50%}.keeper-head{margin-bottom:-.1em;font-size:.8em}.keeper-body{background:#ff9f1c;border-radius:.5em .5em .2em .2em;place-items:center;width:1.5em;height:1.1em;font-size:.7em;display:grid}.callout{white-space:nowrap;z-index:6;pointer-events:none;border-radius:24px;padding:6px 28px;font-size:clamp(34px,8vmin,84px);font-weight:900;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 6px #0000004d}.callout-goal{background:var(--gold);color:#3a2a00}.callout-save{background:var(--blue);color:#06324a}.spot-area{--ball:clamp(54px, 10vmin, 110px);min-height:calc(var(--ball) + 40px);flex:auto;place-items:center;width:100%;max-height:320px;display:grid;position:relative}.spot{left:50%;top:calc(50% + var(--ball) * .42);width:calc(var(--ball) * .75);height:calc(var(--ball) * .2);background:#00000047;border-radius:50%;position:absolute;translate:-50%}.ball{font-size:var(--ball);z-index:4;filter:drop-shadow(0 8px 4px #0000004d);pointer-events:none;line-height:1;position:relative}.keypad-area{grid-area:keys;justify-content:center;align-items:stretch;min-height:0;display:flex}.numpad{grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(clamp(64px,9.5vmin,110px),1fr);gap:clamp(8px,1.4vmin,16px);width:min(100%,440px);max-height:620px;display:grid}.key{color:#0d3b24;background:#ffffffeb;border:none;border-radius:20px;min-height:0;font-size:clamp(30px,5vmin,54px);font-weight:900;box-shadow:0 5px #0000004d}.key:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #0000004d}.key:disabled{opacity:.5}.key-del{color:var(--text);background:#ffffff47}.key-go{background:var(--gold);color:#3a2a00;font-size:clamp(20px,3.4vmin,36px)}.hint-sheet{z-index:20;color:#1d3b2a;background:#fffbe8;border-radius:32px;flex-direction:column;grid-area:3/1/-1/-1;justify-content:center;align-items:center;gap:clamp(12px,2.6vmin,32px);min-height:0;padding:clamp(14px,2.4vmin,32px);display:flex;position:relative;box-shadow:0 -10px 30px #0006}.hint-title{text-align:center;margin:0;font-size:clamp(26px,4.6vmin,50px);font-weight:900}.hint-visual{flex:0 auto;justify-content:center;align-items:center;width:min(100%,900px);min-height:0;max-height:380px;display:flex}.numberline{width:100%;max-height:100%}.nl-axis{stroke:#1d3b2a;stroke-width:6px;stroke-linecap:round}.nl-dot{fill:#12874a}.nl-dot-end{fill:#e0a800}.nl-label{fill:#1d3b2a;font-size:40px;font-weight:800}.nl-arc{fill:none;stroke:#e0a800;stroke-width:7px;stroke-linecap:round}.nl-delta{fill:#b86e00;font-size:38px;font-weight:900}.ball-groups{flex-wrap:wrap;justify-content:center;gap:clamp(8px,1.6vmin,18px);display:flex}.ball-group{background:#12874a1a;border:4px dashed #12874a;border-radius:18px;flex-wrap:wrap;justify-content:center;max-width:11em;padding:6px 12px;display:flex}.hint-steps{flex-wrap:wrap;justify-content:center;gap:8px clamp(12px,3vmin,36px);margin:0;padding:0;font-size:clamp(22px,4vmin,44px);font-weight:800;list-style:none;display:flex}.hint-steps li{background:#12874a1f;border-radius:14px;padding:4px 16px}.hint-steps li.is-final{background:#ffe9a0}.hint-button{min-width:min(420px,80%)}.warmup{background-image:repeating-linear-gradient(90deg,#ffffff0b 0 90px,#0000 90px 180px);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"top""board""options""coach";justify-content:stretch;align-items:stretch;display:grid}.warmup .options{grid-area:options;width:100%}.warmup .coach{grid-area:coach}.topbar-spacer{flex:1}.pips-small .pip{width:clamp(30px,4.4vmin,46px);height:clamp(30px,4.4vmin,46px);font-size:clamp(14px,2.4vmin,24px)}.pip-done{border-color:var(--gold);background:#ffd23f40}.options{align-content:center;gap:var(--gap);grid-template-columns:repeat(4,1fr);width:min(100%,980px);min-height:0;margin:0 auto;display:grid}@media (aspect-ratio<=1){.options{grid-template-columns:repeat(2,1fr)}}.option{border-radius:var(--radius);background:#ffffff24;border:4px solid #ffffff8c;min-height:clamp(96px,20vmin,220px);font-size:clamp(40px,9vmin,100px);font-weight:900;transition:background .15s,transform 80ms,opacity .2s;box-shadow:0 6px #00000040}.option:active:not(:disabled){background:#ffd23f66;transform:translateY(4px);box-shadow:0 2px #00000040}.option.is-right{border-color:var(--green);background:#3ddc8480}.option.is-picked{border-color:var(--blue);background:#4fc3f74d}.option.is-faded{opacity:.45}.coach{place-items:center;min-height:clamp(56px,9vmin,90px);display:grid}.coach-bubble{background:var(--blue);color:#06324a;border-radius:99px;padding:10px 28px;font-size:clamp(22px,3.8vmin,40px);font-weight:900;box-shadow:0 5px #00000040}.coach-bubble.is-good{background:var(--gold);color:#3a2a00}.warmup-card{background-image:repeating-linear-gradient(90deg,#ffffff0b 0 90px,#0000 90px 180px)}.card{border:clamp(6px, 1vmin, 12px) solid var(--wood);background:var(--board);text-align:center;border-radius:32px;flex-direction:column;align-items:center;gap:clamp(12px,2.4vmin,28px);width:min(720px,100%);padding:clamp(20px,4vmin,48px);display:flex;box-shadow:0 8px #0000004d}.card-emoji{font-size:clamp(64px,14vmin,140px);line-height:1}.card-text{margin:0;font-size:clamp(22px,3.6vmin,38px);font-weight:600;line-height:1.3}.placed-league{border-radius:var(--radius);background:var(--gold);color:#3a2a00;padding:10px 28px;font-size:clamp(30px,6vmin,64px);font-weight:900}.link-button{min-height:var(--touch-min);opacity:.8;background:0 0;border:none;padding:0 24px;font-size:clamp(18px,2.8vmin,28px);font-weight:700;text-decoration:underline}.player-chip{min-height:var(--touch-min);background:#00000047;border:none;border-radius:20px;align-items:center;gap:10px;padding:4px 18px 4px 10px;font-size:clamp(18px,2.8vmin,28px);font-weight:800;display:flex;position:absolute;top:clamp(12px,2.5vmin,36px);left:clamp(12px,2.5vmin,36px);box-shadow:0 4px #00000040}.player-chip-trophies{color:var(--gold)}.jersey{filter:drop-shadow(0 4px #00000040);flex:none}.profiles{background-image:repeating-linear-gradient(90deg,#ffffff0b 0 90px,#0000 90px 180px)}.profile-grid{justify-content:center;gap:var(--gap);flex-wrap:wrap;width:min(1000px,100%);display:flex}.profile-card{border-radius:var(--radius);background:#00000047;border:4px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:clamp(190px,30vmin,280px);min-height:clamp(190px,32vmin,300px);padding:12px;display:flex;box-shadow:0 6px #00000040}.profile-card:active{transform:translateY(4px);box-shadow:0 2px #00000040}.profile-name{font-size:clamp(24px,4.2vmin,40px);font-weight:900}.profile-level{opacity:.85;font-size:clamp(14px,2.2vmin,22px)}.profile-new{box-shadow:none;background:0 0;border:4px dashed #ffffff80}.profile-plus{color:var(--gold);font-size:clamp(64px,14vmin,130px);line-height:1}.new-profile{background-image:repeating-linear-gradient(90deg,#ffffff0b 0 90px,#0000 90px 180px);justify-content:flex-start}.np-body{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(20px,5vmin,64px);width:min(1000px,100%);display:flex}.np-preview{flex-direction:column;align-items:center;gap:8px;display:flex}.np-name-preview{text-align:center;min-width:8ch;font-size:clamp(24px,4.2vmin,42px);font-weight:900}.np-form{flex-direction:column;flex:360px;gap:clamp(8px,1.6vmin,18px);max-width:560px;display:flex}.np-label{font-size:clamp(18px,2.8vmin,28px);font-weight:800}.np-input{color:#0d3b24;min-height:clamp(64px,9vmin,88px);font:inherit;-webkit-user-select:text;user-select:text;background:#fffffff2;border:4px solid #ffffff8c;border-radius:20px;padding:0 20px;font-size:clamp(28px,5vmin,48px);font-weight:800}.np-input:focus{border-color:var(--gold);outline:none}.np-colors{flex-wrap:wrap;gap:clamp(8px,1.6vmin,16px);display:flex}.np-swatch{border:4px solid #ffffff80;border-radius:50%;width:clamp(56px,8vmin,76px);height:clamp(56px,8vmin,76px);box-shadow:0 4px #00000040}.np-swatch.is-on{border-color:var(--gold);outline:4px solid var(--gold);outline-offset:2px}.np-number{align-items:center;gap:20px;display:flex}.np-number-value{text-align:center;min-width:2.2ch;color:var(--gold);font-size:clamp(36px,7vmin,64px);font-weight:900}.np-actions{align-items:center;gap:var(--gap);margin-top:8px;display:flex}.profile{justify-content:flex-start;align-items:stretch;gap:clamp(10px,2vmin,24px);overflow-y:hidden}.profile-head{align-items:center;gap:var(--gap);display:flex}.profile-who{flex:1;min-width:0}.profile-title{margin:0 0 6px;font-size:clamp(30px,5.4vmin,56px);font-weight:900}.stat-grid{gap:var(--gap);grid-template-columns:repeat(6,1fr);display:grid}@media (aspect-ratio<=1){.stat-grid{grid-template-columns:repeat(3,1fr)}}.stat{text-align:center;background:#00000047;border-radius:18px;flex-direction:column;align-items:center;padding:8px 6px;display:flex}.stat-value{color:var(--gold);font-size:clamp(26px,4.6vmin,46px);font-weight:900}.stat-label{opacity:.9;font-size:clamp(13px,2vmin,20px)}.trophies-wrap{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.section-title{margin:0;font-size:clamp(22px,3.6vmin,36px);font-weight:900}.section-title small{opacity:.8;margin-left:8px;font-size:.7em}.trophies{flex:1;grid-template-columns:repeat(5,1fr);grid-auto-rows:1fr;gap:clamp(6px,1.2vmin,14px);min-height:0;display:grid}@media (aspect-ratio<=1){.trophies{grid-template-columns:repeat(3,1fr)}}.trophy{text-align:center;opacity:.6;background:#00000038;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px;display:flex}.trophy.is-got{opacity:1;border:3px solid var(--gold);background:#ffd23f2e}.trophy-icon{font-size:clamp(26px,5vmin,48px);line-height:1}.trophy-title{font-size:clamp(14px,2.3vmin,24px);font-weight:900}.trophy-desc{opacity:.85;font-size:clamp(11px,1.8vmin,17px);line-height:1.15}.profile-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(8px,1.6vmin,16px);display:flex}.profile-actions .big-button{min-height:64px;padding:0 clamp(16px,3vmin,32px);font-size:clamp(18px,3vmin,26px)}.modal{z-index:50;background:#032814eb;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.modal .card{max-height:100%;overflow:hidden}.modal .numpad{grid-auto-rows:minmax(clamp(56px,8vmin,84px),1fr);width:min(100%,360px)}.pin-dots{gap:14px;display:flex}.pin-dots i{border:3px solid var(--gold);border-radius:50%;width:22px;height:22px}.pin-dots i.on{background:var(--gold)}.pin-error{color:var(--red);margin:0;font-size:clamp(16px,2.6vmin,26px);font-weight:800}.big-button.danger{background:var(--red);color:#3a0000;box-shadow:0 6px #b34747}.timer{flex:1;align-items:center;gap:12px;min-width:120px;display:flex}.timer-num{text-align:center;min-width:2.2ch;color:var(--gold);font-size:clamp(28px,5vmin,52px);font-weight:900}.timer-track{background:#00000059;border-radius:99px;flex:1;height:clamp(16px,2.6vmin,28px);overflow:hidden}.timer-fill{background:linear-gradient(90deg, var(--green), var(--gold));border-radius:99px;height:100%;transition:width .12s linear}.timer.is-hurry .timer-num{color:var(--red)}.timer.is-hurry .timer-fill{background:linear-gradient(90deg, var(--gold), var(--red))}.score-badge{min-height:var(--touch-min);background:#00000047;border-radius:18px;place-items:center;padding:0 18px;font-size:clamp(24px,4vmin,40px);font-weight:900;display:grid}.keypad-inline{grid-area:options;justify-content:center;align-items:stretch;min-height:0;display:flex}.keypad-inline .numpad{grid-auto-rows:minmax(clamp(56px,8vmin,90px),1fr);max-height:100%}.scale-screen{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"top""board""scale""controls"}.scale-area{grid-area:scale;justify-content:center;align-items:center;min-height:0;display:flex}.scale{--tilt:0deg;width:min(100%,980px);height:100%;min-height:220px;max-height:560px;position:relative}.beam{height:clamp(10px,1.8vmin,18px);transform:rotate(var(--tilt));background:linear-gradient(#c58a4b,#8a5a2b);border-radius:99px;transition:transform .9s cubic-bezier(.34,1.56,.64,1);position:absolute;top:8%;left:17%;right:17%;box-shadow:0 4px #0000004d}.hang{width:clamp(130px,34%,300px);transform:translateX(-50%) rotate(calc(-1 * var(--tilt)));transform-origin:50% 0;flex-direction:column;align-items:center;transition:transform .9s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:50%}.hang-left{left:0}.hang-right{left:100%}.chains{background:linear-gradient(to bottom right,#0000 49%,#ffffffb3 50%,#0000 52%) 0/50% 100% no-repeat,linear-gradient(to bottom left,#0000 49%,#ffffffb3 50%,#0000 52%) 100%/50% 100% no-repeat;width:80%;height:clamp(36px,8vmin,80px)}.items{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:6px;width:100%;min-height:clamp(54px,11vmin,120px);padding-bottom:2px;display:flex}.bowl{background:linear-gradient(#e0b070,#8a5a2b);border-radius:6px 6px 50% 50%;width:100%;height:clamp(14px,3vmin,28px);box-shadow:0 4px #0000004d}.pile{flex-wrap:wrap;justify-content:center;align-items:flex-end;max-width:100%;font-size:clamp(22px,4.6vmin,46px);line-height:1;display:flex}.pile-big{place-items:center;font-size:clamp(54px,11vmin,110px);line-height:1;display:grid;position:relative}.pile-big b{color:#fff;text-shadow:0 2px #000,0 0 6px #000;font-size:.42em;position:absolute}.sack{background:radial-gradient(circle at 35% 30%,#d9a066,#8a5a2b);border-radius:45% 45% 40% 40%;align-content:center;place-items:center;width:clamp(54px,11vmin,104px);height:clamp(54px,11vmin,104px);display:grid;position:relative;box-shadow:0 4px #0000004d}.sack:before{content:"";background:#6d4520;border-radius:50%;width:40%;height:18%;position:absolute;top:-8%;left:30%}.sack-num{font-size:clamp(24px,5vmin,48px);font-weight:900;line-height:1}.sack-label{opacity:.9;font-size:clamp(11px,1.8vmin,16px)}.scale-post{background:linear-gradient(90deg,#8a5a2b,#c58a4b,#8a5a2b);border-radius:8px;width:clamp(10px,1.8vmin,18px);position:absolute;top:8%;bottom:6%;left:50%;translate:-50%}.scale-base{background:linear-gradient(#c58a4b,#6d4520);border-radius:14px 14px 6px 6px;width:clamp(120px,24%,260px);height:clamp(14px,3.4vmin,30px);position:absolute;bottom:0;left:50%;translate:-50%}.scale-pivot{background:var(--gold);width:clamp(20px,3.6vmin,34px);height:clamp(20px,3.6vmin,34px);box-shadow:0 3px 0 var(--gold-dark);border-radius:50%;position:absolute;top:8%;left:50%;translate:-50% -22%}.scale.is-balanced .scale-pivot{background:var(--green);box-shadow:0 0 24px 8px #3ddc8499}.scale-controls{justify-content:center;align-items:center;gap:var(--gap);flex-wrap:wrap;grid-area:controls;display:flex}.stepper{align-items:center;gap:clamp(8px,1.6vmin,16px);display:flex}.step{color:#0d3b24;background:#ffffffeb;border:none;border-radius:20px;min-width:clamp(64px,10vmin,96px);min-height:clamp(64px,10vmin,96px);font-size:clamp(24px,4.4vmin,44px);font-weight:900;box-shadow:0 5px #0000004d}.step:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #0000004d}.step:disabled{opacity:.5}.step-value{text-align:center;min-width:2.4ch;color:var(--gold);font-size:clamp(40px,8vmin,84px);font-weight:900}.mode-grid{gap:var(--gap);grid-template-columns:repeat(3,1fr);width:min(1040px,100%);display:grid}@media (aspect-ratio<=4/5){.mode-grid{grid-template-columns:repeat(2,1fr)}}.mode-button{--accent:var(--gold);border-radius:var(--radius);background:var(--accent);color:#1d1a00;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:clamp(84px,12vmin,130px);padding:8px 12px;transition:transform 80ms,box-shadow 80ms;display:flex;box-shadow:0 6px #0000004d}.mode-button:active{transform:translateY(5px);box-shadow:0 1px #0000004d}.mode-icon{font-size:clamp(30px,5.6vmin,56px);line-height:1}.mode-title{text-align:center;font-size:clamp(18px,3vmin,30px);font-weight:900}.mode-blurb{text-align:center;opacity:.85;font-size:clamp(12px,1.9vmin,18px);font-weight:600}.mode-timed{--accent:#ff9f1c}.mode-scale{--accent:#4fc3f7}.mode-table{--accent:#b39ddb}.mode-tables{--accent:#ff8a65}.mode-catch{--accent:#aed581}.catch-screen{background-image:repeating-linear-gradient(90deg,#ffffff0b 0 90px,#0000 90px 180px);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"top""pips""field";justify-content:stretch;align-items:stretch;display:grid}.catch-screen .catch-area{grid-area:field}.basket-pips{grid-area:pips;justify-content:center;gap:clamp(6px,1.2vmin,14px);display:flex}.bpip{background:#0000004d;border:3px solid #ffffff59;border-radius:50%;place-items:center;width:clamp(30px,4.6vmin,48px);height:clamp(30px,4.6vmin,48px);font-size:clamp(14px,2.6vmin,26px);display:grid}.bpip.on{border-color:var(--gold);background:#ffd23f40}.catch-area{border-radius:var(--radius);touch-action:none;cursor:ew-resize;background:linear-gradient(#147a45,#0a5a31);min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #00000059}.catch-floor{background:#00000040;height:4%;position:absolute;bottom:0;left:0;right:0}.catch-ball{aspect-ratio:1;color:#14231a;white-space:nowrap;pointer-events:none;background:radial-gradient(circle at 35% 30%,#fff 0,#f3f3f3 55%,#cdcdcd 100%);border:clamp(3px,.6vmin,6px) solid #1d1d1d;border-radius:50%;place-items:center;width:clamp(84px,13vmin,140px);font-size:clamp(18px,3.4vmin,34px);font-weight:900;display:grid;position:absolute;translate:-50% -50%;box-shadow:0 6px #00000040}.catch-ball:before,.catch-ball:after{content:"";clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);opacity:.85;background:#1d1d1d;width:24%;height:24%;position:absolute}.catch-ball:before{top:5%;left:38%}.catch-ball:after{bottom:5%;left:38%;rotate:180deg}.catch-ball span{z-index:1;background:#ffffffd9;border-radius:10px;padding:0 6px;position:relative}.basket{clip-path:polygon(0 0,100% 0,86% 100%,14% 100%);pointer-events:none;background:repeating-linear-gradient(135deg,#c58a4b 0 10px,#a8703a 10px 20px);border-top:clamp(8px,1.4vmin,14px) solid #6d4520;place-items:center;width:clamp(130px,24vmin,250px);height:clamp(84px,14vmin,150px);display:grid;position:absolute;bottom:3.5%;translate:-50%}.basket-num{color:#fff;text-shadow:0 3px #00000080;font-size:clamp(32px,6.4vmin,66px);font-weight:900}.basket.is-shaking{animation:.35s ease-in-out shake}.catch-flash{text-align:center;pointer-events:none;background:#00000080;border-radius:99px;max-width:94%;padding:8px 22px;font-size:clamp(20px,3.6vmin,38px);font-weight:900;position:absolute;top:4%;left:50%;translate:-50%}.catch-flash.is-good{background:var(--gold);color:#3a2a00}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.summary{gap:clamp(8px,1.8vmin,24px)}.scoreboard{border-radius:var(--radius);border:clamp(6px, 1vmin, 12px) solid var(--wood);background:var(--board);align-items:center;gap:clamp(16px,4vmin,48px);padding:clamp(10px,2vmin,24px) clamp(24px,5vmin,64px);font-weight:900;display:flex}.score-side{align-items:center;gap:clamp(10px,2vmin,24px);display:flex}.score-name{opacity:.85;font-size:clamp(20px,3.4vmin,36px)}.score-num{color:var(--gold);font-size:clamp(64px,14vmin,150px);line-height:1}.score-colon{font-size:clamp(54px,11vmin,120px);line-height:1}.facts{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;max-width:min(1000px,100%);margin:0;padding:0;font-size:clamp(16px,2.6vmin,28px);font-weight:700;list-style:none;display:flex}.facts .fact:not(.fact-xp){background:#0000003d;border-radius:99px;padding:6px 18px}.facts .fact-xp{flex-basis:100%}.fact-coins{color:var(--gold);background:#ffd23f33!important}.fact-coins small{color:var(--text);opacity:.85;font-size:.62em;font-weight:600;display:block}.fact-table{color:var(--gold)}.fact-xp b{color:var(--gold);font-size:clamp(34px,6vmin,64px);display:block}.fact-xp small{opacity:.85;font-size:.8em}.fact-promo{color:var(--gold)}.summary-level{width:min(560px,80%)}.summary-actions{justify-content:center;gap:var(--gap);flex-wrap:wrap;display:flex}.levelup{z-index:40;text-align:center;background:#032814f5;border:none;place-items:center;display:grid;position:absolute;inset:0}.levelup-star{font-size:clamp(100px,24vmin,240px);animation:1s ease-in-out infinite bounce}.levelup-title{color:var(--gold);text-shadow:0 6px #0000004d;font-size:clamp(54px,12vmin,140px);font-weight:900}.levelup-name{font-size:clamp(32px,7vmin,76px);font-weight:800}.levelup-tap{opacity:.8;margin-top:24px;font-size:clamp(18px,3vmin,30px)}.match-card{border-radius:var(--radius);border:clamp(5px, .9vmin, 10px) solid var(--wood);background:var(--board);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:clamp(12px,2.4vmin,32px);width:min(1180px,100%);padding:clamp(12px,2.2vmin,28px) clamp(16px,3vmin,40px);display:grid;box-shadow:0 6px #0000004d,inset 0 0 40px #0000004d}@media (aspect-ratio<=4/5){.match-card{text-align:center;grid-template-columns:1fr}}.match-info{flex-direction:column;gap:4px;min-width:0;display:flex}.match-round{color:var(--gold);text-transform:uppercase;letter-spacing:.04em;font-size:clamp(13px,2vmin,20px);font-weight:700}.match-vs{flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0;font-size:clamp(24px,4.6vmin,48px);font-weight:900;line-height:1.1;display:flex}@media (aspect-ratio<=4/5){.match-vs{justify-content:center}}.match-vs small{opacity:.8;font-size:.45em;font-weight:700}.match-day{opacity:.92;font-size:clamp(15px,2.4vmin,26px);font-weight:700}.match-actions{flex-direction:column;align-items:stretch;gap:8px;display:flex}.match-actions .play-button{width:100%;min-width:0;min-height:clamp(68px,10vmin,100px);font-size:clamp(22px,4vmin,42px)}.match-links{gap:8px;display:flex}.chip-button{min-height:var(--touch-min);white-space:nowrap;background:#ffffff24;border:none;border-radius:18px;flex:1;padding:4px 12px;font-size:clamp(15px,2.4vmin,24px);font-weight:800;box-shadow:0 4px #00000040}.chip-button:active{transform:translateY(3px);box-shadow:0 1px #00000040}.train-title{opacity:.85;text-align:center;margin:0;font-size:clamp(15px,2.4vmin,24px);font-weight:800}@media (aspect-ratio>=3/2){.mode-grid{grid-template-columns:repeat(6,1fr);width:min(1180px,100%)}.mode-blurb{display:none}.mode-button{min-height:clamp(76px,11vmin,110px);padding:6px 8px}.mode-title{font-size:clamp(14px,2.1vmin,22px)}}.mode-button:disabled{opacity:.45;filter:grayscale(.5)}.match-score{flex:1;justify-content:center;align-items:center;gap:clamp(8px,1.6vmin,20px);min-width:0;font-size:clamp(14px,2.6vmin,28px);font-weight:900;display:flex}.ms-team{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:34%;overflow:hidden}.ms-goals{color:var(--gold);background:#00000059;border-radius:14px;flex:none;padding:2px 16px;font-size:1.7em}.halftime-score{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;font-size:clamp(18px,3.2vmin,34px);font-weight:800;display:flex}.halftime-score b{color:var(--gold);font-size:1.9em}.club{justify-content:flex-start;align-items:stretch;gap:var(--gap)}.club-name{min-height:var(--touch-min);background:#00000047;border:none;border-radius:18px;padding:4px 20px;font-size:clamp(20px,3.4vmin,36px);font-weight:900;box-shadow:0 4px #00000040}.coins{min-height:var(--touch-min);color:var(--gold);background:#ffd23f33;border-radius:18px;place-items:center;padding:0 22px;font-size:clamp(22px,3.8vmin,40px);font-weight:900;display:grid}.club-body{gap:var(--gap);flex:1;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:0;display:grid}@media (aspect-ratio<=11/10){.club-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}}.club-visual{flex-direction:column;align-self:start;gap:8px;min-height:0;display:flex}.stadium-view{border-radius:18px;width:100%;height:auto;max-height:62vh;box-shadow:0 6px #0000004d}@media (aspect-ratio<=11/10){.stadium-view{max-height:32vh}}.club-facts{flex-wrap:wrap;justify-content:space-between;gap:4px 16px;font-size:clamp(14px,2.2vmin,22px);font-weight:800;display:flex}.crane{animation:1.4s ease-in-out infinite bounce}.club-shop{touch-action:pan-y;flex-direction:column;gap:10px;min-height:0;padding-right:6px;display:flex;overflow-y:auto}.building-card,.kit-card,.upgrade{background:#00000042;border-radius:20px;align-items:center;gap:14px;padding:10px 14px;display:flex}.building-card{border:3px solid var(--gold);background:#ffd23f2e;font-size:clamp(15px,2.4vmin,24px)}.building-card small{opacity:.9;display:block}.building-pips{gap:6px;margin:4px 0;display:flex}.building-pips i{border:3px solid var(--gold);border-radius:50%;width:22px;height:22px}.building-pips i.on{background:var(--gold)}.kit-card{flex-wrap:wrap}.kit-controls{flex-direction:column;flex:1;gap:8px;min-width:220px;display:flex}.kit-row{flex-wrap:wrap;gap:8px;display:flex}.kit-pattern{min-height:var(--touch-min);background:#ffffff24;border:3px solid #0000;border-radius:18px;padding:4px 16px;font-size:clamp(14px,2.2vmin,22px);font-weight:800}.kit-pattern.is-on{border-color:var(--gold);background:#ffd23f40}.kit-pattern:disabled{opacity:.55}.kit-toggle{min-height:var(--touch-min);background:#ffffff24;border:none;border-radius:18px;align-self:flex-start;padding:4px 18px;font-size:clamp(14px,2.2vmin,22px);font-weight:800}.swatch{width:var(--touch-min);height:var(--touch-min);border:4px solid #ffffff80;border-radius:50%;box-shadow:0 4px #00000040}.swatch.is-on{border-color:var(--gold);outline:4px solid var(--gold);outline-offset:2px}.club-message{text-align:center;background:#ff6b6b40;border-radius:16px;padding:8px 16px;font-size:clamp(15px,2.4vmin,24px);font-weight:800}.club-message.is-good{background:#3ddc8447}.upgrade-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.upgrade.is-locked{opacity:.7}.upgrade-icon{font-size:clamp(30px,5vmin,52px);line-height:1}.upgrade-text{flex-direction:column;flex:1;min-width:0;font-size:clamp(16px,2.6vmin,26px);display:flex}.upgrade-text small{opacity:.88;font-size:.72em;font-weight:600}.upgrade-hint{color:var(--gold)}.buy{min-width:clamp(110px,16vmin,160px);min-height:var(--touch-min);background:var(--gold);color:#3a2a00;box-shadow:0 5px 0 var(--gold-dark);border:none;border-radius:18px;font-size:clamp(18px,2.8vmin,30px);font-weight:900}.buy:active:not(:disabled){box-shadow:0 1px 0 var(--gold-dark);transform:translateY(4px)}.buy:disabled{opacity:.5;box-shadow:none}.season{justify-content:flex-start;align-items:stretch;gap:var(--gap)}.season-title{margin:0;font-size:clamp(20px,3.6vmin,38px);font-weight:900}.season-body{gap:var(--gap);flex:1;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);min-height:0;display:grid;overflow-y:auto}@media (aspect-ratio<=11/10){.season-body{grid-template-columns:1fr;align-content:start}}.standings{border-collapse:separate;border-spacing:0 6px;text-align:center;align-self:start;width:100%;font-size:clamp(15px,2.6vmin,27px);font-weight:700}.standings th{color:var(--gold);padding:4px 6px;font-size:.8em}.standings td{background:#00000040;padding:10px 6px}.standings td:first-child{border-radius:14px 0 0 14px}.standings td:last-child{border-radius:0 14px 14px 0}.standings .left{text-align:left}.standings .pts{color:var(--gold);font-size:1.15em;font-weight:900}.standings .is-me td{background:#ffd23f47}.standings .is-me{outline:2px solid var(--gold);outline-offset:-2px;border-radius:14px}.fixtures{flex-direction:column;gap:12px;display:flex}.fixture-block{background:#00000042;border-radius:20px;padding:12px 18px}.fixture-block h2{color:var(--gold);margin:0 0 6px;font-size:clamp(15px,2.4vmin,24px)}.fixture-block ol,.fixture-block ul{margin:0;padding-left:22px;font-size:clamp(15px,2.4vmin,24px);font-weight:700}.fixture-block .is-next{color:var(--gold)}.fixture-block .won{color:#8df0b0}.fixture-block .lost{color:#ff9d9d}.big-place{color:var(--gold);font-size:clamp(48px,10vmin,100px);font-weight:900;line-height:1}@media (prefers-reduced-motion:reduce){.crane,.tap-ball,.levelup-star,.combo-flame{animation:none!important}}.set-pin .card{align-items:center}.pin-hint{opacity:.8;font-size:clamp(14px,2.2vmin,20px)}.profile-account{opacity:.85;margin-top:4px;font-size:clamp(14px,2.2vmin,20px);display:block}.login-lead{text-align:center;max-width:640px;margin:0;font-size:clamp(16px,2.6vmin,24px)}.login-form{flex-direction:column;gap:10px;width:min(100%,560px);display:flex}.login{justify-content:flex-start;overflow-y:auto}body:has(.admin){-webkit-user-select:text;user-select:text;overflow:auto}.admin{color:#fff;flex-direction:column;gap:16px;max-width:860px;margin:0 auto;padding:20px 16px 60px;font-size:18px;display:flex}.admin h1,.admin h2{margin:0}.admin-card{background:#00000047;border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.admin input,.admin button{font:inherit;border:0;border-radius:10px;min-height:44px;padding:6px 12px}.admin button{background:var(--gold);color:#3a2a00;cursor:pointer;font-weight:800}.admin-row,.admin-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.admin-list li{background:#ffffff14;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.admin-list li.is-off{opacity:.5}.admin .code{letter-spacing:1px;font-family:ui-monospace,Consolas,monospace}.admin-sub{opacity:.8;font-size:14px}.admin-note{background:#ffd23f33;border-radius:12px;margin:0;padding:10px 14px}.admin-error{color:#ffb4a8;margin:0}
