/* tv-panel */ .hud-panel-tv { top: calc(96px * var(--hud-scale)); right: calc(92px * var(--hud-scale)); width: min(calc(460px * var(--hud-scale)), calc(100vw - 32px)); min-width: calc(360px * var(--hud-scale)); min-height: calc(340px * var(--hud-scale)); padding: calc(18px * var(--hud-scale)); display: flex; flex-direction: column; gap: var(--hud-gap-sm); z-index: 18; } .tv-panel-header-copy { display: grid; gap: calc(3px * var(--hud-scale)); } .tv-panel-status { color: var(--hud-text-soft); font-size: calc(0.68rem * var(--hud-scale)); letter-spacing: 0.08em; text-transform: uppercase; } .tv-panel-controls { display: flex; gap: var(--hud-gap-sm); align-items: center; min-width: 0; } .tv-panel-select { flex: 1 1 auto; min-width: 0; appearance: none; -webkit-appearance: none; color-scheme: dark; border: 1px solid rgba(201, 225, 247, 0.14); border-radius: calc(12px * var(--hud-scale)); background: rgba(255, 255, 255, 0.04); color: var(--hud-text); padding: calc(10px * var(--hud-scale)) calc(12px * var(--hud-scale)); font-size: calc(0.84rem * var(--hud-scale)); } .tv-panel-select option, .tv-panel-select optgroup { background: #0a1422; color: #eef5fc; } .tv-panel-actions { display: flex; gap: var(--hud-gap-xs); } .tv-panel-action { border: 1px solid rgba(201, 225, 247, 0.12); border-radius: calc(12px * var(--hud-scale)); background: rgba(255, 255, 255, 0.05); color: var(--hud-text); padding: calc(10px * var(--hud-scale)) calc(12px * var(--hud-scale)); display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; font-size: calc(0.84rem * var(--hud-scale)); line-height: 1; cursor: pointer; transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease; } .tv-panel-action:hover:not(:disabled) { background: rgba(255, 255, 255, 0.08); border-color: rgba(225, 239, 255, 0.2); color: var(--hud-accent-strong); } .tv-panel-action:disabled { opacity: 0.45; cursor: not-allowed; } .tv-panel-meta { display: grid; gap: calc(4px * var(--hud-scale)); } .tv-panel-title { color: var(--hud-text); font-size: calc(0.96rem * var(--hud-scale)); font-weight: 600; } .tv-panel-subtitle { color: var(--hud-text-muted); font-size: calc(0.74rem * var(--hud-scale)); line-height: 1.35; } .tv-panel-notes { color: var(--hud-text-soft); font-size: calc(0.68rem * var(--hud-scale)); line-height: 1.45; } .tv-panel-catalog { color: var(--hud-text-soft); font-size: calc(0.66rem * var(--hud-scale)); letter-spacing: 0.04em; text-transform: uppercase; } .tv-panel-player { position: relative; flex: 1 1 auto; min-height: calc(220px * var(--hud-scale)); border-radius: calc(16px * var(--hud-scale)); overflow: hidden; border: 1px solid rgba(201, 225, 247, 0.1); background: linear-gradient(180deg, rgba(9, 18, 32, 0.94), rgba(5, 11, 22, 0.94)); } .tv-panel-empty, .tv-panel-iframe, .tv-panel-video { position: absolute; inset: 0; width: 100%; height: 100%; } .tv-panel-empty { display: grid; place-items: center; padding: calc(18px * var(--hud-scale)); text-align: center; color: var(--hud-text-muted); font-size: calc(0.84rem * var(--hud-scale)); line-height: 1.5; } .tv-panel-iframe, .tv-panel-video { border: 0; background: #050a14; } .tv-panel-resize-handle { position: absolute; right: calc(8px * var(--hud-scale)); bottom: calc(8px * var(--hud-scale)); width: calc(18px * var(--hud-scale)); height: calc(18px * var(--hud-scale)); border: 0; padding: 0; background: transparent; cursor: nwse-resize; z-index: 2; } .tv-panel-resize-handle::before { content: ""; position: absolute; inset: 0; border-right: 2px solid rgba(223, 235, 248, 0.46); border-bottom: 2px solid rgba(223, 235, 248, 0.46); border-bottom-right-radius: calc(10px * var(--hud-scale)); opacity: 0.78; transition: opacity 0.18s ease, border-color 0.18s ease; } .tv-panel-resize-handle:hover::before { opacity: 1; border-color: rgba(244, 249, 255, 0.78); } .hud-panel-tv.is-resizing { transition: none !important; user-select: none; } .earth-app.layout-expanded .hud-panel-tv { top: calc(50% + 12px); left: 50%; right: auto; width: min(calc(760px * var(--hud-scale)), calc(100vw - 48px)); min-height: calc(410px * var(--hud-scale)); transform: translateX(-50%); } @media (max-width: 900px) { .hud-panel-tv { left: 16px; right: 16px; top: auto; bottom: 16px; width: auto; min-width: 0; min-height: min(48vh, 360px); } .tv-panel-controls { flex-wrap: wrap; } .tv-panel-actions { width: 100%; } .tv-panel-action { flex: 1 1 0; } .tv-panel-resize-handle { display: none; } }