/* Functional states only. Existing composition, colours and framing stay in their stylesheets. */
.tv-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.tv-playback-status{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:8;max-width:90%;padding:6px 11px;border-radius:4px;background:#080809db;color:#fff;font-family:inherit;font-weight:500;font-size:12px;line-height:1.4;white-space:nowrap;pointer-events:none}
.tv-playback-status[hidden]{display:none}
.tv-resume{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:4px 8px;background:#080809db;border-radius:4px;z-index:2;font-size:12px;white-space:nowrap;color:#fff}
.scene-source{margin:0 0 7px;color:#aaa;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.scene-source a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.scene-source a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.tv-recovery-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.tv-recovery-actions button{min-height:44px}
.tv-unavailable{box-sizing:border-box;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:80px 24px;gap:16px;color:#fff}
.tv-unavailable p{max-width:30ch;color:#aaa;font-size:14px}
.player-area .sjr-native-loading{pointer-events:none}

.tv-unavailable .inline-retry{min-height:44px;padding:10px 16px;color:inherit;background:#222;border:1px solid #555;border-radius:8px;cursor:pointer;font:inherit}
