/* Matches use the active theme. Translucent paint only: no blur or reflections. */
#home-matches{position:fixed;right:45px;top:500px;width:310px;min-height:124px;padding:16px 20px;text-align:start;display:flex;flex-direction:column;align-items:stretch;gap:8px;border:1px solid #ffffff24;border-radius:20px;background:transparent;color:inherit;box-shadow:none;z-index:3;}
#home-matches small{font-size:17px;opacity:.8;display:flex;justify-content:space-between;}
#home-matches strong{line-height:1.4;white-space:nowrap;text-overflow:ellipsis;}
#home-matches time{font-size:18px;opacity:.85;font-variant-numeric:tabular-nums;}
#view-matches{padding:32px 44px;box-sizing:border-box;color:inherit;overflow:auto;}
html:not(#iptv-theme-root) body.matches-open>#cinema-background{position:absolute;inset:0;z-index:0;pointer-events:none;width:1920px;height:1080px;overflow:hidden;}
html:not(#iptv-theme-root) body.matches-open>#cinema-background img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.28;}
html:not(#iptv-theme-root) body.matches-open main{position:absolute;top:0;left:0;width:1920px;height:1080px;}
html:not(#iptv-theme-root) body.matches-open #morph-header{position:absolute;left:40px;right:40px;top:24px;height:82px;}
html:not(#iptv-theme-root) body.matches-open #view-matches{position:absolute;top:155px;left:178px;right:45px;bottom:40px;padding:8px 12px;max-width:none;z-index:2;}
.matches-heading{display:flex;align-items:center;justify-content:space-between;}
.matches-heading h1{font-size:40px;margin:0 0 8px;}.matches-heading p{font-size:19px;margin:0;opacity:.8;}
.matches-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;}
.matches-tabs{display:flex;gap:10px;flex-wrap:wrap;}.matches-teams{display:flex;gap:10px;flex-wrap:wrap;}
#view-matches button{color:inherit;border:1px solid var(--cinema-border,#ffffff38);background:var(--cinema-glass,#8196b02b);box-shadow:none;border-radius:16px;font-size:20px;padding:12px 22px;min-height:52px;}
#view-matches button[aria-pressed=true]{background:var(--cinema-glass,#a8bdd247);border-color:var(--cinema-text,#fff);}
#view-matches button:focus{outline:3px solid var(--cinema-text,#fff);outline-offset:4px;box-shadow:none;}#home-matches:focus{outline:3px solid var(--cinema-text,#fff);outline-offset:4px;box-shadow:none;}
.matches-list{display:flex;flex-direction:column;gap:12px;margin:22px 0;min-height:270px;}
.match-row{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--cinema-border,#ffffff2b);background:var(--cinema-glass,#8196b026);border-radius:20px;padding:18px 28px;box-sizing:border-box;}
.match-team{display:flex;align-items:center;width:34%;font-size:24px;font-weight:600;min-width:0;}.match-team:last-child{justify-content:flex-end;text-align:end;}
.match-team span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.match-initial{flex-shrink:0;border-radius:50%;background:#ffffff18;display:flex;align-items:center;justify-content:center;letter-spacing:1px;}
.match-detail{width:32%;text-align:center;display:flex;flex-direction:column;gap:5px;}.match-detail strong{font-size:28px;font-variant-numeric:tabular-nums;}.match-detail small{font-size:15px;opacity:.8;}.match-detail time{font-size:16px;opacity:.85;}
.matches-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:16px;opacity:.85;}.matches-page-actions{display:flex;gap:10px;align-items:center;}.matches-empty{padding:48px;text-align:center;font-size:23px;opacity:.85;}
html.morph-legacy-layout #view-matches{padding:20px 36px;}html.morph-legacy-layout .match-row{margin-bottom:12px;}html.morph-legacy-layout .match-detail>*{display:block;}html.morph-legacy-layout .matches-tabs>button{margin-inline-end:10px;}html.morph-legacy-layout .matches-teams>button{margin-inline-end:10px;}
@media(max-width:900px){#view-matches{padding:24px;}.matches-heading h1{font-size:30px;}.matches-toolbar{align-items:flex-start;flex-direction:column;}.match-row{padding:14px;}.match-team{font-size:18px;gap:8px;}.match-initial{display:none;}.match-detail strong{font-size:23px;}}

.match-initial.has-badge{background:transparent;}.match-initial img{object-fit:contain;}

.matches-favorite-panel{position:absolute;inset-inline-end:12px;top:100px;z-index:50;width:520px;padding:24px;border:1px solid var(--cinema-border,#ffffff60);border-radius:var(--morph-radius-xl,20px);background:var(--ui-bg-raised,#202b44);color:inherit;box-shadow:none;}.matches-favorite-panel h2{font-size:24px;margin:0 0 18px;}.matches-favorite-panel button{display:block;width:100%;text-align:start;margin:8px 0;}

.match-initial{width:72px;height:72px;font-size:20px;}.match-initial img{width:72px;height:72px;}.match-row{min-height:120px;}.match-team{gap:20px;}.match-badge-tab{width:30px;height:30px;object-fit:contain;vertical-align:middle;margin-inline-end:10px;}.matches-teams button{display:inline-flex;align-items:center;}#home-matches strong{display:flex;justify-content:space-between;gap:12px;font-size:17px;overflow:hidden;}.home-match-team{display:flex;align-items:center;gap:7px;max-width:48%;min-width:0;}.home-match-team>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.match-badge-home{width:36px;height:36px;object-fit:contain;flex-shrink:0;}

/* Date filters use the cached schedule; these controls never fetch a new library. */
.matches-day-picker{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;}.matches-selected-day{min-width:170px;text-align:center;font-size:22px;font-variant-numeric:tabular-nums;}.matches-toolbar{margin-bottom:16px;}.matches-heading{margin-bottom:18px;}
@media(max-width:900px){.matches-day-picker{gap:8px;}.matches-selected-day{font-size:18px;min-width:120px;}.matches-toolbar>span{font-size:14px;}.matches-tabs{gap:7px;}.matches-teams{gap:7px;}}

#view-matches button.match-row{width:100%;color:inherit;text-align:start;cursor:pointer;font-family:inherit}#view-matches .matches-detail-grid{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}.matches-detail-section{flex:1 1 300px;min-width:0;padding:20px;border:1px solid var(--cinema-border,#ffffff35);border-radius:18px;background:var(--ui-card,rgba(255,255,255,.06))}.matches-detail-section h2{font-size:24px;margin:0 0 16px}.matches-detail-section p{font-size:18px;line-height:1.6}.match-stat{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff20}.match-stat span{flex:1;text-align:center}.matches-detail-note{font-size:17px;opacity:.85;margin:0 0 20px}

/* Match heading: title left, local kickoff right; score sits between teams. */
#home-matches .home-match-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;direction:ltr}#home-matches .home-match-heading small{display:block;flex:1;text-align:left;margin:0}#home-matches .home-match-heading time{font-size:14px;white-space:nowrap;text-align:right;margin:0}#home-matches .home-match-team{max-width:42%;flex:1;min-width:0}#home-matches .home-match-score{flex:0 0 auto;align-self:center;text-align:center;white-space:nowrap;font-size:18px;font-variant-numeric:tabular-nums;color:inherit}

#home-matches strong{align-items:center;gap:8px}#home-matches .home-match-team{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:1 1 30%;max-width:32%;min-width:0}#home-matches .home-match-teamline{display:flex;align-items:center;justify-content:center;gap:6px;max-width:100%;min-width:0}#home-matches .home-match-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}#home-matches .home-team-score{font-size:21px;line-height:1.1;font-variant-numeric:tabular-nums}#home-matches .home-match-centre{display:flex;flex-direction:column;align-items:center;text-align:center;flex:0 1 34%;min-width:0;gap:2px;font-size:13px;font-weight:400;line-height:1.3;white-space:normal}#home-matches .home-match-kickoff{font-size:19px;line-height:1.2;white-space:nowrap}#home-matches .home-match-competition{display:block;max-width:100%;white-space:normal;overflow-wrap:break-word}#home-matches .home-match-date{font-size:13px}

#matches-favorite-panel{box-sizing:border-box!important;max-height:calc(100% - 36px)!important;overflow-y:auto!important;overflow-x:hidden!important;scroll-padding:14px!important}#matches-favorite-panel button:focus{outline:3px solid var(--ui-focus-ring,#b9e9ff)!important;outline-offset:-3px!important;background:var(--ui-selected-bg,#3a587c)!important}#matches-favorites-done{position:sticky;bottom:0;z-index:2;background:var(--ui-card-bg,#20324c)!important}

/* TV sports desk: bounded controls, readable fixtures and explicit feed status. */
html:not(#iptv-theme-root) body.matches-open #view-matches{top:115px;left:175px;right:70px;bottom:35px;padding:24px 28px;border:1px solid rgba(137,185,231,.25);border-radius:26px;background:linear-gradient(145deg,rgba(16,36,59,.92),rgba(5,16,31,.9));color:#fff;}
#view-matches .matches-heading{gap:20px;margin:0 0 18px;min-height:64px;}
#view-matches .matches-heading h1{font-size:36px;line-height:1.2;color:#fff;}
#view-matches .matches-heading p{font-size:19px;line-height:1.4;color:#c4d5e8;opacity:1;}
#view-matches .matches-page-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
#view-matches .matches-overview{display:flex;align-items:stretch;gap:14px;margin-bottom:18px;}
#view-matches .matches-overview>button{display:flex;align-items:center;gap:16px;min-width:240px;padding:14px 20px;background:rgba(65,137,190,.12);border-color:rgba(120,193,241,.3);}
#view-matches .matches-overview strong{font-size:38px;line-height:1.1;color:#8bd5ff;}
#view-matches .matches-feed-status{display:flex;align-items:center;flex:1;line-height:1.5;font-size:18px;color:#c4d5e8;padding:10px 16px;border-inline-start:1px solid #ffffff20;}
#view-matches .matches-toolbar{margin-bottom:12px;gap:12px;}
#view-matches .matches-tabs{flex-wrap:nowrap;gap:8px;}
#view-matches button{font-family:inherit;font-size:19px;padding:10px 18px;min-height:48px;}
#view-matches button[aria-pressed=true]{color:#fff;background:rgba(87,169,225,.25);border-color:#8bd5ff;}
#view-matches button:focus{outline:3px solid #fff;outline-offset:2px;background:rgba(87,169,225,.3);}
#view-matches .matches-teams{max-height:114px;overflow:auto;padding:4px 3px;gap:8px;}
#view-matches .matches-teams button{font-size:17px;min-height:42px;padding:8px 14px;}
#view-matches .matches-list{margin:14px 0;gap:10px;min-height:240px;}
#view-matches button.match-row{min-height:104px;padding:12px 24px;background:rgba(28,54,82,.65);border-color:rgba(147,187,225,.22);}
#view-matches .match-team{font-size:24px;gap:18px;}
#view-matches .match-initial,#view-matches .match-initial img{width:62px;height:62px;object-fit:contain;}
#view-matches .match-detail strong{font-size:28px;color:#fff;}
#view-matches .match-detail small,#view-matches .match-detail time{font-size:17px;color:#c4d5e8;opacity:1;}
#view-matches .matches-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:28px;border:1px dashed #ffffff30;border-radius:20px;background:rgba(21,44,70,.4);text-align:center;}
#view-matches .matches-empty h2{font-size:30px;color:#fff;margin:0 0 14px;}
#view-matches .matches-empty p{font-size:20px;line-height:1.5;color:#c4d5e8;margin:0;}
#view-matches .matches-footer{font-size:16px;color:#bfcee0;}

/* Sports reference presentation. Same semantic glass, white ink and shared focus controller. */
html:not(#iptv-theme-root) body.matches-open #morph-header{display:none!important;}
html:not(#iptv-theme-root) body.matches-open #view-matches#view-matches{inset:0!important;width:1920px!important;height:1080px!important;max-height:none!important;padding:34px 46px 28px!important;border:0!important;border-radius:0!important;}
html body #view-matches#view-matches{background-color:var(--ui-bg,#07101e)!important;background-image:var(--ui-canvas-scrim,linear-gradient(transparent,transparent)),url("assets/matches-stadium-v1.webp")!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;color:var(--ui-navigation-text,#fff)!important;box-sizing:border-box!important;overflow:auto!important;}
html body #view-matches#view-matches:not([hidden]){display:flex!important;flex-direction:column!important;gap:0!important;}
html body #view-matches#view-matches .matches-heading{min-height:82px;flex:0 0 auto;gap:18px;margin:0 0 18px;}
html body #view-matches#view-matches .matches-heading>div:first-of-type{flex:1;min-width:0;}
html body #view-matches#view-matches .matches-heading h1{font-size:44px;line-height:1.2;margin:0 0 6px;}
#view-matches .matches-symbol{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;color:var(--ui-accent,#8aaeff);}
#view-matches .matches-symbol svg{width:100%;height:100%;}
#view-matches .matches-heading>.matches-symbol{flex-basis:66px;width:66px;height:66px;padding:12px;box-sizing:border-box;border:1px solid var(--ui-card-border);border-radius:18px;background:var(--ui-glass-control);color:#fff;}
html body #view-matches#view-matches button:not(.match-row){background:var(--ui-glass-control)!important;color:var(--ui-navigation-text,#fff)!important;border:1px solid var(--ui-card-border)!important;border-radius:999px!important;box-shadow:none!important;}
html body #view-matches#view-matches button[aria-pressed=true]{background:var(--ui-button-gradient)!important;color:var(--ui-button-text,#fff)!important;border-color:var(--ui-nav-focus-ring)!important;}
html body #view-matches#view-matches .matches-overview{flex:0 0 auto;gap:18px;margin:0 0 18px;}
html body #view-matches#view-matches .matches-overview>button{background:var(--ui-glass-panel)!important;border-radius:24px!important;min-width:280px;min-height:76px;padding:12px 22px;gap:18px;}
html body #view-matches#view-matches .matches-overview strong{color:var(--ui-info-text,#fff);font-size:40px;}
html body #view-matches#view-matches .matches-feed-status{flex:0 1 510px;color:var(--ui-text-muted);font-size:18px;}
html body #view-matches#view-matches .matches-toolbar{flex:0 0 auto;margin:0 0 14px;min-height:58px;}
html body #view-matches#view-matches .matches-teams{flex:0 0 auto;max-height:116px;overflow:auto;padding:6px 4px;gap:10px;margin:0 0 8px;scroll-padding:6px;}
html body #view-matches#view-matches .matches-teams button{font-size:18px;min-height:44px;padding:8px 16px;}
html body #view-matches#view-matches .matches-list{flex:1 0 440px;min-height:0;gap:12px;margin:12px 0 18px;}
html body #view-matches#view-matches button.match-row{position:relative;isolation:isolate;overflow:hidden;flex:1 0 108px;min-height:108px;padding:10px 28px;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 42%),var(--ui-glass-panel)!important;border:1px solid var(--ui-card-border)!important;border-radius:22px!important;color:var(--ui-info-text,#fff)!important;}
#view-matches button.match-row::before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,transparent,var(--ui-accent),transparent);opacity:.6;pointer-events:none;}
html body #view-matches#view-matches .match-team{width:35%;gap:22px;font-size:26px;}
html body #view-matches#view-matches .match-team:last-child{flex-direction:row-reverse;justify-content:flex-start;text-align:end;}
html body #view-matches#view-matches .match-initial,html body #view-matches#view-matches .match-initial img{width:76px;height:76px;}
html body #view-matches#view-matches .match-detail{width:30%;border-inline-start:1px solid var(--ui-card-border);border-inline-end:1px solid var(--ui-card-border);padding:0 12px;box-sizing:border-box;align-items:center;gap:4px;}
html body #view-matches#view-matches .match-detail strong{min-width:100px;padding:2px 14px;line-height:1.2;font-size:27px;border:1px solid var(--ui-card-border);border-radius:999px;background:var(--ui-glass-control);color:var(--ui-info-text,#fff);}
html body #view-matches#view-matches .match-detail small{font-size:17px;color:var(--ui-text);}
html body #view-matches#view-matches .match-detail time{font-size:16px;color:var(--ui-text-muted);}
html body #view-matches#view-matches .matches-footer{flex:0 0 auto;min-height:48px;color:var(--ui-text-muted);opacity:1;}
html body #view-matches#view-matches .matches-favorite-panel{background:var(--ui-glass-dialog)!important;}
@media(max-width:900px){html#iptv-theme-root body #view-matches#view-matches{padding:18px!important;}html#iptv-theme-root body #view-matches#view-matches .matches-heading{flex-wrap:wrap;}html#iptv-theme-root body #view-matches#view-matches .matches-heading h1{font-size:28px;}html#iptv-theme-root body #view-matches#view-matches .matches-heading>.matches-symbol{display:none;}html#iptv-theme-root body #view-matches#view-matches .matches-overview{flex-wrap:wrap;}html#iptv-theme-root body #view-matches#view-matches .matches-overview>button{min-width:0;flex:1;padding:8px 12px;}html#iptv-theme-root body #view-matches#view-matches .matches-tabs{flex-wrap:wrap;}html#iptv-theme-root body #view-matches#view-matches .matches-teams{max-height:150px;}html#iptv-theme-root body #view-matches#view-matches .match-initial,html#iptv-theme-root body #view-matches#view-matches .match-initial img{width:38px;height:38px;}html#iptv-theme-root body #view-matches#view-matches .match-team{font-size:16px;gap:6px;}html#iptv-theme-root body #view-matches#view-matches .match-detail{padding:0 6px;}html#iptv-theme-root body #view-matches#view-matches .match-detail strong{font-size:20px;min-width:0;}html#iptv-theme-root body #view-matches#view-matches .match-detail small{font-size:12px;}html#iptv-theme-root body #view-matches#view-matches .matches-toolbar{align-items:flex-start;flex-direction:column;}}
