/* Lindell Streams v2 — PHP-compatible listening room */
:root{color-scheme:dark;--bg:#0d151f;--panel:#142230;--line:#b4d2eb12;--text:#e7eef6;--muted:#8298ae;--blue:#b6d6f5;--side:235px;--footer:114px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 52% 5%,#28425388,transparent 65%),var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;min-height:100dvh}button,input,summary{font:inherit}button,summary{cursor:pointer}button:disabled{opacity:.35;cursor:default}button,input{border:1px solid var(--line);border-radius:7px;padding:10px 14px}button{background:#263a4d;color:#c3d6e9;transition:background .15s,color .15s}button:hover:not(:disabled){background:#344d66;color:#fff}button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #a1c9f1;outline-offset:4px}input{color:var(--text);background:#0a1521;min-width:0}input::placeholder{color:#5f7890}.primary{background:#e5eef7;border-color:#e5eef7;color:#14283e;font-weight:600}.primary:hover:not(:disabled){background:white;color:#122334}button:disabled:hover{background:inherit}header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:#0b141ea8}.brand{color:#eef5fc;font-weight:650;font-size:23px;letter-spacing:-.6px;text-decoration:none}.brand span{color:#9fbad4;font-weight:350;margin-left:7px}.brand::before{content:'≋';display:inline-grid;place-items:center;width:34px;height:34px;color:#18314c;background:#cae0f7;border-radius:9px;margin-right:12px;font-size:27px;font-weight:500;vertical-align:middle}.badge{font-size:9px;letter-spacing:2px;color:#a4bdd4;border:1px solid #a9c7e426;background:#9dbfd207;border-radius:30px;padding:9px 15px}main{max-width:1600px;margin:0 auto;padding:0 30px calc(var(--footer) + 35px)}main>h1,main>.intro,main>.eyebrow{display:none}#status{margin:0;position:fixed;z-index:70;bottom:calc(var(--footer) + 14px);left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);background:#263b50;border:1px solid #80aac344;border-radius:8px;padding:13px 20px;box-shadow:0 10px 35px #0006;color:#d9eafa;font-size:12px;pointer-events:none}#status:empty{display:none}.layout{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:calc(100dvh - 82px - var(--footer));gap:0}.sidebar{padding:29px 22px 20px 4px;border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.workspace{display:flex;gap:11px;align-items:center;font-size:12px;margin:0 4px 34px}.workspace small{display:block;font-size:10px;color:#526f88;margin-top:3px}.avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:linear-gradient(140deg,#39536f,#203248);border:1px solid #ffffff0b;color:#bbd4ef;font-size:10px}.eyebrow{color:#849fb9;font-size:9px;letter-spacing:1.8px;font-weight:550}.sidebar>.eyebrow{font-size:8px;margin:0 10px 13px;color:#57748e}.nav-playlist{width:100%;display:flex;align-items:center;gap:9px;border:0;padding:11px 10px;margin:3px 0;text-align:left;background:transparent;color:#87a1ba;font-size:11px}.nav-playlist>span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-playlist small{font-size:9px;color:#6b88a3}.nav-note{font-size:15px;color:#90b2d1}.nav-playlist.active{background:#a6c7e612;color:#d3e6f8}.new-playlist{margin:20px 0}.new-playlist summary{list-style:none;color:#afc6db;font-size:11px;padding:11px 10px;border:1px solid #98b8d423;border-radius:6px}.new-playlist summary::-webkit-details-marker{display:none}.new-playlist form{display:grid;gap:9px;margin-top:12px}.new-playlist input{width:100%;font-size:11px}.new-playlist .primary{font-size:11px}.sidebar-bottom{margin-top:auto;padding:65px 8px 0}.signature{font-size:8px;letter-spacing:1.8px;color:#3d5a73;margin-bottom:17px}.logout{background:transparent;color:#6c89a5;font-size:11px;padding:7px 0;border:0}.session{padding:28px 48px 35px;min-width:0}.session-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:43px}.breadcrumb{color:#738ca6;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.privacy-label{font-size:8px;color:#7193ad;letter-spacing:1.5px;flex-shrink:0}.session-hero{display:flex;gap:32px;align-items:center;margin-bottom:43px}.cover-art{width:190px;aspect-ratio:1;flex-shrink:0;overflow:hidden;position:relative;border:1px solid #c4deef24;border-radius:10px;box-shadow:0 17px 38px #0004;background:radial-gradient(ellipse at 10% 5%,#819baa55,transparent 55%),linear-gradient(145deg,#4a687c,#14293d 60%,#081726);padding:19px}.cover-art::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,#bed5e705 0,#bed5e705 1px,transparent 1px,transparent 3px)}.cover-brand{font-size:8px;letter-spacing:4px;color:#cfe3f3;position:relative;z-index:2}.record-disc{width:150px;height:150px;border-radius:50%;position:absolute;top:15px;left:65px;background:repeating-radial-gradient(circle,#061323 0,#061323 3px,#1a2b3b 4px,#061323 5px);box-shadow:0 1px 22px #0008;opacity:.8}.record-disc::after{content:'';position:absolute;inset:57px;border:12px solid #9cb6c4;border-radius:50%;background:#182d43}.cover-title{position:absolute;bottom:35px;left:19px;right:15px;font-size:19px;line-height:1.2;font-weight:550;letter-spacing:-.5px;text-shadow:0 2px 10px #071728;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;z-index:2}.cover-caption{position:absolute;bottom:18px;left:20px;font-size:6px;letter-spacing:2px;color:#9db6cc}.session-info{min-width:0;flex:1}.session-info .eyebrow{font-size:8px;color:#89a5be;margin:0 0 12px}.session-info h2{font-size:clamp(28px,3vw,43px);font-weight:650;letter-spacing:-1.2px;line-height:1.13;margin:0 0 11px;overflow-wrap:anywhere}.artist{color:#adc2d6;font-size:12px;margin:0}.session-description{color:#67869f;font-size:11px;margin:15px 0 0}.session-controls{display:flex;align-items:flex-start;gap:10px;margin-top:22px}.play-all{min-width:88px;padding:8px 15px;font-size:11px}.share-box{position:relative}.share-box>summary{font-size:11px;border:1px solid #c2def118;border-radius:7px;padding:8px 13px;color:#bbd1e6;list-style:none;background:#b1cee009}.share-box>summary::-webkit-details-marker{display:none}.share-box[open]>summary{background:#3d5671}.sharing{position:absolute;top:46px;left:0;width:340px;z-index:20;padding:22px;background:#192c3f;border:1px solid #7797b447;border-radius:12px;box-shadow:0 14px 45px #0008;display:flex;flex-wrap:wrap;gap:10px}.sharing h3{margin:0;font-size:20px;font-weight:500;letter-spacing:-.5px}.sharing p{width:100%;margin:0 0 3px;font-size:11px}.sharing input{width:100%;font-size:11px;padding:10px}.sharing button{font-size:10px;padding:9px 12px}.danger-quiet{background:transparent;color:#a2b7cc}.muted{color:var(--muted);line-height:1.7}.track-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #b4cfe018;margin-bottom:8px}.track-tab{display:flex;gap:9px;align-items:center;border-bottom:2px solid #b9d3ec;padding:13px 0;color:#c9daec;font-size:12px}.track-tab small{font-size:9px;background:#a9c4da0d;color:#83a1bb;border-radius:3px;padding:0 5px}.track-toolbar input{font-size:11px;width:180px;background:transparent;border:0;padding:8px;color:#b9cde0}.track-head{display:grid;grid-template-columns:30px 1fr 94px;gap:13px;padding:13px 12px;color:#4f6e88;font-size:8px;letter-spacing:1px}.track-head span:last-child{text-align:right}.track{display:grid;grid-template-columns:30px minmax(0,1fr) 94px;gap:13px;align-items:center;min-height:73px;border-bottom:1px solid #bed8ee09;padding:9px 12px;margin:2px 0;border-radius:6px}.track[hidden]{display:none}.track:hover{background:#d3e6ff05}.track.playing{background:#b6d7f50b;border-bottom-color:transparent}.track-number{background:transparent;border:0;padding:5px 0;font-size:10px;color:#6e8ba6;position:relative}.track.playing:not(.is-paused) .track-number{font-size:0}.track.playing:not(.is-paused) .track-number::after{content:'≋';font-size:22px;color:#c2e2ff}.trackname{background:transparent;border:0;text-align:left;min-width:0;padding:8px 0}.trackname:hover:not(:disabled){background:transparent}.trackname strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c6d8e9;font-weight:450;font-size:13px}.track.playing .trackname strong{color:#daedff}.trackname small{display:block;font-size:8px;color:#567b98;margin-top:5px;letter-spacing:.35px}.trackactions{display:flex;justify-content:flex-end;gap:3px}.trackactions button{padding:4px 0;width:28px;height:29px;background:transparent;border-color:transparent;color:#7795b0;font-size:14px}.trackactions .remove-track{font-size:20px;color:#6a8197}.trackactions button:hover:not(:disabled){background:#9ac0e117;color:#e2eefb}.format-label{text-align:right;font-size:9px;color:#557d9c;letter-spacing:1px}.drop{position:relative;display:flex;align-items:center;gap:17px;margin:28px 0 0;padding:24px;border:1px dashed #90b1cc33;border-radius:9px;background:#92b2cc03;cursor:pointer}.drop:hover,.drop.dragover{border-color:#b2d6f2;background:#a2cbeb0a}.upload-symbol{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;background:#9cc7ec0a;color:#99b9d5;font-size:23px;border:1px solid #95b8d00b;border-radius:10px}.drop strong{display:block;font-size:12px;font-weight:500;color:#a9c4dd}.drop div>span{display:block;font-size:10px;color:#5e829e;margin-top:5px}.drop-plus{margin-left:auto;color:#718fa9;font-size:21px}.drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}.drop:focus-within{outline:2px solid #c1e1fc;outline-offset:3px}.session-footnote{font-size:8px;letter-spacing:1.7px;color:#3c607d;text-align:center;margin-top:34px}.empty-title{font-size:36px;font-weight:500;letter-spacing:-1px;margin:90px 0 20px}.empty-tracks{padding:35px 0;text-align:center;color:#7494b0;font-size:12px}.empty-tracks[hidden]{display:none}footer{height:var(--footer);position:fixed;inset:auto 0 0;background:#111f2df5;backdrop-filter:blur(20px);border-top:1px solid #a2c8e720;z-index:50;display:grid;grid-template-columns:300px minmax(230px,600px) 220px;justify-content:space-between;gap:35px;align-items:center;padding:13px 36px}.now-group{display:flex;align-items:center;gap:13px;min-width:0}.mini-cover{width:49px;height:49px;border-radius:6px;flex-shrink:0;display:grid;place-items:center;color:#abc9e4;font-size:36px;background:linear-gradient(140deg,#435d73,#132b42);border:1px solid #bad4e617}.now-group>div:last-child{min-width:0}.now-label{font-size:7px;letter-spacing:1.5px;color:#5f87a7}.now-group small:last-child{display:block;font-size:9px;color:#678ba8;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#now{font-size:12px;color:#c9dff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.6}.player-center{min-width:0}.player-buttons{display:flex;align-items:center;justify-content:center;gap:24px}.player-buttons button{border:0;background:transparent;padding:0;width:29px;height:32px;font-size:29px;color:#93b5d1}.player-buttons .toggle-play{width:35px;height:35px;border-radius:50%;background:#dfedf9;color:#19324c;font-size:15px}.progress{display:flex;align-items:center;gap:13px;margin-top:13px}.progress>span{font-size:9px;font-variant-numeric:tabular-nums;color:#7197b6;min-width:28px}.progress>span:last-child{text-align:right}.progress input{flex:1;width:100%;min-width:0}.progress input,.volume-box input{appearance:none;height:4px;background:#3e5d76;padding:0;border:0;border-radius:5px;accent-color:#c4e2fb;cursor:pointer}.progress input::-webkit-slider-thumb,.volume-box input::-webkit-slider-thumb{appearance:none;width:10px;height:10px;border-radius:50%;background:#c4e2fb}.progress input::-moz-range-thumb,.volume-box input::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:#c4e2fb}.volume-box{display:flex;align-items:center;justify-content:flex-end;gap:10px}.volume-box .mute{padding:3px;border:0;background:transparent;font-size:23px;color:#a0bdd4;width:28px}.volume-box input{width:77px}.codec{font-size:8px;letter-spacing:1px;color:#698da9;border:1px solid #bedefa18;border-radius:3px;padding:3px 5px;margin-left:13px}.login{max-width:420px;margin:75px auto 40px;padding:35px;border:1px solid #96b8d31c;border-radius:16px;background:#1a2d3e66;box-shadow:0 35px 80px #0002}.login-symbol{font-size:38px;color:#bedcf6;margin-bottom:24px}.login h2{font-size:29px;font-weight:550;letter-spacing:-.8px;line-height:1.2;margin:12px 0}.login .muted{font-size:12px}.login form{display:grid;gap:12px;margin-top:26px}.login input,.login .primary{font-size:12px;padding:12px}.listener .sidebar{display:none}.listener .layout{grid-template-columns:1fr;max-width:1040px;margin:auto}.listener .session{padding-top:34px}.listener .session-hero{margin-top:40px}.signed-out footer{display:none}.signed-out main{padding-bottom:35px}[hidden]{display:none!important}@media(min-width:1550px){.session{padding-left:68px;padding-right:68px}.session-hero{gap:40px}.cover-art{width:218px}.record-disc{width:175px;height:175px;left:75px}.record-disc::after{inset:66px}.session-top{margin-bottom:55px}.track{min-height:80px}}@media(max-width:1100px){:root{--side:205px}main{padding-left:20px;padding-right:20px}.session{padding:27px 28px}.cover-art{width:156px}.session-hero{gap:23px}.session-info h2{font-size:31px}.session-description{font-size:10px}.cover-title{font-size:17px}.record-disc{width:130px;height:130px;left:46px}.record-disc::after{inset:47px}footer{grid-template-columns:220px minmax(180px,1fr) 135px;padding-left:24px;padding-right:24px;gap:25px}.codec{display:none}.volume-box input{width:65px}.sharing{left:auto;right:0;width:300px}}@media(max-width:760px){:root{--footer:132px}header{height:70px;padding:0 21px}.brand{font-size:20px}.brand::before{width:30px;height:30px;font-size:24px;margin-right:9px}.badge{font-size:7px;letter-spacing:1px;padding:6px 8px}main{padding:0 18px calc(var(--footer) + 20px)}.layout{display:flex;flex-direction:column;min-height:0}.sidebar{padding:19px 0 18px;border-right:0;border-bottom:1px solid var(--line);display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}.workspace,.sidebar>.eyebrow,.signature{display:none}.nav-playlist{width:auto;max-width:190px;border:1px solid #7898b523;font-size:10px;padding:8px 10px;margin:0}.nav-playlist small{font-size:8px}.new-playlist{margin:0;position:relative}.new-playlist summary{font-size:10px;padding:8px 10px}.new-playlist form{position:absolute;top:33px;left:0;width:240px;padding:15px;background:#1c3043;border:1px solid #4c7190;border-radius:8px;z-index:25;box-shadow:0 10px 30px #0007}.sidebar-bottom{margin:0 0 0 auto;padding:0}.logout{font-size:9px;padding:7px}.session{padding:23px 0 25px}.session-top{margin-bottom:29px}.session-hero{gap:22px;margin-bottom:29px}.cover-art{width:153px}.session-info h2{font-size:30px}.track-toolbar input{width:145px}.track{min-height:71px}.drop{padding:18px;margin-top:23px}.session-footnote{margin-top:28px;font-size:7px}.session-description{line-height:1.6}footer{display:block;padding:13px 22px;height:var(--footer)}.now-group{position:absolute;top:13px;left:22px;right:157px;gap:9px}.mini-cover{width:36px;height:36px;font-size:28px}.now-label{display:none}#now{font-size:11px}.now-group small:last-child{font-size:9px}.player-buttons{justify-content:flex-end;gap:14px;height:37px}.player-buttons button{width:24px}.player-buttons .toggle-play{width:32px;height:32px;font-size:14px}.progress{margin-top:24px;height:20px}.progress input{height:5px}.volume-box{display:none}.sharing{width:min(300px,calc(100vw - 40px))}.listener .session{padding:23px 0}.listener .session-hero{margin-top:10px}.empty-title{font-size:28px;margin-top:40px}.login{margin:45px auto 25px;padding:28px}}@media(max-width:450px){.badge{display:none}.session-hero{align-items:flex-start;gap:16px}.cover-art{width:116px;padding:13px;border-radius:8px}.cover-brand{font-size:6px;letter-spacing:2px}.cover-title{font-size:13px;bottom:27px;left:12px;right:8px}.cover-caption{font-size:4px;left:13px;bottom:13px;letter-spacing:1.7px}.record-disc{width:103px;height:103px;left:35px;top:4px}.record-disc::after{inset:38px;border-width:9px}.session-info h2{font-size:25px;letter-spacing:-.7px;margin-bottom:9px}.session-info .eyebrow{font-size:6px;letter-spacing:1.2px;margin-bottom:9px}.artist{font-size:10px}.session-description{display:none}.session-controls{margin-top:16px;gap:6px}.play-all{font-size:10px;padding:7px 10px;min-width:69px}.share-box>summary{font-size:9px;padding:8px}.privacy-label{font-size:6px;letter-spacing:1px}.breadcrumb{font-size:9px}.track-head,.track{grid-template-columns:23px minmax(0,1fr) 78px;gap:8px;padding-left:5px;padding-right:5px}.trackname strong{font-size:11px}.trackname small{font-size:7px}.trackactions{gap:0}.trackactions button{width:26px}.track-tab{font-size:11px}.track-toolbar input{width:129px;font-size:10px}.track-head{font-size:7px}.drop{gap:11px;padding:16px 12px}.upload-symbol{width:34px;height:34px;font-size:21px}.drop strong{font-size:11px}.drop div>span{font-size:9px}.drop-plus{display:none}.nav-playlist{max-width:160px}.sharing{right:-4px}.session-top{margin-bottom:26px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* v3 — uploaded playlist artwork */
.cover-wrap{width:190px;flex-shrink:0;min-width:0}.cover-wrap .cover-art{width:100%}.cover-art.has-image{padding:0;background:#13283b}.cover-art.has-image::after{display:none}.cover-art.has-image>span,.cover-art.has-image>.record-disc{display:none}.cover-art>img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover}.cover-actions{display:flex;align-items:center;gap:5px;margin-top:10px}.cover-upload{flex:1;min-width:0;font-size:10px;padding:8px 6px;background:#b1d2ed0b;border-color:#acc8e025;color:#b9d3ea}.cover-remove{padding:3px;width:29px;height:31px;background:transparent;color:#91abc1;font-size:18px}.cover-help{display:block;font-size:8px;color:#617f99;text-align:center;margin-top:6px}.mini-cover{overflow:hidden}.mini-cover img{width:100%;height:100%;display:block;object-fit:cover}.session-hero{align-items:flex-start}.session-info{padding-top:6px}
@media(min-width:1550px){.cover-wrap{width:218px}}@media(max-width:1100px){.cover-wrap{width:156px}}@media(max-width:760px){.cover-wrap{width:153px}.cover-upload{font-size:9px}.cover-help{font-size:7px}}@media(max-width:450px){.cover-wrap{width:116px}.cover-actions{gap:3px}.cover-upload{font-size:8px;padding:7px 3px}.cover-remove{width:24px;height:28px}.cover-help{font-size:6px}.session-info{padding-top:0}}

/* v4 — real audio waveform, touch reordering and track title editing */
:root{--footer:136px}.player-center{position:relative}.progress{margin-top:10px}.wave-box{position:relative;flex:1;min-width:0;height:37px;border-radius:4px}.wave-canvas{display:block;width:100%;height:100%;border-radius:3px}.wave-box input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;background:transparent}.wave-box:focus-within{outline:1px solid #a9d8ff;outline-offset:4px}.wave-hint{display:block;font-size:8px;line-height:1.4;color:#6f94b1;position:absolute;top:100%;left:0;right:0;text-align:center;margin-top:3px;pointer-events:none}.wave-hint:empty{display:none}.progress>span{flex-shrink:0}.admin-view .track-head,.admin-view .track{grid-template-columns:55px minmax(0,1fr) 124px}.track-leading{display:flex;align-items:center;gap:5px;min-width:0}.drag-handle{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;background:transparent;border:0;padding:6px 0;font-size:19px;letter-spacing:-4px;min-width:24px;height:36px;color:#6d8da8;line-height:1}.drag-handle:hover:not(:disabled){background:#aacdef0a;color:#b3d9fc}.drag-handle[aria-pressed=true]{cursor:grabbing}.track-leading .track-number{flex:1;min-width:20px}.reorder-help{color:#6185a4;font-size:9px;margin:5px 12px 13px}.track.dragging{outline:1px solid #91bee8;outline-offset:-1px;background:#233e57;box-shadow:0 5px 20px #0005;z-index:3;position:relative}.reordering,.reordering *{user-select:none;-webkit-user-select:none}.saving-order .drag-handle,.saving-order .trackactions button{opacity:.35;pointer-events:none}.trackactions .rename-track{font-size:19px;color:#91b2d0}.rename-dialog{background:#172b3e;color:#d6e7f7;border:1px solid #789bb744;border-radius:14px;padding:28px;width:min(450px,calc(100vw - 32px));box-shadow:0 22px 80px #0008;max-height:90dvh;overflow:auto}.rename-dialog::backdrop{background:#040e19bb;backdrop-filter:blur(4px)}.rename-dialog h2{margin:0 0 10px;font-size:25px;letter-spacing:-.6px;font-weight:550}.rename-dialog>p{font-size:12px;margin:0 0 22px}.rename-dialog label{display:grid;gap:9px;font-size:11px;color:#91b1cb}.rename-dialog input{width:100%;font-size:13px;padding:11px}.rename-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.rename-buttons button{font-size:12px}.rename-error{color:#f5bdac;font-size:11px;line-height:1.5;min-height:16px;margin:8px 0 0}
@media(max-width:760px){:root{--footer:150px}.wave-box{height:36px}.progress{height:36px;margin-top:20px}.wave-hint{font-size:7px;margin-top:0}.admin-view .track-head,.admin-view .track{grid-template-columns:47px minmax(0,1fr) 112px;gap:9px}.trackactions button{width:28px;min-height:34px}.drag-handle{min-width:25px;height:43px}.track-leading{gap:2px}.reorder-help{font-size:8px;margin-left:5px}.rename-dialog{padding:23px}.player-center{width:100%}}
@media(max-width:450px){.admin-view .track-head,.admin-view .track{grid-template-columns:43px minmax(0,1fr) 104px;gap:6px}.trackactions button{width:26px;padding:4px 0}.track-leading .track-number{font-size:8px;min-width:16px}.drag-handle{min-width:24px}.trackname strong{font-size:11px}.trackname small{font-size:6px}.wave-box{height:34px}}

/* v5 — per-playlist themes and original waveform wordmark */
:root{--accent:#b6d6f5;--accent-soft:#deedfb;--accent-rgb:182,214,245}
body{background:radial-gradient(ellipse at 52% 5%,rgba(var(--accent-rgb),.17),transparent 65%),var(--bg)}
.brand{display:inline-flex;align-items:center;gap:14px;letter-spacing:-1.6px;font-size:30px;line-height:1;font-weight:700}.brand::before{display:none}.brand .brand-icon{width:48px;height:48px;flex-shrink:0}.brand .brand-word{margin:0;color:#eef3f9;font-weight:700}.brand .brand-word>span{margin:0;color:#8593a5;font-weight:500}.brand .brand-word>b{color:#bddbff;font-weight:800;margin-left:3px}
.primary,.player-buttons .toggle-play{background:var(--accent-soft);border-color:var(--accent-soft);color:#102031}.primary:hover:not(:disabled){background:#fff}.nav-playlist.active,.track.playing{background:rgba(var(--accent-rgb),.12)}.nav-playlist.active .nav-note,.session-info .eyebrow,.track.playing .trackname strong,.player-buttons button,.track-tab,.drag-handle:hover:not(:disabled){color:var(--accent-soft)}.track-tab{border-bottom-color:var(--accent)}.session-controls{flex-wrap:wrap}.cover-art:not(.has-image){background:radial-gradient(ellipse at 10% 5%,rgba(var(--accent-rgb),.45),transparent 65%),linear-gradient(145deg,#304455,#091521)}.mini-cover:not(.has-image){background:linear-gradient(140deg,rgba(var(--accent-rgb),.4),#13202c)}.track.dragging{background:#22313f;outline-color:var(--accent)}.drop:hover,.drop.dragover{border-color:var(--accent)}.volume-box input::-webkit-slider-thumb{background:var(--accent-soft)}.volume-box input::-moz-range-thumb{background:var(--accent-soft)}.wave-box:focus-within{outline-color:var(--accent)}
.playlist-management{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.playlist-management button{font-size:10px;padding:7px 10px;background:rgba(var(--accent-rgb),.06);color:var(--accent-soft)}.playlist-management .delete-playlist{background:transparent;color:#c99b9e}.delete-playlist-confirm{background:#873c46;color:#fff;border-color:#ac5962}.delete-playlist-confirm:hover:not(:disabled){background:#a33d4c;color:#fff}.theme-field{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}.theme-field input[type=color]{width:58px;height:36px;padding:3px;cursor:pointer}.playlist-dialog .theme-field{display:flex;margin-top:18px}.playlist-dialog .theme-field input{width:68px;height:42px}.playlist-dialog .muted{overflow-wrap:anywhere}
@media(max-width:760px){.brand{font-size:25px;gap:11px}.brand .brand-icon{width:39px;height:39px}.playlist-management{gap:5px;margin-top:12px}.playlist-management button{font-size:9px;padding:7px}.playlist-dialog .rename-buttons{flex-wrap:wrap}}
@media(max-width:450px){.brand{font-size:26px}.playlist-management{flex-direction:column;align-items:flex-start}.session-controls{gap:6px}}

/* v8 — individual song sharing */
.admin-view .track-head,.admin-view .track{grid-template-columns:55px minmax(0,1fr) 155px}
.song-share-dialog .rename-buttons{flex-wrap:wrap}.song-share-dialog>p{overflow-wrap:anywhere}.song-share-dialog input{width:100%}
@media(max-width:760px){.admin-view .track-head,.admin-view .track{grid-template-columns:47px minmax(0,1fr) 140px}}
@media(max-width:450px){.admin-view .track-head,.admin-view .track{grid-template-columns:43px minmax(0,1fr) 104px}.trackactions{flex-wrap:wrap}.trackactions .share-track{color:var(--accent-soft)}}

/* v9 — square YouTube companion, uncropped original aspect ratio */
.session-hero.with-video{display:grid;grid-template-columns:218px minmax(180px,1fr) 218px;gap:28px;align-items:start}.with-video .cover-wrap{width:218px}.video-wrap{width:218px;min-width:200px}.video-box{width:218px;height:218px;border:1px solid var(--line);border-radius:10px;background:#080e16;overflow:hidden}.video-box iframe{display:block;width:100%;height:100%;border:0}.video-hint{font-size:9px;color:var(--muted);line-height:1.5;margin:9px 0}.video-start{font-size:10px;padding:7px 11px;color:var(--accent-soft);background:rgba(var(--accent-rgb),.08)}
@media(max-width:1250px){.session-hero.with-video{grid-template-columns:218px minmax(0,1fr);gap:22px}.with-video .video-wrap{grid-column:1/-1}}
@media(max-width:600px){.session-hero.with-video{grid-template-columns:minmax(0,1fr)}.with-video .cover-wrap,.with-video .video-wrap{width:218px}.with-video .session-info{padding-top:0}.with-video .session-description{display:block}.with-video .playlist-management{flex-direction:row}.with-video .video-wrap{grid-column:1}}

/* v10 — producer accounts */
.account-button{display:block;width:100%;text-align:left;font-size:11px;margin:6px 0;background:transparent;color:var(--accent-soft)}.account-dialog form{display:grid;gap:13px;margin:18px 0}.account-dialog label{display:grid;gap:6px}.account-dialog select{background:#102131;color:var(--text);border:1px solid var(--line);padding:10px;border-radius:7px}.account-dialog p{font-size:12px}.account-close{margin-top:15px}.producers-dialog{width:min(580px,calc(100vw - 32px))}.producer-card,.invite-result{padding:15px;border:1px solid var(--line);border-radius:9px;margin:12px 0}.producer-card strong{overflow-wrap:anywhere}.pending-invite{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;margin:10px 0}.account-reset{font-size:11px}.login-help{font-size:11px;color:var(--muted)}.workspace>div{overflow-wrap:anywhere;min-width:0}
@media(max-width:760px){.sidebar-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.account-button{width:auto;font-size:9px;margin:0;padding:6px}.pending-invite{flex-wrap:wrap}}

/* v13 — timestamped listener feedback directly beneath the waveform */
footer{height:auto;min-height:166px;padding-top:13px;padding-bottom:13px}
.comment-area{margin-top:13px;min-width:0}.comment-line{display:flex;gap:7px;align-items:center;margin:0}.comment-time{font-size:10px;color:var(--accent-soft);font-variant-numeric:tabular-nums;min-width:32px}.comment-line input{flex:1;min-width:0;padding:8px 10px;font-size:12px;background:#142638;border:1px solid var(--line);border-radius:6px}.comment-line button{padding:8px 10px;font-size:11px}.comment-tools{display:flex;gap:9px;align-items:center;margin-top:4px;min-width:0}.comment-tools button{background:transparent;border:0;padding:3px 0;color:var(--muted);font-size:10px}.comment-count{flex-shrink:0;color:var(--accent-soft)!important}.comment-current{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.comment-marker-rail{position:absolute;left:4px;right:4px;bottom:-7px;height:12px;pointer-events:none;z-index:2}.comment-marker{position:absolute;top:0;transform:translateX(-50%);width:12px;height:12px;min-width:0;border:0;border-radius:50%;padding:0;background:var(--accent);box-shadow:0 0 0 2px #111f2d;pointer-events:auto}.comment-marker:hover,.comment-marker:focus-visible{background:#fff;outline:2px solid var(--accent-soft);outline-offset:1px}.comments-dialog{width:min(720px,calc(100vw - 28px));max-height:85dvh}.comments-dialog>h2{overflow-wrap:anywhere}.comments-dialog>p,.comment-editor .muted{font-size:12px}.comment-list{max-height:48dvh;overflow:auto;overscroll-behavior:contain}.comment-card{border:1px solid var(--line);border-radius:9px;padding:13px;margin:10px 0;background:#132536}.comment-card.comment-highlight{border-color:var(--accent)}.comment-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.comment-meta strong{font-size:12px;overflow-wrap:anywhere}.comment-meta small{color:var(--muted);font-size:10px}.comment-jump{background:rgba(var(--accent-rgb),.12);color:var(--accent-soft);padding:5px 8px;font-size:12px;font-variant-numeric:tabular-nums}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;font-size:13px}.comment-actions{display:flex;gap:8px;margin-top:9px}.comment-actions button{font-size:11px;padding:5px 8px}.comment-editor{width:min(560px,calc(100vw - 28px));max-height:90dvh;overflow:auto}.comment-editor label{display:grid;gap:6px;margin:12px 0}.comment-editor textarea{width:100%;resize:vertical;max-height:35dvh;min-height:90px;border:1px solid var(--line);border-radius:7px;background:#102131;color:var(--text);font:inherit;padding:10px}.comment-line input:focus,.comment-editor textarea:focus{outline:1px solid var(--accent);outline-offset:1px}
@media(max-width:760px){footer{min-height:205px;padding:13px 18px}.comment-area{margin-top:14px}.comment-line input{font-size:16px;padding:7px 8px}.comment-line button{font-size:11px;padding:9px}.comment-editor input,.comment-editor textarea{font-size:16px}.comment-current{font-size:9px!important}.comments-dialog{padding:18px}.comment-meta{gap:7px}.comment-meta small{width:100%}.comment-tools{gap:10px}}
