/* Ten-foot presentation. Desktop/mobile rules remain outside this scope. */
.tv-mode-toggle{font:inherit;font-size:13px;white-space:nowrap;min-height:40px;padding:8px 12px;border:1px solid var(--line-2);border-radius:12px;background:var(--surface-2);color:var(--text)}
.yp-tv-episodes,.yp-tv-tracks,.tv-picker-close{display:none}
html.tv-mode{--tv-safe:clamp(24px,3vw,64px);font-size:clamp(18px,1.3vw,26px);scroll-behavior:auto}
html.tv-mode body{--sidebar:0px;--bottom-nav:0px;padding:0 0 32px;font-size:1rem;line-height:1.5}
html.tv-mode :is(button,a,input,select,textarea,summary){scroll-margin:24px}
html.tv-mode :is(button,a,input,select,textarea,summary,[tabindex]):focus{outline:4px solid #fff!important;outline-offset:4px;box-shadow:0 0 0 8px #242333!important;position:relative;z-index:5}
html.tv-mode :is(button,input,select,textarea){font-size:inherit}
html.tv-mode button,html.tv-mode .cta,html.tv-mode .outline{min-height:52px;line-height:1.3}
html.tv-mode .side-nav{position:relative;inset:auto;width:auto;height:auto;min-height:80px;margin:0 var(--tv-safe);padding:18px 0 12px;display:flex;flex-direction:row;align-items:center;gap:28px;overflow:visible;border:0;background:transparent;transform:none}
html.tv-mode .side-nav .brand{display:flex;width:auto;min-width:140px;flex:none;padding:0}
html.tv-mode .side-nav .brand strong{display:block;font-size:26px}
html.tv-mode .side-nav .brand img{width:44px;height:44px}
html.tv-mode .side-nav .top-nav{display:flex;flex:1;flex-direction:row;align-items:center;gap:12px;overflow-x:auto;padding:10px 8px;margin:0;min-width:0}
html.tv-mode .side-nav .top-nav a{display:flex;flex:none;align-items:center;justify-content:center;gap:10px;padding:12px 16px;min-height:52px;width:auto;font-size:18px;border-radius:12px}
html.tv-mode .side-nav .top-nav a span{display:inline;opacity:1;width:auto;position:static;transform:none}
html.tv-mode .side-nav .top-nav a i{display:none}
html.tv-mode :is(.nav-user,.nav-gap,.nav-toggle,.nav-themes,.bottom-nav,.burger,.top-brand,.site-foot,.companion,.mascot){display:none!important}
html.tv-mode .side-nav :is([data-action=logout],[data-nav=admin],.menu-only){display:none}
html.tv-mode .top{position:relative;inset:auto;height:auto;margin:0 var(--tv-safe);width:auto;padding:4px 0 16px;background:transparent;border:0;transform:none}
html.tv-mode .top-inner{width:100%;max-width:none;padding:0;gap:20px;min-height:58px}
html.tv-mode #top-search{max-width:900px;flex:1}
html.tv-mode #top-search input{font-size:20px;min-height:52px}
html.tv-mode .tv-mode-toggle{font-size:17px;min-height:52px}
html.tv-mode #view{margin:0 auto;padding:8px var(--tv-safe) 36px;width:100%;max-width:2200px;min-width:0}
html.tv-mode .crumbs{font-size:17px;margin:0 0 14px}
html.tv-mode .title-card{display:block;min-height:0;padding:20px 24px;margin-bottom:24px}
html.tv-mode .title-poster,html.tv-mode .title-facts,html.tv-mode .title-card .original{display:none}
html.tv-mode .title-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px}
html.tv-mode .title-main h1{font-size:clamp(28px,2.5vw,44px);line-height:1.2;margin:6px 0;overflow-wrap:anywhere}
html.tv-mode .title-card .side-actions{align-self:center;gap:14px;flex-wrap:wrap;margin:0}
html.tv-mode .title-card .side-actions :is(.trailer,[data-action=share]){display:none}
html.tv-mode .title-card :is(.description-box,.genres){grid-column:1/-1;font-size:18px;margin:0}
html.tv-mode .title-card .description-box:not([open]) .description{-webkit-line-clamp:1}
html.tv-mode .anime-body{display:block;min-width:0}
html.tv-mode .anime-main{min-width:0;width:100%}
html.tv-mode .anime-body>aside{display:none}
html.tv-mode .player-section>.section-head{margin-bottom:12px}
html.tv-mode #player-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,30%);align-items:start;gap:0;overflow:visible;background:var(--surface,#11131b);border-radius:20px}
html.tv-mode #stage{min-width:0;align-self:center;border-radius:16px;overflow:hidden}
html.tv-mode .player-panel{min-width:0;padding:18px;max-height:min(78vh,850px);overflow:auto;overscroll-behavior:contain}
html.tv-mode .player-switch{padding:0 0 14px;gap:10px;align-items:flex-start;flex-wrap:wrap}
html.tv-mode .player-note{font-size:16px;line-height:1.4}
html.tv-mode .autoplay{font-size:17px;min-height:44px}
html.tv-mode .autoplay input{width:24px;height:24px}
html.tv-mode .player-columns{display:flex;flex-direction:column;gap:24px;margin:0}
html.tv-mode .player-columns :is(.episodes-box,.translations){padding:0;border:0;width:100%;min-width:0}
html.tv-mode .player-columns :is(.episodes-head,.translations-head){height:auto;min-height:36px;font-size:21px;gap:12px;flex-wrap:wrap;margin:0 0 12px}
html.tv-mode .episode-ranges{display:flex;gap:10px;overflow:auto;padding:8px;margin:-4px -8px 8px}
html.tv-mode .episode-ranges button{font-size:17px;flex:none}
html.tv-mode .episode-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:12px;max-height:216px;overflow:auto;padding:8px;margin:0 -8px}
html.tv-mode .episode-strip .ep{width:auto;height:56px;min-width:0;font-size:21px;border-radius:12px;flex:none}
html.tv-mode .ep.on{background:var(--accent,#b1a2ef);color:var(--accent-ink,#141020);font-weight:800}
html.tv-mode .player-columns .translation-list{display:flex;flex-direction:column;gap:12px;padding:8px;margin:0 -8px;max-height:350px;overflow:auto;mask-image:none}
html.tv-mode .translation-list.clipped li{display:flex!important}
html.tv-mode .translation-list li{width:100%;min-width:0;min-height:60px;border-radius:14px}
html.tv-mode .translation-list .pick{width:100%;min-width:0;min-height:64px;padding:12px 14px;gap:10px;font-size:20px;line-height:1.4;text-align:left;flex-wrap:wrap;overflow-wrap:anywhere}
html.tv-mode .translation-list .pick :is(b,strong){font-size:20px}
html.tv-mode .translation-list .pick :is(small,.badge){font-size:15px}
html.tv-mode .translation-list .fav,html.tv-mode .translations>.hint,html.tv-mode .tracks-more{display:none}
html.tv-mode .mini-search{width:100%;min-width:0}
html.tv-mode .mini-search input{width:100%;min-height:48px;font-size:18px}
html.tv-mode .yp{aspect-ratio:16/9;min-width:0}
html.tv-mode .yp-bar{padding:40px 20px 16px;opacity:1;pointer-events:auto}
html.tv-mode .yp-row{display:flex;gap:10px;flex-wrap:wrap}
html.tv-mode .yp-row button{min-width:50px;min-height:50px;flex:none;font-size:18px}
html.tv-mode .yp-row button svg{width:26px;height:26px}
html.tv-mode .yp-tv-episodes,html.tv-mode .yp-tv-tracks{display:inline-flex!important;align-items:center;padding:10px 16px;width:auto!important;border:1px solid #ffffff50;border-radius:10px;background:#171924;color:#fff}
html.tv-mode .yp-row :is(.yp-vol,[data-yp=pip],.yp-help-btn,.yp-spacer){display:none}
html.tv-mode .yp-time{font-size:17px;white-space:nowrap}
html.tv-mode .yp-center{display:none}
html.tv-mode .yp-menu{max-height:55vh;overflow:auto;min-width:150px}
html.tv-mode .yp-menu button{min-height:54px;font-size:21px;padding:12px 20px}
html.tv-mode #player-card:fullscreen{display:block;width:100vw;height:100vh;border:0;border-radius:0;background:#000;overflow:hidden}
html.tv-mode #player-card:fullscreen #stage{height:100%;border-radius:0}
html.tv-mode #player-card:fullscreen .yp{height:100%;width:100%;aspect-ratio:auto}
html.tv-mode #player-card:fullscreen .player-panel{display:none}
html.tv-mode #player-card[data-tv-picker] .player-panel{display:block;position:absolute;z-index:20;right:0;top:0;bottom:0;width:min(520px,48%);max-height:none;background:var(--surface,#15161e);border:2px solid var(--line-2,#4b4561);border-radius:16px;box-shadow:-24px 0 70px #0009;padding:24px;overflow:auto}
html.tv-mode #player-card[data-tv-picker]{min-height:480px}
html.tv-mode #player-card[data-tv-picker] .tv-picker-close{display:block;width:100%;margin:0 0 24px;min-height:56px;font-size:20px;text-align:left}
html.tv-mode #player-card[data-tv-picker] .player-switch{display:none}
html.tv-mode #player-card[data-tv-picker=episodes] #tracks,html.tv-mode #player-card[data-tv-picker=tracks] #episodes{display:none}
html.tv-mode #player-card[data-tv-picker] .episode-strip,html.tv-mode #player-card[data-tv-picker] .translation-list{max-height:none;overflow:visible}
html.tv-mode .grid{gap:24px}
html.tv-mode .card .name{font-size:20px;line-height:1.4}
html.tv-mode .rail{gap:24px;padding:12px 8px 20px;scroll-padding:24px}
html.tv-mode .rail .card{min-width:190px}
html.tv-mode .auth-card{max-width:720px}
html.tv-mode .auth-card :is(input,button){min-height:58px;font-size:21px}
html.tv-mode .telemetry-consent{width:min(900px,90vw);bottom:24px;padding:24px}
html.tv-mode .telemetry-consent .cookie-copy{font-size:18px}
html.tv-mode .telemetry-consent button{font-size:18px!important;min-height:52px!important}
@media(max-width:1100px){html.tv-mode #player-card{grid-template-columns:minmax(0,1fr) 320px}html.tv-mode .title-main{grid-template-columns:1fr}html.tv-mode .yp-bar{padding:28px 12px 12px}html.tv-mode .yp-row{gap:6px}html.tv-mode .yp-row button{min-width:44px;min-height:44px}html.tv-mode .side-nav .brand{display:none}html.tv-mode .side-nav .top-nav a{padding:10px 14px;font-size:18px}}
@media(prefers-reduced-motion:reduce){html.tv-mode *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Explicit component typography: legacy child labels have fixed pixel sizes. */
html.tv-mode .title-card .title-block h1.display{font-family:var(--font,Onest,sans-serif);font-size:clamp(28px,2.2vw,40px)!important;line-height:1.2;font-weight:750;text-align:left;text-wrap:balance}
html.tv-mode .title-card .title-block .fact-pills{font-size:16px}
html.tv-mode .player-columns .translations-head b,html.tv-mode .player-columns .episodes-head{font-size:20px;letter-spacing:0;text-transform:none}
html.tv-mode .player-columns .tr-title{font-size:20px;line-height:1.35;white-space:normal}
html.tv-mode .player-columns .tr-main{min-width:0;flex:1 1 140px}
html.tv-mode .player-columns .tr-note{font-size:16px;line-height:1.3}
html.tv-mode .player-panel{max-height:min(72vh,780px)}
html.tv-mode .player-switch{display:block}
html.tv-mode .player-note{display:block}
html.tv-mode .autoplay{display:flex;justify-content:flex-start;margin-top:8px}
html.tv-mode .player-panel .translation-list .pick{min-height:70px}
html.tv-mode .player-cover-copy b{font-size:24px}
html.tv-mode .cookie-note{width:min(900px,90vw);max-width:90vw;padding:20px;bottom:24px}
html.tv-mode .cookie-note .cookie-copy :is(b,span){font-size:18px;line-height:1.4}
html.tv-mode .cookie-note .cookie-actions :is(a,button){font-size:18px;min-height:52px}
html.tv-mode .yp-row .yp-play{background:var(--accent,#8264ee);color:var(--on-accent,#fff);border-radius:12px}
html.tv-mode .top-tools{flex:none;gap:14px}

.tv-mode-menu,.tv-section-tabs{display:none}
@media(max-width:767px){html:not(.tv-mode) .top-tools .tv-mode-toggle{display:none}html:not(.tv-mode) .side-nav .tv-mode-menu{display:block;margin:12px;flex:none}}
html.tv-mode .tv-mode-menu{display:none!important}
html.tv-mode .tv-section-tabs{display:flex;gap:12px;margin-bottom:16px}
html.tv-mode .tv-section-tabs button{flex:1;min-width:0;min-height:52px;font-size:20px;border:1px solid var(--line-2,#454050);border-radius:12px;background:var(--surface-2,#23232c);color:var(--text,#fff)}
html.tv-mode .tv-section-tabs button[aria-pressed=true]{background:var(--accent,#8264ee);color:var(--on-accent,#fff)}
html.tv-mode #player-card:not([data-tv-picker])[data-tv-section=episodes] #tracks,html.tv-mode #player-card:not([data-tv-picker])[data-tv-section=tracks] #episodes{display:none}
html.tv-mode #player-card[data-tv-picker] .tv-section-tabs{display:none}
html.tv-mode #player-card:not([data-tv-picker]) .episode-strip,html.tv-mode #player-card:not([data-tv-picker]) .translation-list{max-height:min(44vh,480px)}
html.tv-mode #player-card:fullscreen #stage,html.tv-mode #player-card:fullscreen .yp{height:100vh!important;max-height:none!important;min-height:0!important;aspect-ratio:auto!important}
html.tv-mode .translation-list .pick[aria-checked=true]{color:var(--on-accent,#fff)}

html.tv-mode .side-nav .top-nav a span{background:none;border:0;box-shadow:none;padding:0;font-size:18px!important;line-height:1.3;color:inherit}
html.tv-mode .cta,html.tv-mode .outline{font-size:20px}
html.tv-mode .crumbs,html.tv-mode .title-card .genres{display:none}
html.tv-mode .translation-list li{height:auto!important;flex:none;min-height:96px}
html.tv-mode .translation-list .pick{display:grid!important;grid-template-columns:24px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:6px 10px;height:auto!important;min-height:96px!important;padding:12px!important}
html.tv-mode .translation-list .pick>.radio{grid-column:1;grid-row:1/3}
html.tv-mode .translation-list .pick>.tr-main{grid-column:2/4;grid-row:1}
html.tv-mode .translation-list .pick>.badge{grid-column:2;grid-row:2;justify-self:start;font-size:15px}
html.tv-mode .translation-list .pick>.badge.eps{grid-column:3}
html.tv-mode .translation-list .tr-title{display:block}
html.tv-mode .player-columns .translation-list{flex:none}
html.tv-mode .player-section>.section-head{font-size:22px}
