@font-face{font-family:Baloo;src:url('/assets/fonts/baloo.woff2')}@font-face{font-family:Nunito;src:url('/assets/fonts/nunito.woff2')}
#main.ka-immersive-target{background:#fff7e7}
@media(max-height:500px) and (min-width:600px){
  .playing #main>.music-controls{grid-column:1/-1;grid-row:1}
  .playing #main #match{grid-row:2}
  .playing #main .swipe-help{grid-column:1;grid-row:3;align-self:start;margin:2px 0 5px}
  .playing #main .field{grid-column:1;grid-row:4;align-self:start}
  .playing #main #controls{grid-column:2;grid-row:3/5;align-self:start}
  .playing #main #scores{grid-row:5}.playing #main .notes{grid-row:6}
}
.mode-picker{display:grid;gap:6px;font-size:15px;font-weight:800;margin-top:10px}.mode-picker select{min-height:48px;max-width:100%;border:1px solid #315b45;border-radius:8px;background:#fffdf5;color:#154b58;font:inherit;padding:8px}.challenge-hud{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 12px;margin-bottom:8px;background:#174c3d;color:#fff5d0;border-left:5px solid #f0be51;font-size:14px;line-height:1.3}.challenge-hud span{display:grid;gap:2px}.challenge-hud span strong{font-size:16px}
:root{--cream:#fff7e7;--ink:#154b58;--coral:#ab4328;--gold:#f0be51;--green:#315b45;--muted:#46665e;--line:#b6c2ad;--ease:cubic-bezier(.22,.7,.2,1)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 10%,#f5e6be,transparent 45%),var(--cream);color:var(--ink);font:18px/1.55 Nunito,sans-serif}a{color:inherit}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--coral);outline-offset:5px}.skip{position:absolute;left:15px;top:-100px}.skip:focus{top:10px;z-index:5;background:var(--cream);padding:15px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1440px;margin:auto;padding:22px 5%}.brand{font:800 27px/.85 Baloo,sans-serif;text-decoration:none}.brand b{display:block;color:var(--coral)}.back{font-weight:800;text-underline-offset:6px;display:inline-flex;align-items:center;min-height:44px}main{max-width:1440px;margin:auto}.intro{padding:38px 6% 35px;display:grid;grid-template-columns:1.1fr 1fr;column-gap:8%;align-items:start}.eyebrow{font-weight:800;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--coral);margin:0 0 8px}.intro>.eyebrow,.intro>h1,.intro>p{grid-column:1}.intro h1{font:800 clamp(38px,4.7vw,67px)/1.02 Baloo,sans-serif;letter-spacing:-.035em;margin:0}.intro em{font-style:normal;color:var(--coral)}.intro>p:not(.eyebrow){margin:18px 0 0}.intro form{grid-column:2;grid-row:1/5}fieldset{border:0;padding:0;margin:0}legend{font:700 24px Baloo,sans-serif;margin-bottom:10px}#names{display:grid;grid-template-columns:1fr 1fr;gap:10px}#names label{font-size:14px;font-weight:700}input[name=nickname]{width:100%;min-height:46px;border:1px solid var(--line);border-radius:9px;background:#fffdf5;padding:6px 12px;color:var(--ink)}button{min-height:46px;border:1px solid var(--line);padding:9px 19px;border-radius:28px;background:transparent;color:var(--ink);font-weight:800}.primary{background:var(--green);color:#fffbed;border:2px solid transparent;padding:13px 28px}.primary:hover{background:#244c37}.text-button{border:0;text-decoration:underline;text-underline-offset:5px;padding-left:0}.small{font-size:14px;line-height:1.6;color:var(--muted)}.field{margin:0;position:relative;background:#e5d9b2;overflow:hidden}.field img,.field canvas{display:block;width:100%;height:auto;aspect-ratio:1672/941}.field canvas{display:none}.field.ready canvas{display:block}.field.ready #poster{display:none}#asset-error{padding:20px}#pitch{touch-action:pan-y}.match-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 5%}.match h1{font:800 clamp(28px,3.2vw,44px)/1.1 Baloo,sans-serif;margin:0}.match-tools{display:flex;flex-wrap:wrap;gap:8px}.match-tools button{font-size:14px;padding:7px 14px}.controls{padding:26px 6% 10px}.aim-controls{display:grid;grid-template-columns:1fr 1fr;gap:30px}.aim-controls label,.power-label{display:block;font-size:15px;font-weight:800}output{float:right;color:var(--coral)}input[type=range]{display:block;width:100%;height:44px;accent-color:var(--green)}.kick-controls{display:grid;grid-template-columns:1fr auto auto;gap:24px;align-items:center;margin-top:8px}.hold{border-color:var(--green);min-width:155px;font-size:16px;line-height:1.25;user-select:none;-webkit-user-select:none;touch-action:none}.hold small{font-size:12px;font-weight:600}.hold.charging{background:var(--gold)}.status{font:700 24px/1.3 Baloo,sans-serif;min-height:2em;margin:18px 0}.score-section{padding:25px 6% 40px}.score-section h2{font:800 35px/1.1 Baloo,sans-serif;margin:0 0 20px}#scoreboard{list-style:none;padding:0;display:flex;gap:28px;flex-wrap:wrap}#scoreboard li{flex:1;min-width:160px;border-top:2px solid var(--line);padding:12px 0}#scoreboard strong{display:block;font-size:21px}.dots{font-size:14px;letter-spacing:.04em;margin-top:8px}.score-section .back{margin-left:20px}.notes{padding:32px 6%;max-width:900px}.notes h2{font:700 27px Baloo,sans-serif}.notes p{color:var(--muted);font-size:15px}footer{display:flex;gap:25px;flex-wrap:wrap;max-width:1440px;margin:auto;padding:20px 6% 35px}footer a{min-height:44px;display:inline-flex;align-items:center;font-weight:700}.no-script{padding:20px 6%}
@media(max-width:700px){body{font-size:17px}.site-header{padding:20px 6%;gap:10px}.brand{font-size:23px}.site-header>.back{font-size:13px}.intro{display:block;padding:25px 6%}.intro form{margin-top:25px}.intro h1{font-size:43px}.match-header{align-items:start;flex-wrap:wrap;padding:16px 6%}.match-tools{gap:6px}.match-tools button{font-size:12px;min-height:44px}.aim-controls{gap:16px}.kick-controls{grid-template-columns:1fr 1fr;gap:12px}.power-label{grid-column:1/-1}.kick-controls .primary{padding:10px;font-size:15px}.hold{min-width:0;padding:8px}.controls{padding-top:18px}.status{font-size:21px}.score-section .back{margin-left:0;margin-top:15px}.notes{padding-top:15px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
