/* Cinema stage first; a compact conversation rail turns into a mobile conversation sheet. */
.sparta-party .watch-episodes>summary{cursor:pointer;min-height:44px;padding:10px 2px;color:#c6d7ef;font-size:14px;list-style-position:inside}.sparta-party .watch-episodes>summary:focus-visible{outline:3px solid #8edceb;outline-offset:3px}.sparta-party .watch-episodes[open]>summary{margin-bottom:12px}
.sp-room-chat-jump{color:#8edceb!important;flex:none}.sp-room-video-chat{border:1px solid #91d7e3;background:#152839;color:#f3f8ff;border-radius:8px;padding:9px 12px;min-height:40px;cursor:pointer;font:inherit;font-size:12px;pointer-events:auto}
@media(max-width:720px){.sparta-party .sp-room-title{flex-basis:auto}.sp-room-chat-jump{padding:10px!important;font-size:12px!important}}
.sparta-party{--sp-bg:#0c1020;--sp-panel:#141a30;--sp-line:#2d3653;--sp-ink:#f2f5ff;--sp-muted:#b5bed4;--sp-coral:#ff967e;--sp-cyan:#8edceb;box-sizing:border-box;background:var(--sp-bg);color:var(--sp-ink);min-height:100dvh;padding:0 max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));font-family:inherit;overflow-wrap:anywhere}
.sparta-party *{box-sizing:border-box}.sparta-party button,.sparta-party input{font:inherit}.sparta-party button{touch-action:manipulation;cursor:pointer;color:inherit;border:1px solid var(--sp-line);background:#1c2540;border-radius:10px;min-height:44px;padding:10px 14px;font-weight:600;font-size:13px}.sparta-party button:disabled{opacity:.45;cursor:default}.sparta-party :is(button,input):focus-visible{outline:3px solid var(--sp-cyan);outline-offset:3px}.sparta-party input{color:var(--sp-ink);background:#0e1427;border:1px solid var(--sp-line);border-radius:9px;min-width:0;min-height:46px;padding:11px 12px;font-size:14px}.sparta-party input::placeholder{color:var(--sp-muted)}
.sp-room-header{display:flex;gap:16px;align-items:center;max-width:1680px;margin:auto;padding:20px 0 22px}.sp-room-back{font-size:30px!important;line-height:1;padding:0!important;width:44px;flex:none;background:transparent!important}.sp-room-title{flex:1;min-width:0}.sp-room-title>span{font-size:12px;font-weight:700;color:var(--sp-coral)}.sp-room-title h1{font-size:clamp(18px,2.5vw,27px);font-weight:700;line-height:1.22;margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.025em}.sp-room-status{font-size:12px;color:var(--sp-muted);display:flex;align-items:center;gap:8px;white-space:nowrap}.sp-room-status:before{content:'';width:7px;height:7px;border-radius:50%;background:#d0a45a;flex:none}.sp-room-status[data-connected=true]:before{background:var(--sp-cyan)}.sp-room-invite{background:var(--sp-coral)!important;color:#211721!important;border-color:var(--sp-coral)!important;flex:none}
.sp-room-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start;max-width:1680px;margin:auto}.sp-room-stage{min-width:0;background:#060911;border:1px solid #242c42;border-radius:15px;overflow:hidden}.sparta-party .party-watch{background:#060911;min-height:0;padding-bottom:0}.sparta-party .video-player-shell{width:100%;max-width:none;min-width:0}.sparta-party .video-player-wrap:not([data-css-fullscreen=true]):not([data-landscape-fullscreen=true]){width:100%;max-width:100%;min-height:0}.sparta-party .watch-tools,.sparta-party .watch-episodes{padding:16px}.sparta-party .watch-episode-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.sp-room-stage-footer{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border-top:1px solid #242c42;color:var(--sp-muted);font-size:11px;line-height:1.5}.sp-room-stage-footer>span:last-child{color:var(--sp-cyan)}.sp-room-waiting{display:flex;min-height:360px;align-items:center;justify-content:center;flex-direction:column;padding:35px;text-align:center}.sp-room-waiting>span{color:var(--sp-coral);font-size:44px}.sp-room-waiting h2{font-size:22px;margin:16px 0 10px}.sp-room-waiting p{font-size:14px;color:var(--sp-muted);max-width:35ch;line-height:1.6}.sp-room-play-gate{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:#222a43;font-size:13px}.sp-room-play-gate button{background:var(--sp-cyan);color:#0c1828;border-color:var(--sp-cyan)}
.sp-room-social{background:var(--sp-panel);border:1px solid var(--sp-line);border-radius:15px;display:flex;flex-direction:column;min-width:0;height:min(690px,calc(100dvh - 128px));min-height:400px;position:sticky;top:16px;overflow:hidden}.sp-room-social-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:20px 18px 16px}.sp-room-social-heading h2{font-size:19px;letter-spacing:-.02em;margin:0 0 5px}.sp-room-social-heading span{color:var(--sp-muted);font-size:12px}.sp-room-code{background:#202b48!important;color:var(--sp-cyan)!important;letter-spacing:.07em;font-size:12px!important;max-width:130px;overflow:hidden;text-overflow:ellipsis}.sp-room-tabs{display:flex;gap:4px;border-bottom:1px solid var(--sp-line);padding:0 12px}.sp-room-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;flex:1;font-weight:500;color:var(--sp-muted);padding:12px 7px}.sp-room-tabs button[aria-selected=true]{color:var(--sp-ink);border-bottom-color:var(--sp-coral)}.sp-room-tab-body{flex:1;min-height:0;overflow:auto}.sp-room-chat{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:15px;scrollbar-color:#46516f transparent}.sp-room-message{padding:0 0 0 11px;border-left:2px solid #384361;flex:none}.sp-room-message[data-own=true]{border-left-color:var(--sp-cyan)}.sp-room-message strong{font-weight:600;font-size:11px;color:var(--sp-cyan)}.sp-room-message p{font-size:13px;line-height:1.6;margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.sp-room-empty{margin:auto;text-align:center;padding:20px 5px;max-width:27ch;color:var(--sp-muted)}.sp-room-empty strong{display:block;color:var(--sp-ink);font-size:15px;font-weight:600;margin-bottom:9px}.sp-room-empty p{font-size:13px;line-height:1.6;margin:0}.sp-room-composer{display:flex;gap:8px;padding:14px 12px;border-top:1px solid var(--sp-line);flex:none}.sp-room-composer input{width:100%;flex:1}.sp-room-composer button{background:var(--sp-coral);color:#211721;border-color:var(--sp-coral);padding:10px 11px;font-size:12px}
.sp-room-members{list-style:none;padding:16px;margin:0;display:flex;flex-direction:column;gap:14px}.sp-room-members li{display:flex;align-items:center;gap:10px;font-size:13px;min-width:0}.sp-room-members li>span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.sp-room-members small{color:var(--sp-coral);font-size:11px}.sp-room-avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#293454;color:#d8e8ff;font-size:11px;font-weight:600;flex:none}.sp-room-invitation{padding:20px 16px;display:flex;flex-direction:column;gap:12px}.sp-room-invitation h3{font-size:17px;margin:0}.sp-room-invitation p{font-size:13px;color:var(--sp-muted);line-height:1.6;margin:0 0 8px}.sp-room-invitation label{font-size:12px;color:var(--sp-muted)}.sp-room-invitation input{width:100%;font-size:12px}.sp-room-invitation button{background:var(--sp-cyan);color:#0c1828;border-color:var(--sp-cyan)}.sp-room-notice,.sp-room-warning{display:flex;align-items:center;gap:12px;justify-content:space-between;max-width:1680px;margin:0 auto 16px;padding:12px 15px;border:1px solid #46536f;background:#202a42;border-radius:10px;font-size:13px;line-height:1.6}.sp-room-notice button{border:0;background:none;padding:0;min-height:28px;width:28px;font-size:21px;flex:none}.sp-room-warning{border-color:#987656;color:#ffe0b1}.sp-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1550px){.sp-room-grid{grid-template-columns:minmax(0,1fr) 370px}}
@media(max-width:980px){.sp-room-grid{grid-template-columns:minmax(0,1fr) 285px;gap:12px}.sp-room-header{gap:10px}.sp-room-social-heading{padding:16px 12px}.sp-room-code{padding:8px;font-size:10px!important}.sp-room-status{font-size:11px}.sp-room-title h1{font-size:21px}.sp-room-composer{gap:6px;padding:10px}.sp-room-composer button{padding:9px}}
@media(max-width:720px){.sparta-party{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom))}.sp-room-header{flex-wrap:wrap;padding:13px 0 15px;gap:10px}.sp-room-title{flex-basis:calc(100% - 160px)}.sp-room-title h1{font-size:19px}.sp-room-status{order:4;flex-basis:100%;padding-left:54px;font-size:11px}.sp-room-invite{font-size:12px!important;padding:10px 12px!important}.sp-room-grid{grid-template-columns:minmax(0,1fr);gap:14px}.sp-room-stage{border-radius:11px}.sp-room-social{position:static;height:420px;min-height:340px;border-radius:11px}.sp-room-social-heading{padding:14px 14px 10px}.sp-room-social-heading h2{font-size:17px}.sp-room-tabs button{padding:10px 7px}.sp-room-stage-footer{flex-direction:column;gap:4px;padding:11px 13px}.sparta-party .watch-tools,.sparta-party .watch-episodes{padding:13px 10px}.sparta-party .watch-episode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-room-waiting{min-height:220px;padding:25px 15px}.sp-room-waiting h2{font-size:19px}.sp-room-composer{padding:12px}.sp-room-composer input{font-size:16px}.sp-room-invitation input{font-size:16px}.sp-room-play-gate{flex-direction:column;align-items:stretch;text-align:center}}
@media(orientation:landscape) and (max-height:600px){.sparta-party{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.sp-room-header{padding:8px 0;flex-wrap:nowrap}.sp-room-title{flex-basis:auto}.sp-room-title>span{display:none}.sp-room-title h1{font-size:17px;margin:0}.sp-room-status{order:0;flex-basis:auto;padding:0;font-size:10px}.sp-room-back{min-height:36px!important;height:36px!important;width:36px}.sp-room-invite{min-height:36px!important;padding:6px 10px!important}.sp-room-grid{grid-template-columns:minmax(0,1fr) 250px;gap:10px}.sp-room-social{position:sticky;top:8px;height:calc(100dvh - 69px);min-height:250px}.sp-room-social-heading{padding:10px}.sp-room-social-heading h2{font-size:14px}.sp-room-social-heading span{font-size:10px}.sp-room-code{min-height:32px!important}.sp-room-tabs button{min-height:34px;padding:7px 4px;font-size:11px}.sp-room-composer{padding:8px;gap:5px}.sp-room-composer input{min-height:38px;font-size:16px;padding:8px}.sp-room-composer button{min-height:38px;font-size:10px;padding:6px}.sp-room-chat{padding:10px;gap:10px}.sp-room-message p{font-size:12px}.sp-room-stage-footer{font-size:10px}.sp-room-waiting{min-height:220px}}
@media(orientation:landscape) and (max-height:450px) and (max-width:740px){.sp-room-grid{grid-template-columns:minmax(0,1fr)}.sp-room-social{position:static;height:300px}.sp-room-status{display:none}}
@media(prefers-reduced-motion:reduce){.sparta-party *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Explicit visibility wins over touch-generated hover and pointer focus. */
.video-container[data-controls-visible="false"] :is(.player-topbar,.controls-overlay){opacity:0!important;pointer-events:none!important;transform:translateY(0)!important}
.video-container[data-controls-visible="true"] :is(.player-topbar,.controls-overlay){opacity:1!important;pointer-events:auto!important;transform:translateY(0)!important}
.video-container :is(.player-topbar,.controls-overlay){transition:opacity .22s ease!important}
.video-container[data-css-fullscreen="true"] .video-el,body.sparta-pseudo-landscape .video-container[data-css-fullscreen="true"] .video-el{object-fit:contain!important}
.video-container[data-css-fullscreen="true"] .player-topbar{padding-top:max(12px,env(safe-area-inset-top))!important;padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:max(16px,env(safe-area-inset-right))!important}
.video-container[data-css-fullscreen="true"] .controls-overlay{padding-bottom:max(14px,env(safe-area-inset-bottom))!important;padding-left:max(18px,env(safe-area-inset-left))!important;padding-right:max(18px,env(safe-area-inset-right))!important}
/* Portrait rooms dedicate the remaining screen to conversation, with no buried composer. */
@media(max-width:720px) and (orientation:portrait){
.sparta-party{height:var(--room-visible-height,100dvh);min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0 max(8px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
.sparta-party .sp-room-header{flex:none;flex-wrap:nowrap;width:100%;gap:6px;padding:8px 0;position:relative}
.sparta-party .sp-room-back{width:34px;height:40px;min-height:40px!important}
.sparta-party .sp-room-title{flex:1;min-width:0}.sparta-party .sp-room-title>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.sparta-party .sp-room-title h1{font-size:16px;margin-top:3px}
.sparta-party .sp-room-status{position:absolute;top:10px;right:0;font-size:0;padding:0;gap:0;min-width:8px}.sparta-party .sp-room-status:before{width:5px;height:5px}
.sparta-party .sp-room-header button:not(.sp-room-back){min-height:40px;font-size:11px!important;padding:8px!important;border-radius:8px}
.sparta-party .sp-room-grid{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;gap:8px}
.sparta-party .sp-room-stage{flex:none;width:100%;border-radius:10px;max-height:60%;overflow:auto;scrollbar-width:thin}
.sparta-party .party-watch{min-height:0}.sparta-party .video-container:not([data-css-fullscreen="true"]):not([data-landscape-fullscreen="true"]){aspect-ratio:16/9!important;min-height:0!important;height:auto!important;width:100%!important}
.sparta-party .watch-tools:empty{display:none}.sparta-party .watch-tools{padding:4px 8px}.sparta-party .watch-episodes{padding:0 10px}.sparta-party .watch-episodes>summary{padding:9px 0;min-height:36px;font-size:12px}
.sparta-party .watch-episodes[open]{max-height:210px;overflow:auto}.sparta-party .sp-room-stage-footer{display:none}
.sparta-party .sp-room-social{flex:1;min-height:130px;height:auto;width:100%;position:static;border-radius:10px;background:#10182b}
.sparta-party .sp-room-social-heading{padding:8px 12px;min-height:43px}.sparta-party .sp-room-social-heading h2{font-size:13px;margin:0 0 2px}.sparta-party .sp-room-social-heading span{font-size:10px}.sparta-party .sp-room-code{min-height:30px;padding:6px 9px;font-size:10px!important}
.sparta-party .sp-room-tabs{padding:0 8px}.sparta-party .sp-room-tabs button{padding:7px 5px;min-height:35px;font-size:12px}.sparta-party .sp-room-chat{padding:12px;gap:12px}.sparta-party .sp-room-message p{font-size:13px;line-height:1.45}.sparta-party .sp-room-composer{padding:8px;gap:6px}.sparta-party .sp-room-composer input{min-height:42px;font-size:16px;padding:9px}.sparta-party .sp-room-composer button{min-height:42px;padding:8px;font-size:11px}
.sparta-party .sp-room-notice,.sparta-party .sp-room-warning{flex:none;margin-bottom:6px;padding:6px 9px;font-size:11px}
.sparta-party[data-keyboard="true"] .sp-room-stage{max-height:30%}.sparta-party[data-keyboard="true"] .sp-room-social-heading{display:none}.sparta-party[data-keyboard="true"] .watch-episodes{display:none}
.sparta-party .player-topbar{padding:9px!important}.sparta-party .player-topbar .player-title{font-size:12px!important}.sparta-party .controls-overlay{padding:10px!important}.sparta-party .controls-row{gap:6px!important;align-items:center!important;flex-wrap:nowrap!important}.sparta-party .time-display{font-size:10px!important;min-width:58px!important;order:0!important;width:auto!important}.sparta-party .controls-row button{min-width:32px!important;min-height:32px!important;padding:5px!important}.sparta-party .sp-room-video-chat{font-size:10px;padding:6px;min-height:32px}
}
@media(orientation:landscape) and (max-height:600px){.video-container[data-css-fullscreen="true"] .player-topbar{min-height:48px!important}.video-container[data-css-fullscreen="true"] .controls-row{flex-wrap:nowrap!important;align-items:center!important}.video-container[data-css-fullscreen="true"] .time-display{order:0!important;width:auto!important}}
@media(prefers-reduced-motion:reduce){.video-container :is(.player-topbar,.controls-overlay){transition:none!important}}

/* The legacy icon-only back button must fit the room action label. */
.video-container .sp-room-return-chat{width:auto!important;height:36px!important;min-height:36px!important;min-width:88px!important;padding:6px 10px!important;white-space:nowrap!important;font-size:11px!important;line-height:1.2!important;flex:0 0 auto!important}
.video-container .player-topbar-left{min-width:0!important;gap:8px!important}.video-container .player-topbar-info{min-width:0!important}

/* The picture remains the main surface; recovery and source actions share one compact rail. */
.sparta-watch{--watch-accent:#8ad9ed;--watch-ink:#f3f5fa;--watch-muted:#a6afc1;--watch-line:#2b3446;background:#090c13}
.sparta-watch .watch-loading,.sparta-watch .watch-error{min-height:clamp(220px,45vw,450px);padding:30px 20px;gap:14px;background:radial-gradient(ellipse at 50% 100%,#172235 0,transparent 65%),#090c13}
.sparta-watch .watch-loading strong,.sparta-watch .watch-error strong{font-size:clamp(19px,2.5vw,26px);font-weight:600;letter-spacing:-.025em;line-height:1.25}
.sparta-watch .watch-loading p,.sparta-watch .watch-error p{font-size:14px;line-height:1.65;color:var(--watch-muted);max-width:45ch;margin:0}
.sparta-watch .watch-loading-context,.sparta-watch .watch-attempts{font-size:12px;color:#cad3e3;max-width:90%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.sparta-watch .watch-loader{width:34px;height:34px;border-width:2px}
.sparta-watch .watch-cancel{min-height:42px;border:1px solid #3a4457;background:transparent;border-radius:8px;padding:9px 16px;font-size:12px;color:#d4dbe8;margin-top:4px}
.sparta-watch .watch-error-symbol{display:grid;place-items:center;width:48px;height:48px;border:1px solid #4a5365;border-radius:50%;font-size:29px;color:#d9e0ea}
.sparta-watch .watch-error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}.sparta-watch .watch-error-actions button{min-width:130px;min-height:44px;font-size:13px}
.sparta-watch .watch-error-actions button:first-child{background:var(--watch-accent);color:#0c1a26;border-color:var(--watch-accent)}
.sparta-watch .watch-tools{max-width:1160px;width:100%;padding:10px 20px 12px}
.watch-source-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.watch-source-status{display:flex;align-items:center;gap:9px;font-size:12px;min-width:0}.watch-source-status>span:first-child{color:#8ad9ed;font-size:7px}.watch-source-status small{font-size:11px;color:#a6afc1;white-space:nowrap}
.sparta-watch .watch-switch-source{flex:none;min-height:40px;padding:8px 12px;font-size:12px;border-color:#3b495e;background:#182131;border-radius:8px}.sparta-watch .watch-switch-source:hover{border-color:#8ad9ed}
.watch-source-picker{border-top:1px solid var(--watch-line);margin-top:7px;padding-top:3px}.watch-source-picker>summary{font-size:12px;color:#a6afc1;padding:10px 0;cursor:pointer;min-height:38px}.watch-source-picker .watch-sources{flex-wrap:wrap;overflow:visible;padding-bottom:3px}.watch-source-picker .watch-sources button{min-height:40px;padding:9px 12px;font-size:12px}
.sparta-watch .video-container .controls-overlay{background:linear-gradient(transparent,rgba(0,0,0,.84))!important}.sparta-watch .video-container .player-topbar{background:linear-gradient(rgba(0,0,0,.65),transparent)!important}
.sparta-watch .video-container .ctrl-btn{border-radius:8px!important;background:#161b23b8!important;border:1px solid #ffffff12!important;color:#f3f5fa!important}.sparta-watch .video-container .ctrl-btn:focus-visible{outline:2px solid #8ad9ed!important;outline-offset:3px!important}
.sparta-watch .video-container .progress-bar{height:6px!important;min-height:6px!important;overflow:visible!important;cursor:pointer}.sparta-watch .video-container .progress-bar:before{content:'';position:absolute;inset:-10px 0;background:transparent}.sparta-watch .video-container .progress-fill{background:#8ad9ed!important}
@media(max-width:720px){.sparta-watch .watch-tools,.sparta-party .watch-tools{padding:5px 10px 7px}.watch-source-bar{gap:8px;min-height:40px}.watch-source-status{font-size:11px;gap:7px}.watch-source-status small{display:none}.sparta-watch .watch-switch-source{min-height:36px;padding:7px 9px;font-size:11px}.sparta-watch .watch-loading,.sparta-watch .watch-error{min-height:210px;padding:20px 14px;gap:10px}.sparta-watch .watch-loading strong,.sparta-watch .watch-error strong{font-size:19px}.sparta-watch .watch-error p,.sparta-watch .watch-loading p{font-size:12px}.sparta-watch .watch-loading-context{font-size:11px}.sparta-watch .watch-error-actions button{min-width:120px;min-height:42px}.sparta-watch .video-container .ctrl-btn{min-height:36px!important;min-width:36px!important;height:36px!important;padding:6px!important}.sparta-watch .video-container .controls-row{gap:5px!important}.sparta-watch .video-container .controls-left,.sparta-watch .video-container .controls-right{gap:5px!important}.sparta-party .sp-room-stage{max-height:64%}}
@media(orientation:landscape) and (max-height:600px){.sparta-watch .video-container[data-css-fullscreen=true] .ctrl-btn{min-height:42px!important;min-width:42px!important}}
@media(prefers-reduced-motion:reduce){.sparta-watch .watch-loader{animation:none}.sparta-watch *{scroll-behavior:auto!important}}

.video-container .player-source-status{min-width:0!important}.video-container .player-source-status>span{max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none!important;font-size:12px!important;letter-spacing:0!important}.video-container .fullscreen-orientation-note{display:none!important}
