
/* Playersim TV - otimizações para Smart TV / Media Station X */
html, body { min-height: 100%; }
body.tv-mode { background:#05070d; }

/* Foco grande e visível para controle remoto */
body.tv-mode a:focus,
body.tv-mode button:focus,
body.tv-mode input:focus,
body.tv-mode select:focus,
body.tv-mode textarea:focus,
body.tv-mode [tabindex]:focus,
body.tv-mode .poster-card.tv-focused,
body.tv-mode .streaming-card.tv-focused,
body.tv-mode .ch-cat-item.tv-focused,
body.tv-mode .ch-ch-item.tv-focused,
body.tv-mode .cat-item.tv-focused,
body.tv-mode .anime-side-item.tv-focused {
    outline: 4px solid #fff !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 7px rgba(0,64,240,.55), 0 10px 30px rgba(0,0,0,.55) !important;
    transform: scale(1.035) !important;
    position: relative;
    z-index: 30;
}

/* Em TV, hover não é referência. O foco é. */
body.tv-mode .poster-card:focus,
body.tv-mode .streaming-card:focus,
body.tv-mode .ch-cat-item:focus,
body.tv-mode .ch-ch-item:focus { color:#fff; }

/* Login: remove os efeitos que pesam muito em GPU de Smart TV */
body.tv-mode.auth-body {
    overflow: hidden !important;
    background:
      radial-gradient(100% 110% at 15% 10%, rgba(0,64,240,.20), transparent 52%),
      radial-gradient(80% 100% at 100% 100%, rgba(124,58,237,.12), transparent 58%),
      #05070d !important;
}
body.tv-mode .fx-bg,
body.tv-mode .fx-grid,
body.tv-mode .fx-sweep,
body.tv-mode .fx-vignette,
body.tv-mode .fx-rocket,
body.tv-mode .fx-hero { display:none !important; }
body.tv-mode.auth-body *,
body.tv-mode .app-header,
body.tv-mode .app-shell--premium {
    animation:none !important;
}
body.tv-mode .login-box,
body.tv-mode .auth-copy,
body.tv-mode .auth-feature,
body.tv-mode .app-header,
body.tv-mode .hd-drawer,
body.tv-mode .app-footer {
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}
body.tv-mode .auth-layout {
    min-height:100vh;
    width:min(1180px,94vw);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(420px,1.15fr) minmax(390px,.85fr);
    align-items:center;
    gap:64px;
    padding:42px 24px;
}
body.tv-mode .premium-box {
    background:rgba(12,16,29,.97) !important;
    border:1px solid rgba(255,255,255,.13) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.52) !important;
}
body.tv-mode .login-box input[type=text],
body.tv-mode .login-box input[type=password],
body.tv-mode .login-box input[type=search] {
    min-height:58px;
    font-size:20px;
    padding:14px 18px;
}
body.tv-mode .login-box label { font-size:13px; }
body.tv-mode .login-box .btn-primary {
    min-height:58px;
    font-size:18px !important;
}
body.tv-mode .login-box h2 { font-size:30px; }
body.tv-mode .login-sub { font-size:16px; }

/* Header e cards um pouco maiores em 10-foot UI */
body.tv-mode .app-header { height:72px; padding:0 30px; background:#070910; }
body.tv-mode .hd-nav a { font-size:15px; padding:10px 16px; }
body.tv-mode .app-shell--premium { min-height:calc(100vh - 72px); padding:22px 28px; }
body.tv-mode .poster-card h3 { font-size:15px; }

/* Evita microtransições pesadas em listas grandes */
body.tv-mode .poster-card,
body.tv-mode .streaming-card,
body.tv-mode .ch-cat-item,
body.tv-mode .ch-ch-item,
body.tv-mode .cat-item,
body.tv-mode button,
body.tv-mode a { transition-duration:.08s !important; }

/* TV 720p / viewport menor */
@media (max-width: 1100px) {
    body.tv-mode .auth-layout { grid-template-columns:1fr; width:min(620px,92vw); gap:20px; }
    body.tv-mode .auth-copy { display:none !important; }
    body.tv-mode.auth-body { overflow:auto !important; }
}
