/* Music lab only. The official stylesheet remains untouched. */
body.cv-music-lab .cv-design-preview{position:fixed;top:12px;left:20px;right:20px;z-index:20;font-size:11px}
body.cv-music-lab .cv-design-preview b{background:#292522;color:#ffc397}
.music-rail[hidden],.music-panel [hidden]{display:none!important}
.music-launch{font-size:11px!important;min-width:0!important}
.music-rail{min-width:0;display:flex;flex-direction:column;gap:12px;padding:0 14px 14px 0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#454e60 transparent}
.music-panel{background:#151a24;border:1px solid #ffffff16;border-radius:16px;padding:15px;flex-shrink:0;color:#e4eaf4}
.music-panel button{border:1px solid #ffffff1a;border-radius:8px;background:#252d3c;color:#e6ebf3;cursor:pointer;min-height:40px;padding:8px 10px;font:600 11px/1.35 'Segoe UI',sans-serif}@media(hover:hover){
.music-panel button:hover{background:#344156}}.music-panel button:disabled{opacity:.45;cursor:default}
.music-panel :is(button,input):focus-visible{outline:2px solid #ffb580;outline-offset:3px}
.music-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.music-heading h2{font-size:20px;letter-spacing:-.6px;margin:3px 0 0;font-weight:600}.music-eyebrow{font-size:8px;letter-spacing:2px;color:#edb28c}
.music-heading #musicClose{min-width:40px;background:transparent;font-size:16px}.music-room-state{font-size:10px;color:#9cacc3;line-height:1.6;margin:9px 0}
.music-player-wrap{position:relative;min-height:200px;aspect-ratio:16/9;background:#0c1018;border:1px solid #ffffff0e;border-radius:10px;overflow:hidden}
.music-player-wrap iframe{display:block;width:100%;height:100%;min-height:200px;border:0;position:absolute;inset:0}
.music-invite{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:12px;background:radial-gradient(ellipse at top,#302c31,#111723 75%)}
.music-disc{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #eaa37b66;border-radius:50%;color:#ffc196;font-size:22px}.music-invite strong{font-size:13px;font-weight:600}.music-invite p{font-size:11px;line-height:1.4;color:#a7b3c6;margin:0}.music-invite small{font-size:9px;line-height:1.4;color:#8494ad;max-width:260px}
.music-invite button,#musicAddForm button{background:#ffb17d;color:#291c17;border-color:#ffca9f}
.music-now{padding:12px 0 8px;display:flex;flex-direction:column;gap:4px}.music-now>span{font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.music-now small{font-size:10px;color:#8f9eb5}
.music-actions{display:flex;gap:6px;flex-wrap:wrap}.music-actions #musicPlay{flex:1;color:#ffd2b3;background:#342b2b}.music-actions button{min-height:40px;font-size:10px;padding:7px}
.music-volume{display:flex;align-items:center;gap:8px;margin:6px 0}.music-volume label{font-size:10px;white-space:nowrap;color:#a2b1c7}.music-volume input{width:100%;min-width:40px;accent-color:#ffb17d}.music-volume output{font-size:10px;min-width:30px}.music-volume button{font-size:16px;min-width:40px}
.music-queue-toggle{display:flex;align-items:center;gap:10px;width:100%;text-align:left;margin:6px 0}.music-queue-toggle>span:first-child{display:flex;justify-content:center;align-items:center;min-width:22px;height:22px;background:#46516a66;border-radius:7px}.music-queue-toggle>span:last-child{margin-left:auto}
#musicAddForm{padding-top:6px}#musicAddForm label{display:block;color:#a7b5ca;font-size:10px;margin-bottom:6px}#musicAddForm>div{display:flex;gap:6px}#musicAddForm input{min-width:0;width:100%;border:1px solid #ffffff20;border-radius:8px;color:#dbe4f5;background:#0e141f;padding:10px;font:12px 'Segoe UI',sans-serif}#musicAddForm button{white-space:nowrap}
#musicQueue{padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;max-height:190px;overflow:auto;margin:10px 0 0;scrollbar-width:thin}#musicQueue li{display:flex;align-items:center;gap:10px;padding:9px;background:#1d2532;border:1px solid #ffffff0a;border-radius:8px;flex-shrink:0}#musicQueue li>span{min-width:0;flex:1;font-size:11px;line-height:1.5;overflow-wrap:anywhere}#musicQueue small{display:block;color:#94a4bd;font-size:10px;margin-top:3px}#musicQueue button{min-width:36px;min-height:36px}
.music-empty,.music-status{font-size:11px;line-height:1.6;color:#a4b3c8;margin:10px 0 0}.music-status{color:#e8bd9d;min-height:0}.music-status:empty{display:none}.music-retry{margin-top:10px;width:100%}
/* When music is open, use the available frame; the shares retain their own area. */
body.cv-music-lab:has(.music-open) .shell{padding:46px 12px 12px!important;height:100dvh!important;min-height:100dvh!important;align-items:stretch!important;overflow:hidden}
body.cv-music-lab .window.music-open{width:100%!important;max-width:none!important;min-height:0!important;height:100%!important;max-height:none!important;transform:none!important;display:grid!important;grid-template-columns:minmax(0,1fr) 390px!important;grid-template-rows:60px auto auto minmax(0,1fr) auto auto!important;overflow:hidden!important;border-radius:18px!important}
body.cv-music-lab .window.music-open>.titlebar{grid-column:1/-1!important;grid-row:1!important;min-height:60px!important;height:60px!important;padding:0 22px!important}
body.cv-music-lab .window.music-open>.cv-connection{grid-column:1/-1;grid-row:2;padding:8px 22px}
body.cv-music-lab .window.music-open>.cv-admission{grid-column:1/-1;grid-row:3}
body.cv-music-lab .window.music-open>.content{grid-column:1!important;grid-row:4!important;min-height:0!important;overflow:auto!important;display:block!important;max-height:none!important}
body.cv-music-lab .window.music-open>.music-rail{grid-column:2!important;grid-row:4!important}
body.cv-music-lab .window.music-open>.controls{grid-column:1/-1!important;grid-row:5!important;min-height:64px!important;padding:10px 20px!important}
body.cv-music-lab .window.music-open>.strip{grid-column:1/-1!important;grid-row:6!important}
body.cv-music-lab .window.music-open .session{padding:16px!important;min-height:0!important}
body.cv-music-lab .window.music-open .session.has-screen{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;gap:12px!important;overflow:visible!important}
body.cv-music-lab .window.music-open .session .roomline{flex:0 0 auto}.window.music-open .roomline h2{font-size:20px!important}
body.cv-music-lab .window.music-open .session.has-screen>.people,body.cv-music-lab .window.music-open .theaterSidebar .people{display:grid!important;grid-template-columns:1fr 1fr!important;flex:0 0 auto!important;min-height:0!important;gap:10px!important}
body.cv-music-lab .window.music-open .session.has-screen .person{min-height:72px!important;padding:8px!important;gap:4px 8px!important;border-radius:12px!important}
body.cv-music-lab .window.music-open .session.has-screen .person .avatar{width:36px!important;height:36px!important}
body.cv-music-lab .window.music-open .session.has-screen .person .name{font-size:13px!important}
body.cv-music-lab .window.music-open .session.has-screen .viewer{flex:1 1 240px!important;min-height:240px!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;grid-column:auto!important;grid-row:auto!important;position:relative!important}
body.cv-music-lab .window.music-open .viewer .streamGrid{min-height:200px!important;height:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
body.cv-music-lab .window.music-open .viewer.dual .streamGrid{grid-template-columns:1fr 1fr!important}
body.cv-music-lab .window.music-open .viewer .streamTile{min-width:0!important;min-height:180px!important;height:100%!important;width:100%!important;aspect-ratio:auto!important;max-height:none!important}
body.cv-music-lab .window.music-open .viewer .streamTile video{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important}
body.cv-music-lab .window.music-open .viewActions{position:relative!important;inset:auto!important;padding:8px!important;flex-wrap:wrap;display:flex!important}
body.cv-music-lab .window.music-open .theaterSidebar{display:flex!important;flex:0 0 auto!important;overflow:visible!important;gap:8px!important;max-height:none!important}
body.cv-music-lab .window.music-open .theaterSidebar[hidden]{display:none!important}
body.cv-music-lab .window.music-open .theaterSidebar .theaterSecondary.visible{height:130px!important;min-height:130px!important;width:230px!important;align-self:flex-end!important}
body.cv-music-lab .window.music-open .theaterSidebar .theaterSecondary .streamTile{min-height:80px!important}
body.cv-music-lab .window.music-open .idle{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:none;padding:40px!important;height:100%;min-height:400px}.window.music-open .idle .mark-logo{display:none!important}.window.music-open .idle h1{font-size:clamp(32px,3.5vw,54px)!important}.window.music-open .idle .actions{flex-wrap:wrap}
body.cv-music-lab .window.music-open #bottomChatDock{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;order:initial!important;box-shadow:none!important;border:1px solid #ffffff16!important;border-radius:12px!important;flex-shrink:0!important}
body.cv-music-lab .window.music-open #bottomChatDock:not(.open){display:none!important}
body.cv-music-lab .window.music-open #bottomChatDock.open{min-height:180px!important}
body.cv-music-lab .window.music-open #bottomChatDock .chatTitle{padding:10px 12px!important}
body.cv-music-lab .window.music-open #bottomChatDock .chatForm{padding:10px!important;gap:6px}
@media(max-width:1100px){body.cv-music-lab .window.music-open{grid-template-columns:minmax(0,1fr) 360px!important}body.cv-music-lab .window.music-open .controls{gap:6px!important}body.cv-music-lab .window.music-open .controls .shortcut{display:none}}
@media(max-width:850px){body.cv-music-lab:has(.music-open) .shell{height:auto!important;overflow:visible!important}body.cv-music-lab .window.music-open{height:auto!important;min-height:calc(100dvh - 58px)!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:60px auto auto auto auto auto auto!important}body.cv-music-lab .window.music-open>.content{grid-column:1!important;grid-row:4!important;overflow:visible!important}body.cv-music-lab .window.music-open>.music-rail{grid-column:1!important;grid-row:5!important;padding:12px;overflow:visible}body.cv-music-lab .window.music-open>.controls{grid-row:6!important;flex-wrap:wrap!important}body.cv-music-lab .window.music-open>.strip{grid-row:7!important}body.cv-music-lab .window.music-open .idle{height:auto;min-height:0;padding:24px!important}.music-player-wrap{aspect-ratio:16/9}.music-panel{padding:12px}body.cv-music-lab .window.music-open .viewer.dual .streamGrid{grid-template-columns:1fr!important}body.cv-music-lab .window.music-open .session.has-screen .viewer{min-height:300px!important}}
@media(max-width:440px){body.cv-music-lab:has(.music-open) .shell{padding:42px 5px 5px!important}body.cv-music-lab .window.music-open{border-radius:12px!important}.music-heading h2{font-size:18px}.music-actions{gap:4px}.music-actions button{font-size:9px}.music-volume{gap:6px}body.cv-music-lab .cv-design-preview{left:10px;right:10px;font-size:10px}.cv-design-preview>span>span{display:none}}
@media(prefers-reduced-motion:reduce){.music-rail *{animation:none!important;transition:none!important}}
/* Keep conversation beneath the shares; music owns a separate, scrollable column. */
body.cv-music-lab .window.music-open{grid-template-rows:52px auto auto minmax(0,1fr) auto auto auto!important}
body.cv-music-lab .window.music-open>.titlebar{height:52px!important;min-height:52px!important}
body.cv-music-lab .window.music-open>.music-rail{grid-row:4/6!important;padding:0 12px 10px 0}
body.cv-music-lab .window.music-open>#bottomChatDock{grid-column:1!important;grid-row:5!important;width:calc(100% - 24px)!important;margin:0 12px 10px!important}
body.cv-music-lab .window.music-open>.controls{grid-row:6!important;min-height:55px!important;padding:7px 18px!important}
body.cv-music-lab .window.music-open>.strip{grid-row:7!important}
body.cv-music-lab .window.music-open .session.has-screen .viewer{flex:1 1 180px!important;min-height:180px!important}
body.cv-music-lab .window.music-open .viewer .streamGrid{min-height:160px!important}
body.cv-music-lab .window.music-open .viewer .streamTile{min-height:150px!important}
body.cv-music-lab .window.music-open .session.has-screen .roomline h2{font-size:16px!important;margin:3px 0!important}
body.cv-music-lab .window.music-open .session.has-screen .roomline .eyebrow{font-size:8px!important}
.music-player-wrap{position:sticky;top:0;z-index:2}
@media(max-width:850px){body.cv-music-lab .window.music-open{grid-template-rows:52px auto auto auto auto auto auto auto!important}body.cv-music-lab .window.music-open>.music-rail{grid-row:5!important;padding:12px!important}body.cv-music-lab .window.music-open>#bottomChatDock{grid-row:6!important}body.cv-music-lab .window.music-open>.controls{grid-row:7!important}body.cv-music-lab .window.music-open>.strip{grid-row:8!important}.music-player-wrap{position:relative}}
body.cv-music-lab .window.music-open .session.has-screen .roomline{padding:0!important;gap:8px!important;align-items:center!important;margin:0!important}
body.cv-music-lab .window.music-open .session.has-screen .roomright{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
body.cv-music-lab .window.music-open .session.has-screen .roomright>.sub{display:none!important}
body.cv-music-lab .window.music-open .session.has-screen .roomright .timer{font-size:10px!important}
body.cv-music-lab .window.music-open .session.has-screen .roomright .codebtn{padding:6px 8px!important;font-size:10px!important}
body.cv-music-lab .window.music-open .session.has-screen .q-invite{margin:0!important;padding:6px!important;font-size:8px!important}
body.cv-music-lab .window.music-open .session.has-screen .people .person{display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;min-height:74px!important;gap:3px 8px!important;position:relative}
body.cv-music-lab .window.music-open .session.has-screen .people .person .avatar{grid-column:1!important;grid-row:1/3!important;width:28px!important;height:28px!important;margin:0!important}
body.cv-music-lab .window.music-open .session.has-screen .people .person .name{grid-column:2!important;grid-row:1!important;font-size:12px!important}
body.cv-music-lab .window.music-open .session.has-screen .people .person .role{grid-column:2!important;grid-row:2!important;font-size:8px!important}
body.cv-music-lab .window.music-open .session.has-screen .people .person .gainLabel{grid-column:1/-1!important;grid-row:3!important;margin:0!important;font-size:8px!important}
body.cv-music-lab .window.music-open .session.has-screen .people .person .userFlags{position:absolute;right:8px;top:8px;font-size:8px}
body.cv-music-lab .window.music-open .session.has-screen .viewer{min-height:160px!important;flex-basis:160px!important}
body.cv-music-lab .window.music-open .viewer .streamGrid{min-height:140px!important}
body.cv-music-lab .window.music-open .viewer .streamTile{min-height:140px!important}
body.cv-music-lab .window.music-open .session.has-screen{padding:12px!important;gap:8px!important}
body.cv-music-lab .window.music-open .session.has-screen .roomline .sub{display:none!important}
body.cv-music-lab .window.music-open .session.has-screen .people .person{grid-template-columns:28px minmax(55px,.6fr) minmax(100px,1fr)!important;grid-template-rows:auto auto!important;min-height:54px!important;padding:6px 8px!important;gap:2px 8px!important}
body.cv-music-lab .window.music-open .session.has-screen .people .person .gainLabel{grid-column:3!important;grid-row:1/3!important;font-size:7px!important;gap:5px!important}
body.cv-music-lab .window.music-open .session.has-screen .people .person .userFlags{top:auto!important;bottom:1px!important;right:8px!important;font-size:6px!important;line-height:1}
body.cv-music-lab .window.music-open .viewer{display:flex!important;flex-direction:column!important;overflow:hidden!important}
body.cv-music-lab .window.music-open .viewer .streamGrid{flex:1 1 0!important;height:auto!important;min-height:0!important;grid-template-rows:minmax(0,1fr)!important;overflow:hidden!important}
body.cv-music-lab .window.music-open .viewer .streamTile{height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important}
body.cv-music-lab .window.music-open .viewer .viewActions{flex:0 0 auto!important;padding:4px!important;gap:4px!important}
body.cv-music-lab .window.music-open .viewer .viewActions button{padding:5px 8px!important;font-size:9px!important}
@media(max-width:1000px){body.cv-music-lab .window.music-open .session.has-screen .people .person{grid-template-columns:28px 1fr!important;min-height:72px!important}body.cv-music-lab .window.music-open .session.has-screen .people .person .gainLabel{grid-column:1/-1!important;grid-row:3!important}}
body.cv-music-lab .window.music-open .session.has-screen .viewer{padding:4px!important;margin:0!important}
body.cv-music-lab .window.music-open .streamBar{opacity:.15;transition:opacity .15s;padding:7px!important}@media(hover:hover){
body.cv-music-lab .window.music-open .streamTile:hover .streamBar,body.cv-music-lab .window.music-open .streamTile:focus-within .streamBar{opacity:1}}
body.cv-music-lab .window.music-open .streamBar button{padding:5px!important;font-size:8px!important;min-height:30px}
body.cv-music-lab .window.music-open .streamBar .screenAudioVolume{padding:7px!important;max-width:180px;font-size:9px}
body.cv-music-lab .window.music-open.music-focus .viewer.dual .streamGrid{grid-template-columns:minmax(0,1fr) minmax(0,2fr)!important}
body.cv-music-lab .window.music-open>#bottomChatDock.open{display:grid!important}
@media(max-width:850px){body.cv-music-lab .window.music-open.music-focus .viewer.dual .streamGrid{grid-template-columns:1fr!important}}
@media(max-width:850px){body.cv-music-lab .window.music-open .viewer.dual{min-height:370px!important;flex-basis:370px!important}body.cv-music-lab .window.music-open .viewer.dual .streamGrid{grid-template-rows:repeat(2,minmax(0,1fr))!important;min-height:310px!important}.music-open .controls .buttons{flex-wrap:wrap;justify-content:center}.music-open .people .userFlags{display:none}}
@media(max-width:850px){body.cv-music-lab .window.music-open .session.has-screen .people .person .userFlags{display:block;position:static;grid-column:1/-1;grid-row:4;font-size:7px!important}body.cv-music-lab .window.music-open .session.has-screen .people .person{min-height:82px!important}}
.music-player-wrap{width:100%;min-width:0}
/* A quiet wordmark and an explicit, independent music switch. */
.cv-music-lab .titlebar .logo{display:flex;align-items:center;min-width:0}
.cv-music-lab .titlebar .brand-name{font:650 19px/1.1 'Segoe UI Variable','Segoe UI',sans-serif;letter-spacing:-.55px;color:#edf0f7;white-space:nowrap}
.cv-music-lab .titlebar .brand-name>span{color:#efb187;font-weight:450}
.cv-music-lab .music-switch{display:inline-flex;align-items:center;gap:9px;border:1px solid #ffffff1c;border-radius:9px;background:#1c2330;color:#d1dbea;padding:8px 11px;min-height:38px;cursor:pointer;font:600 11px/1.2 'Segoe UI',sans-serif;white-space:nowrap}@media(hover:hover){
.cv-music-lab .music-switch:hover{background:#293344}}.cv-music-lab .music-switch:focus-visible{outline:2px solid #ffb580;outline-offset:3px}
.cv-music-lab .music-switch-track{width:28px;height:16px;display:block;border-radius:12px;background:#596377;position:relative;transition:background .15s}
.cv-music-lab .music-switch-track i{position:absolute;width:10px;height:10px;left:3px;top:3px;border-radius:50%;background:#e2e8f2;transition:transform .15s}
.cv-music-lab .music-switch[aria-checked=true] .music-switch-track{background:#e3a375}.cv-music-lab .music-switch[aria-checked=true] .music-switch-track i{transform:translateX(12px);background:#33231b}
body.cv-music-live:has(.music-open) .shell{padding-top:12px!important}
@media(max-width:600px){.cv-music-lab .titlebar .brand-name{font-size:17px}.cv-music-lab .titlebar{padding-left:16px!important;padding-right:12px!important}.cv-music-lab .titlebar .topright{gap:5px!important}.cv-music-lab .music-switch{padding:7px;gap:6px;font-size:10px}.cv-music-lab .titlebar .previewbadge{display:none!important}}
/* Session state wins over layout display rules, with music both on and off. */
body.cv-music-lab .window #viewer.hidden,
body.cv-music-lab .window .session:not(.has-screen) #viewer,
body.cv-music-lab .window #localTile.hidden,
body.cv-music-lab .window #remoteTile.hidden{display:none!important}
body.cv-music-lab .window>.cv-connection,body.cv-music-lab .window>.cv-admission{position:relative;z-index:1;flex:0 0 auto;min-width:0;align-self:stretch}
body.cv-music-lab .window.music-open>.cv-connection{grid-column:1/-1!important;grid-row:2!important}
body.cv-music-lab .window.music-open>.cv-admission{grid-column:1/-1!important;grid-row:3!important}
body.cv-music-lab .window>.cv-connection[hidden],body.cv-music-lab .window>.cv-admission[hidden]{display:none!important}
/* The compact music layout must also release the no-share chat's old fixed height. */
body.cv-music-lab .window.music-open #bottomChatDock.open[data-studio-resize] #chatMessages{height:auto!important;min-height:32px!important;max-height:none!important;flex:1 1 0!important}
