:root{--bg:#07090d;--panel:#0f131a;--panel2:#151b24;--line:#252d3a;--text:#f5f7fb;--muted:#8e99aa;--accent:#7c5cff;--accent2:#36d1dc;--ok:#47d597;--danger:#ff6b7a;--shadow:0 24px 80px rgba(0,0,0,.42)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{overflow-x:hidden}.ambient{position:fixed;pointer-events:none;border-radius:999px;filter:blur(90px);opacity:.16;z-index:0}.a1{width:420px;height:420px;background:#6f4cff;top:-140px;right:-120px}.a2{width:360px;height:360px;background:#10b8d4;bottom:-140px;left:-140px}.shell{position:relative;z-index:1;max-width:1380px;margin:auto;padding:22px 28px 48px}.brandbar{display:flex;justify-content:space-between;align-items:center;min-height:58px}.brand{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;font-weight:760;letter-spacing:-.02em}.brandmark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#4d8cff);box-shadow:0 8px 26px rgba(124,92,255,.28)}.pill{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);border:1px solid var(--line);padding:8px 11px;border-radius:999px;background:rgba(15,19,26,.82)}.pill i{width:7px;height:7px;border-radius:50%;background:#6b7280}.pill.online i{background:var(--ok);box-shadow:0 0 0 4px rgba(71,213,151,.1)}.lobby{padding:72px 0 30px}.hero{max-width:850px;margin:0 auto 54px;text-align:center}.eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.16em;color:#b9adff;margin-bottom:18px}.hero h1{font-size:clamp(42px,6.4vw,76px);line-height:.98;letter-spacing:-.055em;margin:0 0 24px}.hero p{max-width:680px;margin:auto;color:var(--muted);font-size:18px;line-height:1.65}.lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1040px;margin:auto}.card{background:linear-gradient(180deg,rgba(20,25,34,.95),rgba(12,16,22,.96));border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.form-card{padding:26px}.card-head{display:flex;gap:15px;align-items:flex-start;margin-bottom:24px}.step{display:grid;place-items:center;min-width:38px;height:38px;border-radius:12px;background:#1d2330;color:#aaa0ff;font-size:11px;font-weight:800}.card-head h2,.side-head h3{margin:0 0 5px;letter-spacing:-.02em}.card-head p,.side-head p{margin:0;color:var(--muted);font-size:13px}.form-card label{display:block;color:#cbd2dc;font-size:12px;font-weight:650;margin:15px 0}.form-card label.optional span{float:right;color:#687386;font-weight:500}.form-card input,.chat-form input{width:100%;margin-top:8px;background:#0a0e14;border:1px solid #293140;color:#fff;border-radius:12px;padding:14px 14px;outline:none;font-size:14px;transition:.18s}.form-card input:focus,.chat-form input:focus{border-color:#715cff;box-shadow:0 0 0 3px rgba(113,92,255,.12)}.code-input{text-transform:uppercase;letter-spacing:.18em;font-weight:800}.primary,.secondary{width:100%;border:0;border-radius:13px;padding:14px 16px;font-weight:760;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.primary{background:linear-gradient(135deg,#7b5cff,#4c86ff);color:white}.secondary{background:#f2f4f8;color:#101319}.primary:disabled,.secondary:disabled{opacity:.55;cursor:wait}.error{min-height:18px;color:#ff8894;font-size:12px;margin:9px 2px 0}.hidden{display:none!important}.room{padding-top:34px}.room-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;gap:18px}.title-wrap{min-width:0}.title-wrap h1{font-size:26px;letter-spacing:-.035em;margin:6px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role{font-size:10px;letter-spacing:.14em;font-weight:800;color:#a99dff}.room-actions{display:flex;gap:8px}.ghost{background:#111720;border:1px solid var(--line);color:#d7dde8;border-radius:10px;padding:10px 13px;cursor:pointer}.ghost.danger{color:#ff9aa5}.room-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.stage{overflow:hidden}.video-wrap{position:relative;aspect-ratio:16/9;background:#020304;display:grid;place-items:center}.video-wrap video{width:100%;height:100%;object-fit:contain;background:#000}.unlock{position:absolute;inset:0;border:0;background:rgba(3,5,8,.74);backdrop-filter:blur(7px);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer}.unlock span{font-size:28px}.unlock b{font-size:16px}.unlock small{color:#adb6c4;max-width:320px}.buffer{position:absolute;top:14px;left:14px;background:rgba(9,12,17,.82);border:1px solid #313948;border-radius:999px;padding:8px 11px;font-size:11px;color:#c7cfda;display:flex;align-items:center;gap:7px}.buffer span{width:7px;height:7px;border-radius:50%;background:#f2b84b;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.35}}.controls{padding:15px 17px 17px;background:#0b0f15}.control-row{display:flex;align-items:center;gap:11px}.round{width:38px;height:38px;border:0;border-radius:50%;background:white;color:#090b0f;cursor:pointer}.timeblock{display:flex;gap:5px;color:#939dac;font-size:12px;min-width:90px}.sync-status{margin-left:auto;display:flex;align-items:center;gap:7px;color:#8fa0b4;font-size:11px}.sync-status i{width:7px;height:7px;border-radius:50%;background:var(--ok)}select{background:#131922;border:1px solid #293140;color:#cbd3df;border-radius:9px;padding:7px;font-size:11px}.icon-btn{background:transparent;border:0;color:#ccd3dd;font-size:18px;cursor:pointer}#volume{width:70px}.seek{width:100%;margin-top:13px;accent-color:#7c5cff}.seek:disabled{opacity:.42}.guest-note{padding:11px 17px;border-top:1px solid #1d2430;background:#0b0f15;color:#778395;font-size:11px}.sidebar{display:flex;flex-direction:column;gap:18px;min-width:0}.side-card{padding:17px}.side-head{display:flex;align-items:center;justify-content:space-between}.side-head p{margin-top:4px}.count{display:grid;place-items:center;min-width:29px;height:29px;background:#1b2230;border-radius:9px;color:#c8d0dc;font-size:12px}.members{margin-top:14px;display:flex;flex-direction:column;gap:8px;max-height:176px;overflow:auto}.member{display:flex;align-items:center;gap:10px;padding:9px;background:#0b1017;border-radius:10px}.avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#242b39;color:#b9c2cf;font-size:11px;font-weight:800}.member-name{font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.host-tag{margin-left:auto;color:#a89cff;font-size:9px;font-weight:800;letter-spacing:.08em}.chat{height:390px;display:flex;flex-direction:column}.messages{flex:1;overflow:auto;margin:14px -3px 10px;padding:0 3px;display:flex;flex-direction:column;gap:10px}.empty-chat{margin:auto;color:#606c7d;font-size:12px}.msg{background:#0b1017;border-radius:11px;padding:9px 10px}.msg-head{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#7f8a9a;margin-bottom:5px}.msg-name{color:#b8c0cb;font-weight:700}.msg p{margin:0;color:#dce2eb;font-size:12px;line-height:1.45;word-break:break-word}.chat-form{display:flex;gap:8px}.chat-form input{margin:0;padding:11px}.chat-form button{width:40px;border:0;border-radius:11px;background:#785cff;color:#fff;font-size:18px;cursor:pointer}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#f4f6fa;color:#11151b;padding:11px 14px;border-radius:10px;font-size:12px;font-weight:700;transition:.2s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:920px){.shell{padding:16px}.lobby{padding-top:44px}.lobby-grid,.room-grid{grid-template-columns:1fr}.hero{margin-bottom:34px}.sidebar{display:grid;grid-template-columns:1fr 1fr}.chat{height:310px}}@media(max-width:620px){.shell{padding:13px}.brandbar{min-height:48px}.brand span:last-child{font-size:14px}.lobby{padding-top:36px}.hero{text-align:left;margin-bottom:28px}.hero h1{font-size:43px}.hero p{font-size:15px}.lobby-grid{gap:13px}.form-card{padding:19px;border-radius:17px}.room{padding-top:22px}.room-top{align-items:flex-start;flex-direction:column}.room-actions{width:100%}.room-actions button{flex:1}.room-grid{gap:12px}.stage{border-radius:14px}.control-row{gap:7px}.timeblock{min-width:72px;font-size:10px}.sync-status{display:none}#volume{display:none}.controls{padding:11px}.sidebar{display:flex}.side-card{border-radius:15px}.chat{height:300px}}

/* VW_WATCH_TOGETHER_SHARED_GALLERY_V1_6 */
.now-playing{display:flex;align-items:center;gap:8px;margin-top:8px;min-width:0}.now-playing span{font-size:9px;letter-spacing:.13em;color:#707b8c;font-weight:800}.now-playing b{font-size:12px;color:#aeb8c7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.library-trigger{display:flex;align-items:center;gap:8px}.library-trigger span{display:grid;place-items:center;min-width:21px;height:21px;border-radius:7px;background:#252d3b;color:#d6dce7;font-size:10px;font-weight:800}.drawer-backdrop{position:fixed;inset:0;background:rgba(2,4,7,.68);backdrop-filter:blur(5px);z-index:40}.library-drawer{position:fixed;z-index:41;top:0;right:0;width:min(520px,100%);height:100dvh;background:linear-gradient(180deg,#10151e,#090d13);border-left:1px solid #26303d;box-shadow:-28px 0 80px rgba(0,0,0,.48);padding:24px;overflow:auto}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:19px;border-bottom:1px solid #202936}.drawer-head .eyebrow{margin:0 0 8px}.drawer-head h2{font-size:31px;letter-spacing:-.045em;margin:0 0 7px}.drawer-head p{margin:0;color:#8995a7;font-size:13px;line-height:1.55;max-width:390px}.drawer-close{width:38px;height:38px;border:1px solid #2b3442;border-radius:12px;background:#161c26;color:#e4e8ef;font-size:24px;cursor:pointer}.gallery-add{margin-top:18px;padding:17px;border-radius:17px;background:#0d1219;border:1px solid #222b38}.gallery-add label{display:block;font-size:12px;font-weight:760;color:#d8dee8;margin-bottom:9px}.gallery-add textarea{width:100%;resize:vertical;min-height:94px;max-height:220px;background:#070b10;border:1px solid #2b3442;color:#fff;border-radius:13px;padding:13px;outline:none;font:500 12px/1.55 ui-sans-serif,system-ui}.gallery-add textarea:focus{border-color:#765eff;box-shadow:0 0 0 3px rgba(118,94,255,.12)}.gallery-add-actions{display:flex;align-items:center;gap:13px;justify-content:space-between;margin-top:11px}.gallery-add-actions small{font-size:10px;color:#697588;line-height:1.45;max-width:250px}.primary.mini{width:auto;min-width:144px;padding:11px 13px;font-size:12px}.gallery-section-head{padding:22px 2px 12px}.gallery-section-head h3{margin:0 0 4px;font-size:15px}.gallery-section-head p{margin:0;color:#687487;font-size:11px}.gallery-list{display:flex;flex-direction:column;gap:10px;padding-bottom:30px}.gallery-item{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #222b38;border-radius:15px;background:#0d1219;transition:.16s}.gallery-item:hover{border-color:#333e4e;transform:translateY(-1px)}.gallery-item.active{border-color:rgba(124,92,255,.6);background:linear-gradient(135deg,rgba(124,92,255,.12),#0d1219 55%)}.gallery-thumb{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:linear-gradient(135deg,#252d3c,#171d27);color:#a99cff;font-weight:900}.gallery-item.active .gallery-thumb{background:linear-gradient(135deg,#765eff,#477fff);color:white;box-shadow:0 8px 26px rgba(118,94,255,.24)}.gallery-copy{min-width:0}.gallery-copy h3{margin:0 0 4px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-copy p{margin:0;color:#758195;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-copy small{display:block;margin-top:4px;color:#8e99aa;font-size:9px}.gallery-item.active .gallery-copy small{color:#a99cff;font-weight:700}.gallery-play{border:0;border-radius:10px;background:#f2f4f8;color:#101319;font-size:11px;font-weight:800;padding:9px 11px;cursor:pointer}.gallery-play:disabled{background:#212936;color:#9aa5b5;cursor:default}.gallery-remove{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border:1px solid #394353;border-radius:999px;background:#131923;color:#ff97a3;cursor:pointer}.gallery-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:42px 20px;border:1px dashed #2a3442;border-radius:17px;color:#7f8a9b}.gallery-empty b{color:#cfd6e1;margin-bottom:5px}.gallery-empty span{font-size:11px;max-width:300px;line-height:1.5}.drawer-open{overflow:hidden}
@media(max-width:620px){.room-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.room-actions .ghost{padding:9px 7px;font-size:11px}.now-playing{max-width:100%}.now-playing b{max-width:230px}.library-drawer{top:auto;bottom:0;height:min(82dvh,760px);width:100%;border-left:0;border-top:1px solid #303a48;border-radius:22px 22px 0 0;padding:18px 14px}.drawer-head h2{font-size:25px}.drawer-head p{font-size:11px}.gallery-add{padding:13px}.gallery-add-actions{align-items:flex-end}.gallery-add-actions small{max-width:180px}.primary.mini{min-width:124px}.gallery-item{grid-template-columns:44px minmax(0,1fr) auto;padding:10px;gap:9px}.gallery-thumb{width:44px;height:44px}.gallery-play{padding:8px 9px}}

/* VW_WATCH_TOGETHER_PERSISTENT_ROOMS_COHOST_DB_V1_7 */
.invite-card{max-width:760px;margin:0 auto 28px;padding:24px;display:grid;grid-template-columns:58px minmax(0,1fr) minmax(250px,310px);gap:20px;align-items:center;background:linear-gradient(135deg,rgba(124,92,255,.12),rgba(15,19,26,.96) 40%,rgba(12,16,22,.98));border-color:#35304e}.invite-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#7b5cff,#4c86ff);box-shadow:0 15px 38px rgba(95,78,244,.28);font-size:20px}.invite-copy{min-width:0}.invite-copy .eyebrow{margin:0 0 7px}.invite-copy h2{margin:0 0 7px;font-size:25px;letter-spacing:-.035em}.invite-copy p{margin:0;color:#8e99aa;font-size:12px;line-height:1.55}.invite-form label{display:block;color:#cbd2dc;font-size:11px;font-weight:700}.invite-form input{width:100%;margin:7px 0 9px;background:#080c12;border:1px solid #2b3442;color:#fff;border-radius:11px;padding:12px;outline:none}.invite-form input:focus{border-color:#735cff;box-shadow:0 0 0 3px rgba(115,92,255,.12)}.invite-form .primary{padding:12px 14px}.invite-form .error{margin-bottom:-12px}.recent-rooms{max-width:1040px;margin:34px auto 0;padding-top:28px;border-top:1px solid #202735}.recent-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px}.recent-head .eyebrow{margin:0 0 7px}.recent-head h2{margin:0;font-size:21px;letter-spacing:-.03em}.recent-head small{color:#677386;font-size:10px}.recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recent-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 16px;border:1px solid #222b38;border-radius:15px;background:rgba(13,18,25,.86)}.recent-card>div:first-child{min-width:0}.recent-code{font-size:9px;letter-spacing:.15em;color:#9c91ee;font-weight:850}.recent-card h3{margin:4px 0 4px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-card p{margin:0;color:#778397;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}.recent-actions span{font-size:8px;color:#748094;font-weight:800;letter-spacing:.08em}.recent-actions button{border:1px solid #323b49;background:#181e28;color:#e5e9f0;border-radius:9px;padding:7px 11px;font-size:10px;font-weight:800;cursor:pointer}.host-share{border-color:rgba(124,92,255,.5);color:#c8c0ff;background:rgba(124,92,255,.08)}.now-playing em{font-style:normal;color:#52c996;font-size:9px;font-weight:750;white-space:nowrap}.db-saved{align-self:center;border:1px solid rgba(71,213,151,.24);background:rgba(71,213,151,.07);color:#66dba4;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800;white-space:nowrap}.gallery-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
@media(max-width:920px){.invite-card{grid-template-columns:52px minmax(0,1fr)}.invite-form{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;align-items:end}.invite-form .error{grid-column:1/-1}.recent-grid{grid-template-columns:1fr}}
@media(max-width:620px){.invite-card{padding:17px;grid-template-columns:44px minmax(0,1fr);gap:13px;border-radius:17px}.invite-icon{width:44px;height:44px;border-radius:13px;font-size:15px}.invite-copy h2{font-size:20px}.invite-form{display:block}.invite-form .primary{margin-top:3px}.recent-rooms{margin-top:24px;padding-top:22px}.recent-head{align-items:flex-start;flex-direction:column;gap:7px}.recent-head small{display:none}.recent-card{padding:13px}.room-actions{grid-template-columns:1fr 1fr}.room-actions .host-share{grid-column:auto}.now-playing em{display:none}.db-saved{font-size:8px;padding:5px 7px}}

/* VW_WATCH_TOGETHER_DUAL_AUDIO_SOUNDTRACK_V1_8 */
#soundtrackAudio{display:none}
.music-trigger{border-color:rgba(85,188,255,.26);background:rgba(71,143,255,.055)}
.music-trigger span{background:rgba(62,155,255,.14);color:#92c8ff}
.sound-mixer{margin:0 14px 14px;padding:13px;border:1px solid #222d3b;border-radius:15px;background:linear-gradient(135deg,rgba(35,51,73,.42),rgba(11,15,21,.92) 46%,rgba(15,20,27,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
.soundtrack-status{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:10px;align-items:center}
.soundtrack-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#386cf3,#7b5cff);color:white;font-size:16px;box-shadow:0 10px 26px rgba(67,99,235,.22)}
.soundtrack-copy{min-width:0}.soundtrack-copy span{display:block;color:#748196;font-size:8px;letter-spacing:.13em;font-weight:850}.soundtrack-copy b{display:block;margin-top:2px;color:#e5eaf2;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.soundtrack-copy small{display:block;margin-top:2px;color:#738094;font-size:9px}
.music-stop,.music-unlock{border:1px solid #354052;border-radius:9px;background:#151c26;color:#dfe5ef;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer;white-space:nowrap}.music-unlock{border-color:rgba(114,95,255,.58);background:rgba(112,91,255,.12);color:#c9c1ff}.music-stop{color:#ffb0b7;border-color:rgba(255,102,117,.28);background:rgba(255,82,99,.06)}
.mix-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:12px;padding-top:11px;border-top:1px solid #202936}.mix-control{display:block;margin:0}.mix-control>span{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.mix-control b{font-size:9px;color:#aeb8c7}.mix-control em{font-style:normal;font-size:9px;color:#99a8bb}.mix-control input{width:100%;accent-color:#745cff}
.mix-presets{display:flex;gap:5px}.mix-presets button{height:31px;border:1px solid #2d3746;border-radius:9px;background:#10161e;color:#8f9bad;padding:0 9px;font-size:8px;font-weight:800;cursor:pointer;white-space:nowrap}.mix-presets button:hover,.mix-presets button.active{border-color:#6959e8;color:#fff;background:rgba(105,89,232,.13)}
.mix-local-note{display:block;margin-top:9px;color:#627084;font-size:8px;line-height:1.45}
.soundtrack-drawer{background:linear-gradient(180deg,#101723,#090d14)}
.music-add{border-color:#27354a}.soundtrack-item.active{border-color:rgba(74,153,255,.65);background:linear-gradient(135deg,rgba(59,126,255,.12),#0d1219 55%)}.music-thumb{color:#86bdff;background:linear-gradient(135deg,#183254,#192031)}.soundtrack-item.active .music-thumb{background:linear-gradient(135deg,#3f8cff,#785cff);color:#fff;box-shadow:0 8px 26px rgba(61,135,255,.25)}.soundtrack-item.active .gallery-copy small{color:#83baff}.music-play{background:#edf5ff;color:#101927}
@media(max-width:920px){.mix-grid{grid-template-columns:1fr 1fr}.mix-presets{grid-column:1/-1}.mix-presets button{flex:1}}
@media(max-width:620px){.sound-mixer{margin:0 10px 10px;padding:11px;border-radius:13px}.soundtrack-status{grid-template-columns:34px minmax(0,1fr) auto;gap:8px}.soundtrack-icon{width:34px;height:34px;border-radius:10px}.soundtrack-copy b{font-size:11px}.soundtrack-copy small{font-size:8px}.music-unlock{grid-column:1/-1;width:100%}.music-stop{padding:7px 9px}.mix-grid{grid-template-columns:1fr;gap:10px}.mix-presets{grid-column:auto}.mix-presets button{padding:0 5px;font-size:7px}.room-actions{grid-template-columns:1fr 1fr}.soundtrack-drawer{height:min(84dvh,780px)}}
