/* Deliberately unlayered, plain CSS: the essential TV UI must not rely on Tailwind 4. */
.tv-mode { box-sizing: border-box; background: #10091c; color: #f8fafc; font: 20px/1.5 Arial, sans-serif; min-height: 100vh; padding: 24px; max-width: 1100px; margin: 0 auto; }
.tv-mode * { box-sizing: border-box; animation: none !important; transition: none !important; }
.tv-mode h1 { font-size: 32px; margin: 0 0 16px; }
.tv-mode h2, .tv-mode h3 { font-size: 26px; margin: 16px 0; }
.tv-mode p { color: #e2e8f0; margin: 10px 0; }
.tv-mode section { display: block; width: 100%; padding: 20px 0; }
.tv-mode .absolute { display: none; }
.tv-mode .glass, .tv-mode [aria-label="Voice calls"] { display: block; border: 1px solid #64748b; background: #171125; border-radius: 12px; padding: 18px; margin: 16px 0; }
.tv-mode form { display: block; margin: 20px 0; }
.tv-mode label { display: block; margin: 12px 0; }
.tv-mode button, .tv-mode input, .tv-mode select { font: inherit; color: #fff; background: #302040; border: 2px solid #a78bfa; border-radius: 8px; padding: 12px 16px; margin: 6px; min-height: 48px; max-width: 100%; }
.tv-mode input { display: block; width: 95%; background: #1e172b; }
.tv-mode select { min-width: 130px; }
.tv-mode button { display: inline-block; cursor: pointer; }
.tv-mode button:disabled { opacity: 0.5; cursor: default; }
.tv-mode :focus { outline: 4px solid #facc15 !important; outline-offset: 3px; }
.tv-mode svg { display: inline-block; vertical-align: middle; }
.tv-mode [role="alert"] { color: #fda4af; }
.tv-mode [data-chat-messages] { height: 360px; overflow-y: auto; border: 1px solid #64748b; background: #100b19; padding: 16px; margin: 16px 0; }
.tv-mode [data-chat-messages] > div { border: 1px solid #65547c; padding: 12px; margin: 12px 0; border-radius: 8px; overflow-wrap: break-word; }