/* VW_WATCH_TOGETHER_PERMANENT_ROOM_HUB_V2_0 */
.brand-actions{display:flex;align-items:center;gap:10px}.hub-top-btn,.room-hub-trigger{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:inherit;border-radius:12px;padding:9px 12px;font-weight:800;cursor:pointer}.hub-top-btn:hover,.room-hub-trigger:hover{background:rgba(255,255,255,.09)}
.hub-legacy-action{display:none!important}.room-actions{gap:8px}.room-hub-trigger{display:inline-flex;align-items:center;gap:7px}
.hub-backdrop{position:fixed;inset:0;background:rgba(2,6,18,.58);backdrop-filter:blur(5px);z-index:970}.room-hub-drawer{position:fixed;left:0;top:0;bottom:0;width:min(430px,94vw);z-index:980;background:linear-gradient(180deg,#101827 0%,#0a101b 100%);border-right:1px solid rgba(255,255,255,.1);box-shadow:24px 0 70px rgba(0,0,0,.38);padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}.room-hub-drawer.hidden,.hub-backdrop.hidden{display:none!important}body.hub-drawer-open{overflow:hidden}
.hub-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.hub-head h2{margin:4px 0 3px;font-size:26px}.hub-head p{margin:0;color:#94a3b8;font-size:13px;line-height:1.45}.hub-close{width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.05);color:#fff;font-size:25px;cursor:pointer;flex:0 0 auto}
.hub-private-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid rgba(125,211,252,.18);border-radius:15px;background:linear-gradient(135deg,rgba(14,165,233,.09),rgba(99,102,241,.06));margin-bottom:12px}.hub-private-card b{display:block;font-size:13px}.hub-private-card small{display:block;color:#9fb0c5;font-size:11px;line-height:1.4;margin-top:3px}.hub-private-card button,.hub-toolbar button,.hub-room-actions button,.hub-subhead button,.hub-music-shortcut button,.hub-rename button,.hub-invite-form button,.hub-inline-actions button,.hub-play-row button,.hub-see-all{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#eaf2ff;border-radius:10px;padding:8px 10px;font-weight:800;font-size:12px;cursor:pointer}.hub-private-card button{white-space:nowrap}
.hub-toolbar{display:flex;align-items:center;gap:8px;margin:10px 0 16px}.hub-toolbar .hub-primary{background:#fff;color:#111827;border-color:#fff}.hub-toolbar span{margin-left:auto;color:#8fa1b8;font-size:11px}.hub-toolbar span b{color:#fff}
.hub-section{border-top:1px solid rgba(255,255,255,.08);padding-top:15px;margin-top:10px}.hub-section-head,.hub-subhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hub-section-head b,.hub-subhead b{display:block;font-size:13px}.hub-section-head small,.hub-subhead small{display:block;color:#8798ae;font-size:11px;margin-top:2px;line-height:1.35}.hub-code{font:800 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;padding:7px 8px;border-radius:9px;background:rgba(255,255,255,.06);color:#c9d7e8}.hub-empty,.hub-mini-empty{padding:14px;border:1px dashed rgba(255,255,255,.12);border-radius:12px;color:#8ea0b6;font-size:12px;line-height:1.5;margin-top:10px}
.hub-room-list{display:grid;gap:8px;margin-top:10px;max-height:310px;overflow:auto;padding-right:2px}.hub-room-card{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:14px;padding:11px}.hub-room-card.active{border-color:rgba(96,165,250,.5);background:rgba(59,130,246,.08)}.hub-room-title{display:flex;gap:8px;align-items:center;justify-content:space-between}.hub-room-title b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-room-title span{font:700 10px/1 ui-monospace,monospace;color:#93a4b8}.hub-room-main p{margin:4px 0 2px;color:#c4d1e0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-room-main small{color:#75879f;font-size:10px}.hub-room-actions{display:flex;gap:6px;margin-top:9px}.hub-room-actions button:first-child{background:rgba(255,255,255,.1)}
.hub-current h3{font-size:20px;margin:10px 0}.hub-rename{display:grid;grid-template-columns:1fr auto;gap:7px;margin:10px 0 2px}.hub-rename input,.hub-invite-form input,.hub-invite-form select{min-width:0;border:1px solid rgba(255,255,255,.12);background:#0b1220;color:#fff;border-radius:10px;padding:9px 10px;outline:none}.hub-rename input:focus,.hub-invite-form input:focus,.hub-invite-form select:focus{border-color:rgba(96,165,250,.75)}.hub-error{grid-column:1/-1;color:#fca5a5;font-size:11px;margin:0;min-height:0}
.hub-subsection{margin-top:13px;padding:12px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(255,255,255,.025)}.hub-playlist-preview{display:grid;gap:6px;margin-top:9px;max-height:265px;overflow:auto}.hub-play-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border-radius:10px;background:rgba(255,255,255,.035)}.hub-play-row.active{background:rgba(34,197,94,.07);box-shadow:inset 0 0 0 1px rgba(34,197,94,.18)}.hub-play-index{font:700 10px ui-monospace,monospace;color:#71839a}.hub-play-row b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-play-row small{display:block;color:#74869c;font-size:9px;margin-top:2px}.hub-play-row button:disabled{opacity:.5;cursor:default}.hub-see-all{width:100%;margin-top:3px}.hub-music-shortcut{display:flex;justify-content:space-between;align-items:center;gap:12px}.hub-music-shortcut b{display:block;font-size:13px}.hub-music-shortcut small{display:block;color:#8192a7;font-size:10px;margin-top:2px}
.hub-invite-form{display:grid;grid-template-columns:minmax(0,1fr) 94px auto;gap:7px;margin-top:10px}.hub-invite-list{display:grid;gap:7px;margin-top:10px}.hub-invite-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border-radius:10px;background:rgba(255,255,255,.035)}.hub-invite-row b{display:block;font-size:11px}.hub-invite-row small{display:block;color:#7e90a7;font-size:9px;margin-top:2px}.hub-inline-actions{display:flex;gap:5px;flex:0 0 auto}.hub-inline-actions .danger{color:#fecaca;border-color:rgba(248,113,113,.25)}
.gallery-item-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.gallery-mini{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:inherit;border-radius:8px;padding:6px 8px;font-size:11px;cursor:pointer}
@media (max-width:720px){.brand-actions{gap:6px}.hub-top-btn{font-size:11px;padding:8px 9px}.room-hub-drawer{width:100%;max-width:none;border-right:0;padding-left:14px;padding-right:14px}.hub-private-card{grid-template-columns:1fr}.hub-private-card button{width:100%}.hub-toolbar{position:sticky;top:-1px;z-index:3;background:#0d1522;padding:8px 0;margin-top:0}.hub-room-list{max-height:none}.hub-invite-form{grid-template-columns:1fr 105px}.hub-invite-form button{grid-column:1/-1}.hub-rename{grid-template-columns:1fr}.hub-rename button{width:100%}.hub-music-shortcut{align-items:flex-start;flex-direction:column}.hub-music-shortcut button{width:100%}.room-actions .ghost:not(.room-hub-trigger):not(.danger){font-size:11px;padding:8px}.gallery-item-actions{grid-column:1/-1;justify-content:flex-start}.gallery-item-actions .gallery-play{flex:1}}

/* VW_WATCH_TOGETHER_HOST_CONTROL_V2_1 */
.hub-auth-card{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin:14px 0;padding:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);border-radius:16px}
.hub-auth-card>div{min-width:0}.hub-auth-card b{display:block;font-size:.98rem}.hub-auth-card small{display:block;margin-top:4px;line-height:1.45;opacity:.72}
.hub-login-form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:8px;min-width:min(100%,310px)}
.hub-login-form input{min-width:0}.hub-login-form .hub-error{grid-column:1/-1;margin:0}
.hub-room-card.active{outline:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.065)}
.hub-room-title{display:flex;align-items:center;gap:8px;min-width:0}.hub-room-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-room-title span{font-size:.7rem;opacity:.56;letter-spacing:.08em}
@media (max-width:640px){.hub-auth-card{display:block}.hub-auth-card>button{margin-top:10px}.hub-login-form{grid-template-columns:1fr;margin-top:10px;width:100%}.hub-login-form button{width:100%}}
.hub-auth-unlocked{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.hub-auth-actions{display:flex;gap:8px}.hub-password-change{grid-column:1/-1;width:100%;margin-top:2px}.hub-auth-copy{min-width:0}
@media (max-width:640px){.hub-auth-unlocked{grid-template-columns:1fr}.hub-auth-actions{margin-top:10px}.hub-auth-actions button{flex:1}.hub-password-change{margin-top:10px}}

/* V2.2 privacy: private all-room controls never flash before auth. */
#myRoomsBtn.hidden,#hubAuthLoggedIn.hidden,#hubRoomsSection.hidden{display:none!important}

/* V2.2R2 — participant room menu is intentionally room-only. */
.hub-public-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.hub-public-actions button{min-height:40px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.04);color:#eaf1ff;font-weight:800;cursor:pointer}
.hub-public-actions .danger{color:#ff9baa;border-color:rgba(255,95,120,.18);background:rgba(255,70,100,.05)}
.hub-public-note{margin:12px 2px 0;color:rgba(230,239,255,.46);font-size:10px;line-height:1.55}
@media(max-width:520px){.hub-public-actions{grid-template-columns:1fr}}
/* VW_WATCH_TOGETHER_PUBLIC_ROOM_CLEAN_HOST_ONLY_V2_2R2 */
