/* Watch Party: compact controls in the BETV video toolbar; no chat. */
.detail-watch-party{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 13px;border:1px solid rgba(113,160,244,.45);background:rgba(25,47,83,.58);border-radius:999px;color:#ecf3ff;font-size:12px;font-weight:700;cursor:pointer;transition:background .18s,border-color .18s}
.detail-watch-party:hover,.detail-watch-party:focus-visible,.detail-watch-party.is-active{background:rgba(56,105,182,.8);border-color:#8eb8ff}
.detail-watch-party svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.watch-party-panel[hidden],.watch-party-invite-toast[hidden],.watch-party-invite-form[hidden],.watch-party-panel [hidden]{display:none!important}
.watch-party-panel{position:fixed;z-index:2147483010;bottom:max(18px,env(safe-area-inset-bottom));right:18px;width:min(335px,calc(100vw - 32px));max-height:min(480px,80dvh);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;padding:16px;border:1px solid rgba(130,155,193,.2);border-radius:22px;background:rgba(14,21,33,.98);color:#f3f7ff;box-shadow:0 18px 50px rgba(0,0,0,.65);font-family:inherit;text-align:left}
#driveVideoPlayerShell>.watch-party-panel,#externalNativePlayerShell>.watch-party-panel{position:absolute;top:68px;right:15px;bottom:auto;z-index:100;max-height:min(390px,calc(100% - 78px));background:rgba(13,20,32,.97);backdrop-filter:blur(20px)}
.watch-party-heading{display:flex;align-items:center;gap:10px;min-height:40px}
.watch-party-heading-icon{width:37px;height:37px;flex:none;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#3164b0,#7365d7);color:#fff}
.watch-party-heading-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.watch-party-headlines{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.watch-party-headlines strong{font-size:15px;font-weight:800;line-height:1.2}
.watch-party-headlines span{font-size:11px;color:#aebad0}
.watch-party-close{width:31px;height:31px;flex:none;display:grid;place-items:center;border:1px solid rgba(127,156,202,.2);border-radius:50%;background:rgba(37,51,71,.75);color:#fff;cursor:pointer;font:22px/1 sans-serif}
.watch-party-members{display:flex;align-items:center;gap:8px;min-height:39px;margin-top:9px}
.watch-party-users{display:flex;align-items:center;padding-left:5px;min-height:32px}
.watch-party-avatar{display:grid;place-items:center;width:30px;height:30px;margin-left:-5px;border:2px solid #101b2e;border-radius:50%;background:linear-gradient(150deg,#4c73b7,#6668a5);font-size:12px;font-weight:800;color:#fff}
.watch-party-members>strong{font-size:12px;color:#bdcde5;font-variant-numeric:tabular-nums}
.watch-party-status{min-height:16px;margin:7px 0 12px;font-size:11px;line-height:1.45;color:#a8c8ff;overflow-wrap:anywhere}
.watch-party-status.is-error{color:#ff9eaf}
.watch-party-actions{display:flex;flex-wrap:wrap;gap:7px}
.watch-party-actions button{flex:1;min-height:37px;padding:7px 12px;border:1px solid #396095;border-radius:11px;background:#2c65b8;color:#fff;font-size:12px;font-weight:800;cursor:pointer}
.watch-party-actions #watchPartyLeave{flex:0 1 auto;background:transparent;color:#b8cae1;border-color:rgba(127,156,202,.34)}
.watch-party-actions button:hover,.watch-party-actions button:focus-visible{filter:brightness(1.13)}
.watch-party-invite-form{margin-top:12px}
.watch-party-invite-form input{display:block;box-sizing:border-box;width:100%;min-height:38px;padding:0 12px;border:1px solid #3e5374;border-radius:10px;outline:none;background:#182335;color:#fff;font-size:12px;font-family:inherit}
.watch-party-invite-form input:focus{border-color:#8db8fc}
.watch-party-search-results{display:flex;flex-direction:column;gap:5px;max-height:190px;overflow-y:auto;margin-top:9px;color:#aab8d1;font-size:11px}
.watch-party-fan-result{min-height:35px;text-align:left;padding:7px 10px;background:#1d304d;border:1px solid rgba(125,158,216,.25);border-radius:9px;color:#fff;font-size:12px;font-weight:700;cursor:pointer}
.watch-party-fan-result:hover{background:#294776}
.watch-party-fan-result:disabled{opacity:.5;cursor:wait}
.watch-party-player-button{position:relative!important;display:inline-flex!important;align-items:center;justify-content:center;gap:2px;min-width:34px;min-height:34px;padding:0 5px!important;background:transparent;color:inherit;border-radius:8px;border:0;cursor:pointer}
.watch-party-player-button svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}
.watch-party-player-button.is-active{color:#a4c6ff!important}
.watch-party-player-count{font-size:10px;font-weight:800;font-variant-numeric:tabular-nums;min-width:0;color:#c2d9ff}
.watch-party-player-count:empty{display:none}
.watch-party-notification{display:flex;flex-direction:column;gap:9px;padding:12px;border:1px solid rgba(104,153,237,.3);border-radius:12px;background:#182943;color:#f4f8ff;box-sizing:border-box;text-align:left}
.watch-party-invite-copy{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
.watch-party-invite-copy strong{font-size:12px;font-weight:800}
.watch-party-invite-copy span{font-size:11px;line-height:1.4;color:#d2dcec}
.watch-party-invite-actions{display:flex;gap:8px}
.watch-party-invite-actions button{flex:1;min-height:34px;border-radius:9px;border:1px solid #4b6187;background:#24384f;color:#ecf5ff;font-weight:800;font-size:11px;cursor:pointer}
.watch-party-invite-actions button.watch-party-accept{background:#316cc4;border-color:#316cc4}
.watch-party-invite-actions button:disabled{opacity:.55}
.watch-party-invite-toast{position:fixed;top:max(70px,env(safe-area-inset-top));right:16px;z-index:2147483007;width:min(310px,calc(100vw - 24px));box-shadow:0 14px 40px rgba(0,0,0,.5);font-family:inherit}
.watch-party-invite-toast .watch-party-notification{background:#111c30;backdrop-filter:blur(15px)}
#notificationPreviewList>.watch-party-notification,#mobileNotificationPreviewList>.watch-party-notification{margin:0 0 9px}
@media(max-width:760px){
.detail-watch-party{min-height:40px;padding:0 10px;font-size:11px}
.detail-watch-party svg{width:17px;height:17px}
.watch-party-panel{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:min(320px,calc(100vw - 24px));max-height:70dvh;padding:13px;border-radius:17px}
#driveVideoPlayerShell>.watch-party-panel,#externalNativePlayerShell>.watch-party-panel{top:53px;right:9px;bottom:auto;width:min(290px,calc(100% - 18px));max-height:calc(100% - 60px);padding:12px;border-radius:16px}
.watch-party-heading-icon{width:33px;height:33px;border-radius:11px}
.watch-party-headlines strong{font-size:14px}
.watch-party-player-button{min-width:30px;min-height:30px;padding:0 3px!important}
.watch-party-player-button svg{width:17px;height:17px}
.watch-party-invite-toast{top:max(66px,env(safe-area-inset-top));right:10px;width:min(295px,calc(100vw - 20px))}
}
@media(max-height:520px){#driveVideoPlayerShell>.watch-party-panel,#externalNativePlayerShell>.watch-party-panel{top:41px;max-height:calc(100% - 46px)}}
@media(prefers-reduced-motion:reduce){.detail-watch-party{transition:none}}

/* Native iPhone-like participant sheet, based on actual BETV profile assets. */
.watch-party-panel{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif!important;border-radius:24px!important;border-color:rgba(172,190,227,.23)!important;background:linear-gradient(155deg,rgba(30,40,59,.97),rgba(11,18,32,.98))!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;padding:15px!important}
.watch-party-heading-icon{display:none!important}
.watch-party-host{overflow:hidden;margin:10px 0 12px;border-radius:18px;border:1px solid rgba(156,182,226,.19);background:rgba(55,78,112,.17)}
.watch-party-host-cover{height:80px;background:linear-gradient(115deg,#263e65,#4d5c7d);overflow:hidden}
.watch-party-host-cover img{display:block;width:100%;height:100%;object-fit:cover}
.watch-party-host-cover img[hidden]{display:none!important}
.watch-party-host-identity{display:flex;align-items:center;gap:9px;padding:0 11px 10px}
.watch-party-host-avatar{flex:none;margin-top:-14px;width:47px;height:47px;border:3px solid #222e44;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#4c6998;color:#fff;font-weight:800;z-index:1}
.watch-party-host-photo{display:block;width:100%;height:100%;object-fit:cover}
.watch-party-host-text{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:4px}
.watch-party-host-text small{color:#acbfdc;font-size:10px}
.watch-party-host-text strong{font-size:14px;font-weight:780;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.watch-party-members{margin:0!important;padding:7px 3px}
.watch-party-avatar{overflow:hidden!important;width:36px!important;height:36px!important;border:2px solid #1d293c!important;background:#4c648e!important}
.watch-party-avatar-image{display:block;width:100%;height:100%;object-fit:cover}
.watch-party-members>strong{font-size:13px!important}
.watch-party-status{font-size:11px!important;color:#a5bad9!important}
.watch-party-close{background:rgba(145,158,190,.15)!important;border:1px solid rgba(200,208,229,.13)!important}
.watch-party-actions button{border-radius:12px!important;min-height:39px!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.watch-party-gift-cta{display:block;width:100%;margin-top:12px;border:1px solid rgba(177,195,229,.24);background:rgba(85,116,174,.11);color:#bdd6ff;font-size:11px;font-weight:700;padding:10px;border-radius:12px;cursor:pointer}
.watch-party-notification{position:relative;overflow:hidden;border-radius:17px!important;border-color:rgba(160,182,222,.25)!important;background:linear-gradient(135deg,rgba(40,59,87,.96),rgba(18,30,48,.98))!important;padding:10px!important;gap:9px!important}
.watch-party-notification-banner{display:block;width:calc(100% + 20px);height:63px;margin:-10px -10px 0;object-fit:cover;opacity:.82}
.watch-party-notification-identity{display:flex;align-items:center;gap:9px;min-width:0}
.watch-party-notification-avatar{width:40px;height:40px;flex:none;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(206,225,251,.48);border-radius:50%;background:#415d89;color:#fff;font-weight:800}
.watch-party-notification-photo{display:block;width:100%;height:100%;object-fit:cover}
.watch-party-invite-copy small{font-size:10px;color:#96b5df}
.watch-party-invite-copy strong{font-size:12px!important}
.watch-party-invite-copy span{font-size:11px!important}
.watch-party-invite-actions button{min-height:36px!important;border-radius:10px!important}
.watch-party-fan-result{display:flex;align-items:center;gap:9px;padding:7px!important;border-radius:12px!important}
.watch-party-fan-avatar{display:grid;place-items:center;flex:none;width:31px;height:31px;overflow:hidden;border-radius:50%;background:#526b92;color:#fff}
.watch-party-fan-photo{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.watch-party-panel{padding:12px!important;border-radius:20px!important}.watch-party-host-cover{height:64px}}


/* Unified near-black panels: match Watch Party payment and Community widget. */
.watch-party-panel,
#driveVideoPlayerShell>.watch-party-panel,
#externalNativePlayerShell>.watch-party-panel {
  background:#101216!important;
  background-image:none!important;
  border-color:rgba(181,190,207,.15)!important;
}
.watch-party-notification,
.watch-party-invite-toast .watch-party-notification {
  background:#101216!important;
  background-image:none!important;
}

/* Waiting room: never render a placeholder host or duplicate avatar/0 count. */
.watch-party-panel .watch-party-members,
.watch-party-panel .watch-party-invite-form{display:none!important}
.watch-party-panel .watch-party-host[hidden],
.watch-party-panel .watch-party-code-entry[hidden],
.watch-party-panel .watch-party-room-code[hidden]{display:none!important}
.watch-party-panel .watch-party-host{margin:10px 0 8px}
.watch-party-panel .watch-party-status:empty{display:none}
.watch-party-panel .watch-party-code-entry{display:flex;flex-direction:column;gap:8px;margin-top:13px;padding-top:13px;border-top:1px solid rgba(173,190,215,.12)}
.watch-party-panel .watch-party-code-entry input{width:100%;min-height:40px;border:1px solid rgba(173,190,215,.2);border-radius:12px;background:#191d25;color:#f3f6fd;font-size:12px;padding:0 10px;outline:0}
.watch-party-panel .watch-party-code-entry input:focus{border-color:#8caef0}
.watch-party-panel .watch-party-code-entry button,.watch-party-room-code button{min-height:38px;border:1px solid rgba(112,155,226,.4);border-radius:12px;background:#263f65;color:#e7f0ff;font-size:12px;font-weight:700;cursor:pointer}
.watch-party-panel .watch-party-code-entry small{font-size:10px;color:#a9b5c9;line-height:1.5}
.watch-party-room-code{display:flex;flex-direction:column;gap:7px;margin-top:12px;border-top:1px solid rgba(173,190,215,.12);padding-top:11px}
.watch-party-room-code small{font-size:11px;font-weight:700;color:#a9bbd7}
.watch-party-room-code code{display:block;overflow-wrap:anywhere;user-select:all;font:11px/1.5 ui-monospace,Menlo,monospace;padding:8px 9px;background:#171b22;border-radius:9px;color:#edf2fd}
.watch-party-invite-picker[hidden],.watch-party-invite-picker [hidden]{display:none!important}
.watch-party-invite-picker{position:fixed;inset:0;display:grid;place-items:center;z-index:2147483644;padding:14px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif}
.watch-party-picker-backdrop{position:absolute;inset:0;background:rgba(5,7,12,.76);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.watch-party-picker-dialog{position:relative;width:min(430px,100%);box-sizing:border-box;max-height:min(650px,91dvh);overflow-y:auto;border:1px solid rgba(184,199,226,.19);border-radius:25px;background:#101216;color:#f2f5fc;box-shadow:0 22px 65px rgba(0,0,0,.75);padding:18px}
.watch-party-picker-dialog .watch-party-ios-handle{margin:-9px auto 16px}
.watch-party-picker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.watch-party-picker-header strong{font-size:19px;font-weight:800}
.watch-party-picker-header p{margin:5px 0 0;color:#b5c0d4;font-size:12px;line-height:1.45}
#watchPartyPickerClose{display:grid;place-items:center;flex:none;height:33px;width:33px;border:0;background:rgba(141,157,189,.18);border-radius:50%;color:#fff;font-size:22px;cursor:pointer}
.watch-party-picker-search input{width:100%;box-sizing:border-box;min-height:42px;padding:0 12px;border-radius:12px;border:1px solid rgba(155,183,229,.3);background:#1c202b;color:#f6f8fd;font-size:13px;outline:none}
.watch-party-picker-search input:focus{border-color:#82aef6}
.watch-party-picker-results{display:flex;flex-direction:column;gap:10px;margin-top:12px;max-height:min(370px,49dvh);overflow-y:auto;overscroll-behavior:contain;color:#a9b5c9;font-size:12px}
.watch-party-picker-fan{position:relative;overflow:hidden;min-height:72px;background:#202633;border:1px solid rgba(161,184,216,.23);border-radius:16px}
.watch-party-picker-cover{position:absolute;inset:0;background:linear-gradient(120deg,#242d3d,#3c4d67);pointer-events:none}
.watch-party-picker-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,13,23,.75),rgba(12,21,36,.59))}
.watch-party-picker-banner{width:100%;height:100%;object-fit:cover;opacity:.9;display:block}
.watch-party-picker-fan-row{position:relative;display:flex;align-items:center;gap:10px;padding:11px;min-height:50px}
.watch-party-picker-avatar{display:grid;place-items:center;flex:none;overflow:hidden;width:43px;height:43px;border:2px solid rgba(226,236,255,.7);border-radius:50%;background:#445979;font-size:16px;font-weight:800;color:#fff}
.watch-party-picker-photo{width:100%;height:100%;object-fit:cover}
.watch-party-picker-names{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.watch-party-picker-names strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:white}
.watch-party-picker-names small{font-size:11px;color:#c0d1e9}
.watch-party-picker-send{flex:none;border:1px solid #5890de;border-radius:10px;background:#306fbe;color:#fff;font-weight:750;font-size:11px;padding:9px 11px;cursor:pointer}
.watch-party-picker-send:disabled{opacity:.65;cursor:default;background:#405778}
.watch-party-picker-status{color:#b8cfef;font-size:12px;margin:12px 2px 0;min-height:15px}
@media(max-width:760px){
.watch-party-picker-dialog{border-radius:22px;padding:14px}
.watch-party-picker-fan-row{padding:9px}
.watch-party-picker-avatar{width:38px;height:38px}
}

/* Fixed close controls and compact playback panel, responsive at narrow widths. */
.watch-party-panel{padding:16px!important;transition:width .22s ease,max-height .22s ease;max-height:min(560px,82dvh)}
.watch-party-panel .watch-party-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;margin:0 0 9px}
.watch-party-panel .watch-party-headlines{min-width:0;padding-right:8px}
.watch-party-panel .watch-party-close,
#watchPartyPickerClose{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 36px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;border:1px solid rgba(181,199,230,.19)!important;border-radius:50%!important;background:rgba(119,137,168,.17)!important;color:#fff!important;padding:0!important;line-height:0!important;box-sizing:border-box!important;cursor:pointer;z-index:2}
.watch-party-close svg,#watchPartyPickerClose svg{width:17px!important;height:17px!important;display:block!important;margin:auto!important;flex:none}
.watch-party-close:hover,#watchPartyPickerClose:hover{background:rgba(141,165,202,.32)!important}
.watch-party-close:focus-visible,#watchPartyPickerClose:focus-visible{outline:2px solid #91b9ff;outline-offset:3px}
.watch-party-panel .watch-party-gift-cta{display:block;width:100%;min-height:43px;margin-top:12px;border-radius:12px!important;background:rgba(64,113,184,.16)!important;border:1px solid rgba(124,167,229,.3)!important;font-size:12px!important;color:#d6e6ff!important}
.watch-party-panel .watch-party-gift-cta[hidden]{display:none!important}
.watch-party-panel.is-compact{width:min(278px,calc(100vw - 24px))!important;max-height:300px!important;padding:12px!important}
.watch-party-panel.is-compact .watch-party-heading{margin-bottom:5px}
.watch-party-panel.is-compact .watch-party-host,.watch-party-panel.is-compact .watch-party-code-entry,.watch-party-panel.is-compact .watch-party-room-code,.watch-party-panel.is-compact .watch-party-actions,.watch-party-panel.is-compact .watch-party-gift-cta{display:none!important}
.watch-party-panel.is-compact .watch-party-status{margin:5px 0!important}
@media(max-width:760px){
 .watch-party-panel{right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;width:min(340px,calc(100vw - 20px))!important;max-height:min(68dvh,560px)!important;padding:13px!important;border-radius:20px!important}
 #driveVideoPlayerShell>.watch-party-panel,#externalNativePlayerShell>.watch-party-panel{top:45px!important;right:8px!important;bottom:auto!important;width:min(300px,calc(100% - 16px))!important;max-height:calc(100% - 52px)!important}
 .watch-party-panel.is-compact{width:min(250px,calc(100vw - 20px))!important;max-height:125px!important}
 .watch-party-panel .watch-party-headlines strong{font-size:14px!important}
 .watch-party-picker-header{position:relative;padding-right:44px}
 #watchPartyPickerClose{position:absolute;right:0;top:0}
 .watch-party-notification{padding:10px!important}
 .watch-party-invite-actions button{min-height:39px!important}
}
@media(prefers-reduced-motion:reduce){.watch-party-panel{transition:none}}
