:root{color-scheme:dark;--canvas:#0b090f;--surface:#17121e;--inset:#100c16;--raised:#241a30;--line:rgba(220,197,246,.09);--line-strong:rgba(220,197,246,.16);--text:#faf4ff;--secondary:#b8abc5;--tertiary:#9687a3;--muted:#71647f;--pink:#f077bd;--purple:#a486fb;--focus:#d7baff;--error:#ffb1c5;--error-surface:#321526;font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--text);min-width:280px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 33%,#37204466,transparent 52%),radial-gradient(ellipse at 85% 80%,#23132f55,transparent 40%)}.shell{max-width:1220px;padding:0 48px;margin:auto;min-height:100svh;display:flex;flex-direction:column}.topbar{min-height:100px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center}.brand img{object-fit:contain;object-position:left center;max-width:140px;width:auto;height:48px}.portal-tag{display:flex;gap:9px;align-items:center;color:var(--secondary);font-size:12px;padding-left:24px;border-left:1px solid var(--line-strong)}.portal-tag .icon{width:17px;height:17px;color:var(--pink)}#logout{margin-left:auto}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;border:1px solid var(--line-strong);color:var(--secondary);background:#17121e88;transition:background .15s,color .15s,border-color .15s}.icon-button:hover{color:var(--text);background:var(--raised);border-color:#a486fb70}main{flex:1;padding:48px 0 72px;display:flex;flex-direction:column;justify-content:center}.login-layout{width:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.screen-scene{position:relative;width:100%;height:204px;margin-bottom:12px;isolation:isolate}.scene-screen{position:absolute;top:30px;width:152px;height:112px;display:flex;align-items:center;justify-content:center;border:1px solid #c6a2fb30;border-radius:15px;background:linear-gradient(145deg,#2d1f40,#14101b);box-shadow:0 24px 44px #0005}.scene-icon{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.scene-one{left:8px;transform:rotate(-12deg);color:#ad7bdc;top:49px}.scene-two{left:calc(50% - 76px);transform:translateY(-10px);color:#e1abe2;background:linear-gradient(140deg,#442446,#21172d);border-color:#d8a9f24d;z-index:1}.scene-three{right:8px;transform:rotate(12deg);color:#8d76bc;top:49px}.screen-line{position:absolute;bottom:14px;height:2px;left:16px;right:16px;background:#d9b2ff14;border-radius:2px}.screen-line:after{content:"";display:block;width:35%;height:100%;background:currentColor;opacity:.6}.play-orb{position:absolute;z-index:2;left:calc(50% - 32px);bottom:4px;height:64px;width:64px;background:linear-gradient(130deg,#f293c9,#bd83ed);border-radius:22px;display:grid;place-items:center;box-shadow:0 0 0 8px #130d1c,0 12px 44px #cc70ce30;transform:rotate(-7deg);color:#21102a}.play-orb svg{width:34px;height:34px;fill:currentColor;stroke:none;transform:rotate(7deg);margin-left:-3px}h1,h2,h3,p{margin:0}.login-card{width:100%;padding:28px 40px 36px}.login-card h1{text-align:center;font-size:35px;letter-spacing:-1.6px;font-weight:650;line-height:1.25;margin-bottom:32px}.login-card h1 span,.accent{color:var(--pink)}label{font-size:12px;font-weight:550;color:var(--secondary);display:flex;align-items:center;gap:8px;margin:22px 0 10px}label .icon{width:16px;height:16px;color:var(--purple)}input,select{width:100%;min-width:0;min-height:50px;padding:13px 15px;background:var(--inset);color:var(--text);border:1px solid var(--line-strong);border-radius:11px;transition:border-color .15s}input:hover,select:hover{border-color:#a486fb70}input:focus,select:focus{border-color:var(--purple);outline:2px solid #a486fb1a}input::placeholder{color:var(--muted)}.input-icon{position:relative}.input-icon>.icon{position:absolute;left:17px;top:18px;color:var(--purple);width:22px;height:22px}.input-icon input{padding:16px 16px 16px 54px;height:58px;background:#18111f;font-family:Consolas,monospace;font-size:19px;letter-spacing:3px;text-transform:uppercase;border-color:#b58bf435}.input-icon:focus-within>.icon{color:var(--pink)}small,.field-hint{display:block;color:var(--tertiary);font-size:11px;line-height:1.6;margin-top:10px}.login-card small{text-align:center;margin-top:12px;font-size:11px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:12px 18px;border:1px solid transparent;border-radius:11px;font-size:12px;font-weight:650;transition:background .15s,transform .15s}.button .icon{width:18px;height:18px}.primary{background:var(--pink);color:#210c22}.primary:hover{background:#f99ed0}.primary:active{transform:scale(.98)}.quiet{border-color:var(--line-strong);background:transparent;color:var(--secondary)}.quiet:hover{background:var(--raised);color:var(--text)}.wide{width:100%;height:52px;margin-top:28px;font-size:14px;gap:14px;background:linear-gradient(105deg,#e77bbf,#b485f1);box-shadow:0 6px 30px #e77bbf14}.wide:hover{background:linear-gradient(105deg,#f49acd,#c59af7)}#dashboard-view{width:100%;margin:auto}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:48px}.eyebrow{color:var(--tertiary);font-size:10px;letter-spacing:2.2px;display:flex;align-items:center;gap:9px;margin-bottom:13px;font-weight:600}.eyebrow .icon{width:15px;height:15px;color:var(--pink)}.workspace-heading h1{font-size:42px;font-weight:650;letter-spacing:-1.8px;display:flex;align-items:center;line-height:1.2}.count{margin-left:16px;display:inline-grid;place-items:center;min-width:29px;height:29px;padding:0 8px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);color:var(--secondary);font-size:12px;letter-spacing:0;font-variant-numeric:tabular-nums}.device-badge{display:flex;align-items:center;gap:10px;color:var(--tertiary);font-size:13px}.device-badge .icon{color:var(--purple)}.device-badge strong{font-family:Consolas,monospace;color:var(--secondary);letter-spacing:1.5px;font-weight:400}.collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.section-label{font-size:12px;color:var(--secondary)}.playlist-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.playlist-row{min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden;transition:border-color .15s,transform .15s}.playlist-row:hover{border-color:#bb8dfc60;transform:translateY(-3px)}.playlist-art{height:164px;position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 90%,#8b3c7955,transparent 70%),linear-gradient(135deg,#302039,#1b1425)}.artwork-1{background:radial-gradient(ellipse at 50% 90%,#6557b855,transparent 70%),linear-gradient(135deg,#28223f,#171424)}.artwork-2{background:radial-gradient(ellipse at 50% 90%,#b8588950,transparent 70%),linear-gradient(135deg,#3c213b,#231426)}.playlist-art:before{content:"";position:absolute;width:180px;height:180px;border:1px solid #d9c2ff0d;border-radius:50%;z-index:-1}.playlist-art:after{content:"";position:absolute;width:240px;height:240px;border:1px solid #d9c2ff0a;border-radius:50%;z-index:-1}.art-screen{height:70px;width:90px;display:grid;place-items:center;border:1px solid #d5adeb3a;border-radius:15px;background:#d5adeb08;transform:rotate(-5deg);color:#d2afea}.art-screen .icon{width:40px;height:40px;stroke-width:1.2}.playlist-number{position:absolute;top:16px;left:17px;color:#e6c6fc60;font-size:11px;font-family:Consolas,monospace}.lock-badge{position:absolute;right:14px;top:12px;width:32px;height:32px;display:grid;place-items:center;background:#130d1b99;border:1px solid #e4b5ee20;border-radius:10px;color:#e6c0ec}.lock-badge .icon{height:15px;width:15px}.art-waves{position:absolute;bottom:16px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:4px;height:16px;color:#d3a1e8}.art-waves span{width:2px;border-radius:4px;height:4px;background:currentColor;opacity:.35}.art-waves span:nth-child(2n){height:8px}.art-waves span:nth-child(3n){height:15px}.art-waves span:nth-child(5n){height:11px}.playlist-card-body{padding:18px}.playlist-description{min-width:0}.playlist-description h3{font-size:14px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}.row-actions{display:flex;gap:8px;margin-top:18px;justify-content:flex-end}.row-actions .icon-button{width:38px;height:38px;flex-basis:38px;border-radius:10px}.row-actions .icon{width:17px;height:17px}.delete-link{border-color:transparent;color:var(--tertiary)}.delete-link:hover{border-color:#ffb1c530;background:var(--error-surface);color:var(--error)}.empty-state{grid-column:1/-1;border:1px dashed var(--line-strong);border-radius:18px;text-align:center;min-height:300px;padding:48px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#17121e40}.empty-symbol{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;color:var(--purple);background:#a486fb0a;margin-bottom:20px}.empty-symbol .icon{height:32px;width:32px;stroke-width:1.2}.empty-state h3{font-size:15px;color:var(--secondary);font-weight:500;margin-bottom:24px}.empty-state>.button{font-size:11px}.pagination{display:flex;gap:20px;align-items:center;justify-content:center;margin-top:32px;font-size:12px;color:var(--tertiary)}.loading{padding:120px 0;text-align:center}.spinner{display:inline-block;height:28px;width:28px;border:2px solid var(--line-strong);border-top-color:var(--pink);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-error{margin-top:16px;padding:12px 14px;border:1px solid #ffb1c530;border-radius:10px;background:var(--error-surface);color:var(--error);font-size:12px;line-height:1.7}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10;background:var(--raised);border:1px solid var(--line-strong);border-left:3px solid var(--pink);padding:16px 24px;border-radius:12px;font-size:12px;max-width:calc(100vw - 32px);width:max-content;line-height:1.6;box-shadow:0 12px 40px #0006}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:20px;padding:28px;width:500px;max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);overflow:auto;box-shadow:0 32px 120px #0008}dialog::backdrop{background:#06030bd9;backdrop-filter:blur(6px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}.dialog-title-wrap h2{font-size:19px;font-weight:600;letter-spacing:-.5px}.dialog-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:var(--pink);background:#ed77bb10;flex-shrink:0}.dialog-heading>.icon-button{width:36px;height:36px;flex-basis:36px;border-color:transparent}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.protection-control{margin-top:24px;padding-top:2px;border-top:1px solid var(--line)}.protected-gate{background:var(--raised);padding:1px 16px 16px;margin-top:24px;border-radius:12px;border:1px solid #a486fb20}.protected-gate label{color:var(--text)}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.dialog-actions>.primary,.dialog-actions>.danger{min-width:112px}.danger{background:#ed92b1;color:#280f20}.danger:hover{background:var(--error)}.delete-message{font-size:14px;color:var(--secondary);line-height:1.8;margin-top:28px}@media(min-width:1400px){.playlist-art{height:186px}}@media(max-width:900px){.shell{padding:0 28px}.playlist-list{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-heading{margin-bottom:36px}.playlist-art{height:180px}.playlist-card-body{padding:16px}}@media(max-width:600px){.shell{padding:0 20px}.topbar{min-height:80px;gap:18px}.brand img{height:40px;max-width:106px}.portal-tag{padding-left:18px;font-size:11px;gap:7px}.portal-tag .icon{height:16px;width:16px}main{padding:28px 0 48px}.login-layout{max-width:390px}.screen-scene{height:180px;max-width:340px;margin-bottom:4px}.scene-screen{height:96px;width:120px;top:24px}.scene-one{left:0;top:44px}.scene-two{left:calc(50% - 60px)}.scene-three{right:0;top:44px}.scene-icon{height:34px;width:34px}.play-orb{width:58px;height:58px;left:calc(50% - 29px);border-radius:20px}.login-card{padding:24px 10px}.login-card h1{font-size:31px;margin-bottom:28px}.workspace-heading{gap:18px;align-items:flex-start;flex-direction:column;margin-bottom:30px}.workspace-heading h1{font-size:36px}.eyebrow{font-size:9px;margin-bottom:10px}.device-badge{font-size:11px;gap:8px}.device-badge .icon{width:17px;height:17px}.collection-toolbar{margin-bottom:18px}.collection-toolbar>.button{font-size:11px;padding:10px 13px}.section-label{font-size:11px}.playlist-list{gap:14px}.playlist-art{height:138px}.playlist-card-body{padding:14px}.playlist-description h3{font-size:12px}.row-actions{margin-top:14px;gap:4px}.row-actions .icon-button{width:36px;height:36px;flex-basis:36px}.art-screen{height:55px;width:70px;border-radius:12px}.art-screen .icon{width:30px;height:30px}.playlist-number{top:12px;left:12px;font-size:10px}.lock-badge{top:9px;right:9px;width:28px;height:28px;border-radius:9px}.art-waves{bottom:12px}.empty-state{min-height:270px;padding:36px 18px}dialog{padding:22px}.dialog-title-wrap{gap:9px}.dialog-title-wrap h2{font-size:18px}.field-grid{grid-template-columns:1fr;gap:0}.dialog-actions .button{flex:1}.toast{bottom:16px}}@media(max-width:350px){.playlist-list{grid-template-columns:1fr}.playlist-art{height:160px}.screen-scene{transform:scale(.9);margin-left:-8px;margin-right:-8px}.portal-tag{border:0;padding-left:0}.login-card{padding-left:0;padding-right:0}.login-card h1{font-size:28px}}@media(max-height:600px) and (min-width:601px){main{padding:16px 0 32px}.topbar{min-height:70px}.login-layout{max-width:780px;flex-direction:row;gap:36px}.screen-scene{width:320px;flex:0 0 320px;height:200px}.scene-screen{width:120px}.scene-one{left:0}.scene-two{left:calc(50% - 60px)}.scene-three{right:0}.login-card{padding:12px 0}.login-card h1{text-align:left;font-size:30px;margin-bottom:20px}.workspace-heading{margin-bottom:24px}dialog{max-height:calc(100svh - 16px)}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.has-library main{justify-content:flex-start;padding-top:40px}.has-library #dashboard-view{margin:0}.has-library .workspace-heading{margin-bottom:40px}@media(max-width:600px){.has-library main{padding-top:28px}.has-library .workspace-heading{margin-bottom:28px}}
