:root{--bg:#0d1020;--panel:#171b2e;--panel2:#20243a;--line:#30344a;--text:#f6f5fc;--dim:#999fb8;--purple:#a58dff;--pink:#ee8cce;--green:#9ce8c7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--purple);outline-offset:3px}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:calc(100dvh - 110px)}.sidebar{border-right:1px solid var(--line);padding:30px 18px;position:relative}.brand{display:flex;gap:12px;align-items:center;font-weight:850;letter-spacing:2px;font-size:18px;margin:0 8px 46px}.brand small{display:block;font-size:9px;color:var(--dim);letter-spacing:3px;margin-top:4px}.brand-icon{font-size:38px;color:var(--purple)}.side-title,.eyebrow{font-size:10px;color:var(--purple);font-weight:800;letter-spacing:2px}.side-title{margin:28px 12px 14px;color:var(--dim)}.side-btn{display:flex;width:100%;gap:12px;padding:14px;background:none;border:0;border-radius:12px;color:var(--dim);text-align:left;align-items:center}.side-btn span:nth-child(2){flex:1}.side-btn.active,.side-btn:hover{background:#292740;color:white}.count{font-size:11px;background:#464065;padding:2px 8px;border-radius:10px}.import,.quiet,.mini{border:1px solid #53516c;border-radius:10px;color:white;background:#26243b;padding:10px 15px}.import:hover,.quiet:hover,.mini:hover{background:#38334f}.import.big{width:100%;border-style:dashed}.side-hint{font-size:12px;line-height:1.7;color:var(--dim);padding:0 9px}.side-bottom{position:absolute;bottom:25px;left:26px;color:#656b87;font-size:11px;line-height:1.8}.main{min-width:0;padding:30px 34px 135px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:27px}h1{font-size:29px;margin:8px 0 0;letter-spacing:-1px}.header-actions,.heading-buttons{display:flex;gap:12px;align-items:center}.search{background:#1b1f32;border:1px solid var(--line);border-radius:11px;padding:10px 13px;color:var(--dim);display:flex;gap:9px}.search input{background:none;border:0;outline:0;color:white;width:180px}.hero{position:relative;display:flex;gap:27px;align-items:center;overflow:hidden;background:linear-gradient(115deg,#272544,#28203e 55%,#141a36);padding:27px;border-radius:19px;min-height:226px}.hero-cover{width:167px;height:167px;flex:0 0 167px}.cover{display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#9d8bf2,#d775bc 51%,#363678);color:white;font-size:75px;box-shadow:0 12px 35px #0004;background-size:cover;background-position:center}.hero-content{z-index:1;min-width:0}.hero-content h2{font-size:clamp(22px,3vw,34px);margin:14px 0 7px;max-width:550px;overflow-wrap:anywhere}.hero-content p{color:#d0cbe4;margin:0 0 22px}.hero-actions{display:flex;gap:10px}.primary{border:0;background:#b49bff;color:#151124;border-radius:10px;font-weight:750;padding:11px 22px}.primary:hover{background:#c8b7ff}.hero-glow{position:absolute;right:-60px;top:-80px;width:280px;height:280px;background:#a46dfb22;border-radius:100%;filter:blur(18px)}.workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:20px;margin-top:24px}.tracks-panel,.sound-panel{background:var(--panel);border:1px solid #272b41;border-radius:17px;padding:23px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:23px}.panel-heading h2{font-size:19px;margin:0 0 5px}.panel-heading p{font-size:12px;color:var(--dim);margin:0}.muted{color:var(--dim);font-size:14px}.mini{font-size:12px;padding:8px 10px}.track-head,.track{display:grid;grid-template-columns:minmax(0,2fr) minmax(80px,1fr) 65px 33px;gap:10px;align-items:center}.track-head{font-size:10px;letter-spacing:1px;color:#7f849e;padding:10px 10px;border-bottom:1px solid var(--line)}.track-list{max-height:515px;overflow:auto}.track{width:100%;padding:11px 10px;border-bottom:1px solid #272b40;cursor:grab;border-radius:8px}.track:hover{background:#242940}.track.active{background:#302c4a}.track.dragging{opacity:.35}.song-info{display:flex;align-items:center;gap:11px;min-width:0}.song-art{height:43px;width:43px;min-width:43px;font-size:21px;border-radius:8px}.song-details{min-width:0}.song-details strong,.song-details span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-details strong{font-size:13px}.song-details span,.track-album,.track-duration{font-size:11px;color:var(--dim)}.track-album{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove{background:none;color:#9ca2bf;border:0;font-size:20px}.remove:hover{color:#ff9fae}.empty{text-align:center;color:var(--dim);padding:70px 10px}.empty-icon{font-size:52px;color:var(--purple)}.empty strong{display:block;color:white;font-size:18px}.empty p{font-size:12px;line-height:1.7}.viz{height:120px;border-radius:12px;background:linear-gradient(140deg,#262342,#131d35);position:relative;overflow:hidden;margin-bottom:20px}.viz canvas{width:100%;height:100%;display:block}.viz-label{position:absolute;bottom:10px;left:12px;font-size:9px;letter-spacing:2px;color:#ac9ad9}.eq-top,.speed-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--dim)}select{background:#25283e;border:1px solid var(--line);color:white;border-radius:8px;padding:7px;max-width:155px}.eq-bands{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin:24px 0}.band{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}.band input{writing-mode:vertical-lr;direction:rtl;appearance:slider-vertical;width:18px;height:125px;accent-color:#ad96ff;cursor:pointer}.band span{font-size:9px;color:var(--dim);white-space:nowrap}.band output{font-size:9px;color:#d3c8ff}.speed-row{border-top:1px solid var(--line);padding-top:17px}.player{position:fixed;z-index:10;bottom:0;left:0;right:0;background:#151827ee;backdrop-filter:blur(20px);border-top:1px solid #31344d;min-height:108px;display:grid;grid-template-columns:minmax(170px,1fr) minmax(270px,1.5fr) minmax(130px,1fr);gap:20px;align-items:center;padding:15px 28px}.current{display:flex;align-items:center;min-width:0;gap:12px}.mini-cover{height:59px;width:59px;min-width:59px;font-size:30px}.current-text{min-width:0}.current-text strong,.current-text span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-text strong{font-size:13px}.current-text span{font-size:11px;color:var(--dim);margin-top:5px}.transport{display:flex;gap:15px;justify-content:center;align-items:center}.ctrl{background:none;border:0;color:#e1def2;font-size:19px;padding:5px}.ctrl.secondary{color:#888da7}.ctrl.selected{color:var(--green)}.play-btn{background:#b9a3ff;color:#19162d;border-radius:50%;height:41px;width:41px;font-size:18px}.timeline{display:flex;align-items:center;gap:10px;color:var(--dim);font-size:10px;margin-top:7px}.timeline input{flex:1;min-width:0}.player-right{display:flex;align-items:center;justify-content:flex-end;gap:10px}.status{color:var(--green);font-size:10px;letter-spacing:1px}.volume-icon{background:none;border:0;color:white;font-size:18px}.player-right input{width:86px}input[type=range]{accent-color:#b49bff;cursor:pointer}.drop-overlay{display:none;position:fixed;inset:10px;z-index:30;border:3px dashed #bda5ff;border-radius:22px;background:#16192bea;place-items:center;font-size:clamp(20px,4vw,38px);font-weight:800;text-align:center;pointer-events:none}.drop-overlay.show{display:grid}#toast{position:fixed;z-index:40;bottom:130px;right:22px;padding:11px 16px;border-radius:10px;background:#37324d;color:#fff;box-shadow:0 10px 30px #0005;display:none;max-width:310px;font-size:13px}@media(max-width:1100px){.workspace{grid-template-columns:1fr}.sound-panel{order:1}}@media(max-width:780px){.shell{display:block}.sidebar{display:none}.main{padding:19px 14px 200px}.topbar{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.search{flex:1}.search input{width:100%}.hero{min-height:175px;padding:17px;gap:16px}.hero-cover{width:105px;height:105px;flex-basis:105px;font-size:48px}.hero-content h2{font-size:19px}.hero-content p{font-size:12px;margin-bottom:13px}.hero-actions button{padding:9px 13px;font-size:12px}.tracks-panel,.sound-panel{padding:15px}.track-head,.track{grid-template-columns:minmax(0,2fr) 58px 25px}.track-album,.track-head span:nth-child(2){display:none}.track-head span:nth-child(3){grid-column:2}.track-head span:nth-child(4){grid-column:3}.player{min-height:155px;grid-template-columns:1fr auto;padding:10px 14px 15px;gap:9px}.current{grid-column:1;grid-row:1}.player-right{grid-column:2;grid-row:1}.player-right .status{display:none}.player-right input{width:65px}.playback{grid-column:1/-1;grid-row:2}.transport{gap:22px}.timeline{margin-top:9px}.mini-cover{width:43px;height:43px;min-width:43px;font-size:22px}#toast{bottom:164px}}@media(max-width:380px){.import{padding:9px 8px;font-size:12px}.hero-cover{width:82px;height:82px;flex-basis:82px}.hero-content h2{font-size:16px}.band span{font-size:8px}}

/* Shahi Audio Studio branding */
.brand{gap:10px;letter-spacing:1px;margin-left:0;margin-right:0}.brand-logo{width:64px;height:64px;object-fit:contain;flex-shrink:0}.brand-name{font-size:19px;line-height:1.1;white-space:nowrap}.brand-name small{font-size:10px;letter-spacing:2px;color:#e8bb65}.mobile-brand{display:none}.player-right{display:flex;flex-direction:column;gap:6px;align-items:flex-end;justify-content:center}.volume-controls{display:flex;align-items:center;gap:10px}.shahi-credit{color:#d8b476;text-decoration:none;font-weight:650;font-size:11px;letter-spacing:.15px;white-space:nowrap}.shahi-credit:hover,.shahi-credit:focus-visible{color:#ffe1a7;text-decoration:underline}.shahi-credit span{margin-left:2px}
@media(max-width:780px){.mobile-brand{display:flex;align-items:center;gap:9px;color:#f4db9b;font-size:12px;font-weight:800;letter-spacing:1.1px;margin-bottom:12px}.mobile-brand img{width:40px;height:40px;object-fit:contain}.player-right{align-items:flex-end;gap:4px}.volume-controls{gap:5px}.shahi-credit{font-size:9px}.player-right input{width:61px}}
@media(max-width:390px){.shahi-credit{font-size:8px}.volume-controls{gap:2px}.player-right input{width:49px}}

/* Persistent library controls — v1.3 */
.storage-note{font-size:11px;color:#a5d8bd;margin:-10px 0 14px;line-height:1.5}.heading-buttons{flex-wrap:wrap;justify-content:flex-end}.heading-buttons .mini{white-space:nowrap}@media(max-width:500px){.panel-heading{align-items:flex-start}.heading-buttons{max-width:195px;gap:5px}.heading-buttons .mini{padding:7px 8px;font-size:11px}}

/* v1.4: introductory library copy */
.library-intro{margin:-10px 0 22px;padding:18px 21px;border:1px solid #36314f;border-radius:15px;background:linear-gradient(115deg,#1c1d32,#171a2c);color:#f3f1fb}
.intro-main{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.intro-copy{min-width:0;max-width:740px}
.intro-copy strong{font-size:15px;letter-spacing:.1px;color:#f6e0ae}
.intro-copy p{color:#c0c1d5;font-size:12px;line-height:1.65;margin:6px 0 0}
.intro-details{flex:0 0 180px;position:relative}
.intro-details summary{list-style:none;cursor:pointer;border:1px solid #60537e;background:#2c2942;color:#f3e7ff;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:650;display:flex;justify-content:space-between;gap:12px}
.intro-details summary::-webkit-details-marker{display:none}
.intro-details[open] summary span{transform:rotate(180deg)}
.intro-details ul{position:absolute;z-index:5;top:36px;right:0;width:min(355px,80vw);margin:7px 0 0;padding:15px 17px 15px 31px;background:#24243b;border:1px solid #4b4467;border-radius:10px;color:#e8e5f1;box-shadow:0 18px 40px #0007;font-size:12px;line-height:1.8}
.intro-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px 18px;border-top:1px solid #36354b;padding-top:11px;margin-top:12px;font-size:11px;color:#acb3c7}
.intro-foot a{color:#efc783;text-decoration:none}.intro-foot a:hover{text-decoration:underline}
@media(max-width:850px){.intro-main{flex-direction:column;gap:12px}.intro-details{flex:auto;width:100%}.intro-details ul{left:0;right:auto;width:min(355px,100%)}.library-intro{margin:0 0 17px;padding:15px}}
