:root{--bg-0:#0d0b13;--bg-1:#14111d;--bg-2:#1b1728;--bg-3:#241e35;--line:rgba(201,182,255,.12);--line-strong:rgba(201,182,255,.24);--ink-1:#f4f1fb;--ink-2:#b6add0;--ink-3:#a198b6;--accent:#a78bfa;--accent-bright:#c9b6ff;--accent-ink:#17112b;--danger:#ff9aa6;--state-ok:#a4dfbd;--state-warn:#f2d18b;--state-error:var(--danger);--font-ui:system-ui,"Segoe UI",sans-serif;--font-mono:ui-monospace,Consolas,monospace;--type-display:clamp(2rem,3.3vw,3.4rem);--type-title:clamp(1.55rem,2.5vw,2.5rem);--type-section:clamp(1.2rem,1.5vw,1.5rem);--type-body:1rem;--type-mono:.75rem;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-6:1.5rem;--s-8:2rem;--s-12:3rem;--radius-sm:8px;--radius:14px;--radius-lg:20px;--shadow-panel:0 16px 40px rgba(7,5,13,.28);--space:clamp(1.25rem,3vw,3rem);--poster-w:clamp(132px,10vw,180px);--focus-ring:0 0 0 3px var(--bg-0),0 0 0 7px var(--accent)}
*{box-sizing:border-box}html{font-size:clamp(16px,.4vw + 14px,21px)}body{margin:0;min-width:0;background:radial-gradient(ellipse at 85% 0,rgba(148,110,255,.09),transparent 45%),var(--bg-0);color:var(--ink-2);font-family:var(--font-ui);line-height:1.5}h1,h2,p{margin:0}h1,h2,b,strong{color:var(--ink-1)}h1{font-size:clamp(2rem,3.3vw,3.4rem);line-height:1.1;letter-spacing:-.035em}h2{font-size:clamp(1.2rem,1.5vw,1.5rem)}button,input,select{font:inherit}button{cursor:pointer}button,input,select{color:var(--ink-1)}[hidden]{display:none!important}.screen{display:none}.screen.active{display:block}.screen.auth-screen.active{display:grid}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible,.focused{outline:4px solid var(--accent);outline-offset:3px;position:relative;z-index:2}.card.focused,.tab.focused,.btn.focused{box-shadow:var(--focus-ring)}button,input,select{min-height:44px}input:not([type=checkbox]):not([type=range]),select{display:block;width:100%;padding:.85rem 1rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg-0)}input::placeholder{color:var(--ink-3)}label{display:block;color:var(--ink-1);font-weight:600;font-size:.88rem;margin:1rem 0 .45rem}input[type=range],input[type=checkbox]{accent-color:var(--accent)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:.6rem;padding:.7rem 1.2rem;border:1px solid transparent;border-radius:10px;font-weight:700}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-ghost{background:var(--bg-2);border-color:var(--line-strong);color:var(--ink-1)}@media(hover:hover){button:hover,.card:hover{filter:brightness(1.18)}.card:hover{transform:translateY(-3px)}}.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.eyebrow{color:var(--accent-bright);font:700 .68rem var(--font-mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem}.brand{display:flex;align-items:center;gap:.55rem;border-left:3px solid var(--accent);padding-left:.8rem;white-space:nowrap}.logo-word{color:var(--ink-1);font-weight:850;letter-spacing:.14em;font-size:1.1rem}.logo-badge{border:1px solid var(--accent);border-radius:5px;padding:.15rem .35rem;color:var(--accent-bright);font:700 .6rem var(--font-mono);letter-spacing:.13em}
.auth-screen{min-height:100vh;min-height:100dvh;place-items:center;padding:var(--space)}.auth-wrap{width:min(100%,1100px);display:grid;grid-template-columns:1fr minmax(320px,440px);gap:clamp(3rem,8vw,9rem);align-items:center}.auth-intro h1{margin:1rem 0}.auth-intro>p:not(.eyebrow){max-width:35ch;font-size:1.1rem}.auth-intro .brand{margin-bottom:clamp(3rem,9vh,7rem)}.auth-decoration{display:flex;gap:1rem;flex-wrap:wrap;color:var(--ink-3);font:.65rem var(--font-mono);letter-spacing:.1em;margin-top:clamp(3rem,8vh,6rem)}.auth-panel{padding:clamp(1.5rem,3.4vw,3rem);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-1)}.auth-panel h2{font-size:1.65rem}.auth-panel>p:not(.eyebrow){margin-top:.5rem}.auth-panel form{margin-top:1.7rem}.auth-panel form .btn{width:100%;justify-content:space-between;margin-top:1.5rem}.auth-panel #login-error{color:var(--danger);margin-top:.6rem}.auth-foot{font:.6rem var(--font-mono);letter-spacing:.08em;color:var(--ink-3);padding-top:1.4rem;border-top:1px solid var(--line);margin-top:2rem!important}.auth-foot span{color:var(--accent)}
.page{max-width:1600px;margin:auto;padding:var(--space) var(--space) 5rem}.page-top,.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.profiles-content{text-align:center;margin:clamp(5rem,14vh,10rem) auto}.profiles-content>p:not(.eyebrow){margin-top:.8rem}.profile-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:2rem;margin:2.5rem 0}.profile-card{display:grid;justify-items:center;gap:.7rem;background:transparent;border:0;border-radius:12px;padding:.5rem;color:var(--ink-1);font-weight:700}.avatar{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:8px;background:#493b70;color:var(--ink-1);font-weight:800}.avatar-large{width:clamp(90px,10vw,150px);height:clamp(90px,10vw,150px);font-size:2.5rem}.avatar-alt{background:#34475d}
.topbar{position:sticky;top:0;z-index:10;padding:.8rem var(--space);background:rgba(13,11,19,.97);border-bottom:1px solid var(--line)}.topbar:after{content:"";position:absolute;bottom:-1px;left:0;width:45%;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}.tabbar,.admin-tabs{display:flex;gap:.25rem;padding:.25rem;border:1px solid var(--line);border-radius:12px;background:var(--bg-1)}.tab,.admin-tab{border:0;border-radius:8px;padding:.6rem .8rem;background:transparent;color:var(--ink-2);font-weight:650}.tab span{font:700 .65rem var(--font-mono);color:var(--ink-3);margin-right:.3rem}.tab.active,.admin-tab.active{background:var(--bg-3);color:var(--ink-1)}.tab.active span{color:var(--accent)}.top-actions{display:flex;align-items:center;gap:1rem}.top-actions #status{font:.65rem var(--font-mono);text-transform:uppercase;white-space:nowrap}.top-actions #status i{display:inline-block;width:.5rem;height:.5rem;background:var(--accent);border-radius:50%}.profile-menu{display:flex;align-items:center;gap:.5rem;border:0;background:transparent}.profile-menu #user-chip{display:flex;align-items:center;gap:.5rem}.home-content{max-width:1600px;margin:auto;padding:clamp(1.4rem,3vh,2.5rem) var(--space) 5rem}.home-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem}.home-heading h1{font-size:clamp(1.55rem,2.5vw,2.5rem)}.search-block{width:min(100%,28rem)}.search-block label{margin-top:0}.catalog-section{margin-top:clamp(2rem,4vh,3rem)}.block-head{display:flex;align-items:center;gap:.8rem;padding-bottom:.65rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.block-head .btn,.block-aux{margin-left:auto}.block-num,.block-aux{font:700 .68rem var(--font-mono);letter-spacing:.1em;color:var(--accent)}.block-aux{color:var(--ink-3)}.row-track{display:flex;gap:1rem;overflow-x:auto;padding:.4rem .4rem 1rem;scrollbar-width:thin}.row-track .card{flex:0 0 var(--poster-w)}.card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}.card{position:relative;min-width:0;border-radius:var(--radius);cursor:pointer;transition:transform .16s}.poster-wrap{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:2/3;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-2);text-align:center;color:var(--accent-bright)}.poster-wrap:before{content:"";position:absolute;inset:-20% 20% 20% -20%;background:rgba(201,182,255,.06);transform:rotate(35deg)}.poster-wrap span{position:relative;font-size:clamp(1.3rem,2.2vw,2.5rem);font-weight:850;line-height:1.1;letter-spacing:.05em}.poster-wrap small{position:relative;margin-top:1rem;font:.6rem var(--font-mono);letter-spacing:.25em}.poster-blue{background:#172536;color:#bfd2ee}.poster-sand{background:#352a25;color:#e3cfbb}.poster-purple{background:#29203d}.card-title{color:var(--ink-1);font-weight:700;margin-top:.55rem;line-height:1.3}.card-meta,.card-resume{font:.72rem var(--font-mono);color:var(--ink-3);margin-top:.3rem}.progress-bar{height:4px;background:var(--bg-3);border-radius:5px;margin-top:.6rem}.progress-bar span{display:block;width:42%;height:100%;background:var(--accent);border-radius:inherit}.recent{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.recent>span{font:.65rem var(--font-mono);letter-spacing:.1em}.chip{padding:.4rem .8rem;border:1px solid var(--line);border-radius:100px;background:var(--bg-1);color:var(--ink-2)}#nav-mobile{display:none}
.back{padding:.5rem 0;margin-bottom:2rem;color:var(--accent-bright);background:transparent;border:0;font-weight:700}.details-grid{display:grid;grid-template-columns:clamp(180px,19vw,300px) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}.details-poster{width:100%}.details-meta{margin-top:1rem;color:var(--accent-bright);font-family:var(--font-mono)}.description{margin-top:1rem;max-width:65ch}.episode-list,.stream-list{padding:0;list-style:none}.episode{display:grid;grid-template-columns:3rem 1fr auto;gap:1rem;padding:1rem;border-bottom:1px solid var(--line)}.episode strong{color:var(--accent)}.episode small,.stream small{color:var(--ink-3)}.narrow{max-width:1100px}.stream-list{display:grid;gap:.8rem;margin-top:2rem}.stream{display:grid;grid-template-columns:5rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius)}.quality{padding:.5rem;text-align:center;border:1px solid var(--line-strong);border-radius:8px;color:var(--accent-bright)}.stream-disabled{opacity:.6}.screen-player{position:fixed;inset:0;z-index:20;background:#0b0a10}.screen-player.hide-cursor{cursor:none}#player{width:100%;height:100%;object-fit:contain}#player-hud{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;transition:opacity .25s;background:linear-gradient(to bottom,rgba(13,11,19,.85),transparent 30%,transparent 60%,rgba(13,11,19,.95))}#player-hud.hud-hidden{opacity:0;pointer-events:none}.player-top{display:flex;gap:1rem;align-items:center;padding:var(--space)}.player-top h1{font-size:1.3rem}.player-bottom{padding:var(--space)}#player-progress{width:100%}.player-controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}#player-time{font:.8rem var(--font-mono);margin-right:auto}#player-volume{width:100px}#player-spinner{position:absolute;top:45%;left:48%}#player-hint{position:absolute;bottom:1rem;left:1rem}
.admin-tabs{display:inline-flex;margin:2rem 0;flex-wrap:wrap}.admin-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:2rem}.admin-user,.admin-host{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.admin-user span,.admin-host span{min-width:0;overflow-wrap:anywhere}.admin-user small,.admin-host small{display:block;color:var(--ink-3)}.check-label{display:flex;align-items:center;gap:.6rem}.check-label input{min-height:auto}.service-status{margin:1.5rem 0}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.stats div{padding:1rem;background:var(--bg-1);border:1px solid var(--line);border-radius:10px}.stats b{display:block;font-size:1.5rem}.modal,.overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:1rem;background:rgba(11,10,16,.85)}.modal-panel{width:min(100%,32rem);max-height:90dvh;overflow:auto;padding:clamp(1.5rem,3vw,2.5rem);background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--radius)}.modal-panel h2{margin-bottom:1rem}.spinner{width:3rem;height:3rem;border:4px solid var(--bg-3);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}#toast,#offline-banner{position:fixed;z-index:40;left:1rem;right:1rem;padding:1rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg-2);color:var(--ink-1)}#toast{left:50%;right:auto;bottom:1rem;transform:translateX(-50%);width:max-content;max-width:min(92vw,28rem);padding:.7rem 1rem;font-size:.85rem;text-align:center}#offline-banner{top:1rem}
@media(max-width:1100px){.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.top-actions #status{display:none}.tabbar .tab span{display:none}.user-name{display:none}}
@media(max-width:640px){:root{--poster-w:130px}.auth-wrap{grid-template-columns:1fr;gap:2rem}.auth-intro .brand{margin-bottom:2.5rem}.auth-intro h1{font-size:2.1rem}.auth-decoration{display:none}.auth-panel{padding:1.4rem}.topbar{min-height:68px}.topbar .brand{padding-left:.5rem}.logo-word{font-size:.95rem}.topbar .logo-badge{font-size:.5rem}#nav-desktop{display:none}#nav-mobile{position:fixed;z-index:12;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);padding:.3rem .5rem max(.3rem,env(safe-area-inset-bottom));background:var(--bg-1);border-top:1px solid var(--line-strong)}#nav-mobile .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;font-size:.7rem;padding:.3rem}#nav-mobile .tab span{font:1.2rem var(--font-ui);margin:0}.home-content{padding-bottom:7rem}.home-heading{display:block}.search-block{margin-top:1.3rem}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.card-title{font-size:.85rem}.block-aux{display:none}.details-grid{grid-template-columns:110px minmax(0,1fr);gap:1rem}.details-grid h1{font-size:1.65rem}.details-grid .description,.details-grid .actions{grid-column:1/-1}.details-grid>div:last-child{display:contents}.details-grid .eyebrow,.details-grid h1,.details-meta{grid-column:2}.details-grid .eyebrow{grid-row:1;align-self:start}.details-grid h1{grid-row:1;margin-top:2rem}.details-meta{grid-row:1;margin-top:5rem;font-size:.75rem}.details-poster{grid-row:1}.episode{grid-template-columns:2rem 1fr}.episode small{grid-column:2}.stream{grid-template-columns:4rem minmax(0,1fr)}.stream small{grid-column:2}.admin-tabs{display:flex}.admin-tab{flex:1}.player-controls{gap:.3rem}#player-volume{display:none}#player-fullscreen{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Estados de episódios e próximo episódio: reutilizam os tokens do shell. */
.episode{grid-template-columns:3rem minmax(0,1fr) auto auto;grid-template-areas:"number title status watch" "number meta meta watch" "number progress progress watch";align-items:center;column-gap:1rem;row-gap:.35rem;border-radius:var(--radius)}
.episode-num{grid-area:number;align-self:start;color:var(--accent);font-weight:700}
.episode-title{grid-area:title;min-width:0;color:var(--ink-1);font-weight:600}
.episode-meta{grid-area:meta;color:var(--ink-3);font:.75rem var(--font-mono)}
.episode-status{grid-area:status;padding:.25rem .6rem;border:1px solid var(--line-strong);border-radius:8px;color:var(--accent-bright);background:var(--bg-3);font:.7rem var(--font-mono)}
.episode.is-watched .episode-title{color:var(--accent-bright)}
.episode-progress{grid-area:progress;width:min(100%,20rem);height:4px;border-radius:5px;background:var(--bg-3);overflow:hidden}
.episode-progress span{display:block;width:40%;height:100%;border-radius:inherit;background:var(--accent)}
.episode-watch{grid-area:watch;font-size:.8rem;white-space:normal}
#player-next{position:absolute;right:clamp(1rem,3vw,2.5rem);bottom:clamp(5rem,10vh,7rem);z-index:4;display:block;padding:0;background:none}
.player-next-card{width:min(100%,16.5rem);padding:.7rem .85rem;border:1px solid var(--line-strong);border-radius:12px;background:rgba(20,17,30,.97);text-align:left;color:var(--ink-1);box-shadow:0 14px 40px rgba(0,0,0,.5)}
.player-next-card h2{font-size:.95rem;margin:0 0 .25rem}
.player-next-card p{display:inline;margin:0;color:var(--ink-3);font-size:.76rem}
#next-countdown{display:inline;margin:0 0 0 .25rem;color:var(--accent-bright);font-size:.95rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
#next-countdown:after{content:"s";margin-left:1px;color:var(--ink-3);font-weight:600;font-size:.78rem}
.player-next-actions{display:flex;justify-content:flex-start;gap:.4rem;flex-wrap:wrap;margin-top:.55rem}
.player-next-actions .btn{padding:.4rem .65rem;font-size:.78rem;min-height:34px;border-radius:8px}
@media(max-width:640px){#player-next{left:1rem;right:1rem;bottom:5.5rem}.player-next-card{width:100%}}
#tv-section .card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
#tv-channels .poster-wrap{aspect-ratio:16/9}
.live-badge{display:inline-block;margin-left:.4rem;padding:.1rem .4rem;border-radius:4px;background:#b91c1c;color:#fff;font:700 .6rem var(--font-mono);letter-spacing:.08em;vertical-align:middle}
#player-ch-prev,#player-ch-next{display:none}
#screen-player.is-live #player-ch-prev,#screen-player.is-live #player-ch-next{display:inline-flex}
#screen-player.is-live #player-progress,#screen-player.is-live #player-time{display:none}
@media(max-width:640px){.episode{grid-template-columns:2rem minmax(0,1fr);grid-template-areas:"number title" "number meta" "number status" "number progress" "number watch";gap:.5rem}.episode-status{justify-self:start}.episode-watch{justify-self:start}.episode-progress{width:100%}}
.lang-badge{display:inline-block;margin-right:.4rem;padding:.05rem .35rem;border-radius:4px;font:700 .6rem var(--font-mono);letter-spacing:.06em;vertical-align:middle;background:var(--bg-3);color:var(--ink-1)}
.lang-badge.pt{background:#166534;color:#dcfce7}
.lang-badge.dual{background:#1e3a8a;color:#dbeafe}
.lang-badge.en{background:#374151;color:#e5e7eb}
.lang-badge.out{background:#7f1d1d;color:#fee2e2}
#player-audio{display:none}
#screen-player.has-audio #player-audio{display:inline-flex}
#player-subs{display:none}
#screen-player.has-subs #player-subs{display:inline-flex}
#audio-menu,#subs-menu{position:absolute;right:clamp(1rem,3vw,2.5rem);bottom:9rem;z-index:6;min-width:13rem;max-width:min(92vw,20rem);padding:.4rem;background:rgba(20,17,30,.98);border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
#audio-menu .audio-option,#subs-menu .subs-option{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--ink-1);padding:.5rem .6rem;border-radius:6px;font-size:.85rem;min-height:0}
#audio-menu .audio-option.active,#subs-menu .subs-option.active{background:var(--bg-3);color:var(--accent-bright)}
#btn-transcode{position:absolute;left:1rem;bottom:3.4rem;z-index:5}
@media(hover:hover){#audio-menu .audio-option:hover,#subs-menu .subs-option:hover{background:var(--bg-2)}}
.card-dismiss{position:absolute;top:.35rem;right:.35rem;z-index:3;width:2rem;height:2rem;min-height:0;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-strong);background:rgba(13,11,19,.88);color:var(--ink-1);font-size:1rem;line-height:1;opacity:0;transition:opacity .15s}
.card:hover .card-dismiss,.card:focus-within .card-dismiss,.card.focused .card-dismiss{opacity:1}
@media(hover:none){.card-dismiss{opacity:.9}}
.poster-fallback{position:relative;font-size:clamp(1.3rem,2.2vw,2.5rem);font-weight:850;color:var(--accent-bright);letter-spacing:.05em}

/* Ajustes responsivos e áreas de toque para os controles existentes. */
@media (min-width:641px) and (max-width:850px){.auth-wrap{grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:2rem}}
@media (max-width:640px){#nav-mobile{grid-template-columns:repeat(5,minmax(0,1fr))}#nav-mobile .tab{min-width:0;min-height:44px}}
.card-dismiss{width:44px;height:44px;min-height:44px}
#audio-menu .audio-option,#subs-menu .subs-option{min-height:44px}

/* Fase 1: componentes e superfícies do catálogo. */
.auth-screen h1{font-size:var(--type-display)}
.home-heading h1{font-size:var(--type-title)}
.home-content h2{font-size:var(--type-section)}
.auth-panel{box-shadow:var(--shadow-panel)}
.btn,.tab,.chip,.profile-card,.profile-menu{transition:background-color .16s,border-color .16s,color .16s,transform .16s}
.btn:disabled,.tab:disabled,.chip:disabled{cursor:not-allowed;opacity:.55}
.btn[aria-busy=true]{cursor:progress}
.btn:active:not(:disabled),.chip:active:not(:disabled){transform:translateY(1px)}
@media(hover:hover){button:hover,.card:hover{filter:none}.btn-primary:hover:not(:disabled){background:var(--accent-bright)}.btn-ghost:hover:not(:disabled),.chip:hover,.tab:hover:not(.active),.profile-menu:hover{background:var(--bg-3)}.card:hover .poster-wrap{border-color:var(--accent-bright)}}
.chip{min-height:44px;padding:var(--s-2) var(--s-4)}
.topbar{gap:var(--s-4)}
.home-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,28rem);align-items:end;gap:var(--s-8)}
.search-block{width:100%}
.card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.card-meta,.card-resume{line-height:1.5}
.row-track{gap:var(--s-4);scroll-padding:var(--s-2)}
#continue-track .card{flex-basis:var(--poster-w)}
.crumb,#search-results:empty::after,#tv-channels:empty::after,#browse-rows:empty::after{grid-column:1/-1;display:block;padding:var(--s-6);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-1);color:var(--ink-2);line-height:1.5}
#search-results:empty::after{content:"Busque um título para descobrir o catálogo."}
#tv-channels:empty::after{content:"Os canais disponíveis aparecerão aqui."}
#browse-rows:empty::after{content:"Os catálogos disponíveis aparecerão aqui."}
.recent:not(:has(.chip))::after{content:"Suas buscas recentes aparecerão aqui.";color:var(--ink-2);font-size:.85rem}
#tv-channels{gap:var(--s-4)}
#tv-channels .card-title{margin-top:var(--s-2)}
#toast,.modal-panel{box-shadow:var(--shadow-panel)}
@media(min-width:1101px){#continue-track .card:only-child{flex:0 1 clamp(340px,26vw,420px);display:grid;grid-template-columns:clamp(108px,8vw,128px) minmax(0,1fr);grid-template-rows:auto auto auto;align-content:center;align-items:center;row-gap:var(--s-2);column-gap:var(--s-4);padding:var(--s-3);border:1px solid var(--line);background:var(--bg-1)}#continue-track .card:only-child .poster-wrap{grid-row:1/4}#continue-track .card:only-child .card-title{margin-top:0;font-size:1rem}#continue-track .card:only-child .card-progress{align-self:auto;padding-bottom:0;margin-top:var(--s-2)} }
@media(min-width:641px) and (max-width:900px){.topbar{flex-wrap:wrap}.topbar .top-actions{margin-left:auto}#nav-desktop{order:3;width:100%;justify-content:space-between}#nav-desktop .tab{flex:1}.home-heading{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-6)}}
@media(max-width:640px){.home-heading{display:block}#continue-track .card{flex-basis:150px}#nav-mobile .tab{font-size:.72rem}.recent:not(:has(.chip))::after{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.btn,.tab,.chip,.profile-card,.profile-menu{transition:none}}

/* Fase 2: detalhes, reprodução e administração, sobre os tokens existentes. */
#screen-details .details-grid{align-items:start;gap:clamp(var(--s-6),4vw,var(--s-12))}
#screen-details .details-poster{box-shadow:var(--shadow-panel)}
#screen-details .details-meta{line-height:1.6;overflow-wrap:anywhere}
#screen-details .description{line-height:1.7}
#screen-details .actions{gap:var(--s-3)}
.episode{background:var(--bg-1);border:1px solid var(--line);margin-bottom:var(--s-2)}
.episode-title,.episode-meta{overflow-wrap:anywhere}
.episode-progress{height:6px}
@media(hover:hover){.episode:hover,.stream:not(.stream-disabled):hover{border-color:var(--line-strong);background:var(--bg-2)}}
#screen-streams .stream-list{gap:var(--s-3)}
.stream{min-width:0;line-height:1.5;overflow-wrap:anywhere;transition:background-color .16s,border-color .16s}
.stream .quality{font-variant-numeric:tabular-nums;background:var(--bg-2)}
.stream-disabled,[aria-disabled=true].stream{cursor:not-allowed;opacity:.7}
.lang-badge{padding:.2rem .45rem;line-height:1.4}
#player-hud .player-top,#player-hud .player-bottom{padding:clamp(var(--s-4),3vw,var(--s-8))}
.player-top>div{min-width:0}
.player-top h1,.player-top p{overflow-wrap:anywhere}
.player-controls{gap:var(--s-2)}
.player-controls .btn{min-width:44px;min-height:44px}
#player-time{font-variant-numeric:tabular-nums;white-space:nowrap}
#audio-menu,#subs-menu{max-height:min(50dvh,22rem);overflow:auto;overscroll-behavior:contain}
#audio-menu .audio-option,#subs-menu .subs-option{min-height:44px;overflow-wrap:anywhere}
.player-next-card{box-shadow:var(--shadow-panel)}
.player-next-actions .btn{min-height:44px}
#screen-admin .admin-panels{display:block;max-width:70rem}
#screen-admin .admin-tabs{max-width:100%}
#screen-admin .admin-user,#screen-admin .admin-host{gap:var(--s-4);padding:var(--s-4) 0}
#screen-admin .admin-user>span,#screen-admin .admin-host>span{flex:1;min-width:0}
#screen-admin .admin-user .actions,#screen-admin .admin-host .actions{justify-content:flex-end}
#screen-admin .stats{margin-top:var(--s-4)}
.modal{padding:max(var(--s-4),env(safe-area-inset-top)) max(var(--s-4),env(safe-area-inset-right)) max(var(--s-4),env(safe-area-inset-bottom)) max(var(--s-4),env(safe-area-inset-left))}
.modal-panel{max-height:min(90dvh,48rem);overscroll-behavior:contain;overflow-wrap:anywhere}
.modal-panel .actions{gap:var(--s-3)}
@media(max-width:640px){
 #screen-details .details-grid{grid-template-columns:minmax(90px,110px) minmax(0,1fr);grid-template-rows:auto auto auto auto auto;column-gap:var(--s-4);row-gap:var(--s-2)}
 #screen-details .details-poster{grid-column:1;grid-row:1/4}
 #screen-details .details-grid .eyebrow{grid-column:2;grid-row:1;margin:0}
 #screen-details .details-grid h1{grid-column:2;grid-row:2;margin:0;align-self:start;overflow-wrap:anywhere}
 #screen-details .details-meta{grid-column:2;grid-row:3;margin:0;align-self:start}
 #screen-details .description{grid-column:1/-1;grid-row:4;margin-top:var(--s-4)}
 #screen-details .details-grid .actions{grid-column:1/-1;grid-row:5;margin-top:var(--s-4)}
 #screen-admin .admin-user,#screen-admin .admin-host{align-items:stretch;flex-direction:column}
 #screen-admin .admin-user .actions,#screen-admin .admin-host .actions{justify-content:flex-start}
 #screen-admin .admin-tabs{gap:0}
 #screen-admin .admin-tab{padding-inline:var(--s-2);min-width:0}
 #player-hud .player-top,#player-hud .player-bottom{padding:var(--s-4)}
 .player-controls{gap:var(--s-2)}
 #player-time{margin-right:0}
 #audio-menu,#subs-menu{bottom:clamp(8rem,24dvh,12rem);max-width:calc(100vw - 2rem)}
 .modal-panel .actions .btn{flex:1 1 auto}
}
@media(max-height:500px) and (orientation:landscape){#player-hud .player-top,#player-hud .player-bottom{padding:var(--s-2) var(--s-4)}#audio-menu,#subs-menu{bottom:4.5rem;max-height:55dvh}#player-next{bottom:4.5rem}}
@media(prefers-reduced-motion:reduce){.stream{transition:none}}

/* Fase 3: busca dedicada na home e estabilidade da topbar. */
.tab{white-space:nowrap}
@media(max-width:1400px){.top-actions #status{display:none}}
#screen-home.search-mode .home-intro{display:none}
#screen-home.search-mode .home-heading{display:block}
#screen-home.search-mode .search-block{width:min(100%,42rem);margin-top:0}
#screen-home.search-mode #row-continue,
#screen-home.search-mode #recent,
#screen-home.search-mode #history-row,
#screen-home.search-mode #browse-rows,
#screen-home.search-mode #tv-section{display:none!important}
#screen-home.search-mode #search-section{margin-top:var(--s-8)}
#search-section .block-num{display:none}
#search-back{flex:0 0 auto;margin-left:0}
@media(max-width:640px){
  #search-section .block-head{flex-wrap:wrap;row-gap:var(--s-2)}
  #search-heading{flex:1 1 auto;font-size:1.15rem}
}

/* Fase 4: identidade com versão e alinhamento do menu do perfil. */
.logo-stack{display:flex;flex-direction:column;justify-content:center;line-height:1;gap:.15rem}
.logo-version{font:700 .55rem var(--font-mono);letter-spacing:.18em;color:var(--ink-3);text-transform:lowercase}
#btn-profile-menu>span[aria-hidden="true"]{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:.8rem;color:var(--ink-2);transform:translateY(-1px)}
