[hidden]{display:none!important}
:root{font-family:Inter,Arial,sans-serif;color:#f3f6ff;background:#07194d;font-synthesis:none;color-scheme:dark;--blue:#1747ec;--lime:#b9f64a;--panel:#102b6b}
*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100svh;background:radial-gradient(ellipse at 50% 0,#153da1 0,transparent 70%),#07194d}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.65}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}a{color:inherit}.condensed,h1,h2,.btn,.scoreboard,.choice,.result-title,.pressure{font-family:'Barlow Condensed',Impact,sans-serif}.app{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}.topbar{width:min(100% - 32px,760px);margin:0 auto;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font:800 18px/.82 'Barlow Condensed',sans-serif;letter-spacing:.03em}.brand img{width:30px;height:36px;object-fit:contain}.topbar .titlebar{font:800 23px 'Barlow Condensed',sans-serif;letter-spacing:.18em}.icon-button{border:0;background:none;color:#dae5ff;padding:5px;font-size:22px;min-width:40px;min-height:36px}.mode-tag{color:#c0d1f6;border:1px solid #5679bc;border-radius:40px;font-size:11px;letter-spacing:.12em;padding:6px 10px;font-weight:700}.mode-tag:has(button){padding:0;border:0}
.home{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 20px 40px}.home-inner{width:min(100%,400px);text-align:center}.goal-icon{width:154px;height:86px;margin:0 auto 28px;display:block}h1{margin:0;font-weight:900;font-size:clamp(64px,13vw,94px);line-height:.87;letter-spacing:.008em;font-style:italic}.tagline{color:#c0d1f6;margin:23px 0 36px;font-size:17px}.btn{display:block;width:100%;border:1px solid #668ee7;border-radius:12px;min-height:54px;padding:11px 17px;background:#173b91;color:#f3f6ff;font-size:24px;font-weight:800;letter-spacing:.025em;text-align:center;text-decoration:none;box-shadow:0 4px 0 #031134}.btn+.btn{margin-top:12px}.btn.primary{background:var(--blue);color:#fff;border-color:#6489ff}.btn:active{transform:translateY(3px);box-shadow:0 1px 0 #031134}.inspiration{color:#a9bee8;font-size:11px;margin:26px 0 0}.inspiration a{text-underline-offset:3px}
.room{flex:1;display:grid;place-items:center;padding:24px}.room-card{width:min(100%,430px);background:var(--panel);border:1px solid #3c65b4;border-radius:15px;padding:30px 26px;text-align:center}.eyebrow{color:var(--lime);font-size:11px;letter-spacing:.18em;font-weight:800}.room-card h2{font-size:48px;font-style:italic;line-height:1;margin:8px 0 13px}.room-card p{color:#c0d1f6;font-size:14px;line-height:1.5;margin:0 0 25px}.room-link{background:#07194d;border:1px solid #456ab4;border-radius:9px;padding:15px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;margin-bottom:12px}.room-card .small-action{background:none;border:0;color:#c0d1f6;padding:17px}.notice{color:var(--lime);font-size:13px;margin:15px 0 0}.error{color:#ffb6bc;font-size:13px;margin:14px 0}
.game{width:min(100% - 24px,760px);margin:0 auto 12px}.scoreboard{width:min(100%,540px);margin:0 auto 10px;background:var(--panel);border:1px solid #3e65aa;border-radius:13px;overflow:hidden}.score-head{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:7px 13px;border-bottom:1px solid #35528c;color:#c0d1f6;font:700 11px Inter,sans-serif;letter-spacing:.1em}.timer{color:var(--lime);font:800 27px 'Barlow Condensed',sans-serif;letter-spacing:0;line-height:1}.timer.urgent{color:#ff999f}.score-row{display:grid;grid-template-columns:minmax(64px,auto) minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:43px;padding:8px 13px;border-bottom:1px solid #35528c;font-size:23px;font-weight:800}.score-row:last-child{border-bottom:0}.score-row.player-1{border-left:4px solid #ff725e}.score-row.player-2{border-left:4px solid #75b5ff}.score-name{white-space:nowrap}.you-tag{background:var(--lime);color:#07194d;font:800 9px Inter,sans-serif;border-radius:4px;padding:3px 4px;vertical-align:middle}.marks{justify-self:end;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;align-items:center;max-width:100%}.mark{position:static;display:grid;place-items:center;width:17px;height:17px;min-height:0;flex:0 0 17px;border:2px solid #839cc5;border-radius:50%;color:#07194d;font:800 12px Inter,sans-serif;background:transparent}.mark.scored{background:#b9f64a;border-color:#b9f64a}.mark.saved{background:#ff8290;border-color:#ff8290}.mark.active{border-color:#fff;box-shadow:0 0 0 2px #ffffff1a}.score-total{font-size:29px;text-align:right}
.pitch{height:clamp(240px,calc(100svh - 310px),500px);width:100%;position:relative;border:1px solid #4167b6;border-radius:14px;overflow:hidden;background:repeating-linear-gradient(to bottom,#095b64 0 12.5%,#08525f 12.5% 25%);isolation:isolate}.pitch:before{content:"";position:absolute;inset:0 0 82% 0;background:#153fbe;border-bottom:3px solid var(--lime)}.crowd{position:absolute;top:0;left:0;right:0;height:17%;background-image:radial-gradient(circle,#07194d 3px,transparent 4px),radial-gradient(circle,#7396eb 2px,transparent 3px),radial-gradient(circle,#b9f64a 2px,transparent 3px);background-size:21px 18px,37px 24px,87px 29px;background-position:3px 1px,20px 12px,44px 2px;opacity:.8}.stand-banner{position:absolute;z-index:3;top:2.5%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;white-space:nowrap;background:#0b277c;padding:4px 12px;border:1px solid #6a8ddd;color:white;font:800 clamp(9px,1.7vw,14px) 'Barlow Condensed',sans-serif;letter-spacing:.13em}.sporting-flag{display:block;position:relative;width:22px;height:13px;background:linear-gradient(135deg,#2459ff 0 55%,var(--lime) 55%);border-left:2px solid white;transform:skewY(-8deg)}.flood{position:absolute;top:-27%;width:42%;height:55%;border-radius:50%;background:rgba(255,255,255,.08);filter:blur(4px);pointer-events:none}.flood.left{left:-18%}.flood.right{right:-18%}.box-line{position:absolute;left:8%;right:8%;top:29%;bottom:8%;border:2px solid #b6d7d9;border-top:0}.six-yard{position:absolute;left:25%;right:25%;top:29%;height:11%;border:2px solid #b6d7d9;border-top:0}.arc{position:absolute;left:41%;width:18%;bottom:3%;height:9%;border:2px solid #b6d7d9;border-radius:0 0 100% 100%;border-top:0}.goal-frame{position:absolute;top:10%;left:29%;width:42%;height:19%;border:5px solid #f3f6ff;border-bottom:0;background:repeating-linear-gradient(to right,transparent 0 calc(8.33% - 1px),#d4e1ef77 calc(8.33% - 1px) 8.33%),repeating-linear-gradient(to bottom,#052f4972 0 calc(20% - 1px),#d4e1ef77 calc(20% - 1px) 20%);z-index:2}.goal-frame:after{content:"";position:absolute;bottom:0;left:-5px;right:-5px;border-bottom:4px solid #f3f6ff}.sponsor{position:absolute;top:20%;height:8%;width:24%;z-index:2;background:#fff;display:flex;align-items:center;justify-content:center;padding:4px 10px}.sponsor.left{left:2%}.sponsor.right{right:2%;background:#173831}.sponsor img{display:block;width:100%;height:100%;min-width:0;object-fit:contain}
.keeper,.striker{position:absolute;z-index:5;width:44px;height:44px;left:calc(50% - 22px);will-change:transform}.keeper{top:23%}.striker{bottom:8%;width:48px;height:48px;left:calc(50% - 24px)}.player-disc{display:grid;place-items:center;width:100%;height:100%;border:3px solid white;border-radius:50%;font:800 25px 'Barlow Condensed',sans-serif;color:#fff;box-shadow:0 3px 6px #03113466;transition:transform .45s ease-out}.player-1 .player-disc{background:#e64f43}.player-2 .player-disc{background:#245df5}.player-label{position:absolute;z-index:7;top:calc(100% + 3px);left:50%;transform:translateX(-50%);background:var(--lime);color:#07194d;border-radius:12px;padding:2px 6px;font:800 9px Inter,sans-serif;white-space:nowrap}.ball{position:absolute;z-index:6;width:19px;height:19px;left:calc(50% - 9.5px);bottom:19%;background:#f8f9fb;border-radius:50%;box-shadow:0 2px 4px #10261577;will-change:transform}.ball:after{content:"";position:absolute;width:7px;height:7px;left:6px;top:6px;background:#182135;clip-path:polygon(50% 0,100% 38%,80% 100%,20% 100%,0 38%)}.pressure{position:absolute;z-index:8;top:43%;left:50%;transform:translateX(-50%);border-radius:20px;padding:4px 18px;background:var(--lime);color:#07194d;font-size:24px;font-weight:900;font-style:italic;letter-spacing:.05em;white-space:nowrap}.kick-flash{position:absolute;z-index:10;left:50%;top:48%;transform:translate(-50%,-50%);font:900 italic 60px 'Barlow Condensed',sans-serif;color:var(--lime);text-shadow:0 3px 15px #071525;opacity:0;pointer-events:none}.kick-flash.show{animation:flash .7s ease-out forwards}@keyframes flash{10%,80%{opacity:1}100%{opacity:0;transform:translate(-50%,-65%)}}
.choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.choice{min-height:59px;border:1px solid #7396ff;border-radius:10px;background:var(--blue);color:white;font-size:25px;font-weight:800;box-shadow:0 4px 0 #031134}.choice.selected{background:var(--lime);color:#07194d;border-color:var(--lime);opacity:1}.choice small{display:block;font:700 11px Inter,sans-serif;letter-spacing:.02em}.choice:active{transform:translateY(3px)}.game-status{text-align:center;color:#c0d1f6;font-size:12px;min-height:28px;padding-top:11px}.forfeit-link{display:block;margin:3px auto 0;border:0;background:none;color:#b8caef;text-decoration:underline;font-size:11px;padding:8px}
.modal-backdrop{position:fixed;inset:0;z-index:30;background:#030d2cdc;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto;backdrop-filter:blur(4px)}.modal{width:min(100%,440px);background:var(--panel);border:1px solid #6588d7;border-radius:16px;padding:26px 24px;text-align:center;max-height:calc(100svh - 32px);overflow:auto;overscroll-behavior:contain;flex-shrink:0}.modal h2{font-size:36px;line-height:1;margin:8px 0 10px}.modal p{color:#c0d1f6;line-height:1.5;font-size:13px}.result-title{font-size:clamp(52px,12vw,72px);font-weight:900;font-style:italic;line-height:1.1;margin:10px 0;color:var(--lime);padding-inline:5px}.result-title.loss{color:#f3f6ff}.modal .scoreboard{width:100%;margin:18px 0}.modal .btn{margin-top:10px}.modal .btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal .btn-row .btn{font-size:20px}.share-menu{display:grid;gap:4px;text-align:left;background:#173b91;border-radius:10px;margin-top:10px;padding:6px}.share-menu button{border:0;background:none;color:#fff;text-align:left;padding:11px}.sound-icon{font-size:20px}
@media(max-width:580px){.topbar{min-height:52px;width:calc(100% - 20px)}.brand{font-size:15px}.brand img{width:23px;height:28px}.topbar .titlebar{font-size:19px}.mode-tag{font-size:9px}.game{width:calc(100% - 12px);margin-bottom:8px}.scoreboard{margin-bottom:8px}.score-head{min-height:34px;padding:6px 10px;font-size:10px}.score-row{font-size:21px;min-height:40px;padding:7px 9px;gap:6px;grid-template-columns:74px minmax(0,1fr) 22px}.score-total{font-size:25px}.marks{gap:4px}.mark{width:15px;height:15px;flex-basis:15px;font-size:10px}.pitch{height:clamp(235px,calc(100svh - 285px),500px)}.goal-frame{left:25%;width:50%}.sponsor{top:21%;width:21%;height:7%;padding:3px 5px}.sponsor.left{left:1%}.sponsor.right{right:1%}.keeper,.striker{width:36px;height:36px;left:calc(50% - 18px)}.player-disc{font-size:21px}.choice{font-size:22px;min-height:55px}.choice small{font-size:10px}.pressure{font-size:20px;padding:5px 13px}.room-card{padding:24px 19px}.stand-banner{gap:8px}.sporting-flag{width:17px;height:10px}.modal{padding:22px 17px}.modal .score-row{grid-template-columns:74px minmax(0,1fr) 22px}.home{padding-bottom:24px}}
@media(max-height:650px){.home{padding-top:10px}.goal-icon{height:55px;margin-bottom:20px}h1{font-size:64px}.tagline{margin:17px 0 23px}.inspiration{margin-top:20px}.modal{padding-top:18px;padding-bottom:18px}.result-title{font-size:52px}.modal .scoreboard{margin:12px 0}.modal .btn{min-height:46px;padding:8px 14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.kick-flash.show{opacity:1}}
/* Reserve space for the complete scoreboard, controls and leave action. */
.score-head{padding-block:5px}.score-row{padding-block:4px}.score-total{line-height:1}.pitch{height:clamp(230px,calc(100svh - 350px),500px)}
@media(max-width:580px){.score-head{padding-block:4px}.score-row{padding-block:4px}.pitch{height:clamp(225px,calc(100svh - 330px),500px)}}

/* Optional match identity, with long names kept inside the scoreboard. */
.progress-card{margin:22px 0 0;padding:16px;border:1px solid #4e75c0;border-radius:12px;background:#0a2158;text-align:left}.progress-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.progress-head .eyebrow{font-size:10px;letter-spacing:.1em}.hat-badge{border:1px solid var(--lime);border-radius:5px;color:var(--lime);font-size:9px;font-weight:800;padding:4px 6px;white-space:nowrap}.progress-card .welcome{font-size:13px;color:#fff;margin:12px 0 0;overflow-wrap:anywhere}.streak-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0 9px}.streak-segments span{display:grid;place-items:center;border:1px solid #5e7eb9;border-radius:6px;height:24px;color:#a9bee8;font-size:11px;font-weight:800}.streak-segments .filled{background:var(--lime);border-color:var(--lime);color:#07194d}.progress-card .streak-prompt{font-size:13px;line-height:1.4;font-weight:700;color:#fff;margin:0}.progress-card .current-run{font-size:12px;color:var(--lime);margin:5px 0 0}.personal-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:13px 0 0;padding-top:11px;border-top:1px solid #35528c;text-align:center;gap:8px}.personal-stats dt{font-size:10px;color:#b8caef}.personal-stats dd{margin:3px 0 0;color:#fff;font:800 25px 'Barlow Condensed',sans-serif;line-height:1}.progress-card .record-note{font-size:10px;line-height:1.5;color:#a9bee8;margin:11px 0 0}.badge-share{display:block;background:none;border:0;color:var(--lime);font-size:12px;padding:12px 0 0;text-decoration:underline}.modal .progress-card{margin:12px 0}.home:has(.progress-card){padding-top:16px}.home:has(.progress-card) .goal-icon{height:55px;margin-bottom:18px}.home:has(.progress-card) h1{font-size:clamp(60px,12vw,76px)}.home:has(.progress-card) .tagline{margin:18px 0 22px}.home:has(.progress-card) .inspiration{margin-top:18px}
.name-field{display:block;text-align:left;font-size:12px;font-weight:600;color:#e1eaff;margin:0 0 18px}.name-field>span{font-weight:400;color:#b8caef}.name-field input{display:block;width:100%;margin-top:7px;border:1px solid #668ee7;border-radius:9px;background:#07194d;color:#fff;padding:11px 13px;min-height:44px;font:400 16px Inter,Arial,sans-serif}.name-field input::placeholder{color:#9cb4e1}.name-field input:focus{outline:2px solid var(--lime);outline-offset:2px}.name-field input:disabled{opacity:.65}
.score-row{grid-template-columns:minmax(0,1fr) minmax(105px,1.2fr) 24px}.score-name{min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden}.score-player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.you-tag{flex-shrink:0}
@media(max-width:580px){.score-row,.modal .score-row{grid-template-columns:minmax(0,1fr) minmax(91px,1.2fr) 22px}.score-name{font-size:20px}}


/* Guest weekly leaderboard */
.leaderboard-link{display:block;margin:19px auto 0;padding:9px 4px;border:0;background:none;color:var(--lime);font:700 11px Inter,Arial,sans-serif;letter-spacing:.05em;text-decoration:underline;text-underline-offset:4px}
.leaderboard-page{width:min(100% - 32px,620px);margin:30px auto 40px}.league-heading{text-align:center;margin-bottom:26px}.league-heading h1{font-size:clamp(54px,11vw,76px);margin:15px 0 20px}.league-heading p{font-size:14px;color:#c0d1f6;line-height:1.6}.week-label{display:block;color:#a9bee8;font-size:11px;line-height:1.6}
.league-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--panel);border:1px solid #4e75c0;border-radius:12px;overflow:hidden;font-size:13px;table-layout:fixed}.league-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.league-table th,.league-table td{padding:13px 10px;border-bottom:1px solid #35528c;text-align:right;font-variant-numeric:tabular-nums}.league-table thead th{font-size:10px;color:#b8caef;background:#0a2158}.league-table th:nth-child(1){width:42px;text-align:center}.league-table th:nth-child(2){width:auto;text-align:left}.league-table th:nth-child(3),.league-table th:nth-child(4){width:43px}.league-table th:nth-child(5){width:68px}.league-table tbody th{font-weight:700;text-align:left;overflow:hidden}.league-table tr:last-child td,.league-table tr:last-child th{border-bottom:0}.league-table .rank{text-align:center;color:var(--lime);font-weight:800}.public-nickname{display:inline-block;max-width:100%;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.your-row .public-nickname{max-width:calc(100% - 33px)}.league-table .you-tag{margin-left:4px;font-size:8px}.your-row{background:#1747ec40}
.your-position{margin-top:18px;border:1px solid #4e75c0;border-radius:12px;padding:18px;background:#0a2158}.your-position>p{font-size:16px;margin:12px 0}.your-position strong{color:var(--lime)}.joined-nickname{display:block;overflow-wrap:anywhere;font-size:12px;color:#c0d1f6}.your-position .league-table{margin:14px 0}.league-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px}.text-action{border:0;background:none;color:#c0d1f6;font:500 12px Inter,Arial,sans-serif;padding:10px 0;text-decoration:underline;text-underline-offset:3px}
.public-name-form{margin-top:20px;padding:20px;border:1px solid #4e75c0;border-radius:12px;background:#0a2158}.public-name-form .name-field{margin-bottom:10px}.public-name-form p{color:#c0d1f6;font-size:12px;line-height:1.6;margin:0 0 15px}.public-name-form .btn{font-size:22px}.league-empty{padding:30px 20px;border:1px dashed #6489c9;border-radius:12px;text-align:center;font-size:14px;color:#c0d1f6;line-height:1.8}.league-footer{margin-top:24px;text-align:center}.league-footer>p,.league-footer details{color:#a9bee8;font-size:11px;line-height:1.7}.league-footer details{text-align:left;margin-top:20px;border-top:1px solid #35528c;padding-top:15px}.league-footer summary{cursor:pointer;color:#c0d1f6;font-weight:700}.league-footer details p{margin:12px 0}.league-footer .btn{font-size:22px}.leaderboard-page>.record-note{font-size:12px;line-height:1.6;color:#c0d1f6}
@media(max-width:400px){.leaderboard-page{width:calc(100% - 24px);margin-top:24px}.league-table th,.league-table td{padding:12px 7px}.league-table th:nth-child(1){width:30px}.league-table th:nth-child(3),.league-table th:nth-child(4){width:34px}.league-table th:nth-child(5){width:59px}.public-name-form{padding:16px}.public-name-form .btn{font-size:20px}.league-heading>.eyebrow{font-size:9px;letter-spacing:.1em}}
