:root{color-scheme:dark;--bg: #1a1917;--chrome-top: #302d29;--chrome-bot: #211f1c;--panel: #24221f;--panel-2: #2b2825;--card: #24221f;--inset: #15130f;--line: rgba(255, 255, 255, .07);--hover: rgba(255, 255, 255, .05);--text: #f2efe9;--muted: #a29d94;--dim: #736e66;--accent: #ff7d1a;--accent-2: #f26400;--accent-ink: #1c1206;--accent-soft: rgba(255, 125, 26, .14);--gloss-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);--danger: #e0685e;--ok: #2ecc71}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Hanken Grotesk,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.whale{color:var(--accent)}.gw-logo{display:inline-block;flex-shrink:0;color:var(--accent);background-color:currentColor;-webkit-mask:url(/logo.png) center / contain no-repeat;mask:url(/logo.png) center / contain no-repeat}.brand-lockup{display:inline-flex;align-items:center;gap:.5rem}.muted{color:var(--muted)}.error{color:var(--danger);font-size:.85rem;margin:.4rem 0 0}input,button{font:inherit}button.primary{width:100%;padding:.7rem;border:none;border-radius:10px;background:var(--accent);color:var(--accent-ink);font-weight:600;cursor:pointer}button.primary:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;border:1px solid var(--line);color:var(--text);padding:.4rem .8rem;border-radius:8px;cursor:pointer}button.ghost:hover{border-color:var(--accent)}.splash{min-height:100vh;display:grid;place-items:center}.splash .brand,.topbar .brand{font-size:1.6rem;font-weight:700;letter-spacing:-.02em}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem 0}.auth-brand{text-align:center;margin-bottom:1.25rem}.auth-logo{margin-bottom:.5rem}.auth-brand h1{margin:0;font-size:2.4rem;letter-spacing:-.02em}.tagline{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.25rem 1.5rem}.auth-card{width:min(400px,92vw);display:flex;flex-direction:column;gap:.85rem}.auth-tabs{display:flex;gap:.5rem;margin-bottom:.25rem}.auth-tabs button{flex:1;padding:.5rem;background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--muted);cursor:pointer}.auth-tabs button.active{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--muted)}input{background:var(--inset);border:1px solid var(--line);border-radius:8px;padding:.6rem .7rem;color:var(--text)}input:focus{outline:none;border-color:var(--accent)}.app{min-height:100vh;height:100vh;max-height:100vh;display:flex;align-items:flex-start;overflow:hidden;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.app-main{order:1;flex:1;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column}.app-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.sidebar{order:2;flex:0 0 250px;width:250px;position:sticky;top:0;align-self:flex-start;height:100vh;background:linear-gradient(180deg,var(--chrome-top),var(--chrome-bot));border-left:1px solid #000;box-shadow:var(--gloss-shadow);display:flex;flex-direction:column;padding:20px 0;overflow-y:auto}.sidebar-section{padding:0 12px 14px;display:flex;flex-direction:column;gap:2px}.sidebar-community{flex:1;min-height:0}.sidebar-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-weight:700;padding:4px 8px 8px;display:flex;align-items:center;gap:6px}.sidebar-label .soon{letter-spacing:.04em;font-size:9px;color:var(--accent);background:var(--accent-soft);padding:1px 5px;text-transform:uppercase}.sidebar-create,.sidebar-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;font-size:14px;font-weight:600;text-align:left;cursor:pointer}.sidebar-create{color:var(--accent);font-weight:700}.sidebar-item{color:var(--muted)}.sidebar-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-create:disabled,.sidebar-item.placeholder{cursor:default;opacity:.85}.community-item{display:flex;gap:10px;padding:7px 10px;align-items:flex-start;text-decoration:none;color:inherit;transition:background .12s}a.community-item:hover{background:#ffffff0d;color:inherit}.community-av{width:26px;height:26px;flex:0 0 auto;display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--accent-ink);background:linear-gradient(150deg,var(--accent),var(--accent-2));overflow:hidden}.community-av-img{object-fit:cover}.community-text{font-size:13px;color:var(--muted);line-height:1.4;min-width:0}.community-text b{color:var(--text);font-weight:700}.community-target{color:var(--accent);font-weight:600}.community-time{color:var(--dim);font-weight:600}.community-time:before{content:" · "}.community-empty{padding:4px 10px 8px;font-size:12px;line-height:1.45;color:var(--dim)}.community-item.placeholder{opacity:.7}.follow-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.follow-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.follow-btn.on{color:var(--accent);border-color:var(--accent-soft);background:var(--accent-soft)}.follow-label-hover{display:none}.follow-btn.on:hover:not(:disabled){color:var(--danger, #e0455e);border-color:var(--danger, #e0455e);background:transparent}.follow-btn.on:hover:not(:disabled) .follow-label-on{display:none}.follow-btn.on:hover:not(:disabled) .follow-label-hover{display:inline}.follow-btn.compact{padding:4px;color:var(--dim)}.follow-btn:disabled{opacity:.6;cursor:default}.detail-upload .follow-btn{margin-left:10px;vertical-align:middle}.like-ghost{display:inline-flex;align-items:center;gap:6px}.like-ghost.on{color:var(--danger, #e0455e);border-color:var(--danger, #e0455e)}.like-btn{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:color .12s,border-color .12s}.like-btn:hover:not(:disabled){border-color:var(--danger, #e0455e);color:var(--danger, #e0455e)}.like-btn.on{color:var(--danger, #e0455e);border-color:var(--danger, #e0455e)}.topbar{display:flex;align-items:center;gap:14px;padding:12px 22px;border-bottom:1px solid #000;position:sticky;top:0;background:linear-gradient(180deg,var(--chrome-top),var(--chrome-bot));box-shadow:var(--gloss-shadow);z-index:5}.topbar-spacer{flex:1}.topbar-title{font-size:20px;font-weight:800;letter-spacing:-.01em}.topbar-right{display:flex;align-items:center;gap:.75rem}.nav-drop{position:relative}.brand-nav{display:flex;align-items:center;gap:11px;padding:6px 10px 6px 6px;background:transparent;border:none;cursor:pointer;color:var(--text)}.brand-nav:hover,.brand-nav.open{background:#ffffff0f}.brand-nav .wordmark{font-weight:800;font-size:19px;letter-spacing:-.02em}.brand-page{display:none;font-weight:700;font-size:17px;letter-spacing:-.01em}.brand-caret{transition:transform .15s;color:var(--muted)}.brand-nav.open .brand-caret{transform:rotate(180deg)}.nav-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:linear-gradient(180deg,var(--chrome-top),var(--chrome-bot));border:1px solid #000;box-shadow:0 14px 34px #0000008c,var(--gloss-shadow);z-index:50;padding:6px;display:flex;flex-direction:column;gap:2px}.nav-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:transparent;border:none;border-left:3px solid transparent;color:var(--muted);font-size:15px;font-weight:600;cursor:pointer;text-align:left}.nav-menu button:hover{background:#ffffff0d;color:var(--text)}.nav-menu button.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-soft)}.account-btn{display:flex;align-items:center;gap:10px;padding:5px 8px;background:transparent;border:none;cursor:pointer;color:var(--text)}.account-btn:hover{background:#ffffff0f}.account-meta{display:flex;flex-direction:column;min-width:0;text-align:left}.account-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-sub{font-size:12px;color:var(--dim)}.who{color:var(--muted);font-size:.9rem}.avatar-btn{padding:0;width:2rem;height:2rem;border-radius:50%;overflow:hidden;background:var(--card);border:1px solid var(--line);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-btn:hover{border-color:var(--accent)}.avatar-img{width:100%;height:100%;object-fit:cover;display:block}.avatar-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--accent);color:var(--accent-ink);font-size:.85rem;font-weight:700}.user-menu{position:relative}.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:12rem;background:var(--card);border:1px solid var(--line);border-radius:.5rem;box-shadow:0 4px 16px #00000073;z-index:50;padding:.5rem;display:flex;flex-direction:column;gap:.15rem}.user-dropdown-name{font-weight:600;font-size:.9rem;padding:.25rem .5rem}.user-dropdown-handle{color:var(--muted);font-size:.8rem;padding:0 .5rem .25rem}.user-dropdown-divider{height:1px;background:var(--line);margin:.25rem 0}.user-dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border:none;border-radius:.35rem;background:transparent;color:var(--text);font-size:.85rem;cursor:pointer;text-align:left;width:100%}.user-dropdown-item:hover{background:var(--hover)}.toast{position:fixed;top:4.2rem;left:50%;transform:translate(-50%);z-index:20;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;background:var(--accent);color:var(--accent-ink);font-size:.85rem;font-weight:700;border-radius:999px;box-shadow:0 8px 24px #0006;pointer-events:none;animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.library{width:100%;margin:0;padding:26px;display:flex;flex-direction:column;gap:1.25rem;flex:1}.lib-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-top:-.25rem}.lib-tabs button{padding:8px 16px;border:none;background:transparent;color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.lib-tabs button:hover{color:var(--text)}.lib-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.upload-panel{display:flex;flex-direction:column;gap:.75rem}.upload-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.upload-field{min-width:0;border:1.5px dashed rgba(255,255,255,.16);padding:1rem;display:flex;align-items:center;gap:.8rem;cursor:pointer;background:var(--inset);transition:border-color .15s,background .15s,transform .15s}.upload-field.ai{border-color:#ff7d1a7a;background:linear-gradient(135deg,rgba(255,125,26,.09),var(--inset))}.upload-field:hover,.upload-field.over{border-color:var(--accent);background:var(--accent-soft)}.upload-field.over{transform:translateY(-1px)}.upload-field-icon{width:2.4rem;height:2.4rem;flex:0 0 auto;display:grid;place-items:center;color:var(--muted);background:#ffffff0f;border-radius:8px}.upload-field.ai .upload-field-icon,.upload-field.ai .upload-field-action{color:var(--accent)}.upload-field-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:.15rem;color:var(--muted);font-size:.78rem}.upload-field-copy strong{color:var(--text);font-size:.9rem}.upload-field-copy .muted{font-size:.7rem}.upload-field-action{flex:0 0 auto;color:var(--dim)}.upload-share-check{display:flex;align-items:center;gap:.45rem;width:fit-content;margin-top:.35rem;color:var(--text);font-size:.78rem;cursor:pointer}.upload-share-check input{width:auto}@media(max-width:820px){.upload-fields{grid-template-columns:1fr}}.upload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.upload-list li{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;padding:.35rem .5rem;background:var(--inset);border-radius:8px}.upload-list li.error,.upload-list li.error .up-badge{color:var(--danger)}.upload-list li.queued{opacity:.62}.upload-list li.queued .up-badge{color:var(--dim)}.upload-summary{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:.35rem}.up-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-badge{color:var(--accent);flex-shrink:0;display:inline-flex;align-items:center;gap:.3rem}.drop-icon{color:var(--accent)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-row{display:flex;align-items:center;gap:.75rem}.search-field{position:relative;flex:1;display:flex;align-items:center}.search-icon{position:absolute;left:.65rem;color:var(--muted);pointer-events:none}.search{flex:1;width:100%;padding-left:2.1rem}.icon-label-btn{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.count{color:var(--muted);font-size:.85rem;white-space:nowrap}.tracklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.track{display:flex;align-items:center;gap:.85rem;padding:.55rem .65rem;border-radius:10px;border:1px solid transparent}.track:hover{background:var(--card)}.track.current{border-color:var(--accent);background:var(--accent-soft)}.track .play{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--inset);color:var(--text);cursor:pointer}.track .play:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.track .play:disabled{opacity:.35;cursor:default}.track-main{flex:1;min-width:0;display:flex;flex-direction:column}.t-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-sub{color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uploader{color:var(--accent);opacity:.85}.entity-link{color:inherit;text-decoration:none}.entity-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.browse{padding:1.25rem 1.5rem 2rem;overflow-y:auto}.browse-loading{padding:2rem 0}.browse-head{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;padding-bottom:.85rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.browse-title{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-.01em}.browse-sub{color:var(--muted);font-size:.85rem}.browse-group{margin-bottom:1.4rem}.browse-group-head{font-size:.95rem;font-weight:700;margin-bottom:.4rem}.detail{padding:1.25rem 1.5rem 2rem;max-width:1080px;overflow-y:auto}.detail-back{display:flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--muted);font-size:.8rem;font-weight:600;cursor:pointer;padding:.4rem 0;margin-bottom:.6rem}.detail-back:hover{color:var(--accent)}.detail-hero{display:flex;align-items:flex-end;gap:1.4rem;flex-wrap:wrap;margin-bottom:1.3rem}.cover-art.detail-art{width:150px;flex:0 0 auto;box-shadow:0 10px 30px #00000073,var(--gloss-shadow)}.cover-art.detail-art.lg{width:180px}.detail-art-wrap{position:relative;flex:0 0 auto}.detail-hero-main{flex:1;min-width:220px}.detail-hero-side{flex:0 0 auto}.detail-eyebrow{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-weight:700}.detail-title{margin:.3rem 0 0;font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1.05}.detail-sub{color:var(--muted);font-size:.9rem;margin-top:.5rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.detail-sub .dot{color:var(--dim)}.detail-upload{color:var(--dim);font-size:.78rem;margin-top:.35rem}.detail-stats{display:flex;gap:1.5rem;margin-top:.75rem}.detail-stat-num{font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums}.detail-stat-num.accent{color:var(--accent)}.detail-stat-label{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-weight:700}.btn-follow{padding:.6rem 1.2rem;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);font-size:.85rem;font-weight:800;cursor:pointer}.btn-follow:hover,.btn-follow.following{background:var(--accent);color:var(--accent-ink)}.detail-actions{display:flex;gap:.6rem;margin-bottom:1.1rem;flex-wrap:wrap;align-items:center}.btn-play{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;border:none;background:linear-gradient(180deg,var(--accent),var(--accent-2));color:var(--accent-ink);font-size:.85rem;font-weight:800;cursor:pointer}.btn-play:hover{filter:brightness(1.06)}.btn-ghost{display:flex;align-items:center;gap:.45rem;padding:.6rem 1rem;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:.85rem;font-weight:700;cursor:pointer}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.qmenu-wrap{position:relative}.pop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.pop-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:41;min-width:180px;background:linear-gradient(180deg,var(--chrome-top),var(--chrome-bot));border:1px solid #000;box-shadow:0 14px 34px #0000008c,var(--gloss-shadow);padding:6px}.pop-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .6rem;background:transparent;border:none;color:var(--text);font-size:.85rem;font-weight:600;cursor:pointer;text-align:left}.pop-item:hover{background:#ffffff0f;color:var(--accent)}.playlist-pop{min-width:220px;max-height:320px;overflow-y:auto}.playlist-pop-create{color:var(--accent)}.pop-count{margin-left:auto;font-size:11px;color:var(--dim)}.playlist-pop-empty{cursor:default;color:var(--dim)}.playlist-pop-empty:hover{background:transparent;color:var(--dim)}.playlist-pop-new{display:flex;flex-direction:column;gap:6px;padding:6px}.playlist-pop-input{background:#00000059;border:1px solid var(--line);color:var(--text);font-size:13px;padding:7px 9px;outline:none;width:100%}.playlist-pop-input:focus{border-color:var(--accent)}.playlist-pop-save{background:var(--accent);border:none;color:var(--accent-ink);font-size:12px;font-weight:700;padding:7px 10px;cursor:pointer}.playlist-pop-save:disabled{opacity:.5;cursor:default}.playlist-rename{display:flex;align-items:center;gap:8px}.playlist-rename-input{background:#00000059;border:1px solid var(--line);color:var(--text);font-size:1.4rem;font-weight:800;padding:6px 10px;outline:none;min-width:0}.playlist-rename-input:focus{border-color:var(--accent)}.playlist-title-row{display:flex;align-items:center;gap:.5rem}.playlist-title-row .detail-title{margin:0;min-width:0;overflow-wrap:anywhere}.playlist-edit-name{flex:0 0 auto}.detail-actions-spacer{flex:1}.row-artist{font-size:12px}.btn-ghost.danger{color:var(--danger, #e26868)}.track-failed-note{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:.5rem;font-size:.85rem}.row-remove{opacity:.55}.row-remove:hover{opacity:1;color:var(--danger, #e26868)}.playlist-tracks{display:flex;flex-direction:column;gap:2px}.album-group{margin-bottom:.4rem}.album-group-head{display:flex;align-items:center;gap:.9rem;margin:1.3rem 0 .5rem}.album-group-art{width:54px;flex:0 0 auto;display:block}.album-group-meta{min-width:0}.album-group-title{display:block;font-size:1.1rem;font-weight:800;letter-spacing:-.01em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-group-title:hover{color:var(--accent)}.album-group-count{font-size:.72rem;color:var(--dim)}.cover-md{width:54px;flex:0 0 auto}.cover-md .cover-placeholder{font-size:1rem}.singles-head{display:flex;align-items:baseline;gap:.7rem;margin:1.8rem 0 .6rem}.singles-head h2{margin:0;font-size:1.05rem;font-weight:800}.trackrow{display:grid;grid-template-columns:34px minmax(0,1fr) 56px auto;gap:.7rem;align-items:center;padding:.45rem .7rem;border-bottom:1px solid var(--line)}.trackrow:hover{background:#ffffff08}.row-play{width:30px;height:30px;border:none;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.row-play:hover{color:var(--accent)}.row-titlewrap{display:flex;align-items:center;gap:.6rem;min-width:0}.row-title{font-size:.9rem;font-weight:700;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-title:hover{color:var(--accent);text-decoration:underline}.row-dur{text-align:right;font-size:.82rem;color:var(--dim);font-variant-numeric:tabular-nums}.tag-single{display:inline-block;flex:0 0 auto;font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--accent);border:1px solid var(--accent);padding:.1rem .45rem}.row-actions{display:flex;align-items:center;gap:.1rem;justify-self:end}.icon-btn{width:32px;height:32px;border:none;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.icon-btn:hover:not(:disabled){color:var(--accent)}.icon-btn.soon,.icon-btn:disabled{opacity:.4;cursor:default}.ai-badge{position:absolute;right:8px;bottom:8px;width:28px;height:28px;background:linear-gradient(150deg,var(--accent),var(--accent-2));display:grid;place-items:center;box-shadow:0 3px 8px #0006}.wave-card{background:var(--panel);border:1px solid var(--line);padding:1.1rem 1.2rem .9rem;margin-bottom:1.3rem;box-shadow:var(--gloss-shadow)}.wave-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.7rem}.small{font-size:.75rem}.wave{display:flex;align-items:flex-end;gap:2px;height:80px}.wave-bar{flex:1;min-width:2px;background:var(--accent-soft)}.wave-foot{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.72rem;color:var(--dim);font-variant-numeric:tabular-nums}.track-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:1.5rem}.track-stat{background:var(--panel);border:1px solid var(--line);padding:.8rem 1rem;box-shadow:var(--gloss-shadow)}.track-stat.soon{opacity:.7}.track-stat-num{font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--dim)}.track-stat-label{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-weight:700;margin-top:.15rem}.track-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.6rem;align-items:start;margin-bottom:1.5rem}.section-title{margin:0 0 .8rem;font-size:1.1rem;font-weight:800}.comments-empty{padding:1rem 0;font-size:.88rem}.comment-input{width:100%;background:#0000004d;border:1px solid var(--line);padding:.65rem .85rem;color:var(--text);font-size:.85rem;outline:none}.comment-input:disabled{opacity:.6}.track-grid-side{display:flex;flex-direction:column;gap:1.1rem}.side-title{margin:0 0 .5rem;font-size:.9rem;font-weight:800}.side-empty{font-size:.82rem;padding:.7rem .8rem;background:var(--panel);border:1px solid var(--line)}.more-section{margin-top:1.6rem}.more-title{margin:0 0 .8rem;font-size:1.1rem;font-weight:800}@media(max-width:820px){.track-grid{grid-template-columns:1fr}.track-stats{grid-template-columns:repeat(2,1fr)}}.t-status{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums;flex-shrink:0}.t-status.pending{color:var(--accent);font-style:italic}.track .empty,li.empty{color:var(--muted);padding:1.5rem;text-align:center}.player-dock{position:fixed;left:0;right:250px;bottom:0;z-index:20}.player-bar{position:relative;display:flex;align-items:center;gap:1.25rem;padding:.7rem 1.4rem calc(.6rem + env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--chrome-top),var(--chrome-bot));border-top:1px solid #000;box-shadow:var(--gloss-shadow),0 -8px 26px #00000073}.player-bar audio{display:none}.seek{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;min-width:80px;height:16px;margin:0;padding:0;background:transparent;cursor:pointer}.seek:disabled{cursor:default}.seek::-webkit-slider-runnable-track{height:5px;border-radius:4px;background:linear-gradient(to right,var(--accent) var(--pct, 0%),rgba(255,255,255,.2) var(--pct, 0%),rgba(255,255,255,.2) var(--buf, 0%),rgba(0,0,0,.42) var(--buf, 0%))}.seek::-moz-range-track{height:5px;border-radius:4px;background:linear-gradient(to right,rgba(255,255,255,.2) var(--buf, 0%),rgba(0,0,0,.42) var(--buf, 0%))}.seek::-moz-range-progress{height:5px;border-radius:4px;background:var(--accent)}.seek::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;margin-top:-3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000080}.seek::-moz-range-thumb{width:11px;height:11px;border:none;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000080}.seek:disabled::-webkit-slider-thumb{opacity:0}.seek:disabled::-moz-range-thumb{width:0;height:0;border:none}.buf-debug{position:absolute;left:0;right:0;bottom:100%;padding:.3rem .6rem;background:#000000d1;color:#7fe08a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;line-height:1.3;text-align:center;pointer-events:none}.transport{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:none;background:linear-gradient(180deg,var(--accent),var(--accent-2));color:var(--accent-ink);cursor:pointer}.transport:hover:not(:disabled){filter:brightness(1.08)}.transport:disabled{opacity:.4;cursor:default}.transport-group{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.transport-side{width:30px;height:30px;border:none;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.transport-side:hover:not(:disabled){color:var(--text)}.transport-side:disabled{opacity:.35;cursor:default}.np-badge{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0;font-size:.75rem;color:var(--accent);padding:.2rem .5rem;border:1px solid var(--accent);border-radius:999px;white-space:nowrap}.player-bar .np{display:flex;flex-direction:column;min-width:0}.pb-time{flex-shrink:0;min-width:34px;font-size:.72rem;color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap}.np-title{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-artist{color:var(--muted);font-size:.78rem}.pb-left{display:flex;align-items:center;gap:.7rem;min-width:0;flex:0 1 auto;max-width:340px}.pb-center{display:flex;align-items:center;gap:.75rem;flex:1 1 auto;min-width:0;max-width:640px}.pb-right{display:flex;align-items:center;gap:.9rem;flex:0 0 auto;margin-left:auto}.pb-seek{display:flex;align-items:center;gap:.75rem;flex:1 1 auto;min-width:0}.pb-vol{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.vol{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:82px;height:14px;margin:0;background:transparent;cursor:pointer}.vol::-webkit-slider-runnable-track{height:5px;border-radius:3px;background:linear-gradient(to right,var(--muted) var(--pct, 0%),rgba(0,0,0,.42) var(--pct, 0%))}.vol::-moz-range-track{height:5px;border-radius:3px;background:#0000006b}.vol::-moz-range-progress{height:5px;border-radius:3px;background:var(--muted)}.vol::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;margin-top:-2.5px;border-radius:50%;background:#fff}.vol::-moz-range-thumb{width:10px;height:10px;border:none;border-radius:50%;background:#fff}.room-menu{position:relative;flex:0 0 auto}.room-menu-btn{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.room-menu-btn:hover,.room-menu-btn.open{background:#ffffff0f}.room-menu-label{font-size:.82rem;font-weight:800;white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}.room-menu-caret{transition:transform .15s;flex-shrink:0}.room-menu-btn.open .room-menu-caret{transform:rotate(180deg)}.room-menu-pop{position:absolute;bottom:calc(100% + 8px);left:0;min-width:190px;z-index:50;padding:6px;background:linear-gradient(180deg,var(--chrome-top),var(--chrome-bot));border:1px solid #000;box-shadow:0 -10px 30px #00000080,var(--gloss-shadow)}.room-menu-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .75rem;background:transparent;border:none;color:var(--muted);font:inherit;font-size:.85rem;font-weight:600;text-align:left;cursor:pointer}.room-menu-item:hover:not(:disabled){background:#ffffff0d;color:var(--accent)}.room-menu-item:disabled{opacity:.5;cursor:default}.queue-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .65rem;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.queue-btn:hover,.queue-btn.open{background:#ffffff0f}.queue-btn-count{font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums}.queue-btn-caret{transition:transform .15s}.queue-btn.open .queue-btn-caret{transform:rotate(180deg)}.queue-panel{position:absolute;left:0;right:0;bottom:100%;z-index:41;height:296px;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--chrome-top),var(--chrome-bot));border-top:1px solid #000;box-shadow:0 -14px 36px #00000080,var(--gloss-shadow)}.queue-panel-head{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem .6rem}.queue-panel-title{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:800}.queue-panel-count{font-size:.8rem;color:var(--muted);font-weight:600}.queue-panel-spacer{flex:1}.queue-radio{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .7rem;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:.72rem;font-weight:700;cursor:pointer}.queue-radio:hover{border-color:var(--accent)}.queue-radio.on{color:var(--accent)}.queue-collapse{width:30px;height:30px;border:1px solid var(--line);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.queue-collapse:hover{border-color:var(--accent);color:var(--accent)}.queue-panel-body{flex:1;min-height:0;display:flex;gap:.625rem;overflow-x:auto;overflow-y:hidden;padding:0 1.25rem 1rem;align-items:stretch}.queue-panel-empty{display:grid;place-items:center;width:100%;color:var(--muted);font-size:.85rem}.qcard{width:158px;flex:0 0 auto;align-self:flex-start;background:var(--panel);border:1px solid var(--line);padding:.55rem;display:flex;flex-direction:column;gap:.5rem}.qcard.clickable{cursor:pointer}.qcard.clickable:hover{border-color:var(--accent)}.qcard.current{background:#ff7d1a1f;border-color:var(--accent)}.qcard-cover{position:relative;width:100%;box-shadow:0 3px 10px #0006}.qcard-eq{position:absolute;left:6px;bottom:6px;display:flex;align-items:flex-end;gap:2.5px;height:15px}.qcard-eq span{width:3px;height:15px;background:var(--accent);transform-origin:bottom;animation:eqbar .9s ease-in-out infinite}.qcard-eq.paused span{animation-play-state:paused}.qcard-eq span:nth-child(2){animation-delay:.25s}.qcard-eq span:nth-child(3){animation-delay:.5s}.qcard-remove{position:absolute;top:0;right:0;width:30px;height:30px;border:none;background:#140e089e;color:var(--dim);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease}.qcard:hover .qcard-remove,.qcard-remove:focus-visible{opacity:1}.qcard-remove:hover,.qcard-remove:focus-visible{color:#e06a60}@media(hover:none){.qcard-remove{opacity:1}}.qcard-meta{min-width:0}.qcard-title{font-size:.82rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qcard-artist{font-size:.76rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qcard-pos{font-size:.7rem;color:var(--dim);margin-top:.12rem;font-variant-numeric:tabular-nums}.icon-btn.queued{color:var(--accent);cursor:default}.cube-queued{position:absolute;left:.4rem;bottom:.4rem;display:inline-flex;align-items:center;gap:.25rem;font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);padding:.12rem .4rem}.nav-tabs{display:flex;gap:.4rem}.nav-tabs .icon-btn.active{border-color:var(--accent);color:var(--accent)}.rooms{width:100%;max-width:900px;margin:0 auto;padding:26px;display:flex;flex-direction:column;gap:1.25rem;flex:1}.room-view{width:100%;margin:0;padding:0;display:flex;flex-direction:column;flex:1}.rooms-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.new-broadcast{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;background:var(--accent);color:var(--accent-ink);border:none;font-weight:700;cursor:pointer;box-shadow:var(--gloss-shadow)}.new-broadcast:hover{filter:brightness(1.06)}.section-label{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.room-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.room-cover-wrap{position:relative;flex-shrink:0}.cover-upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:inherit;background:#0000008c;color:#fff;cursor:pointer;opacity:0;transition:opacity .15s}.room-cover-wrap:hover .cover-upload-overlay,.cover-upload-overlay:disabled{opacity:1}.room-now,.room-host,.room-queue,.room-requests,.room-people{display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--card)}.room-queue .track,.room-requests .track{display:flex;align-items:center;gap:.6rem}.room-queue .track .track-main,.room-requests .track .track-main{flex:1;min-width:0}.plus-one{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .5rem;border:1px solid var(--line);border-radius:999px;background:none;color:var(--text);font:inherit;font-size:.8rem;font-variant-numeric:tabular-nums;cursor:pointer}.plus-one:hover{border-color:var(--accent)}.plus-one.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.icon-btn.danger:hover{color:var(--danger, #e5484d)}.request-btn{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0;padding:.35rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--inset);color:var(--text);font:inherit;font-size:.8rem;white-space:nowrap;cursor:pointer}.request-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.request-btn:disabled{opacity:.35;cursor:default}.request-btn.on,.request-btn.on:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tracklist>.track>.plus-one{flex-shrink:0}.room-listeners{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0;font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--muted, #8b8b9e)}.room-listeners.live{color:var(--accent)}.np-card,.host-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.host-actions{display:flex;gap:.5rem}.np-state{font-size:.8rem;white-space:nowrap}.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.member{display:flex;align-items:center;gap:.5rem}.host-badge{display:inline-flex;color:var(--accent)}.cover-art{position:relative;width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--line)}.cover-art img,.cover-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.cover-art img{object-fit:cover;display:block}.cover-placeholder{display:grid;place-items:center;color:#ffffffe6;font-weight:700;letter-spacing:.03em;font-size:1.6rem;text-shadow:0 1px 3px rgba(0,0,0,.35)}.cover-lg{width:72px;flex-shrink:0}.cover-lg .cover-placeholder{font-size:1.3rem}.cover-sm{width:40px;flex-shrink:0}.cover-sm .cover-placeholder{font-size:.85rem}.cube-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.cube{display:flex;flex-direction:column;gap:.5rem;min-width:0}.cube-cover{position:relative;border-radius:10px;overflow:hidden;border:2px solid transparent}.cube.current .cube-cover{border-color:var(--accent);box-shadow:0 0 0 3px #ff7d1a40}.cube-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#140e0880;opacity:0;transition:opacity .14s}.cube-cover:hover .cube-overlay,.cube-overlay:focus-within{opacity:1}.cube-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;display:grid;place-items:center;border-radius:50%;border:none;background:#140e089e;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 4px 14px #00000073;transition:background .12s,color .12s}.cube-play:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.cube-play:disabled{opacity:.4;cursor:default}.cube-chip{position:absolute;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);background:#140e08cc;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:color .12s,border-color .12s,background .12s}.cube-chip.tl{left:.4rem;top:.4rem}.cube-chip.tr{right:.4rem;top:.4rem}.cube-chip.br{right:.4rem;bottom:.4rem}.cube-chip.bl{left:.4rem;bottom:.4rem}.cube-chip.liked{background:var(--danger, #e0455e);border-color:var(--danger, #e0455e);color:#fff}button.cube-chip.liked:hover:not(:disabled){border-color:#fff;color:#fff}button.cube-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button.cube-chip.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}span.cube-chip{cursor:default}.cube-chip.queued,.cube-chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.cube-cover.menu-open{overflow:visible}.cube-qmenu{left:.4rem;top:calc(.4rem + 38px);min-width:140px}.now-playing-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:999px;background:#ffffff14;color:var(--muted);font-size:.75rem;font-weight:600;line-height:1}.cube-status{position:absolute;left:.4rem;bottom:.4rem;display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-style:italic;color:var(--accent);background:#140e08cc;padding:.1rem .4rem;border-radius:5px}.cube-status-btn{display:grid;place-items:center;width:18px;height:18px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text);cursor:pointer;font-style:normal}.cube-status-btn:hover:not(:disabled){color:var(--accent-ink);background:var(--accent)}.cube-status-btn.danger:hover:not(:disabled){color:#fff;background:var(--danger, #c0392b)}.cube-status-btn:disabled{opacity:.5;cursor:default}.cube-meta{display:flex;flex-direction:column;min-width:0}.cube-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cube-artist{color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cube-strip{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:thin}.cube-sm{width:110px;flex-shrink:0}.np-now{display:flex;align-items:center;gap:.65rem;min-width:0;cursor:pointer}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#140c0499;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(420px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;display:flex;flex-direction:column;gap:.85rem;padding:1.1rem 1.2rem 1.3rem;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 60px #00000080}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-title{font-weight:600;font-size:1.05rem}.modal-sub{margin:-.35rem 0 .15rem;color:var(--muted);font-size:.85rem;line-height:1.4}.field-opt{color:var(--dim);font-weight:400;text-transform:none;letter-spacing:0}.create-modal .genre-select{padding-top:.55rem;padding-bottom:.55rem}.create-go{justify-content:center;margin-top:.35rem}.modal-cover-row{display:flex;align-items:center;gap:1rem}.file-pick{display:inline-flex;align-items:center;padding:.5rem .8rem;border:1px dashed var(--line);border-radius:8px;color:var(--muted);cursor:pointer;font-size:.85rem}.file-pick:hover{border-color:var(--accent);color:var(--accent)}.file-pick input{display:none}.field{display:flex;flex-direction:column;gap:.3rem}.field>span{font-size:.8rem;color:var(--muted)}.field input{padding:.55rem .7rem;border-radius:8px;border:1px solid var(--line);background:var(--inset);color:var(--text);font:inherit}.field input:focus{outline:none;border-color:var(--accent)}.field-check{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.25rem}@media(max-width:640px){.hide-sm,.request-btn .btn-label{display:none}.toast{top:3.4rem}.topbar{padding:.6rem .85rem;gap:.5rem}.topbar .brand .wordmark{display:none}.topbar-right{gap:.4rem}.nav-tabs{gap:.3rem}.nav-tabs .icon-btn{padding:.4rem .6rem}.library,.rooms{width:100%;padding:1rem .85rem 2rem;gap:1rem}.room-head,.np-card,.host-row{flex-wrap:wrap;row-gap:.5rem}.host-actions{flex-wrap:wrap}.room-queue .track,.room-requests .track{flex-wrap:wrap;row-gap:.4rem}.room-queue .track .track-main,.room-requests .track .track-main{flex-basis:100%}.room-queue .uploader,.room-requests .uploader{display:none}.nav-tabs .icon-btn,.topbar-right .ghost,.host-actions .ghost,.room-head .ghost,.room-now .ghost,.rooms .track .ghost,.plus-one,.room-queue .icon-btn,.room-requests .icon-btn{min-height:40px}.plus-one{padding:.35rem .6rem}.track .play{width:40px;height:40px}.player-bar{gap:.6rem;padding:.55rem .85rem calc(.55rem + env(safe-area-inset-bottom))}.player-bar .np{min-width:0;flex:1}.np-badge{font-size:.72rem;padding:.2rem .4rem}.np-badge .badge-text{display:none}.player-bar{flex-wrap:wrap;row-gap:.5rem}.pb-center{display:contents}.pb-seek{order:1;flex:1 0 100%}.pb-vol{display:none}.pb-left{max-width:none;flex:1 1 auto}.queue-panel{height:auto}.queue-panel-head{gap:.5rem;padding:.55rem .85rem .4rem}.queue-panel-body{gap:.5rem;padding:0 .85rem .9rem;min-height:74px}.qcard{width:116px;padding:.4rem;gap:.35rem}.qcard-title{font-size:.76rem}.qcard-artist{font-size:.7rem}.qcard-pos{font-size:.66rem}.cube-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem}.cube-overlay{opacity:1;background:#140e0852}.cube-play{width:36px;height:36px}.cube-play svg,.cube-play .ph-icon{width:18px;height:18px}.cube-chip{width:24px;height:24px}.cube-chip svg,.cube-chip .ph-icon{width:14px;height:14px}.cube-qmenu{top:calc(.4rem + 30px)}.cover-lg{width:56px}}.room-chat{display:flex;flex-direction:column;gap:.5rem}.chat-scroll{display:flex;flex-direction:column;gap:.5rem;max-height:340px;overflow-y:auto;padding:.25rem .25rem .25rem 0}.chat-msg{display:flex;gap:.5rem;align-items:flex-start}.chat-avatar{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-size:.8rem;font-weight:600}.chat-avatar-img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.chat-body{display:flex;flex-direction:column;min-width:0}.chat-meta{display:flex;align-items:baseline;gap:.4rem}.chat-handle{font-weight:600;font-size:.85rem}.chat-time{color:var(--muted);font-size:.7rem}.chat-text{overflow-wrap:anywhere;white-space:pre-wrap}.chat-event{color:var(--muted);font-size:.8rem;font-style:italic;padding:.1rem 0}.chat-actor,.chat-track{color:var(--text);font-style:normal;font-weight:600}.chat-input{display:flex;flex-direction:row;align-items:flex-end;gap:.6rem}.chat-compose-avatar{align-self:flex-end}.chat-input textarea{flex:1;min-width:0;resize:none;min-height:2.4rem;max-height:5.5rem;font-family:inherit;font-size:.85rem;line-height:1.45;padding:.5rem .7rem;border:1px solid var(--line);background:var(--card);color:var(--text)}.chat-input textarea:focus{outline:none;border-color:var(--accent)}.cube-commercial{position:absolute;left:.4rem;top:2.7rem;display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;font-weight:600;color:#ffd7d7;background:#78161ee6;border:1px solid rgba(255,120,120,.5);padding:.12rem .4rem;border-radius:6px;cursor:default}.cube-commercial-label{line-height:1}.app *,.auth-shell *,.splash *,.rooms *,.room-view *,.library *{border-radius:0!important}.avatar-btn,.avatar-img,.avatar-placeholder,.chat-avatar,.chat-avatar-img,.cube-play,.transport,.transport-side,.track .play{border-radius:50%!important}.bcast-sheet{flex:1;position:relative;padding:40px 36px 72px;background:radial-gradient(120% 100% at 50% 30%,#ffb148,#ff8d20 38%,#f26400 68%,#d64d00)}.bcast-surface{max-width:1200px;margin:0 auto;background:#fffefb;padding:18px;box-shadow:0 20px 54px #6e340652,0 2px 8px #3c1e051f;--text: #221e19;--muted: #6f695f;--dim: #a49c8f;--line: rgba(40, 28, 10, .12);--panel: #fffefb;--panel-2: #f6f1e8;--card: #fffefb;--inset: #f6f1e8;--hover: rgba(40, 28, 10, .05);color:var(--text)}.bcast-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start}.bcast-col{display:flex;flex-direction:column;gap:10px;min-width:0}.bcast-chat-col{position:sticky;top:70px}.bcast-hero{display:flex;gap:16px;align-items:flex-start;padding:13px}.bcast-hero-pic{position:relative;width:120px;flex:0 0 auto;aspect-ratio:1;border:1px solid rgba(40,28,10,.2);background:#fff;padding:7px}.bcast-hero-meta{flex:1;min-width:0;display:flex;flex-direction:column}.bcast-title{font-size:20px;font-weight:800;letter-spacing:-.02em}.bcast-by{color:var(--muted);font-size:13px;margin-top:1px}.bcast-by b{color:var(--accent);font-weight:600}.bcast-topic{color:var(--text);font-size:13px;margin-top:6px;line-height:1.45;max-width:52ch}.bcast-stats{display:flex;gap:22px;margin-top:10px}.stat{background:none;border:none;padding:0;text-align:left}.stat-num{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}.stat-num.accent{color:var(--accent)}.stat-label{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--dim);font-weight:700}.stat-btn{cursor:pointer}.stat-btn:hover{opacity:.7}.bcast-leave{align-self:flex-start;display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.bcast-leave:hover{border-color:var(--accent);color:var(--accent)}.np-panel{background:linear-gradient(150deg,var(--panel-2),var(--panel));border:1px solid var(--line);padding:14px}.np-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.np-panel-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}.aux-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;letter-spacing:.02em;cursor:pointer;white-space:nowrap;flex:0 0 auto}.aux-chip:hover{filter:brightness(1.06)}.aux-chip.on{background:transparent;border-color:var(--line);color:var(--muted)}.aux-chip.on:hover{border-color:var(--accent);color:var(--accent);filter:none}.aux-chip.reconnecting{background:transparent;border-color:var(--line);color:var(--dim);cursor:default}.genre-chip{display:inline-flex;align-items:center;padding:2px 8px;background:var(--accent-soft);color:var(--accent);border:1px solid transparent;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle}.t-title .genre-chip{margin-left:8px}.bcast-genre{margin-top:5px}.genre-chip-edit{cursor:pointer;border-color:var(--line);-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:3px 22px 3px 8px;line-height:1.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23ff7d1a' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;background-size:9px}.genre-chip-edit:hover{border-color:var(--accent)}.genre-chip-edit:focus-visible{outline:none;border-color:var(--accent)}.genre-select{flex:1;width:100%;padding:.6rem 2rem .6rem .75rem;background-color:var(--inset);border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a29d94' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:12px}.genre-select.unset{color:var(--dim)}.genre-select:focus{outline:none;border-color:var(--accent)}.genre-select option{color:var(--text);background:var(--panel)}.np-panel-row{display:flex;align-items:center;gap:13px}.np-panel-info{flex:1;min-width:0}.np-panel-title{font-size:18px;font-weight:800;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-panel-artist{font-size:13px;color:var(--muted)}.np-panel-state{display:flex;align-items:center;gap:8px;margin-top:6px}.np-panel-tag{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.np-panel-tag.paused{color:var(--muted)}.eq{display:inline-flex;align-items:flex-end;gap:2.5px;height:15px}.eq span{width:3px;height:15px;background:var(--accent);transform-origin:bottom;animation:eqbar .9s ease-in-out infinite}.eq span:nth-child(2){animation-delay:.25s}.eq span:nth-child(3){animation-delay:.5s}.eq span:nth-child(4){animation-delay:.15s}@keyframes eqbar{0%,to{transform:scaleY(.28)}50%{transform:scaleY(1)}}.np-host-controls{display:flex;gap:6px;flex:0 0 auto}.np-ctrl{width:38px;height:38px;display:grid;place-items:center;border:none;background:var(--accent);color:var(--accent-ink);cursor:pointer}.np-ctrl:hover{background:var(--accent-2)}.np-progress{margin-top:12px;height:6px;background:#281c0a1a;position:relative}.np-progress-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:width .4s linear}.np-times{display:flex;justify-content:space-between;margin-top:5px;font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums}.bcast-card{background:var(--panel);border:1px solid var(--line);padding:12px 14px}.bcast-card-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:700;margin-bottom:8px}.bcast-tabs{display:flex;gap:2px;margin-bottom:10px;border-bottom:1px solid var(--line)}.bcast-tabs button{padding:7px 14px;border:none;background:transparent;color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.bcast-tabs button:hover{color:var(--text)}.bcast-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.sugg-list{display:flex;flex-direction:column;gap:7px}.sugg-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--panel-2);border:1px solid var(--line)}.cover-xs{width:36px;flex:0 0 auto}.cover-xs .cover-placeholder{font-size:.75rem}.sugg-main{flex:1;min-width:0;display:flex;flex-direction:column}.sugg-by{font-size:12px;color:var(--dim);margin-top:2px}.sugg-by b{color:var(--accent);font-weight:600}.vote-up{display:flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer;flex:0 0 auto}.vote-up:hover{border-color:var(--accent);color:var(--accent)}.vote-up.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.vote-count{font-size:14px}.sugg-action{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;flex:0 0 auto}.sugg-action:hover{border-color:var(--accent);color:var(--accent)}.sugg-action.danger:hover{border-color:var(--danger);color:var(--danger)}.bcast-chat-col .room-chat{background:var(--panel);border:1px solid var(--line);padding:12px 14px;gap:.5rem}.bcast-chat-col .chat-scroll{max-height:calc(100vh - 320px);min-height:320px}.listeners-modal{background:#fffefb;--text: #221e19;--muted: #6f695f;--dim: #a49c8f;--line: rgba(40, 28, 10, .12);color:var(--text)}.listeners-modal .member{display:flex;align-items:center;gap:11px}.member-av{width:34px;height:34px;display:grid;place-items:center;background:linear-gradient(150deg,var(--accent),var(--accent-2));color:var(--accent-ink);font-size:12px;font-weight:700;flex:0 0 auto}.member-name{flex:1;min-width:0;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-flag{width:18px;height:12px;flex:0 0 auto;border:1px solid rgba(40,28,10,.25);background:repeating-linear-gradient(45deg,#dcd6cc,#dcd6cc 3px,#cbc4b8 3px,#cbc4b8 6px)}.member-host{display:inline-flex;align-items:center;gap:3px;font-size:10px;letter-spacing:.1em;font-weight:800;color:var(--accent);background:var(--accent-soft);padding:3px 7px}@media(max-width:1000px){.bcast-grid{grid-template-columns:1fr}.bcast-chat-col{position:static}.bcast-chat-col .chat-scroll{max-height:320px;min-height:0}}@media(max-width:900px){.sidebar{display:none}.player-dock{right:0}.library,.rooms{padding:18px}.bcast-sheet{padding:24px 16px 72px}.bcast-surface{padding:12px}}@media(max-width:640px){.brand-nav .wordmark{display:none}.brand-page{display:inline}.topbar-title{display:none}.topbar{padding:10px 14px;gap:8px}.bcast-hero{flex-wrap:wrap}.bcast-hero-pic{width:96px}.bcast-leave{order:3;width:100%;justify-content:center;white-space:nowrap}}
