.bottomNav{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;justify-content:center;padding-bottom:var(--safe-bottom);background-color:var(--color-surface);border-top:1px solid var(--color-border)}.bottomNavItem{flex:1;max-width:160px;min-height:var(--nav-height);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);border:none;background:transparent;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500;cursor:pointer}.bottomNavIcon{display:flex;align-items:center;justify-content:center;width:56px;height:30px;border-radius:var(--radius-pill);font-size:var(--text-lg);transition:background-color .2s}.bottomNavItem:active .bottomNavIcon{background-color:var(--color-neutral-soft)}.bottomNavItem--active{color:var(--color-accent-text);font-weight:700}.bottomNavItem--active .bottomNavIcon{background-color:var(--color-accent);color:var(--color-on-accent)}.appBar{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--header-height);padding:var(--safe-top) var(--space-2) 0;display:flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:var(--color-surface);border-bottom:1px solid var(--color-border)}.appBarTitle{flex:1;min-width:0;padding-inline:var(--space-3);text-align:center;font-size:var(--text-lg);font-weight:700;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.appBarSubtitle{display:block;font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted)}.listGroup{overflow:hidden}.listGroup>*+*{border-top:1px solid var(--color-border)}.listRow{width:100%;min-height:max(7vh,56px);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border:none;background:transparent;color:var(--color-text);text-align:left;text-decoration:none}.listRow:hover{color:var(--color-text)}.listRowLeading{flex-shrink:0;display:flex;align-items:center}.listRowBody{flex:1;min-width:0;overflow-wrap:anywhere}.listRowTitle{font-size:var(--text-md);font-weight:600}.listRowSubtitle{font-size:var(--text-sm);color:var(--color-text-muted)}.listRowTrailing{flex-shrink:0;display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.listRowChevron{font-size:var(--text-sm);opacity:.6}.listRow--danger .listRowTitle{color:var(--color-danger-text)}.iconBadge{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background-color:var(--color-accent-soft);color:var(--color-accent-text);font-size:var(--text-md)}.iconBadge--danger{background-color:var(--color-danger-soft);color:var(--color-danger-text)}.iconBadge--neutral{background-color:var(--color-neutral-soft);color:var(--color-text-muted)}.mainModal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:calc(var(--safe-top) + var(--space-4)) var(--gutter) calc(var(--safe-bottom) + var(--space-4));background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .15s ease-out}.modalCard{width:100%;max-width:520px;max-height:100%;display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);animation:riseIn .2s ease-out}.modalHeader{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.modalTitle{flex:1;min-width:0;font-size:var(--text-lg);font-weight:700}.modalBody{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}@keyframes fadeIn{0%{opacity:0}}@keyframes riseIn{0%{opacity:0;transform:translateY(12px) scale(.98)}}.loadingGif{filter:var(--loading-gif-filter)}.loadingAnimation{width:100%;min-height:40vh;display:flex;align-items:center;justify-content:center}.stateMessage{width:100%;min-height:50vh;padding:var(--space-5) var(--gutter);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center;color:var(--color-text-muted)}.stateMessageIcon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background-color:var(--color-neutral-soft);font-size:var(--text-2xl)}.stateMessageTitle{color:var(--color-text);font-size:var(--text-lg);font-weight:700}.panel .stateMessage,.modalCard .stateMessage{min-height:0}.teamLogo{flex-shrink:0;object-fit:contain}.teamLogo--sm{width:22px;height:22px;font-size:11px}.teamLogo--lg{width:min(22vw,13vh,96px);height:min(22vw,13vh,96px);font-size:var(--text-2xl)}.teamLogoFallback{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background-color:var(--color-neutral-soft);color:var(--color-text-muted);font-weight:700}.loginForm{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-5) var(--gutter);background-image:linear-gradient(#08090c59,#08090c8c),url(/assets/soccer-stadium-Co08ogzO.jpg);background-position:center;background-size:cover}.loginCard{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:color-mix(in srgb,var(--color-surface) 78%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-float)}.loginTitle{margin:0;text-align:center;font-size:var(--text-2xl);font-weight:800}.loginSubtitle{margin:0 0 var(--space-2);text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}.loginInput{width:100%;min-height:48px;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);color:var(--color-text);font-size:max(var(--text-md),16px)}.loginInput::placeholder{color:var(--color-text-muted)}.loginInput:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.loginButton{margin-top:var(--space-2);min-height:48px}.profileCard{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4)}.avatar{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background-color:var(--color-accent);color:var(--color-on-accent);font-size:var(--text-xl);font-weight:800;text-transform:uppercase}.profileText{min-width:0}.profileName{font-size:var(--text-lg);font-weight:700;overflow-wrap:anywhere}.profileRole{font-size:var(--text-sm);color:var(--color-text-muted)}.segmented{display:flex;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-pill);background-color:var(--color-surface)}.segmentedOption{flex:1;min-height:var(--touch-target);display:flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);font-weight:600;cursor:pointer;transition:background-color .2s,color .2s}.segmentedOption--active{background-color:var(--color-accent);color:var(--color-on-accent)}.homeHero{padding:var(--space-2) var(--space-1) 0}.homeHeroEyebrow{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.homeHeroName{margin:0;font-size:var(--text-2xl);font-weight:800;letter-spacing:-.01em;overflow-wrap:anywhere}.tileHint{padding:0 var(--space-4) var(--space-3);text-align:right;font-size:var(--text-xs);color:var(--color-text-muted)}.dashboardLoading{min-height:12vh;display:flex;align-items:center;justify-content:center;padding:var(--space-3)}.formTile{overflow:hidden}.formStats{display:grid;grid-template-columns:1fr 1fr}.formStat{padding:var(--space-4)}.formStat+.formStat{border-left:1px solid var(--color-border)}.formStatLabel{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.formStatValue{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:var(--text-2xl);font-weight:800;font-variant-numeric:tabular-nums}.formStatCaption{font-size:var(--text-xs);color:var(--color-text-muted)}.formTrend{font-size:var(--text-lg)}.formTrend--up{color:var(--color-success-text)}.formTrend--down{color:var(--color-danger-text)}.formTrend--flat{color:var(--color-text-muted)}.chartWrapper{width:100%;padding:var(--space-2) var(--space-2) 0}.bestTile{overflow:hidden}.bestHeader,.bestRow{display:flex;align-items:center;gap:var(--space-2)}.bestHeader{width:100%;padding:var(--space-3) var(--space-4);border:none;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-text);text-align:left}.bestTitle{flex:1;font-size:var(--text-md);font-weight:700}.bestColumn{width:3.5em;flex-shrink:0;text-align:right;font-variant-numeric:tabular-nums}.sortLabel{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.sortLabel--active{color:var(--color-accent-text)}.sortLabel--active:after{content:" ▾"}.bestRows{padding:var(--space-2) 0}.bestRow{padding:var(--space-2) var(--space-4)}.bestName{flex:1;min-width:0;overflow-wrap:anywhere}.bestEmpty{padding:var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}.tipEditor{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-4) var(--space-4)}.tipEditorTeams{display:flex;align-items:stretch;justify-content:center;gap:var(--space-2)}.tipEditorSeparator{align-self:flex-end;display:flex;align-items:center;height:calc(var(--text-score) * 1.1);margin-bottom:calc(max(7vh,48px) + var(--space-2));font-size:var(--text-2xl);font-weight:700;color:var(--color-text-muted)}.teamStepper{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.teamStepperName{flex:1;font-size:var(--text-md);font-weight:600;overflow-wrap:anywhere}.teamStepperScore{font-size:var(--text-score);font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.stepButton{width:max(7vh,48px);height:max(7vh,48px);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-pill);background-color:var(--color-surface-raised);color:var(--color-text);font-size:var(--text-lg);cursor:pointer;transition:background-color .15s,transform .1s}.stepButton:active{background-color:var(--color-accent);color:var(--color-on-accent);transform:scale(.94)}.stepButton:disabled{opacity:.35;cursor:default}.tipEditorActions{display:flex;gap:var(--space-3)}.tipEditorActions>.button{flex:1}.tipEditorPoints{flex:1;padding:var(--space-3);border-radius:var(--radius-md);background-color:var(--color-accent-soft);color:var(--color-accent-text);text-align:center;font-size:var(--text-lg);font-weight:700}.matchSummary{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-weight:600}.matchSummaryTeam{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);overflow-wrap:anywhere}.matchSummaryTeam--away{justify-content:flex-end;text-align:right}.matchSummaryScore{flex-shrink:0;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background-color:var(--color-neutral-soft);font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums}.tipsTable{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.tipsTable th{position:sticky;top:0;padding:var(--space-2) var(--space-4);background-color:var(--color-surface);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.tipsTable td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);overflow-wrap:anywhere}.tipsTable th:not(:first-child),.tipsTable td:not(:first-child){text-align:center;white-space:nowrap}.pointsBadge{display:inline-block;min-width:2em;padding:2px var(--space-2);border-radius:var(--radius-pill);background-color:var(--color-accent-soft);color:var(--color-accent-text);text-align:center;font-weight:700}.tipCards{display:flex;flex-direction:column;gap:var(--space-3)}.tipCard{overflow:hidden}.tipCardHeader{display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:700}.tipCardHeader--open{background-color:var(--color-success-soft);color:var(--color-success-text)}.tipCardHeader--closed{background-color:var(--color-danger-soft);color:var(--color-danger-text)}.tipCardTeam{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) 0;font-variant-numeric:tabular-nums}.tipCardTeamName{flex:1;min-width:0;overflow-wrap:anywhere}.tipCardTip{font-weight:700}.tipCardResult{color:var(--color-text-muted)}.tipCardFooter{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-2);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted)}.rankBadge{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background-color:var(--color-neutral-soft);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums}.rankBadge--1{background-color:#e6b42840;color:#d9a21b}.rankBadge--2{background-color:#a0aab947;color:#9aa3b0}.rankBadge--3{background-color:#be784640;color:#c07a45}.standingPoints{color:var(--color-text);font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums}.standingPoints small{font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted)}.competitionSelect{width:100%;min-height:var(--touch-target);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text);font-size:max(var(--text-md),16px)}.dateBar{justify-content:space-between}.dateBarDate{text-align:center;font-size:var(--text-lg);font-weight:700;line-height:1.2}.dateBarDay{display:block;font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted)}.fixtureGroup{--state-column: 64px;--tip-column: 48px}.fixtureGroupHeader{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2) var(--space-4)}.fixtureGroupTitle{flex:1;min-width:0;margin:0;font-size:var(--text-md);font-weight:700;color:var(--color-accent-text);overflow-wrap:anywhere}.fixtureColumnLabel{flex-shrink:0;text-align:center;font-size:var(--text-xs);color:var(--color-text-muted)}.fixtureColumnLabel--state{width:var(--state-column)}.fixtureColumnLabel--tip{width:var(--tip-column)}.fixtureRow{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);border:none;border-top:1px solid var(--color-border);background:transparent;color:var(--color-text);text-align:left}.fixtureRowLoading{justify-content:center;min-height:56px}.fixtureTeams{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.fixtureTeam{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md);overflow-wrap:anywhere}.fixtureState{flex-shrink:0;width:var(--state-column);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);font-variant-numeric:tabular-nums}.fixtureState--result{font-size:var(--text-md);font-weight:700}.fixtureState--live{color:var(--color-accent-text);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em}.fixtureState--time{font-size:var(--text-sm);font-weight:600}.fixtureStateDate{font-size:var(--text-xs);font-weight:400;color:var(--color-text-muted)}.fixtureTip{flex-shrink:0;width:var(--tip-column);min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:700;font-variant-numeric:tabular-nums}.fixtureTip--tip{background-color:var(--color-accent-soft);color:var(--color-accent-text)}.fixtureTip--open{background-color:var(--color-success-soft);color:var(--color-success-text)}.fixtureTip--urgent{background-color:var(--color-danger-soft);color:var(--color-danger-text)}.fixtureTip--closed{background-color:var(--color-neutral-soft);color:var(--color-text-muted)}.nearestDays{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-2)}
