@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(./bebas-neue-latin-400-normal-9mHNbWWO.woff2) format("woff2"),url(./bebas-neue-latin-400-normal-Bi-ndsyu.woff) format("woff")}@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(./bebas-neue-latin-ext-400-normal-DWiEslNC.woff2) format("woff2"),url(./bebas-neue-latin-ext-400-normal-HFKRJXnW.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(./poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(./poppins-latin-400-normal-BOb3E3N0.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(./poppins-latin-ext-400-normal-by3JarPu.woff2) format("woff2"),url(./poppins-latin-ext-400-normal-DaBSavcJ.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(./poppins-latin-600-normal-BJdTmd5m.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(./poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(./poppins-latin-700-normal-BVuQR_eA.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(./poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff")}:root{--grass-1: #4c9b39;--grass-2: #43902f;--grass-deep: #2d6a22;--chalk: rgba(255, 255, 255, .32);--me: #1e6fd9;--me-dark: #1557ad;--opp: #e53935;--opp-dark: #b72a27;--accent: #ffc928;--accent-dark: #e0ad10;--ink: #1b1f24;--panel: #ffffff;--muted: #6b7280;--line: #e3e7ec;--ok: #1f9d55;--radius: 18px;--shadow: 0 6px 18px rgba(10, 40, 10, .25);--font-display: "Bebas Neue", "Arial Narrow", Impact, sans-serif;--font-body: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font-body);color:var(--ink);background:repeating-linear-gradient(180deg,var(--grass-1) 0 72px,var(--grass-2) 72px 144px) fixed;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}input{user-select:text;-webkit-user-select:text;font-family:var(--font-body)}.pitch-lines{position:fixed;inset:0;width:100%;height:100%;color:var(--chalk);pointer-events:none;z-index:-1}.pitch-lines.landscape{display:none}@media(orientation:landscape){.pitch-lines.portrait{display:none}.pitch-lines.landscape{display:block}}#app{position:relative;z-index:1;min-height:100%;display:flex;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.on-grass{color:#fff;text-shadow:0 2px 4px rgba(0,40,0,.55)}.btn{font-family:var(--font-display);font-size:1.45rem;letter-spacing:.04em;line-height:1;min-height:52px;padding:.75rem 1.6rem;border-radius:999px;border:none;cursor:pointer;background:var(--panel);color:var(--me);box-shadow:var(--shadow);transition:transform .08s ease,filter .15s ease}.btn:active:not(:disabled){transform:translateY(2px) scale(.98)}.btn:disabled{background:#d7dbe0;color:#8a929c;box-shadow:none;cursor:default}.btn.primary{background:var(--accent);color:var(--ink);box-shadow:0 4px 0 var(--accent-dark),var(--shadow)}.btn.blue{background:var(--me);color:#fff;box-shadow:0 4px 0 var(--me-dark),var(--shadow)}.btn.ghost{background:var(--panel);color:var(--ink)}.btn.big{font-size:2rem;min-height:64px}.btn.wide{width:100%}.btn.small{font-size:1.15rem;min-height:44px;padding:.55rem 1.1rem}.menu{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:1.4rem 1.2rem 2rem}.menu .logo{width:min(100%,320px);height:auto;margin-top:3vh;filter:drop-shadow(0 6px 10px rgba(0,40,0,.35))}.logo-text{font-family:var(--font-display)}.tagline{text-align:center;font-weight:600;font-size:1.05rem;margin:0 0 .6rem;max-width:22rem}.menu .btn.big,.menu .btn.friend{width:100%;max-width:320px}.code-box{margin-top:.8rem;width:100%;max-width:340px;background:#143c108c;border-radius:var(--radius);padding:.9rem;display:flex;flex-direction:column;gap:.55rem;align-items:center}.code-box label{color:#fff;font-weight:600;font-size:.95rem}.code-box .row{display:flex;gap:.5rem;width:100%}.code-input{flex:1;min-width:0;font-size:1.15rem;letter-spacing:.18em;text-transform:uppercase;text-align:center;padding:.65rem;border-radius:12px;border:2px solid transparent;background:#fff;color:var(--ink);outline:none}.code-input:focus{border-color:var(--me)}.code-input::placeholder{letter-spacing:normal;text-transform:none;color:#9aa3ad;font-size:.95rem}.error-chip{background:#fff;color:var(--opp);font-weight:600;border-radius:12px;padding:.5rem .9rem;box-shadow:var(--shadow);text-align:center}.radar{position:relative;width:190px;height:190px;display:grid;place-items:center;margin:4vh 0 .5rem}.radar:before,.radar:after{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid rgba(255,255,255,.55);animation:ripple 2.2s ease-out infinite}.radar:after{animation-delay:1.1s}.radar .ball{position:relative;animation:bob 1.4s ease-in-out infinite;filter:drop-shadow(0 6px 6px rgba(0,0,0,.3))}@keyframes ripple{0%{transform:scale(.35);opacity:1}to{transform:scale(1);opacity:0}}@keyframes bob{50%{transform:translateY(-8px)}}.note-card{background:#fff;border-radius:14px;padding:.7rem .9rem;font-size:.85rem;color:var(--ink);box-shadow:var(--shadow);max-width:300px;text-align:center}.panel{width:100%;background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1rem 1.2rem;display:flex;flex-direction:column;align-items:center;gap:.7rem}.panel h2{font-family:var(--font-display);font-weight:400;font-size:1.8rem;letter-spacing:.03em;margin:0;text-align:center}.label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}.room-code{font-family:var(--font-display);font-size:clamp(3rem,16vw,4rem);letter-spacing:.16em;color:var(--me);margin:-.2rem 0 0;line-height:1}.link-field{width:100%;font-size:.8rem;padding:.55rem .7rem;border-radius:10px;border:2px solid var(--line);background:#f6f8fa;color:var(--muted)}.panel .buttons{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}.dots{display:flex;gap:6px}.dots span{width:8px;height:8px;border-radius:50%;background:#fff;opacity:.5;animation:dot 1.2s infinite}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes dot{40%{opacity:1;transform:translateY(-3px)}}.game{width:100%;max-width:520px;display:flex;flex-direction:column;min-height:100%}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;background:var(--grass-deep);box-shadow:0 3px 10px #0000004d;position:sticky;top:0;z-index:5}.team{display:flex;align-items:center;gap:.5rem;padding:.45rem .7rem;color:#fff;min-width:0}.team.me{background:var(--me);justify-content:space-between}.team.opp{background:var(--opp);flex-direction:row-reverse;justify-content:space-between}.team .info{display:flex;flex-direction:column;min-width:0}.team.opp .info{align-items:flex-end}.team .who{font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:9.5rem;display:flex;align-items:center;gap:.3rem}.team .misses{font-size:.7rem;opacity:.85;white-space:nowrap}.team .score{font-family:var(--font-display);font-size:2.6rem;line-height:1;display:inline-block;animation:bump .6s ease-out}@keyframes bump{30%{transform:scale(1.5)}}.badge{font-style:normal;font-size:.62rem;font-weight:700;background:var(--accent);color:var(--ink);border-radius:6px;padding:.1rem .35rem}.avatar{width:20px;height:20px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.8)}.mid{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 .6rem;color:#fff}.round{font-family:var(--font-display);font-size:1.15rem;letter-spacing:.06em;white-space:nowrap}.stage{flex:1;padding:.9rem .8rem 1.2rem;display:flex;flex-direction:column;gap:.9rem}.timer-badge{width:52px;height:52px;border-radius:50%;background:var(--accent);display:grid;place-items:center;font-family:var(--font-display);font-size:1.9rem;color:var(--ink);box-shadow:0 3px 0 var(--accent-dark);margin-top:-.2rem}.timer-badge.low{background:var(--opp);color:#fff;box-shadow:0 3px 0 var(--opp-dark);animation:pulse 1s infinite}@keyframes pulse{50%{transform:scale(1.12)}}.bar{width:100%;height:6px;background:var(--line);border-radius:3px;overflow:hidden}.bar .fill{height:100%;background:var(--accent);transition:width .1s linear}.bar .fill.low{background:var(--opp)}.muted{color:var(--muted);text-align:center;margin:0;font-size:.9rem}.ok-text{color:var(--ok);font-weight:600;text-align:center;margin:0}.error{color:var(--opp);text-align:center;margin:0;font-weight:600}.picked{display:flex;gap:.6rem;align-items:center;justify-content:center;flex-wrap:wrap;width:100%}.chip{background:var(--me);color:#fff;border-radius:12px;padding:.55rem 1rem;font-family:var(--font-display);font-size:1.4rem;letter-spacing:.03em}.ac{position:relative;width:100%;scroll-margin-top:4.5rem}.ac-input{width:100%;font-size:1.05rem;padding:.8rem 1rem;border-radius:12px;border:2px solid var(--line);background:#fff;color:var(--ink);outline:none}.ac-input:focus{border-color:var(--me);box-shadow:0 0 0 3px #1e6fd926}.ac-input:disabled{background:#f1f3f5}.ac-list{list-style:none;margin:.35rem 0 0;padding:.25rem;background:#fff;border:2px solid var(--line);border-radius:12px;max-height:min(46vh,330px);overflow-y:auto}.ac-item{display:flex;flex-direction:column;padding:.5rem .7rem;border-radius:9px;cursor:pointer;min-height:46px;justify-content:center}.ac-item.active{background:#eaf2fd}.ac-item.disabled{opacity:.4;cursor:not-allowed}.ac-name{font-weight:600;font-size:.98rem}.ac-sub{font-size:.75rem;color:var(--muted)}.ac-empty{padding:.6rem .75rem;color:var(--muted)}.countdown{flex:1;display:grid;place-items:center;position:relative;min-height:50vh}.countdown:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:repeating-conic-gradient(rgba(255,255,255,.35) 0 4deg,transparent 4deg 22deg);-webkit-mask:radial-gradient(circle,transparent 34%,#000 36%,#000 60%,transparent 70%);mask:radial-gradient(circle,transparent 34%,#000 36%,#000 60%,transparent 70%);animation:spin 6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.countdown span{position:relative;font-family:var(--font-display);font-size:clamp(9rem,48vw,13rem);line-height:1;color:var(--accent);text-shadow:-5px -5px 0 var(--grass-deep),5px -5px 0 var(--grass-deep),-5px 5px 0 var(--grass-deep),5px 5px 0 var(--grass-deep),0 -6px 0 var(--grass-deep),0 6px 0 var(--grass-deep),-6px 0 0 var(--grass-deep),6px 0 0 var(--grass-deep),0 12px 0 var(--grass-deep),0 18px 26px rgba(0,0,0,.35);animation:pop 1s ease-out}@keyframes pop{0%{transform:scale(1.7);opacity:0}25%{transform:scale(1);opacity:1}}.clubs{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:.5rem;width:100%}.club{border-radius:14px;padding:.85rem .5rem;text-align:center;color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:clamp(1.3rem,6vw,1.8rem);line-height:1.05;letter-spacing:.02em;min-height:70px;word-break:break-word}.club.mine{background:var(--me);box-shadow:0 4px 0 var(--me-dark);animation:slideL .35s ease-out}.club.theirs{background:var(--opp);box-shadow:0 4px 0 var(--opp-dark);animation:slideR .35s ease-out}@keyframes slideL{0%{transform:translate(-40px);opacity:0}}@keyframes slideR{0%{transform:translate(40px);opacity:0}}.vs{font-family:var(--font-display);font-size:1.8rem;align-self:center;color:var(--ink)}.outcome-card{position:relative;width:100%;border-radius:16px;border:3px solid var(--line);background:#fff;padding:1rem 1rem 1.2rem;text-align:center;animation:cardIn .45s cubic-bezier(.2,1.4,.4,1)}.outcome-card.mine{border-color:var(--me);background:#eef5ff}.outcome-card.theirs{border-color:var(--opp);background:#fff1f0}.outcome-title{margin:0;font-family:var(--font-display);font-size:1.9rem;letter-spacing:.03em}.mine .outcome-title{color:var(--me)}.theirs .outcome-title{color:var(--opp)}.outcome-player{margin:.1rem 0 0;font-family:var(--font-display);font-size:clamp(2.4rem,12vw,3.2rem);line-height:1.05;color:var(--ink);word-break:break-word}.outcome{margin:0;font-weight:600}.plus{display:inline-grid;place-items:center;width:54px;height:54px;margin-top:.5rem;border-radius:50%;background:var(--accent);color:var(--ink);font-family:var(--font-display);font-size:1.7rem;box-shadow:0 3px 0 var(--accent-dark);animation:plusIn .6s .15s both cubic-bezier(.2,1.6,.4,1)}@keyframes cardIn{0%{transform:scale(.85) translateY(10px);opacity:0}}@keyframes plusIn{0%{transform:scale(0) rotate(-30deg)}}.over{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%}.over h2{font-family:var(--font-display);font-weight:400;font-size:3rem;margin:0;letter-spacing:.03em;line-height:1}.over h2.win{color:var(--me)}.over h2.lose{color:var(--opp)}.over h2.draw{color:#5b6470}.icon-trophy{color:var(--me)}.icon-draw{color:#6b7280}.icon-lose{opacity:.6;filter:grayscale(1)}.final{font-family:var(--font-display);font-size:3.2rem;margin:0;line-height:1}.over .btn{width:100%;max-width:300px}.banner{background:var(--accent);color:var(--ink);text-align:center;padding:.5rem;font-weight:600;font-size:.88rem}.modal{position:fixed;inset:0;background:#001e008c;display:flex;align-items:center;justify-content:center;z-index:20;padding:1rem}.modal-box{background:#fff;border-radius:var(--radius);padding:1.4rem;text-align:center;max-width:340px;box-shadow:var(--shadow)}.modal-box p{margin:0 0 1rem;font-weight:600}.spinner{width:40px;height:40px;border-radius:50%;border:4px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .9s linear infinite}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(min-width:720px){.stage{padding-top:1.4rem}.menu{padding-top:2.4rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.ac-input.shake{animation:shake .4s;border-color:var(--opp)}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.confetti{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden}.confetti i{position:absolute;top:-20px;border-radius:2px;animation-name:fall;animation-timing-function:cubic-bezier(.3,.6,.6,1);animation-fill-mode:forwards}@keyframes fall{to{transform:translate(var(--drift),110vh) rotate(var(--spin))}}.reactions{display:flex;justify-content:center;gap:.35rem;flex-wrap:nowrap;padding:.3rem;background:#143c1073;border-radius:999px;align-self:center}.reactions button{width:min(44px,calc((100vw - 64px) / 6));height:min(44px,calc((100vw - 64px) / 6));min-width:40px;min-height:40px;border-radius:50%;border:none;background:#fff;font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 2px #00000026;transition:transform .08s;display:grid;place-items:center;padding:0}.reactions button:active:not(:disabled){transform:scale(.9)}.reactions button:disabled{opacity:.45;cursor:default}.bubble{position:fixed;top:66px;z-index:25;pointer-events:none;animation:bubble 1.8s ease-out forwards;display:flex;align-items:center;gap:.35rem;background:#fff;border-radius:999px;padding:.25rem .75rem .25rem .35rem;font-size:1.9rem;line-height:1;box-shadow:var(--shadow);border:3px solid var(--line)}.bubble.me{border-color:var(--me)}.bubble.opp{border-color:var(--opp)}.bubble.me{left:max(12px,calc(50% - 250px))}.bubble.opp{right:max(12px,calc(50% - 250px))}.bubble .tag{font-size:.8rem;font-weight:700;color:var(--ink);max-width:7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes bubble{0%{transform:translateY(10px) scale(.4);opacity:0}15%{transform:translateY(0) scale(1.15);opacity:1}25%{transform:scale(1)}80%{opacity:1}to{transform:translateY(40px);opacity:0}}.sound-btn{width:40px;height:40px;border-radius:50%;border:none;background:#ffffffeb;font-size:1.1rem;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 6px #00000040;padding:0}.sound-btn:disabled{opacity:.5;cursor:default}.menu-corner{position:fixed;top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));z-index:10}.mid .sound-btn{width:40px;height:40px;font-size:1rem;margin:2px 0}.clubs{scroll-margin-top:76px}@media(max-height:560px){.scoreboard .team{padding:.25rem .6rem}.team .score{font-size:2rem}.stage{padding-top:.5rem;gap:.5rem}.panel{padding:.6rem .7rem .8rem;gap:.45rem}.panel h2{font-size:1.3rem}.panel:has(.clubs) h2{display:none}.timer-badge{width:40px;height:40px;font-size:1.5rem}.club{min-height:46px;padding:.45rem;font-size:1.25rem}.clubs{scroll-margin-top:58px}.ac-list{max-height:38vh}.ac-item{min-height:40px;padding:.35rem .6rem}.countdown{min-height:60vh}.countdown:before{width:240px;height:240px}}.vs-timer{display:none}@media(max-height:400px){.team .misses{display:none}.team .score{font-size:1.6rem}.round{font-size:.95rem}.mid .sound-btn{display:none}.panel:has(.clubs) .timer-badge{display:none}.vs-x{display:none}.vs-timer{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);font-family:var(--font-display);font-size:1.3rem;color:var(--ink)}.vs-timer.low{background:var(--opp);color:#fff}.club{min-height:38px;padding:.3rem;font-size:1.05rem}.ac-input{padding:.55rem .8rem}.ac-item{min-height:36px;padding:.25rem .55rem}.ac-sub{font-size:.7rem}.clubs{scroll-margin-top:44px}}.howto{position:relative;width:100%;background:#eef5ff;border:2px solid #cfe0fb;border-radius:12px;padding:.5rem 2rem .5rem .6rem}.howto ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.howto li{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600}.howto li span{flex:none;width:22px;height:22px;border-radius:50%;background:var(--me);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:.95rem}.howto-close{position:absolute;top:4px;right:4px;width:32px;height:32px;border:none;background:transparent;font-size:.9rem;color:var(--muted);cursor:pointer}@media(max-height:560px){.howto{display:none}}@media(max-height:560px){.menu{padding:.5rem 1rem .6rem;gap:.45rem}.menu .logo{width:min(100%,210px);margin-top:0}.menu .tagline{font-size:.92rem;margin:0}.menu .btn.big{min-height:52px;font-size:1.7rem}.menu .btn{min-height:46px}.code-box{margin-top:.2rem;padding:.5rem .7rem;gap:.35rem}.code-box label{font-size:.85rem}.radar{width:140px;height:140px;margin-top:0}}.link-btn{background:none;border:none;font:inherit;font-weight:700;font-size:1rem;cursor:pointer;min-height:44px;padding:.4rem .8rem;text-decoration:underline;text-underline-offset:3px}.modal-box.rules{max-width:420px;width:100%;max-height:90vh;overflow-y:auto;text-align:left;padding:1.2rem 1.2rem 1.3rem}.modal-box.rules h2{font-family:var(--font-display);font-weight:400;font-size:2rem;margin:0 0 .6rem;text-align:center;letter-spacing:.03em}.rules-steps{list-style:none;margin:0 0 .8rem;padding:0;display:flex;flex-direction:column;gap:.6rem}.rules-steps li{display:flex;gap:.7rem;align-items:flex-start}.rules-steps b{font-family:var(--font-display);font-weight:400;font-size:1.3rem;letter-spacing:.03em}.rules-steps p{margin:.1rem 0 0;font-size:.88rem}.step{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-size:1.3rem;color:#fff}.step.mine{background:var(--me)}.step.theirs{background:var(--opp)}.step.accent{background:var(--accent);color:var(--ink)}.rules-list{margin:0 0 1rem;padding:.7rem .8rem;list-style:none;background:#f4f7f4;border-radius:12px;display:flex;flex-direction:column;gap:.45rem;font-size:.85rem}.modal-box.rules .btn{width:100%}@media(max-height:560px){.link-btn{min-height:40px;padding:.2rem .6rem;font-size:.9rem}}@media(max-height:640px)and (min-height:561px){.menu{padding-top:.8rem;gap:.6rem}.menu .logo{width:min(100%,250px);margin-top:0}.menu .tagline{margin:0;font-size:.95rem}.code-box{margin-top:.3rem;padding:.7rem}}
