.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:60}.modal{width:90%;max-width:560px;background:var(--modal-bg,var(--s0));color:inherit;border-radius:12px;padding:16px;box-shadow:0 10px 30px rgba(0,0,0,.6)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-close{background:transparent;border:0;color:inherit;font-size:1rem;cursor:pointer}.modal-body{margin-bottom:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-backdrop{position:fixed;inset:0;background:rgba(19,19,19,.72);display:flex;align-items:center;justify-content:center;z-index:9999}.modal-window{width:92%;max-width:460px;background:linear-gradient(160deg,var(--up-surface-high,var(--s3)),var(--up-surface-low,var(--s2)));color:var(--up-text,#e5e2e1);border:1px solid var(--up-outline,rgb(var(--fg)/.06));border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.55);padding:18px}.modal-body{margin:12px 0;color:var(--up-text-muted,rgb(var(--fg)/.55))}.modal-footer{display:flex;justify-content:flex-end;gap:8px}.btn{padding:8px 12px;border-radius:6px;background:var(--up-surface-highest,var(--s3));color:var(--up-text,#e5e2e1);cursor:pointer}.btn,.btn-danger{border:1px solid var(--up-outline,rgb(var(--fg)/.06))}.btn-danger{background:var(--up-primary-container,#e6002c);color:var(--up-on-pc,#fff7f6)}.modal-backdrop--confirm{background:rgba(6,7,10,.76);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-window--confirm{max-width:520px;border-radius:14px;background:var(--s3)56;border:1px solid rgb(var(--fg)/.08);box-shadow:0 24px 62px rgba(0,0,0,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;padding:26px 26px 12px}.modal-header--confirm{display:flex;flex-direction:column;align-items:center;gap:.55rem;margin-bottom:.45rem}.confirm-badge{width:42px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--up-primary-container,#e6002c);color:var(--up-on-pc,#fff7f6);font-size:1rem}.confirm-kicker{margin:0;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:rgb(var(--fg)/.64)}.modal-header--confirm h3{margin:0;font-size:2rem;font-weight:800;letter-spacing:-.02em;color:var(--up-text,#e5e2e1)}.modal-body--confirm{margin:.35rem auto 1.25rem;max-width:380px;color:rgb(var(--fg)/.8);line-height:1.55;font-size:1.03rem}.modal-footer--confirm{justify-content:center;gap:.8rem;margin-bottom:.95rem}.btn--confirm-cancel,.btn--confirm-danger{min-width:124px;padding:.72rem 1.35rem;border-radius:999px;font-weight:700}.btn--confirm-cancel{background:transparent;border-color:rgb(var(--fg)/.14)}.btn--confirm-danger{border:none;background:linear-gradient(135deg,#ff3058,var(--up-primary-container,#e6002c))}.confirm-meta{margin-top:.25rem;padding-top:.72rem;border-top:1px solid rgb(var(--fg)/.08);font-size:.64rem;letter-spacing:.16em;color:rgb(var(--fg)/.46)}@media (max-width:420px){.modal-window{width:95%;padding:14px}.modal-window--confirm{padding:20px 16px 10px}.modal-header--confirm h3{font-size:1.58rem}.btn--confirm-cancel,.btn--confirm-danger{min-width:110px;padding:.64rem 1.1rem}}.content section:not(.dashboard-hero),.uploads-panel{background:rgba(8,8,8,.88);border-radius:16px;padding:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:root.theme-light .content section:not(.dashboard-hero),:root.theme-light .uploads-panel{background:rgba(255,255,255,.82)}.uploads-panel table{width:100%;border-collapse:collapse;border-radius:12px;overflow:hidden;margin-top:12px}.uploads-panel td,.uploads-panel th{text-align:left;padding:10px 12px;border-bottom:1px solid rgb(var(--fg)/.07);font-size:.92rem}.uploads-panel th{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--fg)/.72);background:rgb(var(--fg)/.04)}.uploads-panel td button{background:rgb(var(--fg)/.08);border:1px solid rgb(var(--fg)/.14);color:rgb(var(--fg)/.92);padding:8px 10px;border-radius:10px}:root.theme-light .uploads-panel td,:root.theme-light .uploads-panel th{border-bottom-color:rgba(15,23,42,.08)}:root.theme-light .uploads-panel th{color:rgba(15,23,42,.7);background:rgba(15,23,42,.04)}.login-overlay{z-index:1200;padding:16px}.login-overlay,.login-overlay.login-overlay--edit-user{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.login-overlay.login-overlay--edit-user{width:100vw;max-width:100%;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;margin:0;flex-direction:row;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));box-sizing:border-box;overscroll-behavior:contain}.login-backdrop{position:absolute;inset:0;z-index:0;background:rgba(2,6,23,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-modal{border-radius:20px;padding:22px;background:linear-gradient(145deg,rgba(18,18,22,.98),rgba(8,8,12,.98));border:1px solid rgb(var(--fg)/.1);box-shadow:0 26px 80px rgba(0,0,0,.58);color:#f8f7ff}.login-modal,.login-modal--edit-user{position:relative;z-index:1;width:min(460px,100%)}.login-modal--edit-user{flex-shrink:0;margin:0;max-width:calc(100vw - 32px);max-height:min(calc(100vh - 32px),680px);max-height:min(calc(100dvh - 32px),680px);overflow-y:auto}:root.theme-light .login-modal{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(242,247,255,.98));border-color:rgba(15,23,42,.12);color:#111827}.login-close-btn{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:999px;border:1px solid rgb(var(--fg)/.14);background:rgb(var(--fg)/.06);color:inherit}.login-header h3{margin:0;font-size:1.45rem}.login-kicker{margin:0 0 6px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-spotlight,#f5b0a8);font-weight:700}.login-subtitle{margin:8px 0 0;color:rgb(var(--fg)/.76);font-size:.92rem}:root.theme-light .login-subtitle{color:rgba(15,23,42,.68)}.login-form{margin-top:16px;display:grid;grid-gap:12px;gap:12px}.login-field{display:grid;grid-gap:6px;gap:6px}.login-field span{font-size:.84rem;font-weight:600;color:rgb(var(--fg)/.78)}:root.theme-light .login-field span{color:rgba(15,23,42,.78)}.login-field input,.login-field select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid rgb(var(--fg)/.18);background:rgb(var(--fg)/.05);color:inherit;outline:none}.login-field input:focus,.login-field select:focus{border-color:rgba(245,176,168,.55);box-shadow:0 0 0 3px rgba(245,176,168,.12)}.login-error{color:#ff9292}.login-error,.login-info{font-size:.86rem;font-weight:600}.login-info{color:#9fd4a8;line-height:1.45;padding:.65rem .75rem;border-radius:10px;background:rgba(120,200,140,.12);border:1px solid rgba(120,200,140,.25)}.login-actions{display:grid;grid-gap:8px;gap:8px;margin-top:4px}.login-primary-btn,.login-secondary-btn{width:100%;border-radius:10px;padding:10px 12px}.login-primary-btn{background:linear-gradient(135deg,var(--accent-spotlight-core,#ffb8b3),var(--accent-spotlight,#f5b0a8));border:1px solid rgb(var(--fg)/.12);color:var(--s0)}.login-secondary-btn{background:transparent;border:1px solid rgb(var(--fg)/.22);color:inherit}:root{--player-bg:var(--s1);--player-bg-top:#181818;--player-accent:var(--accent-spotlight);--player-accent-dim:var(--accent-spotlight-dim);--player-text:#ffffff;--player-muted:#a7a7a7;--player-track:rgb(var(--fg)/0.18);--player-scrub-fill:#ffffff}.player-bar{position:fixed;left:220px;right:0;bottom:0;height:76px;z-index:110;display:grid;grid-template-columns:minmax(200px,1fr) minmax(280px,2.2fr) minmax(200px,1fr);align-items:center;grid-gap:16px;gap:16px;padding:0 20px;border-top:1px solid rgb(var(--fg)/.06);background:linear-gradient(180deg,var(--player-bg-top) 0,var(--player-bg) 55%);color:var(--player-text);box-sizing:border-box}.player-bar.collapsed{left:72px}.player-bar>*{min-width:0}.player-bar__left{display:flex;align-items:center;gap:12px;min-width:0}.player-bar__art{width:48px;height:48px;border-radius:6px;object-fit:cover;flex-shrink:0;box-shadow:0 4px 16px rgba(0,0,0,.45)}.player-bar__art--placeholder{background:linear-gradient(145deg,rgba(40,60,80,.9),rgba(10,12,18,.95))}.player-bar__meta{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left}.player-bar__title{font-size:.875rem;font-weight:700;color:var(--player-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-bar__artist{font-size:.68rem;font-weight:600;letter-spacing:.06em;color:var(--player-muted);white-space:nowrap;overflow:hidden}.player-bar__artist-marquee{display:inline-flex;min-width:100%;align-items:center;will-change:transform;animation:player-artist-marquee 14s linear infinite}.player-bar__artist-marquee>span{display:inline-block;padding-right:2.25rem;white-space:nowrap}@keyframes player-artist-marquee{0%{transform:translateX(0)}to{transform:translateX(calc(-50% - 1.125rem))}}@media (prefers-reduced-motion:reduce){.player-bar__artist-marquee{animation:none}}.player-bar__icon-btn{background:transparent;border:none;padding:8px;cursor:pointer;color:var(--player-accent-dim);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s ease,transform .1s ease}.player-bar__icon-btn:hover{color:var(--player-accent);transform:scale(1.06)}.player-bar__heart--on{color:var(--player-accent)}.player-bar__center{flex-direction:column;gap:8px;min-width:0;max-width:560px;width:100%;margin:0 auto}.player-bar__center,.player-bar__transport{display:flex;align-items:center;justify-content:center}.player-bar__transport{gap:10px}.player-bar__tbtn{width:30px;height:30px;border:none;border-radius:50%;background:transparent;color:var(--player-accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;transition:color .15s ease,opacity .15s ease,transform .1s ease}.player-bar__tbtn:hover:not(:disabled){color:var(--accent-spotlight-core);transform:scale(1.06)}.player-bar__tbtn--muted,.player-bar__tbtn:disabled{opacity:.38;cursor:not-allowed}.player-bar__tbtn--active{color:var(--accent-spotlight-core)}.player-bar__play{width:38px;height:38px;border:none;border-radius:50%;background:#ffffff;color:var(--s1);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;margin:0 4px;box-shadow:0 4px 14px rgba(0,0,0,.35);transition:transform .12s ease,filter .12s ease}.player-bar__play:hover{transform:scale(1.05);filter:brightness(1.03)}.player-bar__play .fa-play{margin-left:2px}.player-bar__timeline{display:flex;align-items:center;gap:10px;width:100%}.player-bar__time{font-size:.7rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--player-muted);min-width:2.5rem}.player-bar__time:first-child{text-align:right}.player-bar__time:last-child{text-align:left}.player-bar__scrub{flex:1 1;min-width:0;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;--fill:var(--player-scrub-fill);background:linear-gradient(to right,var(--fill) 0,var(--fill) var(--scrub-pct,0),var(--player-track) var(--scrub-pct,0),var(--player-track) 100%)}.player-bar__scrub::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.35);margin-top:-4px;cursor:pointer}.player-bar__scrub::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:none;box-shadow:0 0 0 2px rgba(0,0,0,.35);cursor:pointer}.player-bar__scrub::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:transparent}.player-bar__scrub::-moz-range-track{height:4px;border-radius:2px;background:transparent}.player-bar__right{justify-content:flex-end;min-width:0}.player-bar__right,.player-bar__volume{display:flex;align-items:center;gap:6px}.player-bar__volume{color:var(--player-accent);max-width:160px}.player-bar__volume-mute{border:none;background:transparent;padding:6px;cursor:pointer;color:inherit;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s ease,transform .1s ease}.player-bar__volume-mute:hover{color:var(--accent-spotlight-core);transform:scale(1.06)}.player-bar__volume-mute i{font-size:.85rem}.player-bar__tbtn--repeat-one{position:relative}.player-bar__tbtn--repeat-one:after{content:"1";position:absolute;bottom:2px;right:2px;font-size:.45rem;font-weight:800;line-height:1;color:currentColor;pointer-events:none}.player-bar__volume-range{width:96px;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(to right,var(--player-accent) 0,var(--player-accent) var(--vol-pct,0),var(--player-track) var(--vol-pct,0),var(--player-track) 100%)}.player-bar__volume-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:#fff;margin-top:-3px}.player-bar__volume-range::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#fff;border:none}@media (max-width:1024px){.player-bar{right:0!important;width:100%!important;max-width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr);height:auto;min-height:calc(76px + env(safe-area-inset-bottom, 0px));max-height:none;padding:8px max(10px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));gap:8px;align-items:center}.player-bar,.player-bar.collapsed{left:0!important}.player-bar__left{order:1;width:auto;min-width:0}.player-bar__center{order:2;max-width:none;min-width:0}.player-bar__right{order:3;display:flex;justify-content:flex-end;flex-wrap:nowrap;gap:2px;min-width:0}.player-bar__volume{max-width:none;min-width:0}.player-bar__volume-range{width:min(88px,22vw);min-width:44px}}@media (max-width:560px){.player-bar{padding:6px max(8px,env(safe-area-inset-right,0px)) max(6px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));gap:6px;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,.95fr)}.player-bar__art{width:48px;height:48px}.player-bar__title{font-size:.8rem}.player-bar__artist{font-size:.62rem}.player-bar__icon-btn{padding:6px}.player-bar__transport{gap:4px}.player-bar__tbtn{width:30px;height:30px;font-size:.76rem}.player-bar__play{width:38px;height:38px;margin:0 2px;font-size:.92rem}.player-bar__timeline{gap:6px}.player-bar__time{min-width:2rem;font-size:.65rem}.player-bar__volume{gap:4px}.player-bar__volume-range{width:min(64px,18vw);min-width:36px}.player-bar__volume-mute i{font-size:.78rem}}@media (max-width:380px){.player-bar{grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr) minmax(0,.88fr);gap:4px;padding:5px max(6px,env(safe-area-inset-right,0px)) max(5px,env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px))}.player-bar__art{width:42px;height:42px}.player-bar__tbtn{width:28px;height:28px;font-size:.72rem}.player-bar__play{width:34px;height:34px}.player-bar__volume-range{width:min(52px,16vw);min-width:32px}}.player-bar__overlay-backdrop{position:fixed;inset:0;z-index:115;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.player-bar__sheet{position:fixed;z-index:120;bottom:76px;right:12px;width:min(360px,calc(100vw - 24px));max-height:min(52vh,420px);display:flex;flex-direction:column;border-radius:14px;border:1px solid rgb(var(--fg)/.1);background:linear-gradient(180deg,var(--s2) 0,var(--s1) 100%);color:rgb(var(--fg));box-shadow:0 -8px 40px rgba(0,0,0,.55);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}.player-bar__sheet.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.player-bar__sheet--lyrics{right:auto;left:12px;width:min(400px,calc(100vw - 24px));max-height:min(56vh,480px)}.player-bar__sheet--equalizer{right:12px;width:min(520px,calc(100vw - 24px));max-height:min(62vh,520px)}.player-bar__eq-body{display:flex;gap:16px;padding:14px 16px 18px;overflow-x:auto}.player-bar__eq-preamp{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:56px}.player-bar__eq-label{font-size:.72rem;color:rgb(var(--fg)/.72);font-weight:700}.player-bar__eq-value{font-size:.68rem;color:rgb(var(--fg)/.6);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.player-bar__eq-bands{display:flex;align-items:flex-end;gap:10px}.player-bar__eq-band{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:28px}.player-bar__eq-freq{font-size:.65rem;color:rgb(var(--fg)/.6);font-weight:700}.player-bar__eq-slider{accent-color:var(--player-accent)}.player-bar__eq-slider--vertical{writing-mode:bt-lr;-webkit-appearance:slider-vertical;width:22px;height:132px}.player-bar__sheet-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px;border-bottom:1px solid rgb(var(--fg)/.08)}.player-bar__sheet-head h3{margin:0;font-size:.95rem;font-weight:800;letter-spacing:-.02em}.player-bar__sheet-close{border:none;background:transparent;color:rgb(var(--fg)/.65);cursor:pointer;padding:6px;border-radius:8px;line-height:1}.player-bar__sheet-close:hover{color:rgb(var(--fg));background:rgb(var(--fg)/.06)}.player-bar__queue-list{list-style:none;margin:0;padding:8px 10px 12px;overflow-y:auto;flex:1 1;min-height:0}.player-bar__queue-empty{padding:16px 12px;font-size:.88rem;color:rgb(var(--fg)/.45)}.player-bar__queue-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .12s ease}.player-bar__queue-row:hover{background:rgb(var(--fg)/.06)}.player-bar__queue-row--active{background:rgba(245,176,168,.12);outline:1px solid rgba(245,176,168,.25)}.player-bar__queue-row__idx{font-size:.75rem;font-weight:700;color:rgb(var(--fg)/.42);min-width:1.5rem}.player-bar__queue-row__meta{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.player-bar__queue-row__title{font-size:.86rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-bar__queue-row__artist{font-size:.75rem;color:rgb(var(--fg)/.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-bar__queue-row__playing{color:var(--player-accent);font-size:.8rem;flex-shrink:0}.player-bar__lyrics-body{padding:10px 16px 16px;overflow-y:auto;flex:1 1;min-height:0}.player-bar__lyrics-track{margin:0 0 10px;font-size:.82rem;font-weight:700;color:rgb(var(--fg)/.92)}.player-bar__lyrics-track span{font-weight:500;color:rgb(var(--fg)/.5)}.player-bar__lyrics-text{margin:0;white-space:pre-wrap;font-family:inherit;font-size:.86rem;line-height:1.55;color:rgb(var(--fg)/.78)}@media (max-width:640px){.player-bar__sheet{bottom:calc(96px + env(safe-area-inset-bottom));width:auto;max-height:min(48vh,380px)}.player-bar__sheet,.player-bar__sheet--lyrics{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right))}}