:root{--navy:#0c1b2a;--green:#0f766e;--amber:#f6c453;--paper:#f4efe5;--ink:#17202a}*,:after,:before{box-sizing:border-box}body,html{background:var(--paper)}body{min-height:100vh;margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}:focus-visible{outline:3px solid var(--amber);outline-offset:4px}.landing{display:grid;min-height:100svh;place-items:center;padding:clamp(1rem,4vw,3rem)}.landing__content{width:min(100%,68rem);padding:clamp(2rem,7vw,5.5rem);overflow:hidden;border-top:.5rem solid var(--amber);border-radius:1.25rem;background:var(--navy);box-shadow:0 1.5rem 4rem rgb(12 27 42/20%);color:var(--paper)}.landing__eyebrow{margin:0 0 1rem;color:var(--amber);font-size:.875rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.landing h1{margin:0;font-size:clamp(3.25rem,12vw,7.5rem);line-height:.9;letter-spacing:-.06em}.landing__intro{max-width:38rem;margin:clamp(1.5rem,4vw,2.5rem) 0 1rem;font-size:clamp(1.125rem,3vw,1.5rem)}.landing__promise{margin:0 0 1.5rem;color:var(--amber);font-weight:800}.scoring{max-width:48rem;margin-bottom:2rem;padding:1rem;border:1px solid rgb(244 239 229/25%);border-radius:.75rem;background:rgb(244 239 229/6%)}.scoring h2{margin:0 0 .75rem;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}.scoring__list{display:grid;gap:0;margin:0}.scoring__item{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-top:1px solid rgb(244 239 229/18%)}.scoring__item dt{font-weight:650}.scoring__item dd{margin:0;color:var(--amber);font-weight:800;white-space:nowrap}.primary-action{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;padding:.75rem 1.25rem;border-radius:.75rem;background:var(--green);color:#ffffff;font-weight:800;text-decoration:none;transition:background-color .15s ease,transform .15s ease}.primary-action:hover{background:#115e59;transform:translateY(-2px)}.landing__actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.secondary-action{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;padding:.75rem 1.25rem;border:2px solid var(--navy);border-radius:.75rem;color:var(--navy);font-weight:800;text-decoration:none}.secondary-action:hover{background:rgba(12,27,42,.06)}.join-page{display:grid;min-height:100svh;place-items:center;padding:clamp(1rem,4vw,3rem)}.join-card{width:min(100%,38rem);padding:clamp(1.5rem,5vw,3rem);border-top:.5rem solid var(--amber);border-radius:1.25rem;background:var(--navy);box-shadow:0 1.5rem 4rem rgb(12 27 42/20%);color:var(--paper)}.join-card h1{margin:0;font-size:clamp(2rem,7vw,3.5rem);line-height:1;letter-spacing:-.04em}.join-form{display:grid;gap:1rem;margin-top:2rem}.join-form__field{display:grid;gap:.375rem}.join-form label{font-weight:750}.join-form input[type=date],.join-form input[type=email],.join-form input[type=text]{width:100%;min-height:3rem;padding:.625rem .75rem;border:2px solid transparent;border-radius:.5rem;background:#ffffff;color:var(--ink);font:inherit}.join-form__confirmation{display:flex;align-items:flex-start;gap:.75rem}.join-form__confirmation input{width:1.25rem;height:1.25rem;margin-top:.125rem}.join-form__error{margin:0;padding:.75rem;border-left:.25rem solid var(--amber);background:rgb(246 196 83/12%)}.join-form .primary-action{border:0;font:inherit;cursor:pointer}.join-form .primary-action:disabled{cursor:wait;opacity:.7;transform:none}.player-shell{display:flex;min-height:100svh;flex-direction:column}.player-header{display:flex;min-height:4.5rem;align-items:center;gap:clamp(1rem,4vw,2.5rem);padding:.75rem clamp(1rem,4vw,3rem);background:var(--navy);color:var(--paper)}.player-header a{color:inherit;font-weight:750;text-decoration:none}.player-header a.player-header__brand{color:var(--amber);font-size:1.25rem;font-weight:900;letter-spacing:-.04em}.player-header nav{display:flex;gap:1rem}.player-header__account{display:flex;min-width:0;align-items:center;gap:.75rem;margin-left:auto}.player-header__display-name{min-width:0;overflow-wrap:anywhere}.logout-button{min-height:2.5rem;padding:.5rem .75rem;border:1px solid rgb(244 239 229/35%);border-radius:.5rem;background:transparent;color:inherit;font:inherit;font-weight:750;cursor:pointer}.logout-button:disabled{cursor:wait;opacity:.7}.logout-control{display:grid;min-width:0;max-width:100%;flex:0 0 auto;justify-items:end}.logout-control [role=status]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.logout-control [role=alert]{max-width:18rem;margin:.375rem 0 0;color:var(--amber);font-size:.875rem;text-align:right}.player-home{display:grid;width:100%;min-width:0;max-width:100%;flex:1 1;place-items:center;padding:clamp(1rem,5vw,4rem)}.player-home__card{width:min(100%,52rem);min-width:0;max-width:100%;padding:clamp(2rem,6vw,4rem);border-top:.5rem solid var(--amber);border-radius:1.25rem;background:#ffffff;box-shadow:0 1.5rem 4rem rgb(12 27 42/12%)}.player-home__access{margin:0 0 1rem;color:var(--green);font-weight:850;letter-spacing:.08em;text-transform:uppercase}.player-home h1{margin:0;overflow-wrap:anywhere;font-size:clamp(2.25rem,8vw,4.5rem);line-height:1;letter-spacing:-.05em}.player-home h1+p{margin:1.5rem 0 0;font-size:1.125rem}.home-groups{margin-top:2.5rem}.groups-page{width:min(100%,76rem);margin:0 auto;padding:clamp(1.25rem,5vw,4rem)}.groups-page--narrow{width:min(100%,52rem)}.group-detail-header,.groups-page__header,.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}.group-detail-header,.groups-page__header{margin-bottom:2rem}.group-detail-header h1,.group-panel h1,.groups-page h1{margin:0;overflow-wrap:anywhere;font-size:clamp(2.25rem,7vw,4.75rem);line-height:.95;letter-spacing:-.05em}.groups-page h2,.groups-page h3,.section-heading h2{margin-top:0}.page-eyebrow{margin:0 0 .75rem;color:var(--green);font-size:.8rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.back-link,.section-heading a{display:inline-block;margin-bottom:1rem;color:var(--green);font-weight:800}.group-empty-state,.group-panel{padding:clamp(1.5rem,4vw,2.5rem);border-radius:1rem;background:#ffffff;box-shadow:0 1rem 3rem rgb(12 27 42/9%)}.group-empty-state{border-top:.5rem solid var(--amber)}.group-card-list,.invitation-list,.member-list{display:grid;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none}.group-card-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:1rem;border:1px solid rgb(12 27 42/12%);border-radius:.75rem;background:#ffffff}.group-card-list a{min-width:0;overflow-wrap:anywhere;color:var(--navy);font-size:1.1rem;font-weight:850}.group-card-list--wide{gap:1rem}.group-badge{display:inline-flex;width:fit-content;padding:.2rem .55rem;border-radius:999px;background:var(--amber);color:var(--navy);font-size:.75rem;font-weight:900;text-transform:uppercase}.group-badge--muted{background:#d6d3d1}.group-detail-header__meta{display:flex;align-items:center;gap:.75rem}.group-detail-grid{display:grid;gap:1.5rem}.group-panel--accent{border-top:.5rem solid var(--amber)}.group-form,.owner-control{display:grid;gap:1rem;margin-top:1.5rem}.group-form__field{display:grid;gap:.4rem}.group-form label,.owner-control label{font-weight:850}.group-form input,.owner-control select{width:100%;min-height:3rem;padding:.65rem .75rem;border:1px solid rgb(12 27 42/30%);border-radius:.5rem;background:#ffffff;color:var(--ink);font:inherit}.group-form__hint,.group-form__status{margin:0;color:#52606d}.group-form__error{margin:0;padding:.75rem;border-left:.25rem solid #b42318;background:#fff1f0;color:#7a271a}.invitation-list li,.member-list li{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem 0;border-bottom:1px solid rgb(12 27 42/12%)}.invitation-list li>div:first-child{display:grid;min-width:0}.invitation-list strong,.member-list span:first-child{overflow-wrap:anywhere}.owner-controls{margin-top:2rem;padding-top:2rem;border-top:1px solid rgb(12 27 42/18%)}.owner-control--danger{padding-top:1.5rem;border-top:1px solid rgb(180 35 24/25%)}.review-card{margin-top:1rem;padding:1rem;border:2px solid var(--amber);border-radius:.75rem;background:#fffbeb}.match-night-header{margin-bottom:2rem}.match-night-header h1{margin:0;overflow-wrap:anywhere;font-size:clamp(2.5rem,8vw,5rem);line-height:.95;letter-spacing:-.05em}.match-night-fixture,.match-night-header>p:last-child{margin-bottom:0;font-size:1.1rem}.match-night-fixture{color:var(--navy);font-size:clamp(1.3rem,4vw,2rem);font-weight:900}.match-night-header .match-night-live-score{margin:.75rem 0 0;color:var(--green);font-size:1.05rem;font-weight:700}.match-night-form,.prediction-form{display:grid;gap:1.25rem}.host-competition-controls{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:clamp(1.25rem,4vw,2rem);border-radius:1rem;background:#ffffff;box-shadow:0 1rem 3rem rgb(12 27 42/9%)}.host-competition-controls .duplicate-warning,.host-competition-controls [role=alert],.host-competition-controls [role=status],.host-competition-controls h2{width:100%;margin-top:0}.host-competition-controls button{min-height:3rem;padding:.75rem 1.25rem;border-radius:.75rem;font:inherit;font-weight:800;cursor:pointer}.danger-action{border:1px solid #b42318;background:#ffffff;color:#7a271a}.read-only-notice{border-left:.35rem solid var(--amber)}.match-night-form__field,.prediction-score-inputs label{display:grid;gap:.4rem;font-weight:850}.match-night-form input,.match-night-form select,.prediction-form input{width:100%;min-height:3rem;padding:.65rem .75rem;border:1px solid rgb(12 27 42/30%);border-radius:.5rem;background:#ffffff;color:var(--ink);font:inherit}.disruption-state,.duplicate-warning,.final-table,.match-night-rules,.participant-picks,.prediction-state{margin-top:1.5rem;padding:clamp(1.25rem,4vw,2rem);border-radius:1rem;background:#ffffff;box-shadow:0 1rem 3rem rgb(12 27 42/9%)}.match-night-rules{margin-top:0;border-left:.35rem solid var(--amber);box-shadow:none}.duplicate-warning h2,.final-table h2,.match-night-rules h2,.participant-picks h2,.prediction-state h2{margin-top:0}.match-night-form__error,.prediction-form__error{margin:0;padding:.75rem;border-left:.25rem solid #b42318;background:#fff1f0;color:#7a271a}.match-night-form__status,.prediction-form__status,.prediction-saved{margin:0;color:var(--green);font-weight:850}.duplicate-warning{border:2px solid var(--amber);background:#fffbeb}.duplicate-warning label{display:flex;gap:.75rem;margin:1rem 0;font-weight:750}.duplicate-warning input{width:1.25rem;height:1.25rem;flex:0 0 auto}.duplicate-warning button,.match-night-form button,.prediction-form button{border:0;font:inherit;cursor:pointer}.duplicate-warning button:disabled,.match-night-form button:disabled,.prediction-form button:disabled{cursor:not-allowed;opacity:.6}.prediction-countdown{font-size:1.1rem}.prediction-countdown strong{color:var(--green);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prediction-score-inputs{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.competition-list,.participant-picks ul{display:grid;gap:0;margin:0;padding:0;list-style:none}.competition-list li,.participant-picks li{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgb(12 27 42/12%)}.competition-list li:last-child,.participant-picks li:last-child{border-bottom:0}.competition-list a{color:var(--navy);font-weight:850}.table-scroll{max-width:100%;overflow-x:auto}.final-table table{width:100%;border-collapse:collapse}.final-table td,.final-table th{padding:.8rem;border-bottom:1px solid rgb(12 27 42/15%);text-align:left;white-space:nowrap}.final-table thead th{color:#52606d;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.group-actions{display:flex;flex-wrap:wrap;gap:.5rem}.section-heading .group-host-actions .primary-action{color:#ffffff}.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:1.5rem}.pagination a{color:var(--green);font-weight:800}.pagination a:last-child{justify-self:end}.pagination [aria-current=page]{color:#52606d;font-size:.875rem;font-weight:750}.group-actions button,.member-list button,.owner-control button,.review-card button{min-height:2.5rem;padding:.45rem .7rem;border:1px solid rgb(12 27 42/25%);border-radius:.5rem;background:#ffffff;color:var(--navy);font:inherit;font-weight:750;cursor:pointer}.group-actions button:disabled,.member-list button:disabled,.owner-control button:disabled,.review-card button:disabled{cursor:not-allowed;opacity:.55}@media (max-width:36rem){.player-header{flex-wrap:wrap}.player-header__account{width:100%;flex-direction:column;align-items:stretch;margin-left:0}.logout-control{width:100%;justify-items:start}.logout-control [role=alert]{max-width:100%;overflow-wrap:anywhere;text-align:left}.group-detail-header,.groups-page__header,.section-heading{align-items:flex-start;flex-direction:column}.group-card-list li{grid-template-columns:minmax(0,1fr)}.competition-list li,.group-detail-header__meta,.invitation-list li,.member-list li{align-items:flex-start;flex-direction:column}.prediction-score-inputs{grid-template-columns:minmax(0,1fr)}}@media (min-width:48rem){.landing{padding:4rem}.landing__content{border-top-width:.75rem}.scoring__list{grid-template-columns:repeat(3,1fr)}.scoring__item{display:grid;align-content:space-between;padding:.75rem 1rem;border-top:0;border-left:1px solid rgb(244 239 229/18%)}.scoring__item:first-child{padding-left:0;border-left:0}.primary-action{min-height:3.5rem;padding-inline:1.75rem}.group-detail-grid{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr)}.group-panel--accent{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.primary-action{transition:none}}.live-race{--race-score:#4f46e5;--race-goals:#0891b2;--race-shots:#059669;--race-corners:#d97706;--race-cards:#db2777}.race-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.race-event small,.race-heading span,.race-help,.race-player small,.race-total small{color:var(--muted,#64748b);font-size:.85rem}.race-tabs{display:flex;gap:.5rem;margin:1rem 0}.race-tabs button{padding:.65rem 1.2rem;border:1px solid #cbd5e1;border-radius:999px;background:transparent;color:inherit;cursor:pointer}.race-tabs button[aria-selected=true]{background:#172554;color:white;border-color:#172554}.race-event{border-left:4px solid #4f46e5;background:#f1f5f9;color:#172554;padding:1rem;border-radius:.5rem}.race-event small{display:block;margin-top:.3rem}.race-legend{display:flex;flex-wrap:wrap;gap:.8rem;margin:1rem 0;font-size:.8rem}.race-legend span{display:flex;align-items:center;gap:.35rem}.race-color{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-right:.3rem;flex-shrink:0}.race-color--EXACT_SCORE{background:var(--race-score)}.race-color--GOALS_PER_TEAM{background:var(--race-goals)}.race-color--SHOTS_ON_TARGET_PER_TEAM{background:var(--race-shots)}.race-color--CORNERS_PER_TEAM{background:var(--race-corners)}.race-color--CARDS_PER_TEAM{background:var(--race-cards)}.race-lanes{display:grid;gap:.6rem}.race-lane{display:grid;grid-template-columns:minmax(100px,1fr) minmax(80px,3fr) 45px;align-items:center;gap:.75rem;text-align:left;width:100%;padding:.85rem;border:1px solid #cbd5e1;border-radius:.75rem;background:transparent;color:inherit;cursor:pointer}.race-lane--you{border-color:#4f46e5;box-shadow:inset 3px 0 #4f46e5}.race-player{min-width:0;overflow-wrap:anywhere}.race-player small,.race-player strong,.race-total small,.race-total strong{display:block}.race-player em{display:inline-block;color:#854d0e;background:#fef3c7;font-size:.7rem;font-style:normal;padding:.1rem .35rem;border-radius:.3rem;margin-top:.25rem}.race-track{display:flex;position:relative;height:24px;background:#e2e8f0;border-radius:5px}.race-segment{height:100%;transition:width .6s ease}.race-segment:first-child{border-radius:5px 0 0 5px}.race-previous{position:absolute;top:-5px;bottom:-5px;border-left:2px dashed #334155;animation:race-marker 1s ease forwards}@keyframes race-marker{0%{opacity:1}to{opacity:.4}}.race-total{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.race-total strong{font-size:1.4rem}.race-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.race-comparison{overflow-x:auto}.race-comparison table{width:100%;border-collapse:collapse;margin:1rem 0}.race-comparison td,.race-comparison th{padding:.7rem .4rem;border-bottom:1px solid #cbd5e1;text-align:left}.race-activity{margin-top:1rem}.live-race select{display:block;width:100%;max-width:24rem;margin:.5rem 0;padding:.7rem}@media (max-width:480px){.race-lane{grid-template-columns:minmax(90px,1fr) minmax(70px,1.5fr) 32px;gap:.4rem;padding:.65rem}.race-total strong{font-size:1.2rem}.race-comparison{font-size:.8rem}}@media (prefers-reduced-motion:reduce){.race-segment{transition:none}.race-previous{animation:none;opacity:.4}}.race-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:1rem 0}.race-facts div{padding:.65rem;background:#f1f5f9;color:#172554;border-radius:.5rem;text-align:center}.race-facts dt{font-size:.75rem}.race-facts dd{margin:0;font-size:1.2rem;font-weight:700}@media (max-width:480px){.race-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.race-color--HALF_TIME_SCORE{background:#0e7490}.race-color--FOULS_COMMITTED_PER_TEAM{background:#b45309}.race-color--GOALKEEPER_SAVES_PER_TEAM{background:#be185d}.team-with-badge{display:inline-flex;align-items:center;gap:6px}.team-with-badge img{flex-shrink:0;object-fit:contain}.race-color--POSSESSION{background:#7c3aed}.score-change-banner{position:sticky;top:12px;z-index:10;display:flex;align-items:center;gap:12px;background:#e0eee5;border:2px solid #176b45}.score-change-banner p{flex:1 1;margin:0}.match-replay button,.score-change-banner button{min-height:44px;padding:8px 14px;border:1px solid #176b45;border-radius:8px;cursor:pointer;background:white;color:#11251b}.replay-controls{display:flex;flex-wrap:wrap;gap:8px}.match-replay input[type=range]{width:100%;min-height:44px;accent-color:#176b45}.three-pm-live-state{display:grid;gap:1rem}.three-pm-round-list{display:grid;gap:.75rem;list-style:none;padding:0}.three-pm-round{display:grid;gap:.4rem;padding:1rem;border:1px solid #cbd5e1;border-radius:.75rem;background:white}.three-pm-round__fixture,.three-pm-round__pick{font-weight:650}.three-pm-round__kickoff{color:#52627a;font-size:.85rem}.three-pm-round__form{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.three-pm-round__form input{width:4rem;padding:.6rem;font:inherit}.three-pm-round__form button{padding:.65rem 1rem;cursor:pointer}.three-pm-round__saved{margin:0;color:#0f766e}.three-pm-round__error{margin:0;color:#991b1b}.three-pm-live-state>.group-panel table{width:100%;border-collapse:collapse;text-align:left}.three-pm-live-state>.group-panel td,.three-pm-live-state>.group-panel th{padding:.65rem .4rem;border-bottom:1px solid #cbd5e1}.three-pm-standings__viewer{background:#eef2ff}