:root{color:#eed;font-synthesis:none;--gold:#eac96a;--muted:#93a89c;--line:#29433a;background:#071b17;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:450}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0;min-height:48px;transition:background .15s,transform .15s}button:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button,summary{-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}em{color:var(--gold);font-style:normal}.app-shell{max-width:1020px;padding:20px max(22px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-bottom));min-height:100dvh;margin:0 auto}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:20px;display:flex}.brand{color:#f4ebca;text-align:left;letter-spacing:1.3px;background:0 0;align-items:center;gap:9px;padding:0;font-size:12px;font-weight:800;line-height:1.25;display:flex}.brand svg{fill:none;width:38px;height:38px;stroke:var(--gold);stroke-width:2.5px}.brand-sub{letter-spacing:3px;font-size:18px;display:block}.status{white-space:nowrap;color:#b6c8a4;border:1px solid #344c3c;border-radius:20px;padding:8px 10px;font-size:10px}main{min-height:70dvh}.eyebrow{letter-spacing:2px;color:var(--gold);font-size:10px;font-weight:750}h1{letter-spacing:-2px;font-family:Georgia,Times New Roman,serif;font-size:clamp(44px,9.5vw,76px);font-weight:500;line-height:1.02}p{color:var(--muted);font-size:14px;line-height:1.65}.hero{padding-top:38px;position:relative;overflow:hidden}.hero h1{margin:16px 0}.hero p{z-index:1;position:relative}.hero-art{pointer-events:none;width:100%;height:165px;margin-top:-30px;position:relative;overflow:hidden}.hero-art svg{width:100%;max-width:560px;height:100%;position:absolute;bottom:0;right:-55px}.stadium-glow{background:radial-gradient(#bc9e3c26,#0000 70%);width:250px;height:130px;position:absolute;top:20px;right:-30px}.field{fill:#153d2b}.field-lines{stroke:#749967;stroke-width:2px;fill:none}.hero-ball{fill:#f8edcd;stroke:#c1a962;stroke-width:2px}.ball-trail{stroke:#ebc769;stroke-width:2px;stroke-dasharray:5 6;fill:none}.art-tag{letter-spacing:1.7px;color:#7d9b82;font-size:8px;font-weight:600;position:absolute;bottom:10px;left:0}.home-controls{z-index:1;margin-top:10px;padding-bottom:18px;position:relative}.section-label{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin:24px 0 12px;font-size:9px;display:flex}.section-label>span:first-child{letter-spacing:1.1px;color:#d0dbc8;font-weight:750}.section-label strong{color:var(--gold)}.team-choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.team{color:#a9bdb0;text-align:left;background:#102b24;border:1px solid #2c4438;border-radius:6px;align-items:center;gap:10px;min-width:0;padding:14px 10px;display:flex}.team.selected{color:#f5ebc8;background:#1f3628;border-color:#d0b45b}.team>span:nth-child(2){letter-spacing:.8px;font-size:8px}.team strong{letter-spacing:0;margin-top:4px;font-family:Georgia,serif;font-size:16px;font-weight:500;display:block}.team-tick{color:var(--gold);margin-left:auto;font-size:15px}.shirt{clip-path:polygon(25% 0,40% 5%,60% 5%,75% 0,100% 25%,83% 45%,75% 36%,75% 100%,25% 100%,25% 36%,17% 45%,0 25%);background:#00529b;flex-shrink:0;width:30px;height:32px;position:relative}.roosters .shirt{background:#00205b}.shirt span{background:#c92835;border-top:2px solid #e7ede2;border-bottom:2px solid #e7ede2;width:100%;height:7px;position:absolute;top:13px;left:0}.primary,.secondary{border-radius:5px;min-height:50px;padding:15px 20px;font-weight:650}.primary{background:var(--gold);color:#152b21}.secondary{color:#e8eada;background:#142f27;border:1px solid #355143}.mode-button{text-align:left;justify-content:space-between;align-items:center;width:100%;padding:19px 20px;display:flex}.mode-button strong{font-size:18px}.mode-button small{color:#374b37;margin-top:5px;font-size:11px;font-weight:450;display:block}.mode-button>span:last-child{font-size:26px;font-weight:400}.secondary-modes{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.secondary-modes button{justify-content:space-between;align-items:center;gap:5px;padding:14px 11px;font-size:12px;display:flex}.text-button{color:var(--gold);background:0 0;padding:8px 0;font-size:12px}.install-help{border-top:1px solid var(--line);color:var(--muted);margin-top:22px;padding-top:14px;font-size:12px}summary{cursor:pointer;padding:8px 0}.install-help p{padding-top:8px;font-size:12px}.note{margin-top:18px;font-size:12px}footer{border-top:1px solid var(--line);color:#668476;letter-spacing:.4px;margin-top:24px;padding:16px 0 0;font-size:9px}.toast{color:#263e2e;z-index:5;background:#f1dec0;border-radius:7px;width:max-content;max-width:min(90vw,550px);padding:16px 20px;font-size:13px;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 40px #0007}.kick-screen{padding-top:24px}.kick-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.kick-heading h1{letter-spacing:-1.5px;margin-top:10px;font-size:clamp(34px,7vw,52px)}.score-badge{text-align:center;border-left:1px solid var(--line);padding-left:20px}.score-badge strong{color:var(--gold);font-family:Georgia,serif;font-size:32px;font-weight:500;display:block}.score-badge span{letter-spacing:1px;color:var(--muted);font-size:8px}.conditions{border-top:1px solid var(--line);justify-content:space-between;gap:8px;margin-top:12px;padding:17px 0;display:flex}.conditions small{color:var(--muted);letter-spacing:1px;font-size:8px;display:block}.conditions strong{margin-top:5px;font-size:16px;font-weight:600;display:block}.conditions strong span{color:var(--muted);margin-left:2px;font-size:11px}.pitch-wrap{border:1px solid #2a4b38;border-radius:6px;position:relative;overflow:hidden}#pitch{width:100%;height:clamp(150px,23dvh,250px);display:block}.pitch-caption{letter-spacing:.7px;color:#e0f0d7;font-size:8px;position:absolute;bottom:10px;left:12px}.swipe-column{text-align:center;padding-top:15px}.swipe-pad{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:contain;isolation:isolate;background:radial-gradient(at 50% 75%,#1c3e2a,#0c231c 75%);border:1px solid #2c493a;border-radius:8px;width:clamp(160px,min(69vw,32dvh),280px);margin:0 auto;position:relative}.swipe-pad svg{pointer-events:none;width:100%;height:100%}.fan{fill:#d5bd5e06;stroke:#749666;stroke-width:1px;stroke-dasharray:3 4}.guides,.centre-guide{stroke:#4e6b54;stroke-width:1px;fill:none}.centre-guide{stroke-dasharray:4 5}.swipe-pad text{fill:#718c71;font-family:system-ui;font-size:8px}.ball-zone{fill:#ecc76509;stroke:#ceb86c;stroke-width:1px;stroke-dasharray:3 4}.pad-ball{fill:#fff1cc;stroke:#d9b75c;stroke-width:2px}.laces{stroke:#8d794e;stroke-width:1.4px}.aim{stroke:#f2cc62;stroke-width:3px;stroke-linecap:round}.power-track{background:#3d543c;border-radius:4px;height:3px;position:absolute;bottom:9px;left:15px;right:15px;overflow:hidden}.power-fill{background:var(--gold);width:0;height:100%;display:block}.power-label{color:#bec9a5;font-size:9px;position:absolute;top:8px;left:0;right:0}.swipe-help{margin-top:9px;font-size:10px;line-height:1.5}.locked{opacity:.6}.shot-feedback{text-align:center;color:#c5d3c2;min-height:50px;padding:14px 0;font-size:13px;line-height:1.45}.shot-feedback.made{color:var(--gold)}.shot-actions{justify-content:center;gap:10px;display:flex}.shot-actions button{flex:1;max-width:300px;font-size:12px}.friends-screen,.lobby-screen,.results-screen{max-width:570px;margin:auto;padding-top:35px}.friends-screen h1,.lobby-screen h1{margin:15px 0 20px}.friends-screen>p{margin-bottom:20px}.input-label{color:#b9c8ae;letter-spacing:1.2px;margin:23px 0 10px;font-size:9px;font-weight:700;display:block}input{color:#f6edcf;background:#102b23;border:1px solid #345043;border-radius:5px;width:100%;height:52px;padding:13px;font-size:16px}input::placeholder{color:#6e8a79}.friends-screen .team-choices{margin:18px 0}.friends-screen>.primary,.lobby-screen>button,.results-screen>button{width:100%;margin-top:12px;display:block}.or{color:var(--muted);align-items:center;gap:15px;margin-top:25px;font-size:11px;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.join-row{gap:10px;display:flex}.join-row input{text-transform:uppercase;letter-spacing:1px;min-width:0}.room-code{text-align:center;background:#1c3325;border:1px solid #5b603b;border-radius:6px;margin:22px 0;padding:22px}.room-code small{color:var(--muted);letter-spacing:2px;font-size:8px;display:block}.room-code strong{color:var(--gold);letter-spacing:3px;margin:12px 0 4px;font-size:clamp(21px,6vw,32px);display:block}.roster{margin:20px 0}.player-row{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:13px 0;font-size:12px;display:flex}.player-dot{background:#00529b;border:1px solid #8cabb3;border-radius:50%;flex-shrink:0;width:10px;height:10px}.player-dot.roosters{background:#c92835}.player-name{overflow-wrap:anywhere;flex:1;min-width:0}.player-name small{color:var(--gold);margin-left:3px;font-size:7px}.player-state{color:var(--muted);font-size:10px}.player-row>strong{color:var(--gold);font-weight:500}.round-roster{margin:12px 0}.results-screen{text-align:center}.results-screen h1{margin:20px 0;font-size:clamp(38px,8vw,56px)}.result-medal{outline-offset:6px;background:radial-gradient(circle,#475035,#182f23);border:1px solid #9a8a43;border-radius:50%;outline:1px solid #52583b;flex-direction:column;justify-content:center;align-items:center;width:155px;height:155px;margin:25px auto;display:flex}.result-medal svg{fill:none;width:38px;height:38px;stroke:var(--gold);stroke-width:2px}.result-medal strong{color:var(--gold);font-family:Georgia,serif;font-size:50px;font-weight:500;line-height:1.2}.result-medal strong span{color:#a4b292;font-size:24px}.outcome-marks{justify-content:center;gap:9px;margin:23px 0;display:flex}.outcome-marks>span{border:1px solid var(--line);border-radius:5px;flex-direction:column;justify-content:center;width:42px;height:53px;font-size:20px;font-weight:500;display:flex}.outcome-marks small{color:var(--muted);margin-bottom:4px;font-size:8px}.outcome-marks .goal{color:var(--gold);background:#263c27;border-color:#677349}.outcome-marks .miss{color:#ad8975;background:#242d24}.reveal-result{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;font-size:11px;display:flex}.winner-names{color:var(--gold);overflow-wrap:anywhere;font-family:Georgia,serif;font-size:23px}.final-standings{text-align:left;margin-top:25px}.standing{border-bottom:1px solid var(--line);padding:12px 0}.standing>div:first-child{justify-content:space-between;gap:15px;font-size:13px;display:flex}.standing .outcome-marks{justify-content:flex-start;gap:7px;margin:12px 0 0}.standing .outcome-marks>span{width:34px;height:43px;font-size:16px}.standing>div>span{color:var(--gold)}@media (width>=760px){.app-shell{padding:28px 44px}.topbar{padding-bottom:22px}.status{font-size:11px}.home-controls{width:45%;margin-left:auto;padding:38px 0}.hero{float:left;width:50%;min-height:620px;padding-top:55px}.hero-art{height:290px;margin-top:20px}.hero-art svg{right:-45px}.hero h1{font-size:78px}.hero p{font-size:15px}.home-controls .section-label{margin-top:24px}footer{clear:both}.shot-board{grid-template-columns:1.7fr 1fr;align-items:center;gap:25px;display:grid}.swipe-column{padding-top:0}.swipe-pad{width:280px}#pitch{height:340px}.conditions{justify-content:flex-start;gap:60px;padding:22px 0}.kick-screen{padding-top:40px}.shot-feedback{padding:22px 0;font-size:16px}.kick-heading h1{font-size:56px}.kick-heading .eyebrow{font-size:11px}.friends-screen,.lobby-screen,.results-screen{padding-top:45px;padding-bottom:35px}.hero-art .art-tag{bottom:15px}}@media (width<=350px){.app-shell{padding-left:16px;padding-right:16px}.status{padding:6px 8px;font-size:9px}.team{gap:7px;padding:12px 8px}.team-tick{display:none}.team strong{font-size:15px}.hero h1{font-size:50px}.hero-art{height:135px}.section-label{font-size:8px}.player-state{font-size:9px}.conditions strong{font-size:14px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
