/* Cinema player: a compact control strip and one responsive viewing surface. */
.lfp-player-shell {
    --lfp-green:var(--brand,#7ac943);
    --lfp-ink:#f5f5f0;
    width:100%;min-width:0;margin:24px 0;padding:12px;
    border-radius:16px;background:#050505;color:var(--lfp-ink);box-sizing:border-box;
}
.lfp-tabs {display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid #ffffff1a}
.lfp-tabs[hidden] {display:none}
.lfp-tab {
    appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;
    min-width:0;min-height:44px;padding:10px 16px;border:1px solid #ffffff26;border-radius:8px;
    background:transparent;color:#c5c9c2;font-family:inherit;font-size:14px;font-weight:600;line-height:1.25;
    cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.lfp-tab:hover {background:#ffffff0a;color:#fff;border-color:#ffffff48}
.lfp-tab.is-active {background:var(--lfp-green);color:#14220c;border-color:var(--lfp-green)}
.lfp-tab:focus-visible {outline:2px solid #fff;outline-offset:3px}
.lfp-play-icon {flex:0 0 auto;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor}
.lfp-stage,.lfp-panel {width:100%;min-width:0;background:#000}
.lfp-stage {border-radius:8px;overflow:hidden}
.lfp-panel[hidden] {display:none}
.lfp-frame-wrap {
    position:relative;width:100%;min-width:0;aspect-ratio:16/9;margin-inline:auto;
}
.lfp-frame,.lfp-vibix-wrap,.lfp-vibix-player {position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;border:0;background:#000}
/* Collaps can retain a 1px diagnostic border after an early SDK error.
   Clip only that decorative edge; playback controls and error text stay visible. */
.lfp-panel[data-lfp-provider="collaps"] .lfp-frame {clip-path:inset(1px)}
.lfp-vibix-wrap iframe {display:block;width:100%;height:100%;border:0}
.lfp-load-status,.lfp-recovery {margin:12px 0 0;color:#d5d9d1;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.lfp-load-status[hidden] {display:none}
.lfp-recovery summary {display:list-item;cursor:pointer;min-height:44px;padding:10px 4px;box-sizing:border-box;font-weight:600;color:#c5c9c2}
.lfp-recovery p {margin:0 0 12px;color:#c5c9c2}
.lfp-recovery-actions {display:flex;gap:8px;flex-wrap:wrap}
.lfp-recovery-actions button {appearance:none;min-height:44px;max-width:100%;padding:10px 14px;border:1px solid #ffffff32;border-radius:8px;background:#141711;color:#f5f5f0;font:inherit;cursor:pointer;white-space:normal}
.lfp-recovery-actions button[hidden] {display:none}
.lfp-recovery-actions button:hover {border-color:var(--lfp-green);background:#20281a}
.lfp-recovery-actions button:disabled {opacity:.6;cursor:wait}
.lfp-recovery summary:focus-visible,.lfp-recovery-actions button:focus-visible {outline:2px solid #fff;outline-offset:3px}
@media(max-width:680px) {
    .lfp-player-shell {padding:8px;border-radius:12px}
    .lfp-tabs {gap:8px;margin-bottom:8px;padding-bottom:8px}
    .lfp-tab {flex:1 1 0;padding:10px 8px;font-size:13px}
}
@media(prefers-reduced-motion:reduce) {.lfp-tab {transition:none}}
