:root{color:#10213a;--mobile-nav-height:9.5rem;background:#f4f7fb;font-family:Inter,system-ui,sans-serif;line-height:1.45}@media (width>=520px){:root{--mobile-nav-height:4.75rem}}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-main{padding:1rem;padding-bottom:calc(var(--mobile-nav-height) + 1rem + env(safe-area-inset-bottom,0px));flex:1;width:100%;max-width:1100px;margin:0 auto}.app-header{color:#fff;background:#0f2f56;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.tagline{color:#c2e5f3;margin:0;font-size:.9rem}.desktop-nav{gap:.5rem;display:none}.nav-btn,.mobile-nav-btn,button{color:#fff;cursor:pointer;background:#19a974;border:0;border-radius:.6rem;padding:.65rem .85rem;font-weight:600}.mobile-nav{z-index:10;padding:.65rem .5rem calc(.65rem + env(safe-area-inset-bottom,0px));background:#0f2f56;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav-btn{text-align:center;background:#1c4d7f;border-radius:.65rem;justify-content:center;align-items:center;min-height:48px;padding:.55rem .45rem;font-size:.8rem;font-weight:600;line-height:1.2;display:flex}.mobile-nav-btn.active{background:#19a974;box-shadow:inset 0 0 0 2px #ffffff40}.mobile-nav-label{display:block}.quick-links{gap:.65rem;display:grid}.quick-links a{text-align:center;background:#eef4fb;border-radius:.65rem;padding:.75rem 1rem;font-weight:600;display:block}@media (width>=520px){.mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=640px) and (width<=839px){.mobile-nav:has(.mobile-nav-btn:nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}}.stack{gap:1rem;display:grid}.card{background:#fff;border-radius:1rem;padding:1rem;box-shadow:0 8px 30px #00000014}.narrow{max-width:420px;margin:2rem auto}.form-grid{gap:.7rem;display:grid}input,select{border:1px solid #cfd8e3;border-radius:.5rem;width:100%;min-height:44px;margin-top:.2rem;padding:.4rem .5rem}.team-label{align-items:center;gap:.35rem;display:inline-flex}.country-flag{border-radius:2px;flex-shrink:0;width:1.35rem;height:auto;box-shadow:0 0 0 1px #0000001f}.fixture-card{border:1px solid #dce5ef;border-radius:.7rem;margin-bottom:.8rem;padding:.75rem}.picks-phase-tabs{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.picks-phase-tabs button{background:#1c4d7f;padding:.55rem .7rem;font-size:.82rem}.picks-phase-tabs button.active-tab{background:#19a974}.group-stage-tabs{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.group-stage-tabs button{background:#1c4d7f;min-width:2.25rem;padding:.5rem .65rem;font-size:.9rem;font-weight:700}.group-stage-tabs button.active-tab{background:#19a974}.button-row{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.button-row button.active-tab{color:#fff;background:#0b3d6e;border-color:#0b3d6e}.admin-quick-links{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.admin-quick-links a{background:#eef4fb;border-radius:.6rem;padding:.55rem .85rem;font-weight:600;display:inline-block}.admin-summary{margin:.75rem 0 0;padding-left:1.1rem}.admin-banner{color:#145c3a;background:#e8f8ef;border-radius:.65rem;margin:.75rem 0 0;padding:.75rem .9rem}.admin-banner-error{color:#8a1f1f;background:#fdecec}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:.92rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #dce5ef;padding:.55rem .35rem}.admin-button-danger{background:#b42318;padding:.45rem .7rem;font-size:.85rem}.admin-diagnostics h3,.admin-diagnostics h4{margin-bottom:.35rem}.fixture-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.fixture-scores-summary{margin:.35rem 0 .65rem;font-size:.95rem}.fixture-scores-summary p{margin:.2rem 0}.fixture-actual{color:#0f4c81;font-weight:600}.fixture-actual-preview{margin-bottom:.5rem;font-size:.95rem}.fixture-points{color:#0b7a35;font-weight:700}.fixture-meta{color:#4a6278;margin:.15rem 0 .5rem;font-size:.85rem}.fixture-schedule{color:#4a6278;flex-wrap:wrap;gap:.35rem 1rem;margin:.15rem 0 .55rem;font-size:.85rem;display:flex}.prediction-deadlines{gap:.35rem;margin-bottom:.75rem;display:grid}.prediction-deadline{color:#6b4e00;background:#fff8e6;border-radius:.55rem;margin:0;padding:.65rem .75rem;font-size:.95rem}.fixture-schedule-deadline{color:#ad4b00;font-weight:600}.fixture-scores-locked p{margin:.35rem 0}.fixture-score-plain{margin:.35rem 0;font-size:1.25rem;font-weight:700}.bonus-readonly p{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.score-inputs{grid-template-columns:repeat(2,minmax(0,90px));gap:.5rem;margin-bottom:.5rem;display:grid}.success{color:#0b7a35;font-weight:700}.warning{color:#ad4b00;font-weight:700}.kicker{color:#2a5d8d;letter-spacing:.04em;font-size:.8rem}table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #d8e0ec;padding:.6rem}@media (width>=840px){.desktop-nav{display:flex}.mobile-nav{display:none}.app-shell{flex-direction:column;display:flex}.app-main{padding-bottom:1rem}}.comparison-table-wrap{overflow-x:auto}.comparison-table{width:100%;display:table}.comparison-row-you{background:#eef8f3;font-weight:600}.comparison-pick-exact{background:#d8f3dc}.comparison-pick-result{background:#fff0c2}.comparison-pick-miss{background:#fde2e2}.league-table th,.league-table td,.league-table-page th,.league-table-page td{text-align:center}.league-table-page th:nth-child(2),.league-table-page td:nth-child(2){text-align:left}.league-table-page .league-total{font-weight:700}.league-table th:first-child,.league-table td:first-child,.league-table th:nth-child(2),.league-table td:nth-child(2){text-align:left}.team-select-field{gap:.35rem;display:grid;position:relative}.team-select-label{font-weight:600}.team-select-trigger{color:#10213a;text-align:left;background:#fff;border:1px solid #cfd8e3;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-height:44px;padding:.45rem .65rem;font-weight:500;display:flex}.team-select-trigger:disabled{opacity:.6;cursor:not-allowed}.team-select-chevron{color:#5a718d;flex-shrink:0}.team-select-menu{z-index:20;background:#fff;border:1px solid #cfd8e3;border-radius:.5rem;max-height:240px;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #0000001f}.team-select-option{color:#10213a;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.4rem;align-items:center;width:100%;padding:.45rem .55rem;font-weight:500;display:flex}.team-select-option:hover,.team-select-option.active{background:#eef4fb}.fixture-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.fixture-list li{border-bottom:1px solid #d8e0ec;padding-bottom:.5rem}.missing-picks{margin:.75rem 0}.missing-picks h3{margin:0 0 .5rem;font-size:1rem}.missing-picks-list{margin:0;padding-left:1.25rem}.missing-picks-list li{margin-bottom:.25rem}.stats-hero-grid{gap:1rem;display:grid}@media (width>=640px){.stats-hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.stat-hero-card{background:#fff;border-top:4px solid #0f2f56;border-radius:1rem;padding:1rem;box-shadow:0 8px 30px #00000014}.stat-hero-card-consensus{border-top-color:#19a974}.stat-hero-card-chaos{border-top-color:#d4a012}.stat-hero-kicker{letter-spacing:.04em;text-transform:uppercase;color:#4a6278;margin:0;font-size:.8rem;font-weight:700}.stat-hero-value{color:#0f2f56;margin:.35rem 0 0;font-size:1.5rem;font-weight:800;line-height:1.2}.stat-hero-detail{color:#4a6278;margin:.45rem 0 0;font-size:.9rem}.stats-locked-notice,.stats-locked-notice-inline{color:#6b4f0a;background:#fff8e8;border-radius:.65rem;margin-top:.75rem;padding:.75rem .9rem}.stats-locked-notice-inline{margin-top:.5rem}.consensus-bar-row{grid-template-columns:1fr auto;align-items:center;gap:.25rem .65rem;margin-bottom:.45rem;display:grid}.consensus-bar-track{background:#e8eef5;border-radius:999px;grid-column:1/-1;height:.55rem;overflow:hidden}.consensus-bar-fill{background:#19a974;border-radius:999px;min-width:2px;height:100%}.consensus-bar-label{font-size:.9rem;font-weight:600}.consensus-bar-meta{color:#4a6278;font-size:.85rem}.stats-match-block{border-top:1px solid #dce5ef;margin-top:.85rem;padding-top:.85rem}.stats-match-block:first-of-type{border-top:0;margin-top:0;padding-top:0}.stats-match-body{gap:1rem;display:grid}@media (width>=720px){.stats-match-body{grid-template-columns:1.4fr 1fr;align-items:start}}.result-donut-wrap{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.result-donut{border-radius:50%;flex-shrink:0;width:5.5rem;height:5.5rem;position:relative}.result-donut:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:22%}.result-donut-legend{color:#4a6278;margin:0;padding:0;font-size:.85rem;list-style:none}.result-donut-legend li{align-items:center;gap:.4rem;margin-bottom:.25rem;display:flex}.result-donut-swatch{border-radius:2px;flex-shrink:0;width:.65rem;height:.65rem}.group-position-row{grid-template-columns:2rem 1fr;align-items:start;gap:.65rem;margin-top:.75rem;display:grid}.group-position-rank{color:#0f2f56;padding-top:.15rem;font-size:1.1rem;font-weight:800}.stats-modal-order{border-top:1px solid #dce5ef;margin-top:1rem;padding-top:.75rem;font-size:.92rem}.tournament-outlook-grid{gap:1rem;margin-top:.75rem;display:grid}@media (width>=640px){.tournament-outlook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.tournament-outlook-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.tournament-outlook-column h4{color:#0f2f56;margin:0 0 .5rem;font-size:.95rem}.stats-dark-horse{background:#eef4fb;border-radius:.6rem;margin:.5rem 0 0;padding:.65rem .8rem;font-size:.92rem}.fun-facts-list{gap:.65rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.fun-fact-card{background:#eef4fb;border-radius:.65rem;align-items:flex-start;gap:.65rem;padding:.75rem .9rem;display:flex}.fun-fact-icon{flex-shrink:0;font-size:1.2rem;line-height:1.2}.stats-page-tabs{margin-top:.5rem}.stats-mystery-panel{border:1px dashed #c9b87a}.stats-mystery-card{background:#fff8e8}
