/* Dedesports yayın ekranı: medya solda, rehber sağda. */
.tv-page { --tv-surface:#0e142c; --tv-muted:#9ba6c2; padding-top:27px; padding-bottom:48px; }
.tv-page [hidden] { display:none !important; }
.tv-page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:25px; }
.tv-page-heading .breadcrumb { margin-bottom:12px; font-size:11px; }
.tv-page-heading h1 { display:flex; align-items:center; gap:11px; font-family:var(--font-body); font-size:34px; letter-spacing:-1.2px; font-weight:800; line-height:1.1; }
.tv-heading-dot { width:8px; height:8px; border-radius:50%; background:var(--gold); }
.tv-page-heading p { margin-top:8px; color:var(--tv-muted); font-size:14px; }
.tv-heading-meta { display:flex; align-items:center; gap:20px; padding-bottom:3px; font-size:12px; }
.tv-date { display:inline-flex; align-items:center; gap:8px; color:var(--tv-muted); }
.tv-onair { display:inline-flex; align-items:center; gap:7px; color:#f6a5a5; background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.18); padding:6px 10px; border-radius:6px; }
.tv-page .live-dot { box-shadow:none; animation:none; width:6px; height:6px; flex:none; }
.tv-watch { display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:stretch; gap:18px; }
.tv-stage { min-width:0; overflow:hidden; border:1px solid var(--line-2); border-radius:12px; background:var(--tv-surface); scroll-margin-top:16px; }
.tv-stage-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; height:49px; padding:0 20px; border-bottom:1px solid var(--line); font-size:12px; font-weight:600; }
.tv-stage-heading > span:first-child { display:inline-flex; align-items:center; gap:9px; }
.tv-stage-heading > span:first-child > i { color:var(--gold); font-size:11px; }
.tv-stage-caption { display:inline-flex; align-items:center; gap:6px; color:var(--tv-muted); font-size:12px; font-weight:500; }
.tv-stage-caption.is-live { color:#f6a5a5; }
.tv-screen { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; background:#030611; }
.tv-video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.tv-screen-watermark { position:absolute; top:23px; right:25px; width:114px; opacity:.32; pointer-events:none; z-index:1; }
.tv-player-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:30px; background:#060a18; text-align:center; }
.tv-player-overlay h2 { margin-top:20px; font-size:21px; line-height:1.25; letter-spacing:-.45px; }
.tv-player-overlay p { max-width:320px; margin-top:10px; font-size:13px; color:var(--tv-muted); line-height:1.6; }
.tv-overlay-symbol { width:64px; height:64px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--line-2); background:rgba(255,255,255,.025); color:var(--gold); font-size:24px; }
.tv-stream[data-state="error"] .tv-overlay-symbol { color:var(--text-2); }
.tv-primary { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:40px; padding:10px 19px; border:1px solid transparent; border-radius:7px; background:var(--gold); color:var(--on-gold); font-size:12px; font-weight:750; }
.tv-primary:hover { background:#ffe390; }
.tv-player-overlay .tv-primary { margin-top:22px; }
.tv-primary > i { font-size:11px; }
.tv-controls { display:flex; align-items:center; min-height:53px; gap:5px; padding:3px 12px; background:#080c1a; border-top:1px solid rgba(255,255,255,.06); }
.tv-control { display:inline-grid; place-items:center; width:44px; height:44px; flex:none; border-radius:6px; color:#d5dbea; font-size:14px; }
.tv-control:hover { background:rgba(255,255,255,.07); color:white; }
.tv-control:disabled { opacity:.35; cursor:default; }
.tv-volume { width:65px; height:24px; accent-color:var(--gold); cursor:pointer; }
.tv-control-live { display:inline-flex; align-items:center; gap:6px; margin-left:13px; font-family:var(--font-mono); font-size:10px; font-weight:600; letter-spacing:.6px; }
.tv-control-spacer { flex:1; }
.tv-quality { max-width:105px; border:1px solid var(--line); border-radius:5px; padding:5px; color:var(--text-2); background:var(--tv-surface); font-size:11px; }
.tv-welcome { background:radial-gradient(ellipse at 50% 80%,rgba(30,47,86,.35),transparent 65%),#060a18; display:grid; place-items:center; }
.tv-welcome-content { padding:32px 24px; text-align:center; }
.tv-welcome-mark { width:72px; height:85px; object-fit:contain; margin:0 auto 20px; }
.tv-eyebrow { display:block; font-size:10px; font-weight:700; letter-spacing:1.5px; color:var(--tv-muted); }
.tv-welcome .tv-eyebrow { color:var(--gold); font-size:10px; letter-spacing:1.8px; }
.tv-welcome h2 { margin-top:12px; font-size:clamp(21px,2.5vw,33px); font-weight:750; letter-spacing:-.9px; line-height:1.2; }
.tv-welcome p { margin-top:10px; font-size:13px; color:var(--tv-muted); }
.tv-welcome .tv-primary { position:static; width:auto; height:auto; margin:23px 0 0; box-shadow:none; }
.tv-now { min-height:108px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px; border-top:1px solid var(--line); }
.tv-now-identity { display:flex; align-items:center; gap:14px; min-width:0; }
.tv-now-label { display:block; color:var(--gold); font-size:10px; letter-spacing:1.4px; font-weight:700; margin-bottom:5px; }
.tv-now h2 { font-size:19px; font-weight:750; line-height:1.25; letter-spacing:-.3px; }
.tv-now p { color:var(--tv-muted); font-size:12px; margin-top:5px; }
.tv-now p:empty { display:none; }
.tv-now-icon { display:grid; place-items:center; width:43px; height:43px; flex:none; border:1px solid var(--line-2); border-radius:9px; color:var(--text-2); }
.tv-now-crests { display:flex; padding-right:4px; flex:none; }
.tv-now-crests .crest { width:36px; height:36px; font-size:9px; }
.tv-now-crests .crest + .crest { margin-left:-6px; }
.tv-text-action { display:inline-flex; align-items:center; gap:8px; font-size:12px; color:var(--text-2); white-space:nowrap; }
.tv-selector { min-width:0; position:relative; min-height:550px; border:1px solid var(--line-2); border-radius:12px; background:var(--tv-surface); overflow:hidden; }
.tv-selector-inner { position:absolute; inset:0; display:flex; flex-direction:column; }
.tv-selector-inner { --tv-soft:#b6bfd7; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.tv-selector-heading { padding:20px 18px 14px; }
.tv-selector-heading h2 { font-size:20px; font-weight:750; line-height:1.2; letter-spacing:-.4px; }
.tv-selector-summary { display:flex; flex-wrap:wrap; align-items:center; gap:4px 0; margin-top:8px; color:var(--tv-soft); font-size:13px; }
.tv-selector-summary > span { display:inline-flex; align-items:center; gap:6px; }
.tv-selector-summary > span + span::before { content:""; width:3px; height:3px; margin:0 9px; border-radius:50%; background:var(--text-3); }
.tv-selector-summary > .is-live { color:#f8b0b0; font-weight:650; }
.tv-selector-tabs { display:flex; gap:6px; margin:0 14px; padding:4px; background:#080d20; border:1px solid var(--line); border-radius:9px; }
.tv-selector-tabs > button { flex:1; display:flex; justify-content:center; align-items:center; gap:8px; min-height:38px; font-size:14px; color:var(--tv-soft); font-weight:650; border-radius:6px; }
.tv-selector-tabs > button:hover { color:var(--text-1); }
.tv-selector-tabs > button[aria-selected="true"] { background:#222b44; color:#f8f9fd; box-shadow:0 1px 3px #0003; }
.tv-selector-tabs button span { padding:1px 7px; border-radius:5px; font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; color:var(--text-3); }
.tv-selector-tabs button[aria-selected="true"] span { background:rgba(246,213,109,.12); color:var(--gold); }
.tv-search { display:flex; align-items:center; gap:10px; margin:10px 14px 0; padding:8px 12px; border:1px solid var(--line-2); border-radius:8px; background:rgba(0,0,0,.15); color:var(--tv-soft); }
.tv-search:focus-within { border-color:rgba(246,213,109,.6); }
.tv-search > i { font-size:13px; }
.tv-search input { min-width:0; width:100%; padding:0; background:none; border:0; outline:none; color:var(--text-1); font-size:14px; line-height:24px; }
.tv-search input::placeholder { color:var(--tv-soft); opacity:.85; }
.tv-sport-filter { display:flex; gap:6px; margin:10px 14px 0; overflow-x:auto; scrollbar-width:none; }
.tv-sport-filter::-webkit-scrollbar { display:none; }
.tv-sport-filter > button { display:inline-flex; align-items:center; gap:7px; flex:none; min-height:32px; padding:0 12px; border:1px solid var(--line-2); border-radius:999px; color:var(--tv-soft); font-size:13px; font-weight:600; }
.tv-sport-filter > button > i { font-size:12px; }
.tv-sport-filter > button > span { font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; color:var(--text-3); }
.tv-sport-filter > button:hover { color:var(--text-1); }
.tv-sport-filter > button[aria-pressed="true"] { color:var(--gold); border-color:rgba(246,213,109,.5); background:rgba(246,213,109,.08); }
.tv-sport-filter > button[aria-pressed="true"] > span { color:var(--gold); }
.tv-selector-scroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:14px 10px 28px; -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent); mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent); scrollbar-width:thin; scrollbar-color:#36405d transparent; }
.tv-group + .tv-group { margin-top:18px; }
.tv-list-label { display:flex; align-items:center; gap:8px; margin:0 6px 9px; color:var(--text-1); font-size:13px; font-weight:700; }
.tv-list-label.is-live { color:#f8b0b0; }
.tv-list-count { margin-left:auto; font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; color:var(--tv-soft); }
.tv-match-list, .tv-channel-list { display:grid; gap:6px; }
.tv-match-list > li { position:relative; }
.tv-match-option { display:grid; grid-template-columns:50px minmax(0,1fr) 30px; align-items:center; gap:10px; padding:11px 10px 11px 6px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.02); color:inherit; }
.tv-match-option.is-live { box-shadow:inset 3px 0 0 rgba(239,68,68,.85); }
a.tv-match-option:hover, a.tv-channel-option:hover { background:rgba(255,255,255,.05); border-color:var(--line-2); }
.tv-match-option[aria-current="true"], .tv-channel-option[aria-current="true"] { background:rgba(246,213,109,.06); border-color:rgba(246,213,109,.5); }
.tv-match-time { display:flex; flex-direction:column; align-items:center; gap:5px; font-size:15px; font-weight:750; font-variant-numeric:tabular-nums; color:var(--text-1); }
.tv-match-time.is-live { color:#fa9a9a; font-size:12px; font-weight:800; letter-spacing:.2px; }
.tv-match-body { display:grid; gap:6px; min-width:0; }
.tv-match-team { display:flex; align-items:center; gap:9px; min-width:0; }
.tv-match-team .crest { flex:none; width:26px; height:26px; font-size:9px; }
.tv-match-team strong { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:600; line-height:1.3; }
.tv-match-score { flex:none; min-width:16px; text-align:right; font-size:16px; font-weight:800; font-variant-numeric:tabular-nums; color:var(--text-1); }
.tv-match-score:empty { display:none; }
.tv-match-score.tick { animation:tv-score-tick 1.2s ease; }
@keyframes tv-score-tick { 0% { color:var(--gold); } 100% { color:var(--text-1); } }
.tv-match-meta { display:flex; align-items:center; gap:10px; min-width:0; margin-top:2px; font-size:12px; color:var(--tv-soft); }
.tv-match-league { display:flex; align-items:center; gap:6px; flex:1; min-width:0; }
.tv-match-league > i { flex:none; font-size:11px; color:var(--text-3); }
.tv-match-league > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tv-match-channel { flex:none; max-width:50%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text-1); font-weight:650; }
.tv-match-option[aria-current="true"] .tv-match-channel { color:var(--gold); }
.tv-go { display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--line-2); border-radius:50%; color:var(--gold); font-size:10px; opacity:.6; transition:opacity .15s ease, background-color .15s ease, border-color .15s ease; }
.tv-match-option.has-match .tv-go { align-self:end; }
.tv-go > i { margin-left:1px; }
.tv-go-stats > i { margin-left:0; font-size:11px; }
a:hover > .tv-go, a:focus-visible > .tv-go, [aria-current="true"] > .tv-go { opacity:1; background:rgba(246,213,109,.12); border-color:rgba(246,213,109,.45); }
.tv-match-center { position:absolute; top:9px; right:10px; display:grid; place-items:center; width:30px; height:30px; border-radius:8px; color:var(--tv-soft); font-size:12px; }
.tv-match-center:hover, .tv-match-center:focus-visible { color:var(--gold); background:rgba(246,213,109,.1); }
.tv-channel-option { display:grid; grid-template-columns:38px minmax(0,1fr) 30px; align-items:center; gap:12px; min-height:62px; padding:10px; border:1px solid transparent; border-radius:10px; color:inherit; }
.tv-channel-badge { display:grid; place-items:center; width:38px; height:38px; border-radius:9px; background:#1c253f; color:#b8c3de; font-size:14px; }
.tv-channel-option.is-live .tv-channel-badge { background:rgba(239,68,68,.13); color:#fa9a9a; }
.tv-channel-option[aria-current="true"] .tv-channel-badge { background:rgba(246,213,109,.13); color:var(--gold); }
.tv-channel-name { min-width:0; }
.tv-channel-name strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:650; line-height:1.3; }
.tv-channel-name small { display:flex; align-items:center; gap:6px; min-width:0; margin-top:4px; font-size:12px; color:var(--tv-soft); }
.tv-channel-name small > span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tv-channel-option.is-live small { color:#f3caca; }
.tv-selector-foot { display:flex; align-items:center; gap:8px; padding:12px 17px; border-top:1px solid var(--line); color:var(--tv-soft); font-size:12px; }
.tv-guide-dot { width:5px; height:5px; border-radius:50%; background:var(--win); flex:none; }
.tv-list-empty { padding:24px 16px; color:var(--tv-soft); font-size:14px; line-height:1.7; }
@media (prefers-reduced-motion:reduce) { .tv-go { transition:none; } .tv-match-score.tick { animation:none; } }
.tv-community { display:flex; align-items:center; gap:14px; margin-top:20px; padding:20px 3px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.tv-community-icon { display:grid; place-items:center; width:40px; height:40px; flex:none; border-radius:50%; background:rgba(36,161,222,.1); color:#65c6f4; font-size:20px; }
.tv-community h2 { font-size:14px; font-weight:650; }
.tv-community p { margin-top:4px; font-size:12px; color:var(--tv-muted); }
.tv-community-action { display:inline-flex; align-items:center; gap:10px; margin-left:auto; padding:9px 14px; border:1px solid var(--line-2); border-radius:6px; font-size:11px; font-weight:650; white-space:nowrap; }
.tv-community-action:hover { color:var(--gold); border-color:var(--gold); }
.tv-community-action > i { font-size:10px; }
.tv-schedule { margin-top:32px; }
.tv-section-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:16px; }
.tv-section-heading h2 { font-size:20px; margin-top:5px; }
.tv-section-heading > span { color:var(--tv-muted); font-size:12px; }
.tv-notice { display:flex; gap:9px; padding:13px 16px; margin-bottom:16px; border:1px solid var(--line-2); border-radius:7px; background:var(--tv-surface); font-size:13px; color:var(--text-2); }
.tv-stream:fullscreen { display:flex; flex-direction:column; justify-content:center; background:#000; }
.tv-stream:fullscreen .tv-screen { flex:1; aspect-ratio:auto; }
@media (max-width:1100px) and (min-width:901px) {
    .tv-watch { grid-template-columns:minmax(0,1fr) 300px; gap:14px; }
    .tv-selector { min-height:510px; }
    .tv-welcome-mark { width:56px; height:60px; margin-bottom:13px; }
}
@media (max-width:900px) {
    .tv-watch { grid-template-columns:minmax(0,1fr); gap:16px; }
    .tv-selector { min-height:0; }
    .tv-selector-inner { position:static; }
    .tv-selector-scroll { max-height:440px; }
    .tv-selector-heading { padding-bottom:15px; }
    .tv-heading-meta { gap:10px; }
    .tv-date { display:none; }
}
@media (max-width:540px) {
    .tv-page { padding-top:20px; }
    .tv-page-heading { gap:12px; margin-bottom:19px; }
    .tv-page-heading .breadcrumb { margin-bottom:13px; }
    .tv-page-heading h1 { font-size:29px; }
    .tv-page-heading p { font-size:12px; }
    .tv-heading-meta { align-self:center; }
    .tv-onair { font-size:11px; gap:5px; padding:5px 7px; white-space:nowrap; }
    .tv-stage-heading { height:43px; padding:0 14px; font-size:11px; }
    .tv-screen-watermark { top:13px; right:14px; width:88px; }
    .tv-welcome-content { padding:20px 12px; }
    .tv-welcome-mark { width:39px; height:43px; margin-bottom:11px; }
    .tv-welcome .tv-eyebrow { font-size:9px; }
    .tv-welcome h2 { margin-top:8px; font-size:21px; letter-spacing:-.6px; }
    .tv-welcome p { font-size:12px; margin-top:7px; }
    .tv-welcome .tv-primary { margin-top:13px; min-height:34px; padding:7px 13px; font-size:11px; }
    .tv-welcome { aspect-ratio:auto; min-height:270px; }
    .tv-overlay-symbol { width:43px; height:43px; font-size:17px; }
    .tv-player-overlay { padding:18px; }
    .tv-player-overlay h2 { font-size:17px; margin-top:12px; }
    .tv-player-overlay p { font-size:11px; margin-top:7px; max-width:260px; }
    .tv-player-overlay .tv-primary { margin-top:13px; min-height:34px; padding:7px 12px; font-size:11px; }
    .tv-controls { padding:3px 7px; gap:1px; min-height:48px; }
    .tv-control { width:44px; height:44px; font-size:13px; }
    .tv-volume { width:42px; }
    .tv-control-live { margin-left:6px; font-size:8px; gap:4px; }
    .tv-quality { max-width:80px; font-size:10px; }
    .tv-now { min-height:95px; padding:17px 14px; }
    .tv-now-identity { gap:10px; }
    .tv-now h2 { font-size:16px; }
    .tv-now-label { font-size:9px; }
    .tv-now p { font-size:11px; }
    .tv-now-icon { width:34px; height:34px; font-size:13px; }
    .tv-now-crests .crest { width:28px; height:28px; font-size:7px; }
    .tv-text-action { font-size:11px; }
    .tv-community { flex-wrap:wrap; gap:11px; padding:17px 0; }
    .tv-community-icon { width:34px; height:34px; font-size:18px; }
    .tv-community h2 { font-size:13px; }
    .tv-community p { font-size:12px; }
    .tv-community-action { margin-left:45px; }
}
