:root {
  --ink:#111820;--muted:#6d7885;--line:#e0e4e8;--page:#eceff1;--surface:#fff;
  --header:#0b2b45;--navy-action:#0d3555;--navy-action-light:#12486f;--accent:#36aeea;--accent-dark:#1677ad;--accent-soft:#e5f4fb;--accent-pale:#dceef8;--accent-text:#145f88;--live:#d83a43;
  font-family:Arial,Helvetica,sans-serif;
  font-synthesis:none;color:var(--ink);background:var(--page)
}
*{box-sizing:border-box}html,body{min-width:0;min-height:100%}body{margin:0;background:var(--page)}button,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid rgba(36,105,220,.25);outline-offset:1px}[hidden]{display:none!important}
.app{width:100%;min-height:100vh;margin:0 auto;background:var(--page)}
.site-header{position:sticky;z-index:30;top:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;color:#fff;background:linear-gradient(135deg,#0d3555,var(--header) 58%,#082238)}
.logo{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none}.logo strong{font-size:15px;letter-spacing:.12em}.logo-mark{width:29px;height:29px;display:inline-flex;align-items:flex-end;gap:3px;padding:6px;border-radius:8px;background:var(--accent)}.logo-mark i{width:4px;display:block;border-radius:2px 2px 0 0;background:#162100;transform:skew(-8deg)}.logo-mark i:nth-child(1){height:8px}.logo-mark i:nth-child(2){height:17px}.logo-mark i:nth-child(3){height:12px}
.header-actions{display:flex;align-items:center;gap:1px}.header-actions button{height:38px;border:0;color:#fff;background:transparent}.header-actions>button[data-search-toggle],.page-sound-button{width:35px;display:grid;place-items:center}.page-sound-button{position:relative;border-radius:8px!important}.page-sound-button span{font-size:18px;line-height:1;filter:grayscale(1) brightness(2)}.page-sound-button:not(.is-enabled):after{content:"";position:absolute;width:23px;height:3px;border-radius:3px;background:#f04452;box-shadow:0 0 0 1px rgba(11,43,69,.65);transform:rotate(-45deg)}.page-sound-button.is-enabled{background:var(--accent)}.page-sound-button.is-enabled span{filter:none}.login-button{padding:0 8px;font-size:10px;font-weight:800;text-transform:uppercase}.menu-button{width:35px;display:grid;place-items:center;align-content:center;gap:4px}.menu-button i{width:17px;height:2px;border-radius:2px;background:#fff}.search-icon{position:relative;width:15px;height:15px;display:inline-block;border:2px solid currentColor;border-radius:50%}.search-icon:after{content:"";position:absolute;width:6px;height:2px;right:-5px;bottom:-2px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
.search-panel{position:sticky;z-index:29;top:56px;padding:8px;background:var(--header)}.search-panel label{height:40px;display:flex;align-items:center;gap:10px;padding:0 10px;border-radius:7px;color:#75828d;background:#fff}.search-panel input{min-width:0;flex:1;border:0;outline:0;font-size:12px}.search-panel button{width:28px;border:0;color:#788490;background:transparent;font-size:20px}
.menu-open{overflow:hidden}.menu-backdrop{position:fixed;z-index:60;inset:0;background:rgba(4,15,21,.58);backdrop-filter:blur(2px)}.mobile-menu{position:fixed;z-index:61;top:0;right:max(0px,calc((100vw - 480px)/2));bottom:0;width:min(360px,calc(100vw - 24px));overflow-y:auto;color:var(--ink);background:var(--page);box-shadow:-10px 0 32px rgba(4,15,21,.25)}.mobile-menu-head{position:sticky;z-index:2;top:0;height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;color:#fff;background:var(--header)}.mobile-menu-head span{display:grid;gap:2px}.mobile-menu-head small{color:#b8e927;font-size:6px;font-weight:900;letter-spacing:.14em}.mobile-menu-head strong{font-size:13px}.mobile-menu-head button{width:38px;height:38px;border:0;color:#fff;background:transparent;font-size:26px}.menu-profile{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;margin:9px 8px;padding:11px;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(17,24,32,.08)}.menu-profile>i{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#405500;background:#e6f2c5;font-size:9px;font-style:normal;font-weight:900}.menu-profile span{display:grid;gap:3px}.menu-profile strong{font-size:10px}.menu-profile small{color:#7f8a93;font-size:6px}.menu-profile button{height:29px;padding:0 10px;border:0;border-radius:5px;color:#fff;background:#25333d;font-size:7px;font-weight:900}.mobile-menu>h3{margin:15px 12px 6px;color:#6f7b85;font-size:7px;text-transform:uppercase;letter-spacing:.08em}.menu-list{margin:0 8px;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(17,24,32,.08)}.menu-list>button,.menu-setting{width:100%;min-height:49px;display:grid;grid-template-columns:29px minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 10px;border:0;border-bottom:1px solid #edf0f2;background:#fff;text-align:left}.menu-list>*:last-child{border-bottom:0}.menu-list>button>i,.menu-setting>i{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#5a6c00;background:#edf5d8;font-size:10px;font-style:normal}.menu-list span{min-width:0;display:grid;gap:3px}.menu-list strong{font-size:8px}.menu-list small{color:#7f8a93;font-size:6px}.menu-list b{color:#74808a;font-size:8px}.menu-list>button:active{background:#f4f7e9}.menu-setting{position:relative}.menu-setting input{position:absolute;width:1px;height:1px;opacity:0}.menu-setting em{position:relative;width:31px;height:18px;border-radius:10px;background:#c9d0d5;transition:.15s}.menu-setting em:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:.15s}.menu-setting input:checked+em{background:#789900}.menu-setting input:checked+em:after{transform:translateX(13px)}.menu-setting input:focus-visible+em{outline:3px solid rgba(36,105,220,.25)}.menu-list.compact>button{min-height:40px;grid-template-columns:minmax(0,1fr) auto;padding-left:12px}.menu-list.compact strong{font-size:8px}.menu-info-panel{display:grid;gap:4px;margin:9px 8px 20px;padding:12px;border-left:3px solid var(--accent-dark);border-radius:4px;color:#54616b;background:#fff}.menu-info-panel small{color:#718000;font-size:6px;font-weight:900;text-transform:uppercase}.menu-info-panel strong{font-size:9px}.menu-info-panel p{margin:0;font-size:7px;line-height:1.55}@media(max-width:559px){.mobile-menu{right:0}}
.sports-nav{display:flex;height:57px;overflow-x:auto;border-bottom:1px solid #d9dde1;background:#fff;scrollbar-width:none}.sports-nav::-webkit-scrollbar{display:none}.sports-nav button{position:relative;min-width:72px;display:grid;place-items:center;align-content:center;gap:3px;border:0;color:#7a8692;background:transparent}.sports-nav button span{font-size:16px;line-height:1}.sports-nav button small{font-size:8px;font-weight:800;white-space:nowrap}.sports-nav button b{position:absolute;top:7px;right:13px;min-width:14px;height:14px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--live);font-size:7px}.sports-nav button.is-active{color:var(--ink)}.sports-nav button.is-active:after{content:"";position:absolute;right:8px;bottom:0;left:8px;height:3px;border-radius:3px 3px 0 0;background:var(--accent-dark)}
.sports-nav.favorite-only{align-items:stretch;justify-content:space-between;overflow:hidden}.sports-nav.favorite-only>button{width:92px;min-width:92px}.sports-nav.favorite-only>button b{right:15px}.language-switcher{display:flex;align-items:center;gap:4px;padding:0 9px}.sports-nav .language-switcher button{width:43px;min-width:43px;height:43px;display:grid;grid-template-rows:20px auto;place-items:center;align-content:center;gap:2px;padding:0;border:1px solid transparent;border-radius:6px}.sports-nav .language-switcher button.is-active{border-color:#9bb831;color:#344500;background:#f0f6df}.sports-nav .language-switcher button.is-active:after{display:none}.sports-nav .language-switcher button small{font-size:6px}.language-flag{position:relative;width:25px;height:16px;display:block;overflow:hidden;border:1px solid #d7dde1;border-radius:2px;box-shadow:0 1px 2px rgba(17,24,32,.12)}.flag-kz{background:#38b9c8}.flag-kz:before{content:"";position:absolute;top:4px;left:9px;width:6px;height:6px;border-radius:50%;background:#f3cf3b;box-shadow:0 0 0 1px rgba(255,255,255,.2)}.flag-ru{background:linear-gradient(#fff 0 33.33%,#2455a6 33.33% 66.66%,#d8454d 66.66%)}.flag-en{background:linear-gradient(transparent 0 38%,#d63d45 38% 62%,transparent 62%),linear-gradient(90deg,#fff 0 40%,#d63d45 40% 60%,#fff 60%)}
.demo-note{min-height:27px;display:flex;align-items:center;justify-content:center;gap:7px;padding:5px 10px;color:#4d610a;background:#edf7cf;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.demo-note i{width:6px;height:6px;border-radius:50%;background:#759500}
.favorites-toolbar{height:46px;display:grid;grid-template-columns:48px minmax(0,1fr) 70px;align-items:center;margin-top:7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.favorites-toolbar button{height:45px;border:0;color:#526572;background:transparent;font-size:23px}.favorites-toolbar strong{text-align:center;font-size:11px}.favorites-toolbar span{padding-right:10px;color:#7b8791;font-size:7px;font-weight:800;text-align:right}
.match-controls{position:relative;margin:9px 8px 7px;overflow:visible;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(17,24,32,.08)}.filter-scroll{height:45px;display:flex;align-items:center;gap:2px;overflow-x:auto;padding:6px;border-bottom:1px solid #eceff2;border-radius:8px 8px 0 0;scrollbar-width:none}.filter-scroll::-webkit-scrollbar{display:none}.filter-scroll button{min-width:max-content;height:31px;padding:0 11px;border:0;border-radius:5px;color:#6b7784;background:transparent;font-size:9px;font-weight:800}.filter-scroll button.is-active{color:#fff;background:#1d2a34}.filter-scroll button b{min-width:15px;height:15px;display:inline-grid;place-items:center;margin-left:2px;border-radius:8px;color:#fff;background:var(--live);font-size:7px}
.date-control{position:relative;height:48px;display:grid;grid-template-columns:42px minmax(0,1fr) 78px 42px;align-items:stretch}.date-control>button{border:0;color:#6c7883;background:#fff;font-size:23px}.date-control .current-date{display:flex;align-items:center;justify-content:center;gap:9px;overflow:hidden;border-left:1px solid #eceff2;cursor:pointer}.current-date:focus-visible{position:relative;z-index:1;box-shadow:inset 0 0 0 2px rgba(54,174,234,.35)}.current-date i{position:relative;width:15px;height:14px;flex:0 0 15px;border:2px solid #6c7883;border-radius:3px}.current-date i:before{content:"";position:absolute;top:3px;right:0;left:0;height:2px;background:#6c7883}.current-date span{display:grid;gap:2px;text-align:left}.current-date strong{font-size:10px}.current-date small{color:#8a949d;font-size:7px}.timezone-control{display:grid;place-items:center;border-right:1px solid #eceff2;border-left:1px solid #eceff2;background:#f8fafb}.timezone-control select{width:68px;height:31px;padding:0 5px;border:1px solid #cdd8de;border-radius:6px;outline:0;color:#174a69;background:#fff;font-size:11px;font-weight:900;text-align:center}.timezone-control select:focus-visible{border-color:var(--accent-dark);box-shadow:0 0 0 3px rgba(54,174,234,.18)}
.calendar-sheet{position:absolute;z-index:49;top:calc(100% + 4px);right:6px;width:min(310px,calc(100vw - 32px));padding:0 10px 9px;border:1px solid #dce3e7;border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(7,24,37,.2)}.calendar-sheet>header{height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.calendar-sheet>header span{display:grid;gap:1px}.calendar-sheet>header small{color:#75828d;font-size:9px}.calendar-sheet>header strong{font-size:13px;font-weight:600}.calendar-sheet>header button{width:32px;height:32px;border:0;border-radius:50%;color:#63717c;background:#f0f3f5;font-size:21px}.calendar-selectors{display:grid;grid-template-columns:1fr 88px;gap:7px;padding:9px 0}.calendar-selectors label{display:grid;gap:3px}.calendar-selectors small{color:#7c8993;font-size:9px}.calendar-selectors select{width:100%;height:34px;padding:0 8px;border:1px solid #cdd8de;border-radius:7px;color:#174a69;background:#fff;font-size:12px;font-weight:600}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-weekdays span{height:22px;display:grid;place-items:center;color:#89949d;font-size:9px;font-weight:600}.calendar-days>span,.calendar-days>button{height:34px}.calendar-days>button{position:relative;border:0;border-radius:8px;color:#34424d;background:transparent;font-size:12px;font-weight:600}.calendar-days>button:hover{background:#f0f6f9}.calendar-days>button.is-today{box-shadow:inset 0 0 0 1px #9ccde4}.calendar-days>button.is-selected{color:#fff;background:linear-gradient(145deg,var(--navy-action-light),var(--navy-action))}.calendar-days>button.has-matches:after{content:"";position:absolute;right:calc(50% - 2px);bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--accent-dark)}.calendar-days>button.is-selected:after{background:#fff}.calendar-sheet>footer{height:41px;display:flex;align-items:flex-end;justify-content:space-between;margin-top:4px;border-top:1px solid var(--line)}.calendar-sheet>footer button{height:30px;padding:0 11px;border:0;border-radius:7px;color:#fff;background:var(--navy-action);font-size:10px;font-weight:600}.calendar-sheet>footer small{height:30px;display:flex;align-items:center;gap:5px;color:#7b8791;font-size:9px}.calendar-sheet>footer i{width:6px;height:6px;border-radius:50%;background:var(--accent-dark)}
.pinned-leagues{display:flex;gap:5px;overflow-x:auto;padding:2px 8px 8px;scrollbar-width:none}.pinned-leagues::-webkit-scrollbar{display:none}.pinned-leagues button{min-width:max-content;height:29px;display:flex;align-items:center;gap:5px;padding:0 8px 0 5px;border:1px solid #d9dee3;border-radius:6px;color:#65717c;background:#fff;font-size:8px;font-weight:800}.pinned-leagues button i{width:19px;height:19px;display:grid;place-items:center;border-radius:4px;color:#fff;background:var(--flag);font-size:6px;font-style:normal}.pinned-leagues button.is-active{border-color:#25343e;color:#fff;background:#25343e}
.feed{padding:0 8px 12px}.competition{margin-bottom:8px;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(17,24,32,.09)}.competition-head{height:42px;display:grid;grid-template-columns:25px minmax(0,1fr) 28px 28px;align-items:center;gap:7px;padding:0 8px;border-bottom:1px solid #e6eaed;background:#f7f8f9}.competition-flag{width:23px;height:23px;display:grid;place-items:center;border-radius:5px;color:#fff;background:var(--flag);font-size:6px;font-weight:900}.competition-title{min-width:0}.competition-title small{display:block;color:#7f8a94;font-size:7px;font-weight:700;text-transform:uppercase}.competition-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.competition-head button{width:28px;height:28px;border:0;color:#7b8691;background:transparent;font-size:16px}.competition-head button.is-active{color:#dfa62a}
@keyframes live-indicator-pulse{0%,100%{opacity:1;transform:scaleX(1)}50%{opacity:.2;transform:scaleX(.65)}}.match{min-height:66px;display:grid;grid-template-columns:27px 42px minmax(0,1fr) 48px;align-items:center;gap:5px;padding:7px 7px 7px 5px;border-bottom:1px solid #edf0f2;cursor:pointer}.match:last-child{border-bottom:0}.match:active,.match.is-selected{background:#f5f8e9}.match>button{width:27px;height:35px;border:0;color:#a0a8b0;background:transparent;font-size:17px}.match>button.is-active{color:#dda62d}.match-time{display:grid;gap:2px;color:#202b34;font-size:9px;font-weight:800;text-align:center}.match-time small{color:#89939c;font-size:6px;font-weight:700;text-transform:uppercase}.match-time>span.live,.league-fixture time.live{color:var(--live)}.match-time small.live-indicator,.league-fixture time small.live-indicator{height:4px;display:grid;place-items:center}.match-time small.live-indicator:before,.league-fixture time small.live-indicator:before{content:"";width:12px;height:2px;border-radius:2px;background:var(--live);animation:live-indicator-pulse 1s ease-in-out infinite}.match-time.scheduled>span{color:#6f7b85}.match-teams{min-width:0;display:grid;gap:7px}.team{min-width:0;display:flex;align-items:center;gap:6px}.team-badge{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;border:1px solid #dfe4e7;border-radius:50%;color:#52616d;background:#f8f9fa;font-size:5px;font-weight:900;font-style:normal}.team strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.scores{display:grid;gap:7px;text-align:center;font-size:11px}.scores b.muted{color:#a8afb5}.scores.scheduled{display:grid;place-items:center}.scores.scheduled b,.league-fixture>b.scheduled{color:#26343f;font-weight:600;white-space:nowrap}.empty{padding:48px 20px;border-radius:8px;color:#7b8791;background:#fff;text-align:center;font-size:10px}.empty strong{display:block;margin-bottom:5px;color:var(--ink);font-size:12px}
.detail-toolbar{position:sticky;z-index:25;top:56px;height:46px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;border-bottom:1px solid var(--line);background:#fff}.detail-toolbar button{height:46px;border:0;color:#66727d;background:transparent;font-size:23px}.detail-toolbar strong{text-align:center;font-size:11px}.score-card{padding:10px 8px 0;background:#fff}.breadcrumb{display:flex;align-items:center;gap:5px;padding:4px 3px 11px;color:#6f7b86;font-size:7px}.breadcrumb b{color:#35424d}.scoreboard{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:8px;padding:9px 5px 17px}.score-team{min-width:0;display:grid;justify-items:center;gap:7px;text-align:center}.score-team .team-badge{width:42px;height:42px;border-radius:50%;font-size:9px}.score-team strong{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.score-center{text-align:center}.score-center strong{display:block;font-size:22px}.score-center span{display:inline-block;margin-top:4px;padding:3px 6px;border-radius:4px;color:#fff;background:var(--live);font-size:6px;font-weight:900;text-transform:uppercase}.score-center span.upcoming{color:#536500;background:#eaf4c9}.score-center span.finished{color:#fff;background:#59656f}.score-center small{display:block;margin-top:5px;color:#838e98;font-size:7px}
.primary-tabs,.secondary-tabs{display:flex;overflow-x:auto;border-top:1px solid var(--line);background:#fff;scrollbar-width:none}.primary-tabs::-webkit-scrollbar,.secondary-tabs::-webkit-scrollbar{display:none}.primary-tabs button,.secondary-tabs button{position:relative;min-width:max-content;border:0;color:#707b85;background:transparent;font-size:8px;font-weight:800}.primary-tabs button{height:43px;padding:0 15px}.secondary-tabs{margin-top:7px;border-bottom:1px solid var(--line)}.secondary-tabs button{height:40px;padding:0 12px}.primary-tabs button.is-active,.secondary-tabs button.is-active{color:var(--ink)}.primary-tabs button.is-active:after,.secondary-tabs button.is-active:after{content:"";position:absolute;right:11px;bottom:0;left:11px;height:3px;border-radius:3px 3px 0 0;background:var(--accent-dark)}
.detail-section{margin:7px 8px;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(17,24,32,.08)}.section-head{height:41px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;border-bottom:1px solid var(--line)}.section-head strong{font-size:9px}.section-head small{color:#838d96;font-size:7px}.forecast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px}.forecast-value{padding:9px 4px;border:1px solid #e2e6e9;border-radius:6px;text-align:center}.forecast-value small{color:#7e8992;font-size:6px}.forecast-value strong{display:block;margin-top:3px;font-size:15px}.forecast-value.best{border-color:#b4d856;background:#f2f7e4}.forecast-value.best strong{color:#526f00}.stage-list{padding:0 10px 10px}.stage{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:43px;border-top:1px solid #edf0f2}.stage i{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;color:#536800;background:#eaf4c9;font-size:6px;font-style:normal}.stage strong{display:block;font-size:8px}.stage small{color:#838d96;font-size:6px}.stage b{color:#63717c;font-size:7px}.stage.locked{opacity:.55}.decision{margin:0 10px 10px;padding:10px;border-left:3px solid var(--accent-dark);color:#53616c;background:#f2f5f6;font-size:7px;line-height:1.5}.decision strong{display:block;margin-bottom:3px;color:#1d2932;font-size:9px}.stat-row{display:grid;grid-template-columns:35px 1fr 35px;align-items:center;gap:8px;min-height:38px;padding:0 11px;border-bottom:1px solid #edf0f2;font-size:8px}.stat-row:last-child{border-bottom:0}.stat-row span{color:#75818b;text-align:center}.stat-row b:last-child{text-align:right}.lineup{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.lineup-side{display:grid;gap:1px;background:var(--line)}.player{min-height:34px;display:flex;align-items:center;gap:6px;padding:0 8px;background:#fff;font-size:7px}.player b{color:#87919a}.timeline{padding:0 10px}.event{min-height:47px;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:7px;border-bottom:1px solid #edf0f2}.event:last-child{border-bottom:0}.event time{color:var(--accent-dark);font-size:8px;font-weight:900;text-align:center}.event strong{display:block;font-size:8px}.event small{color:#818c95;font-size:6px}.page-footer{min-height:100px;display:grid;place-items:center;align-content:center;gap:4px;color:#8a949d;font-size:7px}.page-footer strong{color:#53616c;font-size:9px;letter-spacing:.1em}
@media(min-width:560px){.app{max-width:480px;box-shadow:0 0 35px rgba(17,24,32,.12)}}
@media(max-width:360px){.sports-nav button{min-width:66px}.match{grid-template-columns:24px 38px minmax(0,1fr) 26px 22px;gap:3px}.team strong{font-size:8px}.pinned-leagues,.feed{padding-left:6px;padding-right:6px}.match-controls{margin-left:6px;margin-right:6px}}

.period-tabs,.market-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:7px 8px;padding:4px;border-radius:8px;background:#dfe4e7}.market-tabs{grid-template-columns:repeat(4,minmax(86px,1fr));overflow-x:auto;scrollbar-width:none}.market-tabs::-webkit-scrollbar{display:none}.period-tabs button,.market-tabs button{height:32px;border:0;border-radius:6px;color:#697680;background:transparent;font-size:8px;font-weight:800;white-space:nowrap}.period-tabs button.is-active,.market-tabs button.is-active{color:#fff;background:#25333d;box-shadow:0 1px 3px rgba(17,24,32,.15)}
.stats-team-head{display:flex;align-items:center;justify-content:space-between;margin:0 8px 7px;padding:8px 10px;border-radius:8px;background:#fff}.stats-team-head span{max-width:47%;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-weight:800}.stats-team-head span:last-child{justify-content:flex-end}.stat-group{margin-bottom:7px}.metric{padding:8px 11px;border-bottom:1px solid #edf0f2}.metric:last-child{border-bottom:0}.metric-values{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:6px}.metric-values b{font-size:8px}.metric-values b:last-child{text-align:right}.metric-values span{color:#687580;font-size:7px;text-align:center}.metric-bars{height:4px;display:flex;gap:3px}.metric-bars i{display:block;min-width:2px;border-radius:3px;background:var(--accent-dark)}.metric-bars i:last-child{margin-left:auto;background:#7d8b96}.stats-note{margin:9px 12px 18px;color:#7d8891;font-size:7px;line-height:1.5;text-align:center}
.formation-strip{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.formation-strip span{display:flex;justify-content:space-between;gap:5px;padding:8px;background:#f7f8f9;font-size:7px}.formation-strip b{color:#56636e}.lineup-footer{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.lineup-footer span{padding:9px;background:#f7f8f9;color:#6d7882;font-size:6px}
.player-team-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:8px}.player-team-switch button{height:30px;border:1px solid var(--line);border-radius:6px;color:#697580;background:#fff;font-size:7px;font-weight:800}.player-team-switch button.is-active{border-color:#2a3842;color:#fff;background:#2a3842}.player-table-head,.player-table-row{display:grid;grid-template-columns:minmax(130px,1fr) 35px 40px 48px;align-items:center;gap:4px;padding:0 10px}.player-table-head{height:28px;color:#7b8690;background:#f6f8f9;font-size:6px;text-align:center}.player-table-head span:first-child{text-align:left}.player-table-row{min-height:43px;border-top:1px solid #edf0f2;font-size:7px;text-align:center}.player-table-row>span:first-child{display:grid;grid-template-columns:25px 1fr;grid-template-rows:auto auto;column-gap:6px;text-align:left}.player-avatar{grid-row:1/3;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#52616c;background:#edf0f2;font-style:normal;font-weight:800}.player-table-row strong{display:inline-grid;place-items:center;width:31px;height:22px;margin:auto;border-radius:5px;color:#3f5500;background:#eaf4c9}.player-table-row small{color:#87919a;font-size:6px}
.odds-head,.odds-row{display:grid;grid-template-columns:minmax(100px,1fr) repeat(3,58px);align-items:center;gap:5px;padding:0 9px}.odds-head{height:31px;color:#7e8992;background:#f5f7f8;font-size:6px;text-align:center}.odds-head span:first-child{text-align:left}.odds-row{min-height:47px;border-top:1px solid #edf0f2}.odds-row strong{font-size:7px}.odds-row button{height:29px;border:1px solid #dce2e5;border-radius:5px;color:#354900;background:#eff6da;font-size:8px;font-weight:800}.odds-disclaimer{margin:0;padding:9px 10px;border-top:1px solid #edf0f2;color:#7d8790;font-size:6px;line-height:1.4}
.h2h-row{min-height:43px;display:grid;grid-template-columns:54px minmax(80px,1fr) 38px minmax(80px,1fr);align-items:center;gap:5px;padding:0 9px;border-bottom:1px solid #edf0f2;font-size:7px}.h2h-row:last-child{border-bottom:0}.h2h-row time{color:#7f8a94}.h2h-row span:last-child{text-align:right}.h2h-row b{text-align:center}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.form-columns>div{padding:10px;background:#fff}.form-columns strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.form-columns p{display:flex;gap:4px;margin:8px 0 0}.form-columns i{width:18px;height:18px;display:grid;place-items:center;border-radius:4px;color:#fff;font-size:6px;font-style:normal}.form-columns .win{background:#47a56b}.form-columns .draw{background:#84909a}.form-columns .loss{background:#d85c62}
.mini-table-head,.mini-table-row{display:grid;grid-template-columns:28px minmax(120px,1fr) 28px 35px 28px;align-items:center;gap:4px;padding:0 9px}.mini-table-head{height:29px;color:#7c8790;background:#f5f7f8;font-size:6px}.mini-table-row{min-height:37px;border-top:1px solid #edf0f2;font-size:7px}.mini-table-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-table-row span:not(:nth-child(2)),.mini-table-row b{text-align:center}.mini-table-row.highlight{background:#f3f7e7}.mini-table-row.highlight strong{color:#4d6500}
.media-empty{min-height:240px;display:grid;place-items:center;align-content:center;padding:25px;text-align:center}.media-empty i{width:50px;height:50px;display:grid;place-items:center;margin-bottom:11px;border-radius:50%;color:#536900;background:#eaf4c9;font-size:18px;font-style:normal}.media-empty strong{font-size:10px}.media-empty p{max-width:260px;margin:6px 0 0;color:#7b8690;font-size:7px;line-height:1.5}

.finished-events{padding:0 9px}.period-divider{min-height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 4px;border-bottom:1px solid #e7ebee;color:#59656f;font-size:7px;font-weight:800;text-transform:uppercase}.period-divider b{color:#18232c;font-size:8px}.period-divider.final{margin:3px -9px 0;padding:0 13px;background:#f1f3f4}.finished-event{min-height:53px;display:grid;grid-template-columns:31px 25px minmax(0,1fr);align-items:center;gap:6px;border-bottom:1px solid #edf0f2}.finished-event time{font-size:8px;font-weight:900;text-align:center}.finished-event>span{min-width:0}.finished-event strong,.finished-event>span>b{display:inline;margin-right:5px;font-size:8px}.finished-event>span>b{color:#303d47}.finished-event small{display:block;margin-top:3px;color:#7e8992;font-size:6px}.finished-event.away{background:linear-gradient(90deg,transparent 78%,#f5f7f8)}
.event-badge{width:21px;height:21px;display:inline-grid;place-items:center;border-radius:50%;color:#fff;background:#65727d;font-size:5px;font-style:normal;font-weight:900;line-height:1}.event-badge.goal{color:#202c34;background:#dce3e7}.event-badge.yellow{width:12px;height:17px;margin:auto;border-radius:2px;color:transparent;background:#efc42e}.event-badge.red{width:12px;height:17px;margin:auto;border-radius:2px;color:transparent;background:#d8434a}.event-badge.sub{color:#345100;background:#dff0ad}.event-badge.assist{color:#405500;background:#e5efca}.event-badge.var{color:#fff;background:#45535e}.event-badge.penalty{color:#fff;background:#76509d}.event-badge.compact{width:14px;height:14px;margin:0 1px;font-size:4px}.event-badge.yellow.compact,.event-badge.red.compact{width:8px;height:11px;border-radius:1px}.event-badge.var.compact,.event-badge.penalty.compact{width:18px;border-radius:4px}
.match-info .info-row{min-height:52px;display:grid;grid-template-columns:29px 1fr;align-items:center;gap:7px;padding:7px 11px;border-bottom:1px solid #edf0f2}.match-info .info-row:last-child{border-bottom:0}.info-row>i{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#596771;background:#eef1f3;font-size:10px;font-style:normal}.info-row span{display:grid;gap:2px}.info-row small{color:#808b94;font-size:6px}.info-row strong{font-size:8px}.info-row b{color:#6f7b85;font-size:6px;font-weight:400}
.lineup-pitch{position:relative;margin:9px;overflow:hidden;border:2px solid rgba(255,255,255,.7);border-radius:5px;background:#6c985e;box-shadow:inset 0 0 0 1px rgba(38,78,34,.35)}.lineup-pitch:before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.55);pointer-events:none}.pitch-half{position:relative;z-index:1;min-height:250px;display:flex;flex-direction:column;justify-content:space-around;padding:9px 13px}.pitch-row{display:flex;align-items:center;justify-content:space-around;gap:4px}.pitch-center{position:relative;height:1px;background:rgba(255,255,255,.7)}.pitch-center i{position:absolute;top:50%;left:50%;width:55px;height:55px;border:1px solid rgba(255,255,255,.65);border-radius:50%;transform:translate(-50%,-50%)}.pitch-player{position:relative;width:52px;display:grid;justify-items:center;color:#fff;text-align:center}.pitch-player>b{width:23px;height:23px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;color:#fff;background:#26343e;font-size:7px}.pitch-half.away .pitch-player>b{background:#8f3640}.pitch-player>small{width:100%;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.65);font-size:5px;font-weight:800}.pitch-player>em{margin-top:2px;padding:2px 4px;border-radius:4px;color:#243000;background:#dff0ad;font-size:5px;font-style:normal;font-weight:900}.pitch-player>span{position:absolute;top:-2px;right:2px;display:flex}.average-ratings{height:42px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;padding:0 10px;border-top:1px solid var(--line);font-size:6px}.average-ratings>span{display:flex;align-items:center;gap:6px;font-weight:800}.average-ratings>span:last-child{justify-content:flex-end}.average-ratings b{width:27px;height:20px;display:grid;place-items:center;border-radius:5px;color:#3d5100;background:#e4efc4;font-size:8px}.average-ratings small{color:#7e8992;font-size:6px}
.substitution-list>div{min-height:47px;display:grid;grid-template-columns:32px 25px minmax(0,1fr) 27px;align-items:center;gap:6px;padding:0 10px;border-bottom:1px solid #edf0f2}.substitution-list>div:last-child{border-bottom:0}.substitution-list time{font-size:7px;font-weight:900;text-align:center}.substitution-list strong{display:block;font-size:8px}.substitution-list small{color:#7f8a93;font-size:6px}.substitution-list>div>b{height:20px;display:grid;place-items:center;border-radius:5px;color:#3d5100;background:#e4efc4;font-size:7px}
.squad-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.squad-column{min-width:0;background:#fff}.squad-column h4{height:31px;display:flex;align-items:center;margin:0;padding:0 7px;overflow:hidden;border-bottom:1px solid #e5e9ec;background:#f6f8f9;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.squad-player-row{min-height:39px;display:grid;grid-template-columns:20px minmax(0,1fr) 27px 22px;align-items:center;gap:3px;padding:4px 5px;border-bottom:1px solid #edf0f2}.squad-player-row>i{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#46545f;font-size:5px;font-style:normal;font-weight:900}.squad-player-row>span:nth-child(2){min-width:0}.squad-player-row strong,.squad-player-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.squad-player-row strong{font-size:6px}.squad-player-row strong em{color:#697680;font-size:5px;font-style:normal}.squad-player-row small{margin-top:2px;color:#87919a;font-size:5px}.squad-player-row>b{font-size:6px;text-align:right}.player-marks{display:flex;flex-wrap:wrap;justify-content:flex-end}.squad-player-row.bench{background:#fbfcfc}.lineup-legend{display:flex;align-items:center;justify-content:center;gap:3px;flex-wrap:wrap;padding:8px;border-top:1px solid var(--line);color:#6f7b85;font-size:5px}.lineup-legend span{margin-right:4px}
.missing-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.missing-grid>div{padding:6px;background:#fff}.missing-grid span{display:block;min-height:35px;padding:6px;border-bottom:1px solid #edf0f2}.missing-grid span:last-child{border-bottom:0}.missing-grid b,.missing-grid small{display:block}.missing-grid b{font-size:7px}.missing-grid small{margin-top:3px;color:#a04a4f;font-size:5px}.coaches{display:grid;grid-template-columns:1fr 1fr;gap:1px;border-top:1px solid var(--line);background:var(--line)}.coaches span{padding:9px;background:#f7f8f9}.coaches small,.coaches b{display:block}.coaches small{color:#7e8992;font-size:5px}.coaches b{margin-top:3px;font-size:7px}.player-stat-marks{display:flex;justify-content:center;align-items:center}
@media(max-width:360px){.pitch-half{min-height:230px;padding-right:7px;padding-left:7px}.pitch-player{width:46px}.squad-player-row{grid-template-columns:18px minmax(0,1fr) 22px 19px;padding-right:3px;padding-left:3px}}

.competition-head .competition-flag{width:23px;height:23px;padding:0;border:0;color:#fff;background:var(--flag)}.competition-head .competition-title{width:auto;height:auto;min-width:0;display:block;padding:0;border:0;color:var(--ink);background:transparent;text-align:left}.competition-head .competition-title:focus-visible{outline:2px solid rgba(36,105,220,.25)}
.league-hero{padding:8px 11px 13px;background:#fff}.league-hero .breadcrumb{padding:3px 0 10px}.league-identity{display:flex;align-items:center;gap:11px}.league-identity>.competition-flag{width:45px;height:45px;flex:0 0 45px;border-radius:9px;font-size:9px}.league-identity span{display:grid;gap:3px}.league-identity small{color:#7d8892;font-size:7px;text-transform:uppercase}.league-identity strong{font-size:14px}.league-identity b{color:#7c8790;font-size:7px;font-weight:700}
.league-tabs{display:flex;overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;scrollbar-width:none}.league-tabs::-webkit-scrollbar{display:none}.league-tabs button{position:relative;min-width:max-content;height:43px;padding:0 13px;border:0;color:#707b85;background:transparent;font-size:8px;font-weight:800}.league-tabs button.is-active{color:var(--ink)}.league-tabs button.is-active:after{content:"";position:absolute;right:10px;bottom:0;left:10px;height:3px;border-radius:3px 3px 0 0;background:var(--accent-dark)}
.league-subtabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:7px 8px;padding:4px;border-radius:8px;background:#dfe4e7}.league-subtabs button{height:32px;border:0;border-radius:6px;color:#697680;background:transparent;font-size:8px;font-weight:800}.league-subtabs button.is-active{color:#fff;background:#25333d;box-shadow:0 1px 3px rgba(17,24,32,.15)}
.league-fixture,.generated-fixture{min-height:53px;display:grid;grid-template-columns:47px minmax(0,1fr) 26px 14px;align-items:center;gap:5px;padding:6px 9px;border-bottom:1px solid #edf0f2;cursor:pointer}.league-fixture:last-child,.generated-fixture:last-child{border-bottom:0}.league-fixture:active{background:#f4f7e9}.league-fixture time,.generated-fixture time{display:grid;gap:2px;font-size:7px;font-weight:800;text-align:center}.league-fixture time small,.generated-fixture time small{color:#87919a;font-size:5px}.league-fixture>span,.generated-fixture>span{min-width:0;display:grid;gap:7px}.league-fixture>span strong,.generated-fixture>span strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.league-fixture>b,.generated-fixture>b{font-size:9px;line-height:1.7;text-align:center}.league-fixture>i{color:#8a949c;font-size:16px;font-style:normal}.generated-fixture{grid-template-columns:52px minmax(0,1fr) 28px;cursor:default}
.league-leaders{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.league-leaders span{min-width:0;display:grid;gap:4px;padding:11px;background:#fff}.league-leaders small{color:#7f8a93;font-size:6px}.league-leaders strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.league-leaders b{color:#536a00;font-size:7px}
.league-table-head,.league-table-row{display:grid;grid-template-columns:24px minmax(92px,1fr) repeat(4,22px) 29px 25px;align-items:center;gap:2px;padding:0 6px}.league-table-head{height:29px;color:#7c8790;background:#f5f7f8;font-size:5px;text-align:center}.league-table-head span:nth-child(2){text-align:left}.league-table-row{min-height:37px;border-top:1px solid #edf0f2;font-size:6px;text-align:center}.league-table-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.league-table-row b{font-size:7px}.place{width:17px;height:20px;display:grid;place-items:center;border-left:3px solid transparent}.place.euro{border-left-color:#4b87d2}.place.drop{border-left-color:#d94d55}.table-legend{display:flex;align-items:center;gap:4px;margin:0;padding:9px;color:#7d8891;font-size:5px}.table-legend i{width:3px;height:11px;margin-left:5px}.table-legend i.euro{background:#4b87d2}.table-legend i.drop{background:#d94d55}
.form-table-head,.form-table-row{display:grid;grid-template-columns:25px minmax(92px,1fr) 113px 25px;align-items:center;gap:3px;padding:0 8px}.form-table-head{height:29px;color:#7c8790;background:#f5f7f8;font-size:5px}.form-table-row{min-height:39px;border-top:1px solid #edf0f2;font-size:6px}.form-table-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-table-row>b{text-align:center}.form-badges{display:flex;justify-content:center;gap:3px}.form-badges i{width:17px;height:17px;display:grid;place-items:center;border-radius:3px;color:#fff;font-size:5px;font-style:normal;font-weight:900}.form-badges .win{background:#47a56b}.form-badges .draw{background:#84909a}.form-badges .loss{background:#d85c62}
.scorer-head,.scorer-row{display:grid;grid-template-columns:27px minmax(130px,1fr) 34px 34px;align-items:center;gap:4px;padding:0 9px}.scorer-head{height:29px;color:#7c8790;background:#f5f7f8;font-size:5px;text-align:center}.scorer-head span:nth-child(2){text-align:left}.scorer-row{min-height:46px;border-top:1px solid #edf0f2;font-size:7px;text-align:center}.scorer-row>span:nth-child(2){display:grid;grid-template-columns:27px 1fr;grid-template-rows:auto auto;column-gap:6px;text-align:left}.scorer-row>span>i{grid-row:1/3;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#53616c;background:#edf0f2;font-size:6px;font-style:normal;font-weight:800}.scorer-row strong,.scorer-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scorer-row small{color:#87919a;font-size:5px}.scorer-row b{font-size:9px}
.archive-season{width:100%;min-height:53px;display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;padding:7px 10px;border:0;border-bottom:1px solid #edf0f2;background:#fff;text-align:left}.archive-season span{display:grid;gap:3px}.archive-season strong{font-size:9px}.archive-season small{color:#7f8a93;font-size:6px}.archive-season>b{color:#66737e;font-size:6px}.archive-season>i{color:#8a949c;font-size:15px;font-style:normal}.archive-note{margin:0;padding:10px;color:#7d8891;background:#f7f8f9;font-size:6px;line-height:1.5}
@media(max-width:360px){.league-tabs button{padding-right:10px;padding-left:10px}.league-table-head,.league-table-row{grid-template-columns:21px minmax(80px,1fr) repeat(4,19px) 25px 22px;padding-right:4px;padding-left:4px}.form-table-head,.form-table-row{grid-template-columns:22px minmax(76px,1fr) 102px 22px;padding-right:5px;padding-left:5px}.form-badges i{width:16px;height:16px}}

/* Cool-blue interface accent; green remains only for football semantics. */
.logo-mark i{background:#06243a}.mobile-menu-head small{color:var(--accent)}.menu-profile>i{color:var(--accent-text);background:var(--accent-pale)}.menu-list>button>i,.menu-setting>i{color:var(--accent-text);background:var(--accent-soft)}.menu-setting input:checked+em{background:var(--accent-dark)}.menu-info-panel small{color:var(--accent-dark)}
.sports-nav .language-switcher button.is-active{border-color:#64bde9;color:var(--accent-text);background:var(--accent-soft)}.demo-note{color:var(--accent-text);background:var(--accent-soft)}.demo-note i{background:var(--accent-dark)}
.match:active,.match.is-selected{background:#eef7fc}.score-center span.upcoming{color:var(--accent-text);background:var(--accent-soft)}
.forecast-value.best{border-color:#64bde9;background:var(--accent-soft)}.forecast-value.best strong,.mini-table-row.highlight strong,.league-leaders b{color:var(--accent-text)}.stage i,.media-empty i{color:var(--accent-text);background:var(--accent-soft)}.mini-table-row.highlight{background:#eef7fc}
.player-table-row strong,.odds-row button,.average-ratings b,.substitution-list>div>b{color:var(--accent-text);background:var(--accent-pale)}.odds-row button{border-color:#c6e5f3}.event-badge.sub,.event-badge.assist{color:var(--accent-text);background:var(--accent-pale)}.pitch-player>em{color:#143f58;background:#cfeaf7}

/* Dark controls follow the navy header instead of using charcoal black. */
.menu-profile button,.filter-scroll button.is-active,.pinned-leagues button.is-active,.period-tabs button.is-active,.market-tabs button.is-active,.player-team-switch button.is-active,.league-subtabs button.is-active{color:#fff;background:linear-gradient(135deg,var(--navy-action-light),var(--navy-action));border-color:var(--navy-action);box-shadow:0 1px 3px rgba(11,43,69,.2)}
.pitch-player>b{background:var(--navy-action)}
.team-badge img{width:100%;height:100%;object-fit:contain;border-radius:50%}.pitch-player>b{position:relative;overflow:hidden}.pitch-player>b>img{width:100%;height:100%;object-fit:cover}.pitch-player>b>img+i{position:absolute;right:-1px;bottom:-1px;min-width:11px;height:11px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#172d3c;font-size:6px}

.language-switcher{gap:2px;padding-right:5px;padding-left:5px}.sports-nav .language-switcher button{width:38px;min-width:38px;height:40px;grid-template-rows:17px auto;gap:1px;border-radius:5px}.sports-nav .language-switcher button small{font-size:5px}.language-flag{width:21px;height:13px}.flag-kz:before{top:3px;left:7px;width:5px;height:5px}

.ai-dock{width:calc(100% - 16px);min-height:48px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;margin:7px 8px 0;padding:6px 9px;border:1px solid #b9ddeb;border-radius:9px;color:var(--ink);background:linear-gradient(135deg,#fff,var(--accent-soft));box-shadow:0 1px 4px rgba(11,43,69,.1);text-align:left}.ai-dock-mark{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;color:#06304a;background:linear-gradient(145deg,var(--accent),#77cff5);font-size:15px;font-style:normal}.ai-dock>span{min-width:0;display:grid;gap:3px}.ai-dock>span strong{font-size:9px}.ai-dock>span small{display:flex;align-items:center;gap:4px;color:#687681;font-size:6px}.ai-dock>span small b{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#43a86b;box-shadow:0 0 0 3px rgba(67,168,107,.1)}.ai-dock>em{display:flex;align-items:center;gap:4px;font-style:normal}.ai-dock>em i{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:var(--accent-text);background:#fff;font-size:8px;font-style:normal;box-shadow:0 1px 2px rgba(11,43,69,.12)}.ai-dock>em b{margin-left:1px;color:var(--accent-dark);font-size:17px}.ai-dock:active{background:#e8f5fb}

.ai-open{overflow:hidden}.ai-backdrop{position:fixed;z-index:70;inset:0;background:rgba(6,28,45,.58);backdrop-filter:blur(2px)}.ai-assistant{position:fixed;z-index:71;right:max(0px,calc((100vw - 480px)/2));bottom:0;width:min(480px,100vw);height:min(650px,88dvh);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;overflow:hidden;border-radius:18px 18px 0 0;background:#f3f6f8;box-shadow:0 -14px 40px rgba(6,28,45,.28)}.ai-head{height:61px;display:grid;grid-template-columns:35px minmax(0,1fr) 38px;align-items:center;gap:8px;padding:0 11px;color:#fff;background:linear-gradient(135deg,#0d3555,var(--header))}.ai-head>i{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:#06304a;background:var(--accent);font-size:15px;font-style:normal}.ai-head>span{display:grid;gap:3px}.ai-head strong{font-size:11px}.ai-head small{color:#c8dfec;font-size:6px}.ai-head>button{width:36px;height:36px;border:0;color:#fff;background:transparent;font-size:25px}.ai-messages{min-height:0;overflow-y:auto;padding:12px}.ai-message{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:7px;margin-bottom:9px}.ai-message>i{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:var(--accent-text);background:var(--accent-pale);font-size:6px;font-style:normal;font-weight:900}.ai-message p{max-width:86%;margin:0;padding:9px 10px;border-radius:4px 12px 12px 12px;color:#44525d;background:#fff;font-size:8px;line-height:1.55;box-shadow:0 1px 3px rgba(17,24,32,.07)}.ai-message.user{grid-template-columns:minmax(0,1fr) 28px}.ai-message.user>i{grid-column:2;color:#fff;background:var(--navy-action)}.ai-message.user p{grid-column:1;grid-row:1;justify-self:end;border-radius:12px 4px 12px 12px;color:#fff;background:var(--navy-action-light)}.ai-suggestions{display:flex;gap:5px;overflow-x:auto;padding:2px 0 6px 35px;scrollbar-width:none}.ai-suggestions::-webkit-scrollbar{display:none}.ai-suggestions button{min-width:max-content;height:29px;padding:0 9px;border:1px solid #b9ddeb;border-radius:15px;color:var(--accent-text);background:#fff;font-size:6px;font-weight:800}.ai-attachment{min-height:48px;display:grid;grid-template-columns:38px minmax(0,1fr) 28px;align-items:center;gap:7px;margin:0 10px 6px;padding:6px 8px;border:1px solid #c9dde6;border-radius:8px;background:#fff}.ai-attachment img,.ai-attachment>i{width:36px;height:36px;display:grid;place-items:center;object-fit:cover;border-radius:6px;color:var(--accent-text);background:var(--accent-pale);font-size:13px;font-style:normal}.ai-attachment span{min-width:0;display:grid;gap:3px}.ai-attachment strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.ai-attachment small{color:#7c8993;font-size:6px}.ai-attachment button{width:27px;height:27px;border:0;color:#6f7c86;background:transparent;font-size:18px}.ai-voice-status{height:34px;display:flex;align-items:center;justify-content:center;gap:7px;margin:0 10px 6px;border-radius:8px;color:#a62f39;background:#fbe9eb;font-size:7px;font-weight:800}.ai-voice-status i{width:7px;height:7px;border-radius:50%;background:var(--live);box-shadow:0 0 0 4px rgba(216,58,67,.12)}.ai-composer{padding:8px 10px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #dce3e7;background:#fff}.ai-tools{display:flex;gap:5px;margin-bottom:7px}.ai-tools button{height:29px;display:flex;align-items:center;gap:4px;padding:0 9px;border:1px solid #d5dfe4;border-radius:15px;color:#586772;background:#f7f9fa;font-size:10px}.ai-tools button small{font-size:6px;font-weight:800}.ai-tools button.is-recording{border-color:#e9a3aa;color:#a62f39;background:#fbe9eb}.ai-composer>label{min-height:43px;display:grid;grid-template-columns:minmax(0,1fr) 37px;align-items:end;gap:5px;padding:5px 5px 5px 10px;border:1px solid #cbd7dd;border-radius:11px;background:#fff}.ai-composer textarea{min-height:30px;max-height:90px;resize:none;border:0;outline:0;color:var(--ink);background:transparent;font:inherit;font-size:9px;line-height:1.4}.ai-composer>label button{width:34px;height:34px;border:0;border-radius:9px;color:#fff;background:linear-gradient(145deg,var(--accent),var(--accent-dark));font-size:15px}@media(max-width:559px){.ai-assistant{right:0}}

/* Readable mobile type scale aligned with the measured 390 px livescore layout. */
.sports-nav.favorite-only>button small,.filter-scroll button,.primary-tabs button,.secondary-tabs button,.league-tabs button,.league-subtabs button{font-size:12px;line-height:14px}
.sports-nav.favorite-only>button b,.filter-scroll button b{font-size:10px}
.current-date strong{font-size:13px;line-height:16px}.current-date small{font-size:11px;line-height:14px}
.pinned-leagues{gap:6px}.pinned-leagues button{height:34px;padding-right:10px;font-size:12px}.pinned-leagues button i{width:22px;height:22px;font-size:9px}
.pinned-leagues-shell{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:start;gap:3px;padding:2px 6px 8px}.pinned-leagues-shell>.pinned-leagues{min-width:0;gap:6px;padding:0;scroll-behavior:smooth;scroll-snap-type:x proximity;touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.pinned-leagues-shell>.pinned-leagues button{scroll-snap-align:start}.league-scroll-button{width:32px;height:34px;border:1px solid #d4dce1;border-radius:6px;color:#38566b;background:#fff;font-size:22px;line-height:1;box-shadow:0 1px 2px rgba(11,43,69,.08)}.league-scroll-button:disabled{opacity:.28;cursor:default}
.competition-head{height:44px;grid-template-columns:25px minmax(0,1fr) 28px 28px}.competition-title strong{font-size:13px;line-height:16px}.competition-title small{font-size:10px;line-height:13px}.competition-flag{width:23px;height:23px;font-size:9px}
.match{min-height:64px;grid-template-columns:27px 43px minmax(0,1fr) 48px;padding-top:5px;padding-bottom:5px}.match-teams,.scores{gap:5px}.match-time{font-size:13px;line-height:15px}.match-time small{font-size:10px;line-height:12px}.team strong{font-size:13px;line-height:16px}.scores{font-size:13px;line-height:16px}.empty{font-size:12px;line-height:16px}.empty strong{font-size:13px}
.favorites-toolbar strong,.detail-toolbar strong{font-size:13px}.favorites-toolbar span{font-size:10px}.breadcrumb{font-size:11px;line-height:14px}.score-team strong{font-size:13px;line-height:16px}.score-center span{font-size:10px}.score-center small{font-size:11px;line-height:14px}
.section-head{height:46px}.section-head strong{font-size:13px;line-height:16px}.section-head small{font-size:11px;line-height:14px}.stat-row{min-height:42px;font-size:12px;line-height:16px}.event time,.event strong{font-size:12px}.event small{font-size:10px;line-height:13px}
.league-identity small{font-size:10px}.league-identity strong{font-size:15px}.league-identity b{font-size:11px}.league-fixture,.generated-fixture{min-height:61px}.league-fixture time,.generated-fixture time{font-size:12px}.league-fixture time small,.generated-fixture time small{font-size:10px}.league-fixture>span strong,.generated-fixture>span strong{font-size:13px}.league-fixture>b,.generated-fixture>b{font-size:13px}
.league-table-head,.form-table-head,.scorer-head{font-size:9px}.league-table-row,.form-table-row,.scorer-row{font-size:11px}.league-table-row b,.scorer-row b{font-size:12px}.scorer-row small{font-size:9px}.table-legend{font-size:9px;line-height:13px}
@media(max-width:360px){.match{grid-template-columns:26px 41px minmax(0,1fr) 45px;gap:3px}.team strong{font-size:13px}.filter-scroll button{padding-right:9px;padding-left:9px}.primary-tabs button{padding-right:12px;padding-left:12px}.pinned-leagues-shell{grid-template-columns:29px minmax(0,1fr) 29px;padding-right:4px;padding-left:4px}.league-scroll-button{width:29px}.date-control{grid-template-columns:38px minmax(0,1fr) 74px 38px}.timezone-control select{width:65px;padding:0 3px}.calendar-sheet{right:4px;padding-right:8px;padding-left:8px}}

/* Mobile typography audit: calm system type, four readable levels, fewer heavy weights. */
:root{font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif}
body{font-size:13px;line-height:1.35;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:inherit}
.match-time,.scores,.score-center,.stat-row,.metric-values,.forecast-value,.player-table-row,.odds-row,.league-table-row,.form-table-row,.scorer-row{font-variant-numeric:tabular-nums}

.logo strong{font-size:15px;font-weight:700;letter-spacing:.1em}.login-button{font-size:11px;font-weight:700}.search-panel input{font-size:13px}
.mobile-menu-head small{font-size:10px;font-weight:600}.mobile-menu-head strong{font-size:15px;font-weight:700}.menu-profile>i{font-size:11px;font-weight:700}.menu-profile strong{font-size:13px;font-weight:600}.menu-profile small{font-size:10px}.menu-profile button{font-size:11px;font-weight:600}.mobile-menu>h3{font-size:10px;font-weight:600}.menu-list strong,.menu-list.compact strong{font-size:12px;font-weight:600}.menu-list small{font-size:10px;line-height:13px}.menu-list b{font-size:11px}.menu-info-panel small{font-size:10px;font-weight:600}.menu-info-panel strong{font-size:12px;font-weight:600}.menu-info-panel p{font-size:11px;line-height:1.45}
.sports-nav.favorite-only>button small{font-size:12px;font-weight:600}.sports-nav .language-switcher button small{font-size:10px;font-weight:600}.sports-nav button b{font-size:10px;font-weight:700}
.demo-note{font-size:10px;font-weight:600;line-height:13px;letter-spacing:.02em}.ai-dock>span strong{font-size:12px;font-weight:600}.ai-dock>span small{font-size:10px;line-height:13px}.ai-dock>em i{font-size:10px}
.favorites-toolbar strong,.detail-toolbar strong{font-size:14px;font-weight:600}.favorites-toolbar span{font-size:11px;font-weight:500}
.filter-scroll button,.primary-tabs button,.secondary-tabs button,.period-tabs button,.market-tabs button,.league-tabs button,.league-subtabs button{font-size:12px;font-weight:600;line-height:15px}.filter-scroll button b{font-size:10px;font-weight:700}
.current-date strong{font-size:13px;font-weight:600;line-height:16px}.current-date small{font-size:11px;line-height:14px}.timezone-control select{font-size:11px;font-weight:700}
.pinned-leagues button{font-size:12px;font-weight:600}.pinned-leagues button i,.competition-flag{font-size:9px;font-weight:700}.competition-title small{font-size:10px;font-weight:600;line-height:13px}.competition-title strong{font-size:13px;font-weight:600;line-height:16px}
.match-time{font-size:13px;font-weight:600;line-height:15px}.match-time small{font-size:10px;font-weight:600;line-height:12px}.team-badge{font-size:7px;font-weight:700}.team strong{font-size:14px;font-weight:400;line-height:17px}.team strong.is-winner{font-weight:700}.scores{font-size:14px;font-weight:700;line-height:17px}.empty{font-size:12px;line-height:16px}.empty strong{font-size:14px;font-weight:600}.page-footer{font-size:10px;line-height:14px}.page-footer strong{font-size:11px;font-weight:600}

.breadcrumb{font-size:11px;line-height:14px}.score-team .team-badge{font-size:10px}.score-team strong{font-size:14px;font-weight:400;line-height:17px}.score-team strong.is-winner{font-weight:700}.score-center strong{font-size:24px;font-weight:700}.score-center span{font-size:10px;font-weight:700}.score-center small{font-size:11px;line-height:14px}
.section-head{gap:8px}.section-head strong{min-width:0;font-size:13px;font-weight:600;line-height:16px}.section-head small{min-width:0;max-width:48%;overflow:hidden;font-size:10px;line-height:13px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.forecast-value small{font-size:10px}.forecast-value strong{font-size:18px;font-weight:700}.stage i{font-size:9px;font-weight:600}.stage strong{font-size:12px;font-weight:600}.stage small{font-size:10px;line-height:13px}.stage b{font-size:10px;font-weight:600}.decision{font-size:11px;line-height:1.45}.decision strong{font-size:12px;font-weight:700}.stat-row{font-size:12px;line-height:16px}.player{font-size:11px}
.event time,.event strong{font-size:12px}.event time{font-weight:700}.event strong{font-weight:600}.event small{font-size:10px;line-height:13px}
.stats-team-head span{font-size:11px;font-weight:600}.metric-values b{font-size:12px;font-weight:700}.metric-values span{font-size:11px;line-height:14px}.stats-note{font-size:10px;line-height:14px}.formation-strip span{font-size:11px}.lineup-footer span{font-size:10px;line-height:13px}
.player-team-switch button{font-size:11px;font-weight:600}.player-table-head{font-size:10px;font-weight:600}.player-table-row{font-size:11px}.player-table-row small{font-size:10px}.odds-head{font-size:10px;font-weight:600}.odds-row strong{font-size:11px;font-weight:600}.odds-row button{font-size:11px;font-weight:600}.odds-disclaimer{font-size:10px;line-height:14px}.h2h-row{font-size:11px}.form-columns strong{font-size:11px;font-weight:600}.form-columns i{font-size:9px}.mini-table-head{font-size:10px;font-weight:600}.mini-table-row{font-size:11px}.media-empty strong{font-size:13px;font-weight:600}.media-empty p{font-size:11px;line-height:16px}
.period-divider{font-size:10px;font-weight:600}.period-divider b{font-size:11px}.finished-event time{font-size:11px;font-weight:700}.finished-event strong,.finished-event>span>b{font-size:11px}.finished-event small{font-size:10px;line-height:13px}.event-badge{font-size:7px;font-weight:700}.event-badge.compact{font-size:6px}
.info-row small{font-size:10px}.info-row strong{font-size:12px;font-weight:600}.info-row b{font-size:10px}.pitch-player>b{font-size:9px;font-weight:700}.pitch-player>small{font-size:10px;font-weight:600;line-height:12px}.pitch-player>em{font-size:8px;font-weight:700}.average-ratings{font-size:10px}.average-ratings b{font-size:11px}.average-ratings small{font-size:10px}.substitution-list time{font-size:10px;font-weight:700}.substitution-list strong{font-size:11px;font-weight:600}.substitution-list small{font-size:10px;line-height:13px}.substitution-list>div>b{font-size:10px}
.squad-column h4{font-size:11px;font-weight:600}.squad-player-row>i{font-size:8px;font-weight:700}.squad-player-row strong{font-size:10px;font-weight:600}.squad-player-row strong em{font-size:9px}.squad-player-row small{font-size:9px}.squad-player-row>b{font-size:10px}.lineup-legend{font-size:9px}.missing-grid b{font-size:11px}.missing-grid small{font-size:9px;line-height:12px}.coaches small{font-size:9px}.coaches b{font-size:11px}
.league-identity small{font-size:10px}.league-identity strong{font-size:16px;font-weight:600}.league-identity b{font-size:11px;font-weight:500}.league-fixture time,.generated-fixture time{font-size:12px;font-weight:600}.league-fixture time small,.generated-fixture time small{font-size:10px}.league-fixture>span strong,.generated-fixture>span strong{font-size:13px;font-weight:400}.league-fixture>span strong.is-winner,.generated-fixture>span strong.is-winner{font-weight:700}.league-fixture>b,.generated-fixture>b{font-size:13px}.league-leaders small{font-size:10px}.league-leaders strong{font-size:12px;font-weight:600}.league-leaders b{font-size:11px}.league-table-head,.form-table-head,.scorer-head{font-size:10px;font-weight:600}.league-table-row,.form-table-row,.scorer-row{font-size:11px}.league-table-row b,.scorer-row b{font-size:12px}.table-legend{font-size:10px;line-height:14px}.form-badges i{font-size:8px;font-weight:700}.scorer-row>span>i{font-size:9px;font-weight:600}.scorer-row small{font-size:10px}.archive-season strong{font-size:12px;font-weight:600}.archive-season small,.archive-season>b{font-size:10px}.archive-note{font-size:10px;line-height:14px}
.ai-head strong{font-size:13px;font-weight:600}.ai-head small{font-size:10px}.ai-message>i{font-size:9px;font-weight:700}.ai-message p{font-size:12px;line-height:1.45}.ai-suggestions button{font-size:10px;font-weight:600}.ai-attachment strong{font-size:11px;font-weight:600}.ai-attachment small{font-size:10px}.ai-voice-status{font-size:10px;font-weight:600}.ai-tools button small{font-size:10px;font-weight:600}.ai-composer textarea{font-size:13px;line-height:1.4}
@media(max-width:340px){.pitch-player>small{font-size:9px;line-height:11px}}

/* Live state: the minute mark and goal alert carry motion; scores return to ink after FT. */
@keyframes live-attention-pulse{0%,100%{opacity:1}50%{opacity:.15}}
@keyframes goal-event-life{0%,12%,24%,36%,48%,60%,72%,82%{opacity:1}6%,18%,30%,42%,54%,66%,77%{opacity:.12}100%{opacity:0}}
.live-minute-tick{position:relative;top:-.18em;display:inline-block;margin-left:1px;font-size:.72em;font-style:normal;animation:live-attention-pulse .9s ease-in-out infinite}
.scores:not(.scheduled)>b{display:grid;grid-template-columns:23px 10px;align-items:center;justify-content:center;gap:3px}
.scores.live,.league-fixture>b.live,.score-center.live>strong{color:var(--live)}
.league-fixture{grid-template-columns:47px minmax(0,1fr) 38px 14px}
.league-fixture>b:not(.scheduled){display:grid;gap:5px;line-height:1.2}
.league-fixture>b:not(.scheduled)>span{display:grid;grid-template-columns:20px 10px;align-items:center;justify-content:center;gap:2px}
.score-center.live>strong{display:flex;align-items:baseline;justify-content:center;gap:4px}
.goal-slot{width:23px;overflow:visible;text-align:right;white-space:nowrap}
.league-fixture .goal-slot{width:20px}
.goal-flash{color:var(--live);font-size:7px;font-style:normal;font-weight:700;line-height:1;animation:goal-event-life 8s linear forwards}
.score-center .goal-flash{font-size:8px}

/* Empty-today home state and protected spacing for long live labels. */
.match{grid-template-columns:27px 54px minmax(0,1fr) 48px;column-gap:6px}
.match-time{min-width:0;padding-right:2px}
.match-time>span.is-break{font-size:11px;line-height:14px;white-space:nowrap}
.league-fixture{grid-template-columns:54px minmax(0,1fr) 38px 14px}
.league-fixture time.is-break{font-size:10px;white-space:nowrap}
.today-empty-note{display:grid;gap:3px;margin:0 8px 8px;padding:10px 12px;border-left:3px solid var(--accent-dark);border-radius:7px;color:#53616c;background:#eef7fc}
.today-empty-note strong{color:#173b54;font-size:13px;font-weight:600}
.today-empty-note small{font-size:10px;line-height:14px}
.today-empty-note[hidden],.pinned-leagues-shell[hidden]{display:none!important}
.soon-heading{height:49px;display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 12px;border-radius:8px;background:linear-gradient(135deg,#0d3555,#12486f);color:#fff;box-shadow:0 2px 7px rgba(11,43,69,.18)}
.soon-heading span{display:grid;gap:1px}.soon-heading small{color:#a9dffc;font-size:9px}.soon-heading strong{font-size:15px;font-weight:600}.soon-heading b{font-size:10px;font-weight:500}
.empty.compact{padding-top:30px;padding-bottom:30px;line-height:17px}
@media(max-width:360px){.match{grid-template-columns:26px 51px minmax(0,1fr) 45px;column-gap:4px}.match-time>span.is-break{font-size:10px}.league-fixture{grid-template-columns:51px minmax(0,1fr) 36px 12px}.today-empty-note{margin-right:6px;margin-left:6px}}

/* Filters scroll independently; compact date and UTC controls stay visible at the row end. */
.match-controls{display:grid;grid-template-columns:minmax(0,1fr) 221px;align-items:center;gap:4px;padding:6px}
.filter-scroll{min-width:0;height:35px;padding:0;border-bottom:0;border-radius:7px;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.match-controls>.date-control{height:35px;display:grid;grid-template-columns:28px 104px 61px 28px;align-items:stretch;overflow:hidden;border:1px solid #d8e0e5;border-radius:7px;background:#fff;box-shadow:0 1px 2px rgba(11,43,69,.06)}
.match-controls>.date-control>button{min-width:0;height:33px;padding:0;border-radius:0;font-size:18px;font-weight:500}
.match-controls>.date-control .current-date{gap:5px;border-left:1px solid #e7ecef}
.match-controls>.date-control .current-date i{width:12px;height:11px;flex-basis:12px;border-width:1.5px}
.match-controls>.date-control .current-date span{gap:0}.match-controls>.date-control .current-date strong{font-size:10px;line-height:12px;white-space:nowrap}.match-controls>.date-control .current-date small{font-size:8px;line-height:10px}
.match-controls>.date-control .timezone-control{border-right:1px solid #e7ecef;border-left:1px solid #e7ecef}
.match-controls>.date-control .timezone-control select{width:57px;height:27px;padding:0 2px;border-radius:5px;font-size:9px}

.schedule-window{display:flex;gap:5px;margin:0 0 8px;padding:0 8px 2px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.schedule-window::-webkit-scrollbar{display:none}.schedule-window button{position:relative;min-width:58px;height:52px;display:grid;grid-template-rows:auto auto;place-items:center;align-content:center;gap:1px;padding:3px 4px;border:1px solid #dce3e7;border-radius:8px;color:#66747f;background:#fff;scroll-snap-align:center}.schedule-window small{font-size:9px;line-height:11px;text-transform:capitalize}.schedule-window strong{font-size:11px;font-weight:600;line-height:14px}.schedule-window i{position:absolute;top:4px;right:4px;min-width:14px;height:14px;display:grid;place-items:center;border-radius:8px;color:#fff;background:transparent;font-size:8px;font-style:normal}.schedule-window i.has-matches{background:#1677ad}.schedule-window button.is-today{border-color:#9ccde4;background:#f1f9fd}.schedule-window button.is-selected{border-color:#12486f;color:#fff;background:linear-gradient(145deg,#12486f,#0d3555)}.schedule-window button.is-selected small{color:#cbeaff}.schedule-window button.is-selected i.has-matches{color:#12486f;background:#fff}
@media(max-width:360px){.match-controls{grid-template-columns:minmax(0,1fr) 190px;gap:3px;padding:5px}.match-controls>.date-control{grid-template-columns:24px 83px 58px 23px}.match-controls>.date-control .current-date{gap:3px}.match-controls>.date-control .current-date i{display:none}.match-controls>.date-control .timezone-control select{width:54px}.schedule-window{padding-right:6px;padding-left:6px}.schedule-window button{min-width:55px}}

/* Mobile visual audit pass: clearer hierarchy, reliable touch targets and compact inner pages. */
.site-header{padding-right:9px;padding-left:12px}.header-actions{gap:0}.header-actions>button,.header-actions>button[data-search-toggle],.page-sound-button,.menu-button{height:44px}.header-actions>button[data-search-toggle],.page-sound-button,.menu-button{width:40px}
.sports-nav.favorite-only{height:50px}.sports-nav.favorite-only>button{height:50px}.sports-nav .language-switcher button{width:40px;min-width:40px;height:40px}
.demo-note{min-height:24px;height:24px;justify-content:flex-start;padding:0 9px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.demo-note span{min-width:0;overflow:hidden;text-overflow:ellipsis}

.match-controls{display:block;padding:0}.filter-scroll{height:46px;padding:5px 6px;border-bottom:1px solid #e7ecef;border-radius:8px 8px 0 0}.filter-scroll button{height:36px;padding-right:10px;padding-left:10px}
.match-controls>.date-control{width:100%;height:41px;grid-template-columns:40px minmax(0,1fr) 76px 40px;border:0;border-radius:0 0 8px 8px;box-shadow:none}.match-controls>.date-control>button{height:40px;font-size:20px}.match-controls>.date-control .current-date{gap:7px}.match-controls>.date-control .current-date i{display:block;width:13px;height:12px;flex-basis:13px}.match-controls>.date-control .current-date strong{font-size:11px;line-height:13px}.match-controls>.date-control .current-date small{font-size:9px;line-height:11px}.match-controls>.date-control .timezone-control select{width:66px;height:35px;font-size:10px}

.pinned-leagues-shell{grid-template-columns:38px minmax(0,1fr) 38px;gap:4px;padding-right:6px;padding-left:6px}.league-scroll-button{width:38px;height:38px}.pinned-leagues button{height:38px}.pinned-leagues button i{width:24px;height:24px}
.competition-head{height:48px;grid-template-columns:32px minmax(0,1fr) 40px 40px;gap:5px}.competition-head .competition-flag{width:29px;height:29px;font-size:8px}.competition-head button{width:40px;height:40px}.competition-head .competition-title{height:40px;display:grid;align-content:center}.competition-title small{font-size:10px}.competition-title strong{font-size:13px}
.match{grid-template-columns:35px 54px minmax(0,1fr) 48px;padding-left:3px}.match>button{width:35px;height:44px}.team-badge{width:22px;height:22px;flex-basis:22px;border-color:#cadce6;color:#285775;background:#eef7fb;font-size:7px}
.schedule-window small{font-size:10px}.calendar-sheet>header small,.calendar-selectors small,.calendar-weekdays span,.calendar-sheet>footer small{font-size:10px}

.inner-view .sports-nav,.inner-view .demo-note{display:none}.inner-view .ai-dock{min-height:40px;margin-top:4px;padding-top:4px;padding-bottom:4px;grid-template-columns:30px minmax(0,1fr) auto}.inner-view .ai-dock-mark{width:28px;height:28px}.inner-view .ai-dock>span{gap:0}.inner-view .ai-dock>span small{display:none}.inner-view .detail-toolbar{top:56px}.inner-view .score-card{padding-top:5px}.inner-view .breadcrumb{padding-top:2px;padding-bottom:6px}.inner-view .scoreboard{padding-top:5px;padding-bottom:11px}.inner-view .score-team .team-badge{width:40px;height:40px;font-size:9px}.inner-view .primary-tabs button,.inner-view .secondary-tabs button{min-height:42px}

@media(max-width:360px){.match-controls{display:block;padding:0}.match-controls>.date-control{grid-template-columns:38px minmax(0,1fr) 72px 38px}.match-controls>.date-control .current-date{gap:5px}.match-controls>.date-control .current-date i{display:block}.match-controls>.date-control .timezone-control select{width:63px}.pinned-leagues-shell{grid-template-columns:36px minmax(0,1fr) 36px}.league-scroll-button{width:36px}.competition-head{grid-template-columns:30px minmax(0,1fr) 38px 38px}.competition-head button{width:38px}.match{grid-template-columns:33px 51px minmax(0,1fr) 45px}.match>button{width:33px}}

/* Forecasts are a product section, not a match-list filter. */
.forecast-hub{width:calc(100% - 16px);min-height:48px;display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:7px;margin:8px 8px 0;padding:5px 9px;border:1px solid #9bcfe8;border-radius:10px;color:#fff;background:linear-gradient(135deg,#12486f,#0d3555);box-shadow:0 2px 6px rgba(11,43,69,.16);text-align:center}.forecast-hub>i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#0d3555;background:#8ed6f5;font-size:16px;font-style:normal}.forecast-hub>span{min-width:0;display:grid;gap:1px}.forecast-hub strong{font-size:12px;font-weight:700}.forecast-hub small{overflow:hidden;color:#c8e8f7;font-size:9px;line-height:12px;text-overflow:ellipsis;white-space:nowrap}.forecast-hub>b{display:grid;place-items:center;font-size:21px;font-weight:400}.forecast-hub.is-active{box-shadow:0 0 0 3px rgba(54,174,234,.22),0 2px 6px rgba(11,43,69,.16)}
.filter-scroll{justify-content:space-between}.inner-view .forecast-hub{display:none}

/* Match states stay grouped left; date and UTC remain fixed at the row's right edge. */
.match-controls{display:grid;grid-template-columns:minmax(0,1fr) 221px;align-items:center;gap:4px;padding:5px 6px}.filter-scroll{min-width:0;height:41px;justify-content:flex-start;gap:1px;padding:2px 0;border:0;border-radius:7px}.filter-scroll button{height:37px;padding-right:8px;padding-left:8px;font-size:11px}.match-controls>.date-control{width:221px;height:41px;grid-template-columns:34px 100px 53px 34px;border:1px solid #d8e0e5;border-radius:7px;box-shadow:0 1px 2px rgba(11,43,69,.05)}.match-controls>.date-control>button{height:39px}.match-controls>.date-control .current-date{gap:4px}.match-controls>.date-control .current-date i{width:12px;height:11px;flex-basis:12px}.match-controls>.date-control .current-date strong{font-size:10px;line-height:12px}.match-controls>.date-control .current-date small{font-size:8px;line-height:10px}.match-controls>.date-control .timezone-control select{width:49px;height:33px;padding-right:1px;padding-left:1px;font-size:9px}
@media(max-width:410px){.match-controls{grid-template-columns:minmax(0,1fr) 184px;gap:3px;padding-right:5px;padding-left:5px}.filter-scroll button{padding-right:6px;padding-left:6px;font-size:10px}.match-controls>.date-control{width:184px;grid-template-columns:28px 80px 48px 28px}.match-controls>.date-control .current-date{gap:0}.match-controls>.date-control .current-date i{display:none}.match-controls>.date-control .current-date strong{font-size:10px}.match-controls>.date-control .current-date small{font-size:8px}.match-controls>.date-control .timezone-control select{width:45px;font-size:8px}}

/* Date changes through the calendar; redundant previous/next arrows are removed. */
.match-controls{grid-template-columns:minmax(0,1fr) 176px}.match-controls>.date-control{width:176px;grid-template-columns:minmax(0,1fr) 56px}.match-controls>.date-control .current-date{border-left:0}.match-controls>.date-control .timezone-control select{width:49px}
@media(max-width:410px){.match-controls{grid-template-columns:minmax(0,1fr) 156px}.match-controls>.date-control{width:156px;grid-template-columns:minmax(0,1fr) 56px}}

/* UTC follows the language flags; the match-control row now ends with date only. */
.header-preferences{height:50px;display:flex;align-items:center;gap:3px;padding-right:6px}.header-preferences .language-switcher{padding:0}.top-timezone-control{width:58px;height:40px;display:grid;place-items:center;border-left:1px solid #e2e7ea}.top-timezone-control select{width:54px;height:34px;padding:0 2px;border:1px solid #cdd8de;border-radius:6px;outline:0;color:#174a69;background:#fff;font-size:9px;font-weight:700;text-align:center}.top-timezone-control select:focus-visible{border-color:var(--accent-dark);box-shadow:0 0 0 3px rgba(54,174,234,.18)}
.match-controls{grid-template-columns:minmax(0,1fr) 118px}.match-controls>.date-control{width:118px;grid-template-columns:1fr}.match-controls>.date-control .current-date{width:100%;border:0}
@media(max-width:410px){.header-preferences{gap:1px;padding-right:3px}.sports-nav .language-switcher button{width:36px;min-width:36px}.top-timezone-control{width:54px}.top-timezone-control select{width:50px;font-size:8px}.match-controls{grid-template-columns:minmax(0,1fr) 102px}.match-controls>.date-control{width:102px}}

/* The pinned league rail is removed from the home surface; empty-today messaging stays neutral. */
.pinned-leagues-shell{display:none!important}.today-empty-note{margin:0 8px 8px;padding:9px 11px;border:1px solid #e2e7ea;border-radius:8px;color:#5f6b75;background:#fff;box-shadow:0 1px 3px rgba(17,24,32,.06)}.today-empty-note strong{color:var(--ink)}.today-empty-note small{color:#77838d}

/* A single swipeable 15-day rail: seven days back, today, seven days forward. */
.schedule-window{gap:0;margin:0 8px 8px;padding:0;overflow-x:auto;border:1px solid #e2e7ea;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(17,24,32,.06);scroll-snap-type:x proximity;touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.schedule-window button{min-width:56px;height:50px;padding:3px 4px;border:0;border-radius:0;color:#66747f;background:transparent;scroll-snap-align:center}.schedule-window button.is-today{border:0;background:transparent}.schedule-window button.is-selected{color:#12486f;background:transparent}.schedule-window button.is-selected:after{content:"";position:absolute;right:12px;bottom:0;left:12px;height:3px;border-radius:3px 3px 0 0;background:#1677ad}.schedule-window button.is-selected small{color:#4e7289}.schedule-window button i{top:3px;right:3px;color:#1677ad;background:transparent}.schedule-window button i.has-matches{color:#fff;background:#1677ad}

/* Warm yellow-beige interface; only Line Up AI remains a raised card. */
:root{--line:#e2ded6;--page:#faf9f7;--surface:#fff;--accent:#c9b98f;--accent-dark:#8c7952;--accent-soft:#f2efe8;--accent-pale:#f7f5f0;--accent-text:#5f5748}
body,.app{background:var(--page)}
.logo-mark{background:linear-gradient(145deg,#43b878,#27875a);box-shadow:0 2px 7px rgba(25,111,71,.28)}.logo-mark i{background:#fff}.page-sound-button.is-enabled{background:#2f9b64}
.demo-note{color:var(--accent-text);background:var(--accent-soft)}.demo-note i{background:var(--accent-dark)}
.sports-nav .language-switcher button.is-active{border-color:#d5b766;color:var(--accent-text);background:#fbf2d9}.top-timezone-control select{border-color:#d8c9a8;color:#644b17;background:#fffdf8}

.ai-dock{border-color:#d8c28f;background:linear-gradient(135deg,#fffdf8,#f8edd2);box-shadow:0 3px 10px rgba(94,72,28,.13)}.ai-dock-mark{color:#fff;background:linear-gradient(145deg,#43b878,#27875a)}.ai-dock>em i{color:#287e56;background:#fffdf8}.ai-dock>em b{color:#287e56}

.forecast-hub{width:100%;min-height:48px;margin:8px 0 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;color:#4f3d18;background:var(--accent-soft);box-shadow:none}.forecast-hub>i{color:var(--accent-dark);background:transparent}.forecast-hub small{color:#80652b}.forecast-hub.is-active{background:#f2dfae;box-shadow:inset 4px 0 0 var(--accent-dark)}
.match-controls{margin:7px 0 0;padding-right:8px;padding-left:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none}.filter-scroll{border-radius:0}.filter-scroll button.is-active{color:#3d2d0d;background:var(--accent)}.match-controls>.date-control{border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent}.current-date{background:transparent}.current-date i{border-color:#80652b}.current-date i:before{background:#80652b}
.schedule-window{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none}.schedule-window button.is-selected{color:var(--accent-text)}.schedule-window button.is-selected:after{background:var(--accent-dark)}.schedule-window button.is-selected small{color:#7b5d20}.schedule-window button i{color:var(--accent-dark)}.schedule-window button i.has-matches{background:var(--accent-dark)}
.today-empty-note{margin:0;padding:10px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;color:#6f6759;background:var(--surface);box-shadow:none}.today-empty-note strong{color:#40392f}.today-empty-note small{color:#81796c}
.feed{padding:0;background:var(--surface)}.soon-heading{height:48px;margin:0;padding:0 12px;border-radius:0;color:#4d3b17;background:var(--accent-soft);box-shadow:none;border-bottom:1px solid var(--line)}.soon-heading small{color:#856625}.soon-heading b{color:#6e531b}
.competition{margin:0;border-radius:0;background:var(--surface);box-shadow:none;border-bottom:1px solid var(--line)}.competition-head{background:#faf2df;border-bottom-color:var(--line)}.match{border-bottom-color:#ece4d4}.match:active,.match.is-selected{background:#fbf3df}.team-badge{border-color:#dfcfaa;color:#6d531c;background:#fbf3df}

.score-card,.league-hero,.primary-tabs,.secondary-tabs,.league-tabs,.league-subtabs{background:var(--surface)}.detail-section{margin:0;border-radius:0;background:var(--surface);box-shadow:none;border-bottom:1px solid var(--line)}.section-head{background:#fffaf0;border-bottom-color:var(--line)}.stats-category,.league-overview,.archive-card{border-radius:0;box-shadow:none}.period-tabs button.is-active,.market-tabs button.is-active,.player-team-switch button.is-active,.league-subtabs button.is-active{background:var(--accent);color:#3d2d0d}.primary-tabs button.is-active:after,.secondary-tabs button.is-active:after,.league-tabs button.is-active:after{background:var(--accent-dark)}

/* Yellow is reduced by roughly 55%; the palette now reads as neutral sand-beige. */
.sports-nav .language-switcher button.is-active{border-color:#cfc6b2;color:#5f5748;background:#f5f2ec}.top-timezone-control select{border-color:#d8d2c7;color:#595348;background:#fff}
.ai-dock{border-color:#d8d1c4;background:linear-gradient(135deg,#fff,#f3f0ea);box-shadow:0 3px 10px rgba(73,68,59,.1)}
.forecast-hub{color:#4f4a40;background:#f2efe8}.forecast-hub small{color:#766f62}.forecast-hub.is-active{background:#e6dfd0;box-shadow:inset 4px 0 0 var(--accent-dark)}
.filter-scroll button.is-active{color:#342f25;background:var(--accent)}.current-date i{border-color:#6f6655}.current-date i:before{background:#6f6655}
.schedule-window button.is-selected small{color:#6e6555}.soon-heading{color:#4f493e;background:#f2efe8}.soon-heading small,.soon-heading b{color:#726957}
.today-empty-note{text-align:center;justify-items:center}
.competition-head{background:#f5f2ec}.match:active,.match.is-selected{background:#f4f1eb}.team-badge{border-color:#d9d1c2;color:#665e50;background:#f5f2ec}
.section-head{background:#faf8f4}.period-tabs button.is-active,.market-tabs button.is-active,.player-team-switch button.is-active,.league-subtabs button.is-active{color:#342f25}

/* Match-day leagues are alphabetical, collapsed by default and touch-friendly. */
.competition-head{height:50px;display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:0;padding:0}
.competition-head .competition-toggle{width:100%;height:50px;display:grid;grid-template-columns:32px minmax(0,1fr) 24px 24px;align-items:center;gap:7px;padding:0 4px 0 10px;color:var(--ink);text-align:left}
.competition-head .competition-toggle .competition-flag{width:29px;height:29px;margin:0;font-size:8px;font-style:normal}
.competition-head .competition-title{width:auto;height:auto;display:grid;align-content:center;padding:0}
.competition-total{color:#71695c;font-size:11px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}
.competition-chevron{color:#71695c;font-size:17px;font-style:normal;text-align:center}
.competition-head .competition-open{width:40px;height:50px;border-left:1px solid var(--line);font-size:22px}
.competition-toggle:focus-visible,.competition-open:focus-visible{outline:2px solid var(--accent-dark);outline-offset:-3px}
.competition-matches[hidden]{display:none!important}
.filter-scroll .forecast-filter{margin:1px 2px;height:35px;padding-right:13px;padding-left:13px;border:1px solid #27875a;border-radius:18px;color:#fff;background:linear-gradient(145deg,#43b878,#27875a);box-shadow:0 2px 7px rgba(31,124,79,.25);font-size:11px;font-weight:700;letter-spacing:.025em;white-space:nowrap}
.filter-scroll .forecast-filter:before{content:"✦";margin-right:5px;font-size:10px}
.filter-scroll .forecast-filter.is-active{color:#fff;background:linear-gradient(145deg,#319b67,#1f704a);box-shadow:0 0 0 2px rgba(39,135,90,.18),0 2px 7px rgba(31,112,74,.28)}
.competition-matches{background:#fff}

/* Unified white surfaces; league-name bars remain the contrasting exception. */
:root{--canvas:#fff;--canvas-soft:#f8f8f6;--page:var(--canvas);--surface:var(--canvas)}
body,.app,.mobile-menu,.sports-nav,.demo-note,.ai-dock,#home-page,.match-controls,.match-controls>.date-control,.schedule-window,.today-empty-note,.feed,.competition,.competition-matches,.match,.empty,.favorites-toolbar,.detail-toolbar,.score-card,.primary-tabs,.secondary-tabs,.detail-section,.section-head,.league-hero,.league-tabs,.league-subtabs,.calendar-sheet,.calendar-selectors select,.search-panel label,.top-timezone-control select,.page-footer{background:var(--canvas)}
.menu-profile,.menu-list,.menu-list>button,.menu-setting,.menu-info-panel,.ai-assistant,.ai-messages,.ai-message p,.ai-suggestions button,.ai-attachment,.ai-composer,.ai-composer>label,.player,.missing-grid>div,.league-leaders span,.archive-season{background:var(--canvas)}
.formation-strip span,.lineup-footer span,.coaches span,.archive-note,.squad-player-row.bench{background:var(--canvas-soft)}
.competition-head{background:#e7e1d7}

/* Match events: home team left, away team right, minute on the shared axis. */
.event-team-heads{height:32px;display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);align-items:center;gap:4px;border-bottom:1px solid var(--line)}
.event-team-heads strong{min-width:0;overflow:hidden;padding:0 4px;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600}
.event-team-heads strong:last-child{text-align:right}.event-team-heads span{color:#817a70;font-size:8px;font-weight:700;text-align:center}
.finished-event{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);align-items:center;gap:4px;margin:0;padding:5px 0;border-bottom:1px solid #ece9e3;background:transparent}
.finished-event time{grid-column:2;grid-row:1;color:#4f493f;font-size:10px;font-weight:700;text-align:center}
.finished-event-side{min-width:0;display:grid;grid-template-columns:23px minmax(0,1fr);align-items:start;gap:4px}
.finished-event.home .finished-event-side{grid-column:1;grid-row:1}
.finished-event.away .finished-event-side{grid-column:3;grid-row:1;grid-template-columns:minmax(0,1fr) 23px;text-align:right}
.finished-event.away .finished-event-side>.event-badge{grid-column:2}.finished-event.away .finished-event-side>span{grid-column:1;grid-row:1}
.finished-event-side>span{min-width:0}.finished-event-side strong,.finished-event-side b{display:block;overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:13px}
.finished-event-side b{color:#303d47;font-weight:600}.finished-event-side small{display:block;margin:1px 0 0;color:#7e8992;font-size:9px;line-height:12px}
.finished-events .period-divider{min-height:28px}.finished-event.away{background:transparent}
@media(max-width:340px){.event-team-heads,.finished-event{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:3px}.finished-event-side{grid-template-columns:20px minmax(0,1fr);gap:3px}.finished-event.away .finished-event-side{grid-template-columns:minmax(0,1fr) 20px}.finished-event-side strong,.finished-event-side b{font-size:9px}.finished-event-side small{font-size:8px;line-height:11px}}

/* Final color system: navy navigation, emerald actions, cool neutrals, red live. */
:root{--ink:#15232d;--muted:#65737d;--line:#e0e7eb;--page:#fff;--surface:#fff;--canvas:#fff;--canvas-soft:#f6f8f9;--header:#0b2f4a;--navy-action:#0d3555;--navy-action-light:#174e70;--accent:#2fa36f;--accent-dark:#227b57;--accent-soft:#e9f5ef;--accent-pale:#f3faf6;--accent-text:#176647;--live:#c93642}
.site-header{background:linear-gradient(135deg,#0e3b5a,#0b2f4a 60%,#08263d)}
button:focus-visible,input:focus-visible{outline-color:rgba(34,123,87,.42)}
.logo-mark,.ai-dock-mark{background:linear-gradient(145deg,#3bb27b,#23865e)}
.demo-note{color:#667580;background:#f5f7f8}.demo-note i{background:#2fa36f}
.sports-nav .language-switcher button.is-active{border-color:#b9d7c9;color:#176647;background:#eef7f2}
.top-timezone-control select{border-color:#d8e2e7;color:#163f59;background:#fff}
.ai-dock{border-color:#cfe2d8;background:linear-gradient(135deg,#fff,#f3faf6);box-shadow:0 3px 10px rgba(24,100,68,.1)}
.ai-dock>em i{color:#227b57;background:#f3faf6}.ai-dock>em b{color:#227b57}
.filter-scroll button.is-active:not(.forecast-filter){color:#fff;background:#0d3555}
.filter-scroll .forecast-filter{border-color:#176647;color:#fff;background:linear-gradient(145deg,#227b57,#176647);box-shadow:0 2px 7px rgba(27,119,79,.24)}
.filter-scroll .forecast-filter.is-active{color:#fff;background:linear-gradient(145deg,#1f704f,#155c3d);box-shadow:0 0 0 2px rgba(35,134,94,.16),0 2px 7px rgba(27,111,76,.25)}
.current-date i{border-color:#35576d}.current-date i:before{background:#35576d}.current-date:focus-visible{box-shadow:inset 0 0 0 2px rgba(34,123,87,.28)}
.schedule-window button.is-selected{color:#0d3555}.schedule-window button.is-selected:after{background:#2fa36f}.schedule-window button.is-selected small{color:#227b57}
.today-empty-note{color:#6b7984}.today-empty-note strong{color:#263640}
.competition-head{background:#eef2f4;border-bottom-color:#dce4e8}.competition-total,.competition-chevron{color:#657681}.competition-head .competition-open{border-left-color:#dce4e8}
.competition-toggle:focus-visible,.competition-open:focus-visible{outline-color:rgba(34,123,87,.38)}
.match{border-bottom-color:#e8edf0}.match:active,.match.is-selected{background:#f2f8f5}.team-badge{border-color:#dbe4e8;color:#52636f;background:#f5f8f9}
.section-head{background:#f7f9fa}.primary-tabs button.is-active:after,.secondary-tabs button.is-active:after,.league-tabs button.is-active:after{background:#2fa36f}
.period-tabs,.market-tabs,.league-subtabs{background:#edf2f4}.period-tabs button.is-active,.market-tabs button.is-active,.player-team-switch button.is-active,.league-subtabs button.is-active{border-color:#0d3555;color:#fff;background:#0d3555}
.metric-bars i{background:#2fa36f}.metric-bars i:last-child{background:#758692}
.forecast-value.best{border-color:#9fd3b8;background:#edf8f2}.forecast-value.best strong{color:#176647}.decision{border-left-color:#2fa36f;background:#f4f7f8}
.stage i,.player-table-row strong{color:#176647;background:#e9f5ef}.odds-row button{border-color:#c7e0d3;color:#176647;background:#eef8f3}
.score-center span.upcoming{color:#174e70;background:#eaf2f6}
.menu-profile>i,.menu-list>button>i,.menu-setting>i{color:#176647;background:#e9f5ef}.menu-setting input:checked+em{background:#2fa36f}.menu-list>button:active{background:#f2f8f5}.menu-info-panel{border-left-color:#2fa36f}.menu-info-panel small{color:#227b57}
.event-team-heads span{color:#74838d}.finished-event{border-bottom-color:#e6ecef}.finished-event time{color:#35576d}.period-divider.final{background:#f3f6f7}
.event-badge.goal{color:#fff;background:#227b57}.event-badge.sub{color:#174e70;background:#dfeef5}.event-badge.assist{color:#176647;background:#e3f3eb}.event-badge.var{background:#35576d}

/* Line Up AI capability panel. */
.ai-capability-panel{margin:0 0 10px 35px;padding:10px;border:1px solid #d4e4dc;border-radius:12px;background:linear-gradient(145deg,#fff,#f4faf7);box-shadow:0 2px 8px rgba(24,100,68,.08)}
.ai-capability-panel>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.ai-capability-panel>header span{display:grid;gap:2px}.ai-capability-panel>header small{color:#65737d;font-size:8px;font-weight:700;letter-spacing:.08em}.ai-capability-panel>header strong{font-size:13px;font-weight:600}.ai-capability-panel>header>i{padding:4px 7px;border-radius:10px;color:#176647;background:#e9f5ef;font-size:8px;font-style:normal;font-weight:700;white-space:nowrap}
.ai-capability-panel>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ai-capability-panel button{min-width:0;min-height:53px;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:6px;padding:7px;border:1px solid #dce7e1;border-radius:9px;color:#263640;background:#fff;text-align:left}.ai-capability-panel button:active{border-color:#9fcbb5;background:#f1f8f4}.ai-capability-panel button:focus-visible{outline:2px solid rgba(34,123,87,.38);outline-offset:1px}.ai-capability-panel button>i{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;color:#fff;background:#227b57;font-size:11px;font-style:normal;font-weight:700}.ai-capability-panel button>span{min-width:0;display:grid;gap:2px}.ai-capability-panel button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600}.ai-capability-panel button small{color:#65737d;font-size:8px;line-height:1.25}.ai-capability-panel>p{margin:8px 0 0;color:#65737d;font-size:8px;line-height:1.35;text-align:center}
@media(max-width:360px){.ai-capability-panel{margin-left:0}.ai-capability-panel>div{grid-template-columns:1fr}.ai-capability-panel button{min-height:46px}}
.ai-dock-message{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .18s ease,transform .18s ease}.ai-dock-message.is-changing{opacity:0;transform:translateY(2px)}
@media(prefers-reduced-motion:reduce){.ai-dock-message{transition:none}}

/* Match states, centered statistics, H2H history and extended league tables. */
.score-kickoff{display:block;margin:2px 0 0;color:#65737d;font-size:11px;text-align:center}.score-card.is-upcoming .scoreboard{padding-top:8px}.score-card.is-upcoming .score-center strong{font-size:28px;font-weight:600}.score-center.live>strong{color:var(--live)}.score-center .live-phase{display:block;margin:5px 0 0;padding:0;color:var(--live);background:transparent;font-size:10px;font-weight:700}.score-center .live-clock{display:block;margin-top:2px;color:var(--live);font-size:11px;font-weight:700}.score-center.finished>strong{color:#15232d}
.metric{padding:9px 11px}.metric-values{grid-template-columns:48px minmax(0,1fr) 48px;margin-bottom:7px}.metric-values b{font-size:12px;font-weight:600}.metric-values span{font-size:11px;font-weight:600}.metric-values b.is-leading{color:#176647}.metric-bars{height:6px;display:grid;grid-template-columns:1fr 1fr;gap:3px}.metric-bars>span{display:flex;overflow:hidden;border-radius:4px;background:#edf1f3}.metric-bars>span.home{justify-content:flex-end}.metric-bars>span.away{justify-content:flex-start}.metric-bars i{height:100%;display:block;min-width:2px;border-radius:4px;background:#263640}.metric-bars i.is-leading{background:#2fa36f}.metric-bars i.is-trailing{background:#263640}.metric-bars i:last-child{margin:0;background:#263640}.metric-bars i.is-leading:last-child{background:#2fa36f}
.h2h-context-tabs{display:flex;gap:5px;overflow-x:auto;padding:7px 8px;background:#edf2f4;scrollbar-width:none}.h2h-context-tabs::-webkit-scrollbar{display:none}.h2h-context-tabs span{min-width:max-content;padding:7px 10px;border-radius:7px;color:#65737d;background:#fff;font-size:10px;font-weight:600}.h2h-context-tabs span.is-active{color:#fff;background:#0d3555}.h2h-section{margin-top:0}.h2h-match-row{min-height:48px;display:grid;grid-template-columns:58px minmax(0,1fr) 28px 24px;align-items:center;gap:6px;padding:5px 9px;border-bottom:1px solid #e8edf0;background:#fff}.h2h-match-row time{display:grid;gap:2px;color:#52636f;font-size:10px}.h2h-match-row time small{color:#7a8891;font-size:8px}.h2h-match-row>span,.h2h-match-row>b{display:grid;gap:3px}.h2h-match-row>span strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500}.h2h-match-row>b i{font-size:11px;font-style:normal;text-align:center}.h2h-match-row>em{width:21px;height:21px;display:grid;place-items:center;border-radius:5px;color:#fff;font-size:9px;font-style:normal;font-weight:700}.h2h-match-row>em.win{background:#2fa36f}.h2h-match-row>em.draw{background:#7c8993}.h2h-match-row>em.loss{background:#c93642}.h2h-more{width:100%;height:38px;border:0;border-top:1px solid #e3e9ec;color:#174e70;background:#fff;font-size:11px;font-weight:600}.h2h-more i{margin-left:5px;font-style:normal}.h2h-empty,.league-data-empty{padding:20px 12px;color:#65737d;font-size:11px;line-height:1.45;text-align:center}
.league-subtabs{display:flex;grid-template-columns:none;gap:4px;overflow-x:auto;padding:4px;scrollbar-width:none}.league-subtabs::-webkit-scrollbar{display:none}.league-subtabs button{min-width:max-content;flex:0 0 auto;padding:0 12px}.standing-scope-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:7px 8px;background:#fff}.standing-scope-tabs button{height:32px;border:1px solid #dbe3e7;border-radius:7px;color:#65737d;background:#f6f8f9;font-size:10px;font-weight:600}.standing-scope-tabs button.is-active{border-color:#0d3555;color:#fff;background:#0d3555}.split-table-head,.split-table-row{display:grid;grid-template-columns:minmax(0,1fr) 38px 38px 38px;align-items:center;gap:4px;padding:0 10px}.split-table-head{height:31px;color:#74818a;background:#f5f7f8;font-size:9px;text-align:center}.split-table-head span:first-child{text-align:left}.split-table-row{min-height:42px;border-top:1px solid #e8edf0;font-size:11px;text-align:center}.split-table-row strong{text-align:left}.split-table-row b{color:#176647}.half-full-row{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) 58px 46px;align-items:center;gap:6px;padding:5px 10px;border-top:1px solid #e8edf0}.half-full-row>span{display:grid;gap:3px}.half-full-row strong{font-size:11px;font-weight:500}.half-full-row>b{color:#176647;font-size:12px;text-align:center}.half-full-row>em{font-size:11px;font-style:normal;text-align:right}
@media(max-width:360px){.h2h-match-row{grid-template-columns:52px minmax(0,1fr) 26px 22px;gap:4px;padding-left:7px;padding-right:7px}.league-subtabs button{padding:0 10px}}

/* Full pre-match Line Up forecast screen. */
.forecast-screen{padding-bottom:12px;background:#f3f6f7}.forecast-hero-card{padding:13px 12px 12px;color:#fff;background:linear-gradient(145deg,#0d3555,#0b2f4a 62%,#123f58)}
.forecast-brand{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px}.forecast-brand>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(145deg,#3bb27b,#23865e);font-size:17px;font-style:normal;box-shadow:0 3px 9px rgba(0,0,0,.16)}.forecast-brand>span{min-width:0;display:grid;gap:2px}.forecast-brand small{color:#9ed8bc;font-size:8px;font-weight:700;letter-spacing:.12em}.forecast-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650}.forecast-brand>b{padding:5px 7px;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#d8efe3;background:rgba(47,163,111,.14);font-size:8px;font-weight:700;white-space:nowrap}.forecast-screen.is-pending .forecast-brand>b{color:#d7e0e5;background:rgba(255,255,255,.08)}.forecast-hero-card>p{margin:7px 0 11px;color:#b8cbd6;font-size:9px;line-height:12px}
.forecast-probabilities{display:grid;gap:7px}.forecast-probability{display:grid;gap:4px}.forecast-probability>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.forecast-probability small{overflow:hidden;color:#d9e5eb;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.forecast-probability strong{font-size:13px;font-weight:700}.forecast-probability>i{height:5px;display:block;overflow:hidden;border-radius:4px;background:rgba(255,255,255,.14)}.forecast-probability>i>b{width:var(--forecast-width);height:100%;display:block;border-radius:4px;background:#8aa1ae}.forecast-probability.is-best>i>b{background:#40b77e}.forecast-probability.is-best strong{color:#80dbab}.forecast-screen.is-pending .forecast-probability>i>b{width:0}
.forecast-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:12px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.12)}.forecast-summary-grid span{min-width:0;display:grid;align-content:center;gap:3px;min-height:54px;padding:7px;background:rgba(5,31,48,.52);text-align:center}.forecast-summary-grid small{color:#9fb7c4;font-size:8px}.forecast-summary-grid strong{overflow:hidden;color:#fff;font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.forecast-decision-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid #dfe7eb;background:#fff}.forecast-decision-card>span{display:grid;gap:3px;padding-left:9px;border-left:3px solid #2fa36f}.forecast-decision-card small{color:#65737d;font-size:8px;font-weight:600}.forecast-decision-card strong{font-size:13px;font-weight:750}.forecast-decision-card p{margin:0;color:#65737d;font-size:9px;line-height:13px}.forecast-decision-card.is-blocked>span{border-left-color:#c93642}.forecast-decision-card.is-blocked strong{color:#a82f38}
.forecast-screen .detail-section{margin-top:7px;border-top:1px solid #e0e7eb}.forecast-market-row{min-height:50px;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,1fr);align-items:center;gap:8px;padding:7px 11px;border-bottom:1px solid #e7ecef;background:#fff}.forecast-market-row>span{min-width:0;display:grid;gap:2px}.forecast-market-row strong{font-size:11px;font-weight:600}.forecast-market-row small{color:#7a8790;font-size:8px}.forecast-market-row>b{color:#5d6b75;font-size:10px;font-weight:600;line-height:13px;text-align:right}.forecast-market-row>b.is-positive{color:#176647}
.forecast-reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e5ebee}.forecast-reason-grid>span{min-width:0;display:grid;grid-template-columns:25px minmax(0,1fr);align-content:center;gap:2px 7px;min-height:66px;padding:8px 9px;background:#fff}.forecast-reason-grid i{grid-row:1/3;width:24px;height:24px;display:grid;place-items:center;border-radius:7px;color:#176647;background:#e9f5ef;font-size:8px;font-style:normal;font-weight:700}.forecast-reason-grid b{overflow:hidden;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.forecast-reason-grid small{color:#74818a;font-size:8px;line-height:11px}
.forecast-stages .stage-list{padding:0 10px}.forecast-stages .stage:first-child{border-top:0}.forecast-stages .stage b{max-width:82px;text-align:right}.forecast-ai-actions{display:grid;gap:7px;margin:7px 8px 0}.forecast-ai-actions button{min-height:54px;display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:7px 10px;border:1px solid #cfe2d8;border-radius:10px;color:#15232d;background:#fff;text-align:left}.forecast-ai-actions button:last-child{grid-template-columns:minmax(0,1fr) 18px;border-color:#d9e2e7}.forecast-ai-actions button>i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#fff;background:#227b57;font-style:normal}.forecast-ai-actions button>span{min-width:0;display:grid;gap:2px}.forecast-ai-actions strong{font-size:11px;font-weight:650}.forecast-ai-actions small{color:#6c7a84;font-size:9px}.forecast-ai-actions button>b{color:#5f707b;font-size:18px;font-weight:400;text-align:right}.forecast-disclaimer{margin:10px 14px 0;color:#7a8790;font-size:8px;line-height:12px;text-align:center}
@media(max-width:360px){.forecast-brand{grid-template-columns:31px minmax(0,1fr) auto;gap:7px}.forecast-brand>i{width:31px;height:31px}.forecast-brand>b{padding:4px 6px;font-size:7px}.forecast-summary-grid small{font-size:7px}.forecast-summary-grid strong{font-size:10px}.forecast-decision-card{grid-template-columns:1fr;gap:7px}.forecast-market-row{grid-template-columns:minmax(0,1fr) 112px}.forecast-reason-grid{grid-template-columns:1fr}.forecast-reason-grid>span{min-height:54px}}

/* Lightweight active state for All, Live and Finished filters. */
.filter-scroll button.is-active:not(.forecast-filter){color:#176647;background:#fff;box-shadow:inset 0 -3px 0 #2fa36f}

/* Clear mobile lineup hierarchy: formation, pitch, substitutions and paired rosters. */
.completed-lineups .section-head{height:44px}.formation-strip.precise{height:45px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:0 10px;border-bottom:1px solid #dce4e8;background:#f4f7f8}.formation-strip.precise>span{min-width:0;display:grid;gap:2px;background:transparent}.formation-strip.precise>span:last-child{text-align:right}.formation-strip.precise small{overflow:hidden;color:#65737d;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.formation-strip.precise b{font-size:12px;font-weight:700}.formation-strip.precise>strong{color:#74828b;font-size:8px;font-weight:700;letter-spacing:.06em}
.lineup-pitch{margin:0 8px 8px;border:1px solid #bcc8ce;border-radius:2px;background:#e8edef;box-shadow:none}.lineup-pitch:before{inset:8px;border-color:#b9c5ca}.pitch-half{min-height:260px;padding:13px 9px}.pitch-center{background:#bac6cb}.pitch-center i{border-color:#bac6cb}.pitch-row{gap:2px}.pitch-player{width:62px;color:#15232d}.pitch-player>b{width:32px;height:32px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;color:#fff;background:#174e70;box-shadow:0 1px 4px rgba(27,48,61,.24)}.pitch-half.away .pitch-player>b{background:#7b3f49}.pitch-player>b>i{font-size:9px;font-style:normal;font-weight:700}.pitch-player>small{width:auto;max-width:62px;margin-top:3px;padding:2px 4px;border-radius:4px;color:#1c2b35;background:rgba(255,255,255,.92);font-size:9px;font-weight:600;line-height:11px;text-shadow:none}.pitch-player>em{min-width:24px;margin-top:2px;padding:2px 4px;border-radius:4px;color:#fff;background:#7b8992;font-size:8px;font-weight:700}.pitch-player>span{top:-3px;right:1px;gap:1px}.pitch-player>span .event-badge{width:13px;height:13px;font-size:6px}
.rating-excellent{color:#fff!important;background:#16824f!important}.rating-good{color:#fff!important;background:#46a83f!important}.rating-average{color:#fff!important;background:#e28a2d!important}.rating-low{color:#fff!important;background:#c93642!important}.rating-none{color:#65737d!important;background:#edf1f3!important}
.average-ratings{height:48px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:7px;padding:0 10px;background:#fff}.average-ratings>span{min-width:0;display:flex;gap:6px;font-weight:600}.average-ratings>span:last-child{justify-content:flex-end}.average-ratings>span small{overflow:hidden;color:#465660;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.average-ratings>strong{color:#75838c;font-size:8px;font-weight:600;text-align:center}.average-ratings b{width:29px;height:22px;color:#fff;font-size:10px}.lineup-legend{gap:4px;padding:8px 7px;color:#61717b;background:#f7f9fa;font-size:8px}.lineup-legend span{margin-right:5px}
.lineup-venue{min-height:52px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:7px 11px;border-bottom:1px solid #e2e8eb;background:#fff}.lineup-venue>i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#174e70;background:#e7f0f4;font-style:normal}.lineup-venue>span{min-width:0;display:grid;gap:2px}.lineup-venue small{color:#74818a;font-size:8px}.lineup-venue strong{font-size:11px}.lineup-venue b{color:#65737d;font-size:9px;font-weight:500}
.roster-team-head{height:34px;display:grid;grid-template-columns:1fr 1fr;align-items:center;border-bottom:1px solid #dfe6e9;background:#eef2f4}.roster-team-head strong{min-width:0;overflow:hidden;padding:0 10px;font-size:10px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.roster-team-head strong:last-child{text-align:right}.substitution-grid,.lineup-roster{background:#fff}.sub-row,.roster-row{min-height:50px;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e7ecef}.sub-row:nth-child(even),.roster-row:nth-child(even){background:#fafbfb}.sub-player,.roster-player{min-width:0;display:grid;align-items:center;border-right:1px solid #e7ecef}.sub-player:last-child,.roster-player:last-child{border-right:0}.sub-player.is-empty,.roster-player.is-empty{min-height:49px}
.sub-player{grid-template-columns:22px minmax(0,1fr) 27px;gap:5px;padding:5px 7px}.sub-player>i{display:grid;place-items:center;font-style:normal}.sub-player>i.sub-swap{width:18px;height:18px;border-radius:50%;color:#174e70;background:#e3eff4;font-size:12px;font-weight:700}.sub-player>span{min-width:0}.sub-player strong,.sub-player small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-player strong{font-size:10px;font-weight:600}.sub-player small{margin-top:2px;color:#71808a;font-size:8px}.sub-player>b{height:20px;display:grid;place-items:center;border-radius:5px;font-size:9px}.sub-player.away>i{grid-column:3;grid-row:1}.sub-player.away>span{grid-column:2;grid-row:1;text-align:right}.sub-player.away>b{grid-column:1;grid-row:1}
.roster-player{grid-template-columns:25px minmax(0,1fr) auto 27px;gap:4px;padding:5px 6px}.roster-player>i{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#174e70;font-size:8px;font-style:normal;font-weight:700}.roster-player.away>i{background:#7b3f49}.roster-player>span:nth-child(2){min-width:0}.roster-player strong,.roster-player small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-player strong{font-size:9px;font-weight:600}.roster-player strong em{color:#65737d;font-size:8px;font-style:normal}.roster-player small{margin-top:2px;color:#76838c;font-size:8px}.roster-marks{display:flex;gap:1px}.roster-marks .event-badge{width:13px;height:13px;font-size:6px}.roster-player>b{height:20px;display:grid;place-items:center;padding:0 4px;border-radius:5px;font-size:9px}.roster-player.away>i{grid-column:4;grid-row:1}.roster-player.away>span:nth-child(2){grid-column:3;grid-row:1;text-align:right}.roster-player.away>.roster-marks{grid-column:2;grid-row:1;justify-content:flex-end}.roster-player.away>b{grid-column:1;grid-row:1}
.lineup-missing .missing-grid{gap:1px;background:#e5ebee}.lineup-missing .missing-grid>div{padding:0;background:#fff}.lineup-missing .missing-grid span{min-height:46px;display:grid;align-content:center;padding:6px 9px;border-bottom:1px solid #e7ecef}.lineup-missing .missing-grid>div:last-child span{text-align:right}.lineup-missing .missing-grid b{font-size:10px;font-weight:600}.lineup-missing .missing-grid small{margin-top:2px;color:#71808a;font-size:8px}.lineup-coaches>div{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e5ebee}.lineup-coaches>div>span{min-height:50px;display:grid;align-content:center;gap:3px;padding:7px 10px;background:#fff}.lineup-coaches>div>span:last-child{text-align:right}.lineup-coaches small{color:#71808a;font-size:8px}.lineup-coaches strong{font-size:10px}
@media(max-width:360px){.pitch-half{min-height:245px;padding-right:5px;padding-left:5px}.pitch-player{width:55px}.pitch-player>small{max-width:55px;font-size:8px}.roster-player{grid-template-columns:23px minmax(0,1fr) auto 25px;gap:3px;padding-right:4px;padding-left:4px}.roster-player strong{font-size:8px}.roster-player small,.sub-player small{font-size:7px}.sub-player{grid-template-columns:20px minmax(0,1fr) 25px;gap:3px;padding-right:4px;padding-left:4px}}
.pitch-player>span{top:-4px;right:0}.pitch-player>span .event-badge{width:15px;height:15px;font-size:7px}

/* Players are real touch targets; verified local data opens in a focused bottom sheet. */
.pitch-player,.roster-player,.sub-player{border:0;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.pitch-player{height:auto;padding:0;background:transparent}.roster-player,.sub-player{width:100%;color:inherit;background:transparent;text-align:left}.pitch-player:focus-visible{outline:2px solid #227b57;outline-offset:3px;border-radius:6px}.roster-player:focus-visible,.sub-player:focus-visible{outline:2px solid #227b57;outline-offset:-3px;background:#f1f8f4}.pitch-player:active{transform:scale(.97)}.roster-player:active,.sub-player:active{background:#f1f8f4}
.lineup-player-open{overflow:hidden}.lineup-player-backdrop{position:fixed;z-index:80;inset:0;background:rgba(5,25,39,.5);backdrop-filter:blur(1px)}.lineup-player-sheet{position:fixed;z-index:81;right:max(0px,calc((100vw - 480px)/2));bottom:0;width:min(480px,100vw);max-height:min(620px,86dvh);overflow:auto;border-radius:18px 18px 0 0;color:#15232d;background:#fff;box-shadow:0 -14px 38px rgba(6,31,47,.24)}
.lineup-player-sheet>header{position:sticky;z-index:1;top:0;height:54px;display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;padding:0 8px 0 14px;border-bottom:1px solid #dfe7eb;color:#fff;background:linear-gradient(135deg,#0d3555,#0b2f4a)}.lineup-player-sheet>header>span{min-width:0;display:grid;gap:2px}.lineup-player-sheet>header small{color:#9fd7ba;font-size:8px;font-weight:700;letter-spacing:.1em}.lineup-player-sheet>header strong{overflow:hidden;font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.lineup-player-sheet>header button{width:40px;height:40px;border:0;border-radius:50%;color:#fff;background:transparent;font-size:25px}.lineup-player-sheet>header button:focus-visible{outline:2px solid #82d3a8;outline-offset:-3px}
.lineup-player-identity{min-height:92px;display:grid;grid-template-columns:48px minmax(0,1fr) 36px;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #e2e8eb}.lineup-player-identity>i{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#174e70;font-size:15px;font-style:normal;font-weight:700;box-shadow:0 2px 7px rgba(23,78,112,.2)}.lineup-player-identity>span{min-width:0;display:grid;gap:3px}.lineup-player-identity small{color:#65737d;font-size:9px}.lineup-player-identity strong{overflow:hidden;font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.lineup-player-identity b{color:#227b57;font-size:10px;font-weight:600}.lineup-player-identity>em{min-width:34px;height:26px;display:grid;place-items:center;border-radius:6px;font-size:11px;font-style:normal;font-weight:700}
.lineup-player-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #e2e8eb;background:#f7f9fa}.lineup-player-facts>span{min-width:0;min-height:54px;display:grid;align-content:center;gap:3px;padding:7px;border-right:1px solid #e2e8eb;text-align:center}.lineup-player-facts>span:last-child{border-right:0}.lineup-player-facts small{color:#74818a;font-size:8px}.lineup-player-facts strong{overflow:hidden;font-size:10px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.lineup-player-marks{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #e2e8eb}.lineup-player-marks>small{color:#65737d;font-size:9px}.lineup-player-marks>div{display:flex;gap:4px}.lineup-player-marks .event-badge{width:20px;height:20px;font-size:8px}
.lineup-player-events>header{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #e2e8eb;background:#f7f9fa}.lineup-player-events>header strong{font-size:11px;font-weight:650}.lineup-player-events>header small{min-width:21px;height:21px;display:grid;place-items:center;border-radius:11px;color:#176647;background:#e4f2eb;font-size:9px}.lineup-player-event{min-height:51px;display:grid;grid-template-columns:24px minmax(0,1fr) 42px;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid #e7ecef}.lineup-player-event>span{min-width:0;display:grid;gap:2px}.lineup-player-event strong{overflow:hidden;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.lineup-player-event small{overflow:hidden;color:#71808a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.lineup-player-event time{color:#174e70;font-size:10px;font-weight:700;text-align:right}.lineup-player-no-events{margin:0;padding:17px 12px;color:#71808a;font-size:10px;text-align:center}.lineup-player-source{margin:0;padding:9px 12px calc(10px + env(safe-area-inset-bottom));color:#7b8891;background:#f7f9fa;font-size:8px;text-align:center}
@media(max-width:360px){.lineup-player-facts{grid-template-columns:repeat(2,1fr)}.lineup-player-facts>span:nth-child(2){border-right:0}.lineup-player-facts>span:nth-child(-n+2){border-bottom:1px solid #e2e8eb}}
.roster-player strong{overflow:visible;line-height:11px;text-overflow:clip;white-space:normal}
.roster-marks{width:28px;flex-wrap:wrap;align-content:center}

/* Release hardening: readable text, honest controls and full desktop use. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sports-nav .language-switcher button:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.35)}
.menu-profile small,.menu-list small,.menu-info-panel p,.match-time small,.competition-title small,.current-date small,.section-head small,.stage small,.score-center small,.breadcrumb,.forecast-value small{font-size:9px}
.menu-list strong,.menu-info-panel strong,.competition-title strong,.team strong,.section-head strong,.stage strong{font-size:11px}
.match-time,.pinned-leagues button,.filter-scroll button{font-size:10px}
.match{min-height:72px}.team{gap:7px}.team strong{line-height:1.25}.match-time small{line-height:1.2}
.filter-scroll{height:50px}.filter-scroll button{min-height:38px;padding-right:14px;padding-left:14px}
.pinned-leagues button{min-height:36px}.sports-nav .language-switcher button{min-height:44px}.header-actions>button,.site-header .logo{min-height:44px}
.primary-tabs button,.secondary-tabs button,.league-tabs button,.league-subtabs button,.market-tabs button,.period-tabs button{min-height:44px;font-size:10px}
.search-panel input{font-size:16px}
.odds-disclaimer,.forecast-disclaimer,.stats-note,.lineup-player-source{font-size:10px;line-height:1.45}

/* The match shell is useful immediately while the complete verified payload arrives in the background. */
.instant-match-overview{display:grid;gap:14px;padding-bottom:14px}
.instant-probabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 11px}
.instant-probabilities span{display:grid;gap:3px;padding:12px;border-radius:12px;background:#f5f7f9;text-align:center}
.instant-probabilities small{color:#8b94a2;font-size:10px;font-weight:800}
.instant-probabilities strong{color:#132039;font-size:18px}
.instant-section-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0 11px}
.instant-section-map span{display:grid;min-width:0;gap:6px;justify-items:center;padding:10px 4px;border:1px solid #edf0f3;border-radius:11px;background:#fff}
.instant-section-map i{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:#eef2f5;color:#586678;font-size:10px;font-style:normal;font-weight:900}
.instant-section-map b{max-width:100%;overflow:hidden;color:#596578;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.instant-match-overview>p{margin:0;padding:0 11px;color:#7f8997;font-size:11px;line-height:1.55}

@media(min-width:760px){
  body{background:#e8edf0}
  .app{max-width:760px;box-shadow:0 0 42px rgba(17,24,32,.12)}
  .mobile-menu{right:max(0px,calc((100vw - 760px)/2))}
  .lineup-player-sheet{right:max(0px,calc((100vw - 760px)/2));width:min(620px,100vw)}
  .feed,.pinned-leagues{padding-right:16px;padding-left:16px}
  .match-controls,.detail-section,.forecast-ai-actions{margin-right:16px;margin-left:16px}
  .match{grid-template-columns:36px 58px minmax(0,1fr) 62px;padding-right:14px;padding-left:10px}
  .team strong{font-size:13px}.match-time{font-size:12px}.scores{font-size:14px}
  .detail-toolbar{top:56px}.scoreboard{padding-right:34px;padding-left:34px}
}

/* Visitor-local time, country flags and the final iPhone readability pass. */
.country-flag{position:relative;overflow:hidden;border:1px solid rgba(20,32,40,.18)!important;border-radius:4px!important;color:transparent!important;background:#fff;box-shadow:0 1px 2px rgba(17,24,32,.12)}
.country-flag.flag-england{background:linear-gradient(transparent 0 39%,#d93845 39% 61%,transparent 61%),linear-gradient(90deg,#fff 0 40%,#d93845 40% 60%,#fff 60%)}
.country-flag.flag-germany{background:linear-gradient(#202020 0 33.33%,#d4363f 33.33% 66.66%,#efc84a 66.66%)}
.country-flag.flag-spain{background:linear-gradient(#c92f3b 0 27%,#f2c84b 27% 73%,#c92f3b 73%)}
.country-flag.flag-italy{background:linear-gradient(90deg,#23965a 0 33.33%,#fff 33.33% 66.66%,#d8444c 66.66%)}
.country-flag.flag-france{background:linear-gradient(90deg,#2452a2 0 33.33%,#fff 33.33% 66.66%,#d53e48 66.66%)}

@media(max-width:759px){
  .match-controls{display:block;padding-right:0;padding-left:0}
  .filter-scroll{width:100%;height:52px;display:grid;grid-template-columns:minmax(42px,.72fr) minmax(52px,.86fr) minmax(96px,1.48fr) minmax(76px,1.04fr);gap:2px;padding:6px 5px;overflow:visible}
  .filter-scroll button,.filter-scroll .forecast-filter{width:100%;min-width:0;min-height:40px;height:40px;margin:0;padding:0 4px;font-size:11px;letter-spacing:0;white-space:nowrap}
  .filter-scroll .forecast-filter:before{margin-right:3px}
  .match-controls>.date-control{width:100%;height:43px;display:grid;grid-template-columns:1fr;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
  .match-controls>.date-control>button{height:42px}
  .match-controls>.date-control .current-date{gap:7px}
  .match-controls>.date-control .current-date i{display:block}
  .match-controls>.date-control .current-date strong{font-size:12px;line-height:14px}
  .match-controls>.date-control .current-date small{font-size:10px;line-height:12px}
  .menu-profile small,.menu-list small,.menu-info-panel p,.match-time small,.competition-title small,.current-date small,.section-head small,.stage small,.score-center small,.breadcrumb,.forecast-value small{font-size:10px}
  .menu-list strong,.menu-info-panel strong,.competition-title strong,.section-head strong,.stage strong{font-size:12px}
  .team strong{font-size:13px}
  .match-time{font-size:11px}
  .forecast-hero-card>p,.forecast-decision-card p,.forecast-market-row small,.forecast-reason-grid small,.forecast-ai-actions small{font-size:10px;line-height:14px}
  .forecast-summary-grid small{font-size:9px}.forecast-summary-grid strong{font-size:12px}
}

@media(max-width:340px){
  .filter-scroll{grid-template-columns:minmax(38px,.68fr) minmax(48px,.8fr) minmax(91px,1.45fr) minmax(71px,1.02fr);padding-right:3px;padding-left:3px}
  .filter-scroll button,.filter-scroll .forecast-filter{padding-right:2px;padding-left:2px;font-size:10px}
  .filter-scroll .forecast-filter:before{display:none}
}

/* Mobile primary navigation: only the three match views requested by the product owner. */
.bottom-navigation{display:none}
@media(max-width:759px){
  .app{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .bottom-navigation{position:fixed;z-index:50;right:0;bottom:0;left:0;width:100%;height:calc(58px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 8px env(safe-area-inset-bottom);border-top:1px solid #dfe6e2;background:rgba(255,255,255,.97);box-shadow:0 -6px 20px rgba(17,36,28,.08);backdrop-filter:blur(14px)}
  .bottom-navigation button{position:relative;min-width:0;min-height:50px;display:grid;grid-template-rows:25px 14px;place-items:center;align-content:center;gap:1px;border:0;border-radius:12px;color:#78837e;background:transparent;font:inherit;-webkit-tap-highlight-color:transparent}
  .bottom-navigation button>i{display:grid;place-items:center;font-style:normal}
  .bottom-navigation button>span{font-size:11px;font-weight:700;line-height:14px}
  .bottom-navigation button.is-active{color:#176647;background:#eef7f2}
  .bottom-navigation button:focus-visible{outline:2px solid rgba(23,102,71,.38);outline-offset:-2px}
  .bottom-all-icon{width:22px;height:22px;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);gap:3px}
  .bottom-all-icon b{width:7px;height:7px;border:2px solid currentColor;border-radius:2px}
  .bottom-live-icon{width:12px;height:12px;border-radius:50%;background:#d83946;box-shadow:0 0 0 4px rgba(216,57,70,.12)}
  .bottom-favorite-icon{font-size:25px;line-height:22px}
  .bottom-navigation button.is-active .bottom-favorite-icon{color:#d49a22}
  .bottom-navigation-count{position:absolute;top:3px;left:calc(50% + 10px);min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;border:2px solid #fff;border-radius:9px;color:#fff;background:#16374a;font-size:8px;font-weight:800;line-height:1}
  .filter-scroll{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filter-scroll [data-filter="all"],.filter-scroll [data-filter="live"]{display:none}
}
@media(min-width:560px) and (max-width:759px){
  .bottom-navigation{right:50%;left:auto;width:480px;transform:translateX(50%)}
}

/* Brand mark and standalone favorites */
.site-header .logo-mark{width:32px;height:32px;display:inline-flex;align-items:flex-end;justify-content:center;gap:3px;padding:6px 7px;border-radius:9px;background:linear-gradient(145deg,#43c984,#1c8d5d);box-shadow:0 3px 9px rgba(20,119,75,.25)}
.site-header .logo-mark i{width:4px;display:block;border-radius:3px;background:#fff;transform:skew(-7deg)}
.site-header .logo-mark i:nth-child(1){height:11px}.site-header .logo-mark i:nth-child(2){height:20px}.site-header .logo-mark i:nth-child(3){height:15px}
.favorites-page{min-height:calc(100vh - 140px);background:var(--canvas)}
.favorites-page-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px 12px;border-bottom:1px solid var(--line);background:var(--canvas)}
.favorites-page-header span{display:grid;gap:2px}.favorites-page-header small{color:#23865e;font-size:10px;font-weight:900;letter-spacing:.13em}.favorites-page-header strong{color:#102b3a;font-size:23px;line-height:28px}.favorites-page-header>b{padding:6px 9px;border-radius:10px;color:#526b60;background:#eef6f1;font-size:11px}
.favorites-page-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--canvas)}
.favorites-page-tabs button{min-height:42px;border:1px solid #dce7e1;border-radius:12px;color:#697a72;background:#fff;font:800 12px/1 inherit}.favorites-page-tabs button.is-active{border-color:#1f8d5f;color:#fff;background:#1f8d5f;box-shadow:0 4px 12px rgba(31,141,95,.16)}.favorites-page-tabs button b{margin-left:4px;font-size:10px}
.favorites-feed{padding:4px 0 18px}.favorite-date-group{margin-top:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.favorite-date-head{min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #e8eeeb;background:#f7faf8}.favorite-date-head span{display:grid;gap:1px}.favorite-date-head small{color:#21875c;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.favorite-date-head strong{color:#173446;font-size:15px;line-height:20px}.favorite-date-head time{color:#738078;font-size:11px;font-weight:800}.favorite-league+.favorite-league{border-top:7px solid #f2f5f3}.favorite-league-title{width:100%;min-width:0;min-height:47px;display:grid;grid-template-columns:29px minmax(0,1fr) 24px 16px;align-items:center;gap:8px;padding:5px 12px;border:0;color:inherit;background:transparent;text-align:left}.favorite-league-title .competition-flag{width:29px;height:20px}.favorite-league-title>i{color:#8b9892;font-size:20px;font-style:normal}.favorites-empty i{display:block;margin-bottom:8px;color:#d39b25;font-size:28px;font-style:normal}.favorites-loading-note{padding:16px;color:#798780;font-size:11px;text-align:center}
@media(min-width:760px){.favorites-page{max-width:780px;margin:0 auto}.favorites-page-header,.favorites-page-tabs,.favorite-date-group{border-right:1px solid var(--line);border-left:1px solid var(--line)}.favorites-page-tabs{grid-template-columns:180px 180px;justify-content:start}}
