
/* app.css */
:root{--navy:#0B1F33;--sky:#69B3E7;--blue:#1773B8;--ice:#F4F7FA;--mid:#6B7280;--light:#D8DEE6;--dark:#151A20;--black:#0B0D0F;--panel:#101923;--panel2:#152434;--line:#24384a;--success:#6ee7a8;--danger:#ff7c8e;--radius:22px;--shadow:0 18px 60px rgba(0,0,0,.35)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--black);color:var(--ice);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}button,input{font:inherit}button,a,input{outline:none}button:focus-visible,a:focus-visible,input:focus-visible{box-shadow:0 0 0 3px var(--sky)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 10%,rgba(105,179,231,.10),transparent 30%),radial-gradient(circle at 15% 90%,rgba(23,115,184,.08),transparent 26%)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:center;padding:7vw;max-width:1500px;margin:auto}.login-brand{display:flex;gap:28px;align-items:center}.brand-mark{width:130px;height:130px;flex:none}.brand-mark img{width:100%;filter:drop-shadow(0 18px 38px rgba(105,179,231,.18))}.brand-kicker,.eyebrow{font-size:.76rem;font-weight:900;letter-spacing:.24em;color:var(--sky)}.login-brand h1{font-size:clamp(3rem,8vw,7.2rem);line-height:.85;margin:.18em 0 .18em;letter-spacing:-.06em}.login-brand p{max-width:630px;color:#aab8c7;font-size:1.15rem}.login-card{background:linear-gradient(180deg,rgba(21,36,52,.92),rgba(10,16,23,.96));border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:var(--shadow)}.login-card h2{font-size:2rem;margin:.35em 0 1em}.login-card label{display:block;color:#b9c5d1;font-size:.88rem;margin:18px 0}.login-card input{width:100%;margin-top:8px;background:#0b1219;color:white;border:1px solid #2a3b4c;border-radius:14px;padding:16px 17px}.primary{background:linear-gradient(135deg,var(--blue),var(--sky));border:0;color:#06111d;font-weight:900;border-radius:14px;padding:14px 20px;cursor:pointer}.big{width:100%;padding:17px;font-size:1.05rem}.alert{background:rgba(255,124,142,.12);color:#ffb6c0;border:1px solid rgba(255,124,142,.32);padding:13px 15px;border-radius:12px}.micro{font-size:.72rem;color:#758493;line-height:1.5;margin-top:16px}.app-shell{min-height:100vh;display:grid;grid-template:76px 1fr/250px 1fr;grid-template-areas:"top top" "side content"}.topbar{grid-area:top;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:0 28px;background:rgba(11,13,15,.92);backdrop-filter:blur(18px);border-bottom:1px solid #1c2934}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;min-width:220px}.brand img{width:40px;height:40px}.brand span{display:flex;flex-direction:column;line-height:1}.brand b{letter-spacing:.11em;font-size:.84rem}.brand small{color:var(--sky);letter-spacing:.25em;font-size:.58rem;margin-top:6px}.global-search{height:44px;max-width:720px;flex:1;display:flex;align-items:center;gap:10px;background:#111a23;border:1px solid #223443;border-radius:999px;padding:0 17px}.global-search input{width:100%;background:transparent;border:0;color:#fff}.status-pill{margin-left:auto;color:var(--success);font-size:.66rem;font-weight:900;letter-spacing:.12em}.sidebar{grid-area:side;position:sticky;top:76px;height:calc(100vh - 76px);padding:24px 16px;border-right:1px solid #1c2934;background:rgba(10,14,18,.88);display:flex;flex-direction:column;justify-content:space-between}.sidebar nav{display:grid;gap:7px}.nav-item{border:0;background:transparent;color:#9eacb8;text-decoration:none;text-align:left;border-radius:13px;padding:13px 15px;cursor:pointer;display:flex;align-items:center;gap:12px}.nav-item:hover,.nav-item.active{background:#132334;color:white}.nav-item.active{box-shadow:inset 3px 0 var(--sky)}.logout{margin-top:8px}.account-mini{font-size:.74rem;color:#8c9aa7;padding:8px 14px;display:flex;gap:8px;align-items:center}.dot{width:7px;height:7px;border-radius:50%;background:var(--success)}.content{grid-area:content;padding:34px 38px 80px;min-width:0}.hero{position:relative;overflow:hidden;min-height:280px;border:1px solid #1d3a50;background:linear-gradient(110deg,#0c2132 0%,#0e1722 58%,#101219 100%);border-radius:30px;padding:44px;display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.hero:after{content:"";position:absolute;right:-90px;top:-140px;width:420px;height:420px;border:1px solid rgba(105,179,231,.12);border-radius:50%;box-shadow:0 0 0 70px rgba(105,179,231,.03),0 0 0 140px rgba(105,179,231,.02)}.hero h1{font-size:clamp(2.7rem,5vw,5.6rem);line-height:.92;letter-spacing:-.055em;margin:.16em 0}.hero h1 em{font-style:normal;color:var(--sky)}.hero p{color:#9fb0bf;max-width:680px}.hero-cactus{width:min(22vw,240px);opacity:.8;z-index:1}.hero-cactus img{width:100%;filter:drop-shadow(0 22px 55px rgba(23,115,184,.28))}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:30px 0 15px}.section-head h2{margin:0;font-size:1.55rem}.section-head p{margin:6px 0 0;color:#8293a2}.section-search{display:flex;align-items:center;gap:8px;min-width:min(420px,45vw);background:#101923;border:1px solid #263747;border-radius:13px;padding:0 13px}.section-search input{height:42px;width:100%;background:transparent;border:0;color:white}.chips{display:flex;gap:9px;overflow:auto;padding:2px 2px 14px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border:1px solid #26394a;background:#111b25;color:#9fb0bd;border-radius:999px;padding:10px 14px;cursor:pointer}.chip.active,.chip:hover{border-color:var(--sky);color:#fff;background:#142a3b}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:17px}.grid.channels{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.card{border:1px solid #1f2f3c;background:#101820;border-radius:18px;overflow:hidden;color:inherit;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s,background .16s;padding:0}.card:hover,.card:focus-visible{transform:translateY(-3px) scale(1.015);border-color:var(--sky);background:#142331}.poster{aspect-ratio:2/3;background:#0d141b;display:flex;align-items:center;justify-content:center;overflow:hidden}.poster img{width:100%;height:100%;object-fit:cover}.poster .fallback{font-size:3rem;opacity:.25}.channel-logo{height:118px;background:#0b131a;display:flex;align-items:center;justify-content:center;padding:18px}.channel-logo img{max-width:100%;max-height:82px;object-fit:contain}.card-body{padding:12px 13px 14px}.card-title{font-weight:800;line-height:1.24;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{font-size:.72rem;color:#8393a0;margin-top:7px}.empty,.loading,.error-box{padding:42px;border:1px dashed #2c3a46;border-radius:18px;text-align:center;color:#8393a0}.error-box{color:#ffadb9;border-color:#62313a}.home-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.action-tile{position:relative;border:1px solid #234157;background:linear-gradient(145deg,#11283a,#101820);border-radius:22px;padding:27px;color:white;text-align:left;cursor:pointer;min-height:160px;overflow:hidden}.action-tile strong{font-size:1.5rem;display:block}.action-tile span{color:#8ea3b2;display:block;margin-top:8px}.action-tile b{position:absolute;right:18px;bottom:-20px;font-size:6.5rem;color:rgba(105,179,231,.09)}.search-group{margin-top:28px}.search-group h3{display:flex;gap:10px;align-items:center}.badge{font-size:.65rem;background:#17334a;color:var(--sky);padding:5px 8px;border-radius:999px}.series-hero{display:grid;grid-template-columns:180px 1fr;gap:25px;margin-bottom:26px}.series-hero img{width:180px;aspect-ratio:2/3;object-fit:cover;border-radius:17px;background:#111}.series-hero p{color:#9aabb9;line-height:1.6}.season{margin:16px 0;border:1px solid #213342;background:#101820;border-radius:18px;overflow:hidden}.season summary{padding:17px 20px;cursor:pointer;font-weight:900}.episodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:0 14px 14px}.episode{background:#14212b;border:1px solid #243a49;color:white;border-radius:12px;padding:13px;text-align:left;cursor:pointer}.player-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:100;display:none;padding:3vw}.player-modal.open{display:flex}.player-shell{position:relative;margin:auto;width:min(1500px,100%);height:100%;display:flex;flex-direction:column}.close-player{position:absolute;right:0;top:0;z-index:2;border:1px solid #334553;background:#111c25;color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer}.player-meta{padding:4px 58px 14px 2px}.player-meta span{color:var(--sky);font-size:.72rem;font-weight:900;letter-spacing:.14em}.player-meta h2{margin:5px 0 0}.player-shell video{width:100%;flex:1;min-height:0;background:#000;border-radius:18px}.player-message{min-height:28px;padding-top:8px;color:#8ea0ae}.mobile-only{display:none}.icon-btn{border:0;background:#13202a;color:white;border-radius:10px;width:42px;height:42px}.skeleton{animation:pulse 1.2s infinite alternate}@keyframes pulse{to{opacity:.45}}@media(max-width:900px){.login-shell{grid-template-columns:1fr;padding:28px}.login-brand{display:none}.app-shell{grid-template:68px 1fr/1fr;grid-template-areas:"top" "content"}.topbar{padding:0 14px;height:68px}.mobile-only{display:block}.brand{min-width:auto}.brand span{display:none}.status-pill{display:none}.sidebar{position:fixed;left:-270px;top:68px;width:250px;height:calc(100vh - 68px);z-index:50;transition:left .2s}.sidebar.open{left:0}.content{padding:20px 16px 70px}.hero{min-height:210px;padding:28px}.hero-cactus{display:none}.hero h1{font-size:3rem}.home-actions{grid-template-columns:1fr}.section-head{align-items:stretch;flex-direction:column}.section-search{min-width:0}.grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px}.grid.channels{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.series-hero{grid-template-columns:110px 1fr}.series-hero img{width:110px}.player-modal{padding:10px}}@media(min-width:1600px){.grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.grid.channels{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}
/* v0.2: catálogo com categorias verticais, controles grandes e admin */
.catalog-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}.category-list{position:sticky;top:96px;max-height:calc(100vh - 115px);overflow-y:auto;display:grid;gap:5px;padding:8px;background:#101923;border:1px solid #263747;border-radius:16px}.category-item{width:100%;background:transparent;color:#becbd6;border:0;border-radius:11px;text-align:left;padding:14px;cursor:pointer;overflow-wrap:anywhere}.category-item.active,.category-item:hover{background:#17334a;color:white;box-shadow:inset 4px 0 var(--sky)}.catalog-results{min-width:0}.load-more{display:block;margin:24px auto;min-width:180px}.category-toggle{display:none}.admin-wrap{max-width:1200px;margin:auto;padding:28px}.admin-header{display:flex;gap:16px;align-items:center;margin-bottom:30px}.admin-header h1{font-size:1.35rem;flex:1}.admin-form{max-width:600px}.admin-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:18px}.admin-server h3{margin:0}.admin-server p{color:#aab8c7;font-size:.82rem}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.admin-notice{background:#173c2d;color:#aeefc6;padding:16px;border-radius:12px}.danger{color:#ffb6c0}.card:focus-visible,.category-item:focus-visible,.nav-item:focus-visible,.episode:focus-visible{outline:4px solid var(--sky);outline-offset:2px}button{min-height:42px}@media(max-width:900px){.catalog-layout{grid-template-columns:1fr}.category-toggle{display:block;margin:8px 0}.category-list{position:static;max-height:40vh;display:none}.category-list.open{display:grid}.catalog-results{width:100%}.admin-wrap{padding:18px}.admin-header h1{font-size:1rem}}

.sidebar-bottom{display:grid;gap:4px}.refresh{margin-bottom:2px}.nav-item:disabled{opacity:.6;cursor:wait}@media(max-width:900px){.sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar-bottom{padding-bottom:18px}}

/* v0.2.3 — dissuasão de cópia/inspeção casual; inputs continuam selecionáveis */
body.is-app{-webkit-touch-callout:none}body.is-app *:not(input):not(textarea):not([contenteditable="true"]){-webkit-user-select:none;user-select:none}body.is-app img{-webkit-user-drag:none;user-drag:none}body.is-app input,body.is-app textarea,body.is-app [contenteditable="true"]{-webkit-user-select:text;user-select:text}@media print{body.is-app{display:none!important;visibility:hidden!important}}

.media-detail{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:34px;align-items:start;margin-top:24px;padding:28px;border:1px solid #20384a;background:linear-gradient(145deg,#101d28,#0d141b);border-radius:24px}.detail-poster{width:100%;aspect-ratio:2/3;border-radius:18px;overflow:hidden;background:#0b1117;display:flex;align-items:center;justify-content:center}.detail-poster img{width:100%;height:100%;object-fit:cover}.detail-poster-fallback{font-size:4rem;opacity:.18}.detail-copy h2{font-size:clamp(2rem,4vw,4rem);line-height:1;margin:.18em 0 .35em}.detail-copy p{color:#a6b4c1;line-height:1.7;font-size:1.02rem;max-width:850px}.detail-muted{opacity:.65}.detail-facts{display:flex;flex-wrap:wrap;gap:10px 18px;margin:20px 0;color:#9eb0bf;font-size:.88rem}.detail-facts span{padding:9px 12px;background:#111c25;border:1px solid #23384a;border-radius:999px}.detail-play{margin-top:10px;min-width:150px;font-size:1rem}.series-hero .detail-poster-fallback{width:180px;aspect-ratio:2/3;border-radius:17px;background:#111;display:flex;align-items:center;justify-content:center}
@media(max-width:900px){.media-detail{grid-template-columns:120px minmax(0,1fr);gap:18px;padding:18px}.detail-copy h2{font-size:2rem}.detail-copy p{font-size:.95rem}.detail-facts{display:grid;gap:7px}.detail-facts span{border-radius:10px}.series-hero .detail-poster-fallback{width:110px}}
@media(max-width:560px){.media-detail{grid-template-columns:1fr}.detail-poster{max-width:210px;margin:0 auto}.detail-copy{text-align:left}.detail-play{width:100%}}


/* v0.2.7 — favoritos visíveis em desktop, mobile e Smart TV */
.card-shell{position:relative;min-width:0}.card-shell>.card{width:100%;height:100%}.favorite-toggle{border:1px solid #36536a;background:rgba(8,15,21,.88);color:#d7e2eb;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:900;transition:transform .14s,border-color .14s,background .14s,color .14s}.favorite-toggle.active{color:#ffd96a;border-color:#a5832e;background:rgba(61,48,13,.92)}.favorite-toggle:hover{border-color:var(--sky);transform:scale(1.06)}.favorite-card{position:absolute;right:9px;top:9px;z-index:5;width:44px;height:44px;min-height:44px;border-radius:50%;font-size:1.35rem;box-shadow:0 8px 22px rgba(0,0,0,.38)}.detail-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px}.detail-actions .detail-play{margin-top:0}.favorite-detail{min-height:48px;border-radius:14px;padding:0 18px;font-size:1rem}.favorite-detail:after{content:' Favorito';font-weight:800;margin-left:8px}.favorite-detail.active:after{content:' Favoritado'}@media(max-width:560px){.detail-actions{display:grid;grid-template-columns:1fr}.favorite-detail{width:100%}.favorite-card{width:42px;height:42px;min-height:42px;right:7px;top:7px}}


/* app-shell.css */
/* Shared application shell, scoped so admin and installer retain their layout. */
[hidden]{display:none!important}
body.is-app{height:100vh;height:100dvh;overflow:hidden;background:#0b1016}
body.is-app:before{display:none}
.is-app .app-shell{height:100vh;height:100dvh;min-height:0;grid-template:80px minmax(0,1fr)/216px minmax(0,1fr);grid-template-areas:"top top" "side content"}
.is-app .topbar{position:relative;top:auto;background:#0d131a;backdrop-filter:none;padding:0 26px;gap:24px}
.is-app .brand{min-width:164px}
.is-app .brand b{font-size:.74rem}.is-app .brand img{width:34px}
.is-app .global-search{max-width:580px;border-radius:12px;background:#161f29;height:46px}
.is-app .global-search input{min-width:0;height:44px}
.is-app .status-pill{font-size:10px;color:#8d9cac;letter-spacing:.16em}
.is-app .sidebar{position:relative;left:auto;top:auto;height:100%;width:auto;padding:24px 14px;background:#0d131a;min-height:0;overflow:auto}
.is-app .sidebar nav{gap:8px}
.is-app .nav-item{min-height:50px;font-size:.9rem;border-radius:10px;gap:12px}
.is-app .nav-item.active{background:#1b2c3d;box-shadow:inset 3px 0 #79c7fb}
.is-app .content{overflow-y:auto;overscroll-behavior:contain;height:100%;padding:28px 32px 48px;scroll-padding:16px}
.is-app .hero{min-height:256px;padding:32px;margin:0 0 28px;border-radius:20px;background:linear-gradient(110deg,#122d42,#101d29 70%,#12202c)}
.is-app .hero h1{font-size:clamp(2.6rem,4.4vw,4.6rem);line-height:1.04;margin:14px 0 12px}
.is-app .hero p{font-size:.96rem;max-width:510px;line-height:1.6}
.is-app .hero-cactus{width:150px;opacity:.85;margin-right:30px}
.is-app .hero:after{box-shadow:none;right:-180px;top:-120px}
.is-app .section-head{margin:4px 0 24px;align-items:center}
.is-app .section-head h2{font-size:1.65rem;letter-spacing:-.03em;margin-top:8px}
.is-app .section-head p{font-size:.85rem;line-height:1.5}
.is-app .eyebrow{font-size:.66rem;letter-spacing:.19em;color:#7bbce5}
.is-app .home-actions{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.is-app .action-tile{min-height:205px;padding:24px;border-radius:16px;background:#121d28;border:1px solid #263848}
.is-app .action-tile strong{font-size:1.35rem}.is-app .action-tile span{font-size:.86rem}
.is-app .action-tile .tile-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#203a4d;color:#9ed7fc;font-size:22px;margin:0 0 24px}
.is-app .action-tile small{display:block;margin-top:24px;color:#8acbfa;font-size:.8rem}
.home-note{margin-top:28px;display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid #263341;padding:22px 0}
.home-note h3{margin:0 0 8px;font-size:1rem}.home-note p{margin:0;color:#8b9bac;font-size:.86rem;line-height:1.6}
.is-app .catalog-layout{grid-template-columns:190px minmax(0,1fr);gap:24px}
.is-app .category-list{top:0;max-height:calc(100vh - 230px);max-height:calc(100dvh - 230px);border-radius:12px;background:#101922;padding:6px}
.is-app .category-item{min-height:48px;font-size:.86rem;line-height:1.4;padding:12px;border-radius:8px}
.is-app .grid{grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:18px}
.is-app .grid.channels{grid-template-columns:repeat(auto-fill,minmax(184px,1fr))}
.is-app .card{border-radius:12px;transition:border-color .12s,background .12s}
.is-app .card:hover,.is-app .card:focus-visible{transform:none;border-color:#91d0ff}
.is-app .card-title{font-size:.9rem;min-height:2.48em}
.is-app .channel-logo{height:112px;background:#14212d}
.is-app .poster{background:linear-gradient(145deg,#1d3040,#121c26)}
.is-app .poster .fallback{color:#6090aa;opacity:.6}
.is-app .card-meta{font-size:.62rem;letter-spacing:.09em;color:#8cabbf}
.is-app .favorite-card{width:44px;height:44px;min-height:44px;right:8px;top:8px;box-shadow:none;background:#101b27;font-size:1.25rem}
.is-app .favorite-card.active{color:#ffe08b;background:#44371a}
.is-app .section-search{min-width:220px;max-width:360px;flex:1}.is-app .section-search input{height:46px;min-width:0}
.is-app .chip,.is-app .primary{min-height:46px;border-radius:10px;white-space:normal}
.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:24px 0 8px}.pagination span{font-size:.8rem;color:#9cb0c0}.pagination button:disabled{opacity:.35;cursor:default}
.is-app .loading{padding:28px;border:0;text-align:left;background:#101821;border-radius:16px}
.skeleton-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.skeleton-row i{height:150px;display:block;border-radius:12px;background:#1b2936}
.empty h3,.empty h2{color:#d7e7f3;margin:10px 0}.empty p{line-height:1.6;margin-bottom:0}.empty>span{font-size:30px;color:#7ebce4}
.is-app .media-detail{margin-top:22px;border-radius:18px;background:#121d27;grid-template-columns:minmax(170px,260px) minmax(0,1fr);padding:26px;gap:32px}
.is-app .detail-copy h2{font-size:clamp(1.7rem,3vw,3rem);line-height:1.12}
.is-app .detail-copy p{line-height:1.7;font-size:1rem;white-space:pre-line}
.is-app .detail-actions{gap:12px}.is-app .detail-actions .primary{min-width:175px}
.is-app .series-hero{margin-top:24px;align-items:start}.is-app .series-hero h2{font-size:2rem;margin:10px 0}
.is-app .episode p{font-size:.85rem;line-height:1.5;color:#a0b1c0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.episode-play{color:#9bd2f4;font-size:.8rem}.is-app .episode{min-height:118px;padding:18px}
.is-app .player-modal{padding:22px;background:#080d13}
.is-app .player-shell{max-width:1440px}.is-app .player-meta h2{font-size:1.3rem}
.player-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 0 0}.player-controls .chip{color:#e0edf7}
.media-debug:empty{display:none}.media-debug{font:12px/1.6 monospace;color:#96b6c9;margin-top:10px}.player-message{font-size:.85rem}
.app-notice{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:200;max-width:90vw;padding:14px 20px;border:1px solid #3b607c;background:#1b3042;color:#edf7ff;border-radius:12px;opacity:0;pointer-events:none;font-size:.9rem}
.app-notice.show{opacity:1}.image-failed{visibility:hidden}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #99d8ff;outline-offset:3px}
@media(max-width:1050px) and (min-width:761px){body:not(.pc-tv-mode).is-app .app-shell{grid-template-columns:86px minmax(0,1fr)}body:not(.pc-tv-mode).is-app .sidebar .nav-item{font-size:1.15rem;justify-content:center}body:not(.pc-tv-mode).is-app .sidebar .nav-item span,body:not(.pc-tv-mode).is-app .account-mini{display:none}body:not(.pc-tv-mode).is-app .content{padding:24px}body:not(.pc-tv-mode).is-app .catalog-layout{grid-template-columns:160px minmax(0,1fr)}body:not(.pc-tv-mode).is-app .brand span{display:flex}body:not(.pc-tv-mode).is-app .brand{min-width:164px}}
@media(min-width:761px){.is-app .mobile-only{display:none}.is-app .category-toggle{display:none}.is-app .category-list{display:grid}.is-app .brand span{display:flex}}
@media(max-width:760px){
 body:not(.pc-tv-mode).is-app .app-shell{grid-template:68px minmax(0,1fr)/minmax(0,1fr);grid-template-areas:"top" "content"}
 body:not(.pc-tv-mode).is-app .topbar{padding:0 14px;gap:12px}
 body:not(.pc-tv-mode).is-app .brand{display:none}
 body:not(.pc-tv-mode).is-app .mobile-only{display:block;flex:none;min-height:44px;min-width:44px}
 body:not(.pc-tv-mode).is-app .status-pill{display:none}
 body:not(.pc-tv-mode).is-app .global-search{max-width:none;min-width:0;flex:1;padding:0 12px}
 body:not(.pc-tv-mode).is-app .global-search input{font-size:16px}
 body:not(.pc-tv-mode).is-app .sidebar{position:fixed;inset:auto 0 0;width:100%;height:calc(68px + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);z-index:50;border:0;border-top:1px solid #2a3c4c;overflow:visible;background:#101923}
 body:not(.pc-tv-mode).is-app .sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;height:68px;align-items:center}
 body:not(.pc-tv-mode).is-app .nav-item{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;text-align:center;font-size:18px;padding:7px 3px;min-height:54px;line-height:1}
 body:not(.pc-tv-mode).is-app .nav-item span{font-size:10px;white-space:nowrap}
 body:not(.pc-tv-mode).is-app .nav-item.active{box-shadow:inset 0 2px #83c9f9;background:#203448}
 body:not(.pc-tv-mode).is-app .sidebar-bottom{display:none;position:fixed;top:68px;left:12px;width:230px;background:#152431;border:1px solid #385168;padding:12px;box-shadow:0 14px 30px #0008;border-radius:14px}
 body:not(.pc-tv-mode).is-app .sidebar.open .sidebar-bottom{display:grid}
 body:not(.pc-tv-mode).is-app .sidebar-bottom .nav-item{flex-direction:row;justify-content:start;gap:12px}
 body:not(.pc-tv-mode).is-app .sidebar-bottom .nav-item span{font-size:14px}
 body:not(.pc-tv-mode).is-app .content{padding:18px 16px calc(92px + env(safe-area-inset-bottom))}
 body:not(.pc-tv-mode).is-app .hero{min-height:215px;padding:25px;margin-bottom:24px}
 body:not(.pc-tv-mode).is-app .hero h1{font-size:2.9rem}
 body:not(.pc-tv-mode).is-app .hero-cactus{display:none}
 body:not(.pc-tv-mode).is-app .hero p{font-size:.87rem}
 body:not(.pc-tv-mode).is-app .section-head{flex-direction:column;align-items:stretch;gap:16px}
 body:not(.pc-tv-mode).is-app .section-head h2{font-size:1.5rem}
 body:not(.pc-tv-mode).is-app .section-search{max-width:none;min-width:0}
 body:not(.pc-tv-mode).is-app .section-search input{font-size:16px}
 body:not(.pc-tv-mode).is-app .home-actions{grid-template-columns:1fr}
 body:not(.pc-tv-mode).is-app .action-tile{min-height:125px;padding:20px 20px 20px 82px}
 body:not(.pc-tv-mode).is-app .action-tile .tile-icon{position:absolute;left:22px;top:24px}
 body:not(.pc-tv-mode).is-app .action-tile small{margin-top:16px}
 body:not(.pc-tv-mode).is-app .home-note{align-items:start;flex-direction:column}
 body:not(.pc-tv-mode).is-app .catalog-layout{display:block}
 body:not(.pc-tv-mode).is-app .category-toggle{display:block;width:100%;text-align:left;margin-bottom:18px;color:#d5e8f6}
 body:not(.pc-tv-mode).is-app .category-list{display:none;position:relative;max-height:45vh;margin-bottom:20px}
 body:not(.pc-tv-mode).is-app .category-list.open{display:grid}
 body:not(.pc-tv-mode).is-app .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 body:not(.pc-tv-mode).is-app .media-detail{grid-template-columns:1fr;padding:20px;gap:24px}
 body:not(.pc-tv-mode).is-app .detail-poster{max-width:190px;margin:auto}
 body:not(.pc-tv-mode).is-app .detail-actions{display:grid;grid-template-columns:1fr}
 body:not(.pc-tv-mode).is-app .series-hero{grid-template-columns:90px minmax(0,1fr);gap:18px}
 body:not(.pc-tv-mode).is-app .series-hero img{width:90px}
 body:not(.pc-tv-mode).is-app .series-hero h2{font-size:1.5rem}
 body:not(.pc-tv-mode).is-app .series-hero p{font-size:.9rem}
 body:not(.pc-tv-mode).is-app .episodes{grid-template-columns:1fr}
 body:not(.pc-tv-mode).is-app .player-modal{padding:16px 12px max(12px,env(safe-area-inset-bottom))}
 body:not(.pc-tv-mode).is-app .player-controls{gap:8px}
 body:not(.pc-tv-mode).is-app .player-controls .chip{font-size:.8rem;padding:10px}
 body:not(.pc-tv-mode).is-app .app-notice{bottom:calc(84px + env(safe-area-inset-bottom))}
 .login-shell{padding:24px 18px}.login-brand{display:flex;gap:12px}.brand-mark{width:52px;height:52px}.login-brand h1{font-size:2.7rem}.login-brand p{font-size:.9rem}.login-card{padding:24px}.login-card input{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(min-width:761px){.is-app .category-panel{position:sticky;top:0}}
body.pc-tv-mode.is-app .category-panel{position:sticky;top:0}


/* v0.6.1 - Ocultar somente favoritos na home mobile */
@media (max-width: 767px) {
  body.is-app #view > .home-note {
    display: none !important;
  }
}

/* v0.6.2 - Home mobile compacta */
@media (max-width: 767px) {
  body.is-app #view:has(> .home-actions) > .section-head {
    margin: 12px 0 10px !important;
  }
  body.is-app #view > .home-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    overflow: visible !important;
  }
  body.is-app #view > .home-actions > .action-tile {
    min-height: 58px !important;
    height: 58px !important;
    padding: 10px 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }
  body.is-app #view > .home-actions > .action-tile .tile-icon {
    margin: 0 !important;
    flex: 0 0 auto;
  }
  body.is-app #view > .home-actions > .action-tile strong {
    font-size: 1rem !important;
    margin: 0 !important;
  }
  body.is-app #view > .home-actions > .action-tile > span:not(.tile-icon),
  body.is-app #view > .home-actions > .action-tile > small {
    display: none !important;
  }
}


/* tv-mode.css */
/* Real, visible focus without changing panel geometry. */
body.pc-tv-mode.pc-tv-remote-active,body.pc-tv-mode.pc-tv-remote-active *{cursor:none!important}
body.pc-tv-mode button:focus,body.pc-tv-mode a[href]:focus,body.pc-tv-mode input:focus,body.pc-tv-mode textarea:focus,body.pc-tv-mode summary:focus,body.pc-tv-mode [tabindex]:focus{outline:3px solid #9edbff!important;outline-offset:2px!important;box-shadow:0 0 0 4px #203c50!important}
body.pc-tv-mode .media-card:focus,body.pc-tv-mode .category-item:focus,body.pc-tv-mode .action-tile:focus,body.pc-tv-mode .episode:focus{transform:none!important;border-color:#9edbff;background:#142b3d}
body.pc-tv-mode .nav-item:focus{background:#17334a;color:#fff}
body.pc-tv-mode .card-shell:focus-within .favorite-card{z-index:11}
.pc-tv-debug{position:fixed;bottom:8px;left:8px;z-index:10000;padding:6px 10px;background:#000e;color:#fff;border:1px solid #69b3e7;font:12px/1.35 monospace;pointer-events:none}


/* tv-keyboard.css */
/* Panic Cactus WebPlayer — teclado virtual remote-first para Smart TV */
.pc-tvkb{position:fixed;inset:0;z-index:5000;display:none;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.72);padding:18px}
.pc-tvkb.open{display:flex}
.pc-tvkb-panel{width:96vw;max-width:1180px;background:#0d151d;border:1px solid #2a4053;border-radius:24px;box-shadow:0 28px 90px rgba(0,0,0,.58);padding:18px}
.pc-tvkb-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.pc-tvkb-label{font-size:.72rem;font-weight:900;letter-spacing:.16em;color:#69B3E7;text-transform:uppercase;white-space:nowrap}
.pc-tvkb-preview{flex:1;min-width:0;background:#071019;border:1px solid #2a4053;border-radius:14px;padding:14px 16px;color:#fff;font-size:1.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-tvkb-preview.masked{letter-spacing:.12em}
.pc-tvkb-grid{display:grid;gap:9px}
.pc-tvkb-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:9px}
.pc-tvkb-key{min-height:58px;border:1px solid #2a4053;border-radius:13px;background:#14212c;color:#eaf3f9;font-weight:800;font-size:1.05rem;cursor:pointer;padding:10px 12px;display:flex;align-items:center;justify-content:center;user-select:none}
.pc-tvkb-key.wide{grid-column:span 2;min-width:0}
.pc-tvkb-key.extra-wide{grid-column:span 3;min-width:170px}
.pc-tvkb-key.action{background:#17334a;color:#dff4ff}
.pc-tvkb-key.danger{background:#301923;color:#ffd6dc;border-color:#6a3542}
.pc-tvkb-key.primary{background:linear-gradient(135deg,#1773B8,#69B3E7);color:#06111d;border-color:transparent}
.pc-tvkb-key:focus,.pc-tvkb-key.pc-focus{outline:4px solid #69B3E7;outline-offset:2px;background:#1a3040}
.pc-tvkb-key.primary:focus,.pc-tvkb-key.primary.pc-focus{background:linear-gradient(135deg,#2b87ca,#86c7f2)}
.pc-tvkb-hint{margin-top:12px;text-align:center;color:#8092a0;font-size:.78rem}
body.pc-tvkb-open{overflow:hidden}
@media(max-width:900px){.pc-tvkb{padding:8px}.pc-tvkb-panel{width:100%;padding:10px;border-radius:16px}.pc-tvkb-key{min-height:46px;font-size:.92rem;padding:7px}.pc-tvkb-row{gap:6px}.pc-tvkb-grid{gap:6px}.pc-tvkb-head{gap:8px}.pc-tvkb-preview{font-size:1rem;padding:11px}}

@media(max-width:900px){.pc-tvkb-row{grid-auto-columns:minmax(0,1fr)}.pc-tvkb-key.wide{min-width:0}.pc-tvkb-key{min-width:0}}

.pc-tvkb-panel{max-height:96vh;overflow:auto;overscroll-behavior:contain}
@media(max-height:520px){.pc-tvkb{padding:8px}.pc-tvkb-panel{padding:10px}.pc-tvkb-key{min-height:36px;padding:5px}.pc-tvkb-grid,.pc-tvkb-row{gap:6px}.pc-tvkb-preview{padding:8px}.pc-tvkb-hint{margin-top:6px}}


/* tv-app-universal.css */
/* Layout owner: measured grid/flex panes, with vh before dvh fallbacks. */
html.pc-tv-mode{height:100%;overflow:hidden;overscroll-behavior:none}
body.is-app,body.is-login{height:100vh;height:100dvh;min-height:0;width:100%;max-width:100%;overflow:hidden;overscroll-behavior:none}
body.is-app .app-shell{height:100%;min-height:0;min-width:0;width:100%;max-width:100%;overflow:hidden;grid-template:76px minmax(0,1fr)/190px minmax(0,1fr);grid-template-areas:"top top" "side content"}
body.is-app .topbar{height:100%;min-width:0;padding:0 20px;gap:20px}
body.is-app .sidebar{position:relative;left:auto;top:auto;width:auto;height:100%;min-height:0;padding:18px 12px;overflow:auto;overscroll-behavior:contain}
body.is-app .sidebar nav{display:grid;grid-template-columns:1fr}body.is-app .sidebar-bottom{display:grid}
body.is-app .content{height:100%;min-height:0;min-width:0;overflow:hidden;padding:22px 26px;display:flex;flex-direction:column;overscroll-behavior:none}
body.is-app #view{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden}
body.is-app .section-head{flex:none;flex-direction:row;margin:4px 0 18px;gap:16px;align-items:center}
body.is-app .section-head h2{font-size:1.5rem;margin:6px 0}body.is-app .section-head p{font-size:13px;margin:4px 0}
body.is-app .global-search,body.is-app .section-search,body.is-app #view{min-width:0}
body.is-app .section-search{min-width:180px;max-width:360px;flex:1}
body.is-app .catalog-layout{display:grid;grid-template-columns:185px minmax(0,1fr);gap:18px;flex:1;min-height:0;overflow:hidden;align-items:stretch}
body.is-app .category-panel{min-width:0;min-height:0;overflow:hidden}
body.is-app .category-list{position:static;display:flex;flex-direction:column;gap:6px;height:100%;max-height:none;min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px;overscroll-behavior:contain;scroll-padding:10px}
body.is-app .category-item{flex:none;min-height:48px;padding:12px;font-size:15px;line-height:1.35;overflow-wrap:break-word}
body.is-app .category-toggle{display:none}
body.is-app .catalog-results{min-height:0;min-width:0;height:100%;overflow-y:auto;overflow-x:hidden;padding:8px 10px 16px;overscroll-behavior:contain;scroll-padding:12px}
body.is-app .grid{grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:18px;padding:4px}
body.is-app .grid.channels{grid-template-columns:repeat(auto-fill,minmax(176px,1fr))}
body.is-app .card:focus,body.is-app .card:hover{transform:none}
body.is-app .hero{flex:none;min-height:0;max-height:30%;margin-bottom:12px}
body.is-app .home-actions,body.is-app #searchGroups,body.is-app #favoriteGroups{flex:1;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
body.is-app .home-note{flex:none;margin-top:10px}
body.is-app #view[data-zone="details"]>.chip{flex:none;align-self:flex-start}
body.is-app #view[data-zone="details"] .media-detail{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}
body.is-app #view[data-zone="details"] #seasons{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}
body.is-app #view[data-zone="details"] .series-hero{max-height:38%;overflow-y:auto;min-height:0}
body.is-app .media-detail,body.is-app .series-hero,body.is-app .season{flex:none}
body.is-app .player-shell{min-height:0}body.is-app .player-shell video{display:block;width:100%;min-height:0;flex:1}
body.is-login .login-shell{height:100%;min-height:0;overflow:auto;padding:5vw;overscroll-behavior:contain;gap:5vw}
body.is-login .login-brand h1{font-size:clamp(2rem,5vw,4rem)}body.is-login .brand-mark{width:100px;height:100px}
body.is-login .login-card{padding:26px}body.is-login .login-card h2{margin:8px 0 18px}body.is-login .login-card label{margin:12px 0}body.is-login .login-card input{padding:13px}
@media(max-width:760px){
 body.is-app .app-shell{grid-template:62px minmax(0,1fr) 62px/minmax(0,1fr);grid-template-areas:"top" "content" "side"}
 body.is-app .app-shell{grid-template-rows:62px minmax(0,1fr) calc(62px + env(safe-area-inset-bottom))}
 body.is-app .topbar{padding:0 10px;gap:10px}body.is-app .brand{min-width:0}body.is-app .brand span,body.is-app .status-pill{display:none}body.is-app .global-search{padding:0 10px;max-width:none}body.is-app .global-search input{font-size:16px}body.is-app .mobile-only{display:block;flex:none}
 body.is-app .sidebar{grid-area:side;min-width:0;padding:4px 2px calc(4px + env(safe-area-inset-bottom));border:0;border-top:1px solid #34475b;overflow:hidden}
 body.is-app .sidebar nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;width:100%;min-width:0;gap:0}
 body.is-app .sidebar .nav-item{min-height:48px;min-width:0;width:100%;padding:4px 1px;font-size:16px;display:flex;flex-direction:column;gap:3px;justify-content:center;overflow:hidden}
 body.is-app .sidebar .nav-item span{font-size:clamp(9px,2.4vw,11px);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:100%}body.is-app .sidebar-bottom{display:none}
 body.is-app .sidebar.open .sidebar-bottom{position:fixed;top:62px;left:10px;z-index:65;display:grid;width:230px;background:#152431;border:1px solid #385168;padding:12px;border-radius:12px}
 body.is-app .sidebar.open .sidebar-bottom .nav-item{flex-direction:row;justify-content:start}body.is-app .sidebar.open .sidebar-bottom .nav-item span{font-size:14px}
 body.is-app .content{padding:12px 10px}body.is-app .section-head{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:10px}body.is-app .section-head h2{font-size:19px}body.is-app .section-head p,body.is-app .section-head .eyebrow{display:none}
 body.is-app .section-search{max-width:none;min-width:0}body.is-app .section-search input{font-size:16px;height:40px}
 body.is-app .catalog-layout{grid-template-columns:105px minmax(0,1fr);gap:6px}body.is-app .category-list{padding:8px;gap:4px}body.is-app .category-item{font-size:12px;padding:8px 5px;min-height:42px}
 body.is-app .catalog-results{padding:8px}body.is-app .grid,body.is-app .grid.channels{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}body.is-app .channel-logo{height:90px;padding:12px}body.is-app .channel-logo img{max-height:60px}
 body.is-app .card-title{font-size:12px}body.is-app .card-body{padding:8px}body.is-app .favorite-card{width:36px;height:36px;min-height:36px;right:4px;top:4px}
 body.is-app .home-actions{grid-template-columns:1fr}body.is-app .action-tile{min-height:125px;padding:20px}body.is-app .hero{min-height:170px;padding:20px}body.is-app .hero h1{font-size:2.1rem}body.is-app .hero-cactus{display:none}
 .home-note{flex-direction:column;align-items:start}body.is-app .media-detail{grid-template-columns:1fr;padding:16px}body.is-app .detail-poster{max-width:170px}body.is-app .series-hero{grid-template-columns:85px minmax(0,1fr)}body.is-app .series-hero img{width:85px}body.is-app .series-hero h2{font-size:22px}
 body.is-app .player-modal{padding:0}body.is-app .player-meta{padding:10px 58px 10px 10px}body.is-app .player-meta h2{font-size:16px}.player-controls{gap:6px;padding:8px}.player-controls .chip{font-size:12px;padding:8px;min-height:40px}.player-volume{font-size:12px}.player-message{padding:8px}
 body.is-login .login-shell{display:block;padding:18px}body.is-login .login-brand{display:none}body.is-login .login-card{max-width:520px;margin:0 auto;padding:22px}
}
@media(max-height:520px){body.is-app .app-shell{grid-template-rows:54px minmax(0,1fr)}body.is-app .content{padding:8px 12px}body.is-app .section-head{margin-bottom:8px}body.is-app .section-head h2{font-size:18px}body.is-app .section-head p,body.is-app .section-head .eyebrow{display:none}body.is-app .hero{display:none}.player-controls .chip{min-height:36px;padding:6px;font-size:12px}body.is-login .login-shell{display:block;padding:10px}body.is-login .login-brand{display:none}body.is-login .login-card{max-width:600px;margin:auto;padding:16px}}
@media(max-width:760px) and (max-height:520px){body.is-app .app-shell{grid-template-rows:54px minmax(0,1fr) calc(54px + env(safe-area-inset-bottom))}body.is-app .sidebar .nav-item{min-height:42px}body.is-app .section-head{flex-direction:row}body.is-app .section-search{max-width:60%}}


/* player-fullscreen.css */
/* Loaded last: override the app shell only while the player is fullscreen. */
.player-shell video{object-fit:contain}
.player-volume{display:flex;align-items:center;gap:8px;font-size:.85rem}
.player-volume input{width:90px}
#vodSeek{min-width:100px;flex:1}
.media-debug{white-space:pre-wrap;max-height:24vh;overflow:auto;font-size:11px}
.diagnostic-panel[hidden]{display:none}
.diagnostic-panel{position:absolute;inset:10% 5%;z-index:15;background:#101923;border:1px solid #69b3e7;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}
.diagnostic-panel textarea{flex:1;min-height:0;resize:none;color:#f4f7fa;background:#080d13;font:12px/1.5 monospace;user-select:text;padding:12px}
/* Separate rules keep webkit selector parsing compatible with older TVs. */
.is-app .player-shell:fullscreen,.player-shell:fullscreen{position:fixed;inset:0;margin:0;padding:0;width:100vw;height:100vh;width:100dvw;height:100dvh;max-width:none;max-height:none;min-width:0;display:block;background:#000;overflow:hidden;border-radius:0}
.is-app .player-shell:-webkit-full-screen,.player-shell:-webkit-full-screen{position:fixed;inset:0;margin:0;padding:0;width:100vw;height:100vh;max-width:none;max-height:none;display:block;background:#000;overflow:hidden;border-radius:0}
.player-shell:fullscreen video{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;min-height:0;aspect-ratio:auto;object-fit:contain;border-radius:0}
.player-shell:-webkit-full-screen video{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:0}
.player-shell:fullscreen .player-meta,.player-shell:-webkit-full-screen .player-meta{position:absolute;z-index:3;top:0;left:0;right:0;padding:calc(20px + env(safe-area-inset-top)) 90px 40px calc(24px + env(safe-area-inset-left));background:linear-gradient(#000c,transparent);pointer-events:none}
.player-shell:fullscreen .close-player,.player-shell:-webkit-full-screen .close-player{top:calc(16px + env(safe-area-inset-top));right:calc(20px + env(safe-area-inset-right));z-index:4}
.player-shell:fullscreen .player-controls,.player-shell:-webkit-full-screen .player-controls{position:absolute;z-index:4;left:0;right:0;bottom:0;padding:45px calc(24px + env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));background:linear-gradient(transparent,#000d);margin:0}
.player-shell:fullscreen .player-message,.player-shell:-webkit-full-screen .player-message{position:absolute;z-index:5;top:50%;left:10%;right:10%;text-align:center;background:#000a;border-radius:12px;padding:12px;color:#fff}
.player-message:empty{visibility:hidden;pointer-events:none}
.player-shell:fullscreen .media-debug,.player-shell:-webkit-full-screen .media-debug{position:absolute;top:110px;left:24px;right:24px;max-height:40vh;z-index:5;background:#000b;padding:8px;pointer-events:none}
.player-shell.overlay-hidden{cursor:none}
.player-shell.overlay-hidden .player-meta,.player-shell.overlay-hidden .close-player,.player-shell.overlay-hidden .player-controls,.player-shell.overlay-hidden .media-debug{opacity:0;visibility:hidden;pointer-events:none}
.player-meta,.close-player,.player-controls,.media-debug{transition:opacity .15s}
@media(max-width:700px){.player-shell:fullscreen .player-controls,.player-shell:-webkit-full-screen .player-controls{gap:6px;padding-left:10px;padding-right:10px}.player-shell:fullscreen .player-meta h2{font-size:1rem}.player-volume{font-size:.7rem}.player-volume input{width:55px}}


/* marksman-layout.css */
/* v0.5.3: live player is outside both scrollable lists. Panic Cactus palette retained. */
body[data-route="live"] #view{min-height:0}
body.is-app .live-screen{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden;gap:10px}
body.is-app .live-heading{margin:0 0 10px}
body.is-app .live-feature{display:flex;flex-direction:column;flex:none;min-width:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel)}
body.is-app .live-preview{position:relative;width:min(100%, 60vh, 760px);aspect-ratio:16/9;margin:0 auto;background:#000;display:flex;align-items:center;justify-content:center;min-width:0}
body.is-app .live-preview video{display:block;width:100%;height:100%;object-fit:contain;background:#000;flex:1;min-height:0}
body.is-app .live-badge{position:absolute;left:10px;top:10px;z-index:2;padding:5px 8px;background:#0b1016df;color:var(--sky);border-radius:7px;font-size:11px;font-weight:900;letter-spacing:.1em}
body.is-app .live-status{position:absolute;left:12px;right:12px;bottom:50px;z-index:2;pointer-events:none;text-align:center;background:#0b1016d9;border-radius:7px;color:#fff;font-size:12px;padding:3px}
body.is-app .live-status:empty{display:none}
body.is-app .live-preview-actions{position:absolute;bottom:8px;left:8px;right:8px;z-index:2;display:flex;gap:8px;justify-content:flex-end}
body.is-app .live-preview-actions .chip{font-size:12px;background:#0b1016e8;color:white;min-height:38px}
body.is-app .live-preview-actions .live-retry[hidden]{display:none}
body.is-app .live-info{padding:9px 16px;min-width:0;display:flex;align-items:center;gap:14px;justify-content:space-between}
body.is-app .live-info .eyebrow{font-size:10px;white-space:nowrap}
body.is-app .live-info h3{font-size:clamp(1rem,1.7vw,1.45rem);line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
body.is-app .live-actions{display:flex;align-items:center;gap:8px;flex:none}
body.is-app .live-actions .primary,body.is-app .live-actions .favorite-detail{min-height:42px;padding:8px 12px;font-size:13px}
body.is-app .live-section-search{width:100%;max-width:none;min-width:0;flex:none;margin:0}
body.is-app .live-catalog{flex:1;min-height:0;overflow:hidden;align-items:stretch}
body.is-app .live-catalog .category-list{height:100%;max-height:none;overflow-y:auto;padding:8px}
body.is-app .live-catalog .catalog-results{height:100%;min-height:0;overflow-y:auto;padding:8px}
body.is-app .live-list{display:grid;grid-template-columns:1fr;gap:7px;min-width:0}
body.is-app .live-row{display:grid;grid-template-columns:38px 55px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:62px;padding:7px 12px;background:#101923;border:1px solid var(--line);border-radius:11px;color:var(--ice);text-align:left;cursor:pointer}
body.is-app .live-row.selected,body.is-app .live-row:hover{border-color:var(--sky);background:#17334a}
body.is-app .live-row:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
body.is-app .live-row-icon{width:55px;height:42px;display:flex;align-items:center;justify-content:center;background:#0b1219;border-radius:6px;overflow:hidden}
body.is-app .live-row-icon img{max-width:100%;max-height:100%;object-fit:contain}
body.is-app .live-row-name{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.is-app .live-number{color:var(--sky);font-variant-numeric:tabular-nums}
body.is-app .category-item{border-bottom:1px solid #213342}
body.is-app .card-title{overflow-wrap:anywhere}
@media(max-width:760px){
 body[data-route="live"] #view{display:flex;flex-direction:column;min-height:0;overflow:hidden}
 body.is-app .live-screen{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;gap:6px;padding:0}
 body.is-app .live-heading{margin:0 0 5px}
 body.is-app .live-heading h2{margin:0;font-size:18px}
 body.is-app .live-feature{flex:none;margin:0}
 body.is-app .live-preview{width:min(100%,44vh);max-width:none;aspect-ratio:16/9}
 body.is-app .live-info{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;padding:5px 8px}
 body.is-app .live-info .eyebrow{display:none}
 body.is-app .live-info h3{font-size:13px}
 body.is-app .live-actions{gap:5px}
 body.is-app .live-actions .primary{font-size:11px;padding:6px 8px;min-height:38px}
 body.is-app .live-actions .favorite-detail{font-size:15px;min-height:38px;padding:5px 9px}
 body.is-app .live-actions .favorite-detail:after{content:none}
 body.is-app .live-section-search{display:flex;margin:0}
 body.is-app .live-section-search input{height:36px}
 body.is-app .live-catalog{display:grid;grid-template-columns:105px minmax(0,1fr);gap:6px;flex:1;min-height:0;height:auto;overflow:hidden}
 body.is-app .live-catalog .category-panel{min-height:0}
 body.is-app .live-catalog .category-list{display:flex;flex-direction:column;max-height:none;min-height:0;overflow-y:auto}
 body.is-app .live-catalog .catalog-results{padding:8px;overflow-y:auto}
 body.is-app .live-catalog .category-toggle{display:none}
 body.is-app .live-row{grid-template-columns:23px 34px minmax(0,1fr) 10px;gap:4px;padding:4px;min-height:44px;font-size:11px}
 body.is-app .live-row-icon{width:34px;height:30px}
}
@media(max-width:390px){body.is-app .live-catalog{grid-template-columns:94px minmax(0,1fr);gap:5px}body.is-app .live-catalog .category-list{padding:4px}body.is-app .live-catalog .category-item{font-size:11px;padding:7px 4px}body.is-app .grid:not(.live-list){grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:7px}body.is-app .card-title{font-size:11px}}
@media(max-width:760px) and (max-height:590px){body.is-app .live-preview{width:min(100%,38vh)}body.is-app .live-heading{margin:0 0 3px}body.is-app .live-heading h2{font-size:16px}body.is-app .live-info{padding:3px 6px}body.is-app .live-actions .primary,body.is-app .live-actions .favorite-detail{min-height:34px}body.is-app .live-catalog .category-item{min-height:38px}}
@media(max-height:400px){body.is-app .live-heading{display:none}body.is-app .live-preview{width:min(100%,30vh)}body.is-app .live-screen{gap:4px}body.is-app .live-section-search input{height:32px}body.is-app .live-row{min-height:38px}}

/* R10 - Desktop/Smart TV: catálogo à esquerda, player à direita */
@media (min-width: 761px) {
  body.is-app .live-screen {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    gap: 12px 16px;
    align-items: start;
  }

  body.is-app .live-section-search {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    align-self: stretch;
  }

  body.is-app .live-catalog {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(120px, 32%) minmax(0, 1fr);
    gap: 10px;
  }

  body.is-app .live-feature {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: start;
    width: 100%;
    min-width: 0;
  }

  body.is-app .live-preview {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  body.is-app .live-info {
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 12px;
  }

  body.is-app .live-info h3 {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body.is-app .live-catalog .category-list,
  body.is-app .live-catalog .catalog-results {
    min-height: 0;
    overflow-y: auto;
  }

  /* Cards compactos da página inicial */
  body.is-app .home-actions {
    gap: 10px;
  }

  body.is-app .action-tile {
    min-height: 100px;
    padding: 12px 16px;
  }

  body.is-app .hero {
    max-height: 23%;
    margin-bottom: 8px;
  }
}

/* Barras de rolagem discretas */
body.is-app .category-list,
body.is-app .catalog-results,
body.is-app .home-actions,
body.is-app #searchGroups,
body.is-app #favoriteGroups,
body.is-app .sidebar,
body.is-app .media-detail,
body.is-app #seasons {
  scrollbar-width: thin;
  scrollbar-color: #397eae #142333;
}

body.is-app .category-list::-webkit-scrollbar,
body.is-app .catalog-results::-webkit-scrollbar,
body.is-app .home-actions::-webkit-scrollbar,
body.is-app #searchGroups::-webkit-scrollbar,
body.is-app #favoriteGroups::-webkit-scrollbar,
body.is-app .sidebar::-webkit-scrollbar,
body.is-app .media-detail::-webkit-scrollbar,
body.is-app #seasons::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

body.is-app .category-list::-webkit-scrollbar-track,
body.is-app .catalog-results::-webkit-scrollbar-track,
body.is-app .home-actions::-webkit-scrollbar-track,
body.is-app #searchGroups::-webkit-scrollbar-track,
body.is-app #favoriteGroups::-webkit-scrollbar-track,
body.is-app .sidebar::-webkit-scrollbar-track,
body.is-app .media-detail::-webkit-scrollbar-track,
body.is-app #seasons::-webkit-scrollbar-track {
  background: #142333;
  border-radius: 10px;
}

body.is-app .category-list::-webkit-scrollbar-thumb,
body.is-app .catalog-results::-webkit-scrollbar-thumb,
body.is-app .home-actions::-webkit-scrollbar-thumb,
body.is-app #searchGroups::-webkit-scrollbar-thumb,
body.is-app #favoriteGroups::-webkit-scrollbar-thumb,
body.is-app .sidebar::-webkit-scrollbar-thumb,
body.is-app .media-detail::-webkit-scrollbar-thumb,
body.is-app #seasons::-webkit-scrollbar-thumb {
  background: #397eae;
  border-radius: 10px;
}

body.is-app .category-list::-webkit-scrollbar-thumb:hover,
body.is-app .catalog-results::-webkit-scrollbar-thumb:hover {
  background: #59aee5;
}

/* R10.1 - Correções visuais desktop e Smart TV */
@media (min-width: 761px) {
  body.is-app .live-info {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 12px;
  }

  body.is-app .live-info .eyebrow {
    white-space: normal;
  }

  body.is-app .live-info h3 {
    width: 100%;
    font-size: clamp(15px, 1.5vw, 21px);
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: break-word;
  }

  body.is-app .live-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
  }

  body.is-app .hero {
    height: auto;
    min-height: 110px;
    max-height: 23%;
    overflow: hidden;
    padding: 12px 24px;
  }

  body.is-app .hero h1 {
    font-size: clamp(24px, 3vw, 40px);
    line-height: 1.08;
    margin: 0;
  }
}

