
:root{--bg:#120f18;--panel:#1a1522;--panel2:#241d2c;--accent:#f3a7c3;--accent2:#d88aaf;--text:#f4edf4;--muted:#998b9f;--line:#ffffff0c;--hero:#352333;--glow:#ba63823b;font-family:Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:transparent}button:hover{filter:brightness(1.16)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.4;cursor:wait}a{color:inherit;text-decoration:none}input,textarea,select{color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px}input[type=range]{accent-color:var(--accent);height:3px;padding:0;border:0;cursor:pointer}input[type=range]::-webkit-slider-thumb{width:10px;height:10px}.app{display:flex;min-height:100vh;padding-bottom:105px}aside{width:232px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);padding:33px 20px;position:fixed;top:0;bottom:105px;display:flex;flex-direction:column;overflow:auto}.brand{display:flex;gap:10px;align-items:center;padding:0 14px;font-size:38px;color:var(--accent);font-weight:700;letter-spacing:-2px}.brand span{color:var(--text);font-size:33px;line-height:.9}.brand small{display:block;font-size:9px;letter-spacing:5px;color:var(--muted);padding-top:9px}.side-label{font-size:9px;font-weight:600;letter-spacing:1.7px;color:var(--muted);margin:45px 12px 14px}nav button,#playlists button{width:100%;text-align:left;padding:14px 13px;border-radius:9px;font-size:18px;color:var(--muted);display:flex;align-items:center;gap:12px}nav button span,#playlists button{font-size:12px}nav button.active,#playlists button.active{color:var(--accent);background:var(--accent-background,#f3a7c312)}.list-label{display:flex;justify-content:space-between;align-items:center;margin-top:30px}.list-label button{font-size:23px}.sidebar-bottom{margin-top:auto;padding:30px 10px 0}.mini-art{width:100%;height:83px;background:radial-gradient(ellipse at 70% 60%,#bc759547,transparent),linear-gradient(145deg,var(--panel2),var(--hero));border-radius:10px;color:var(--accent);font-size:43px;text-align:center;line-height:83px;margin-bottom:20px}.sidebar-bottom b{font-size:11px}.sidebar-bottom p{font-size:10px;color:var(--muted)}.sidebar-bottom button{font-size:11px;color:var(--accent);padding:12px 0}main{width:calc(100% - 232px);margin-left:232px;max-width:1600px;padding:0 40px}header{height:92px;display:flex;align-items:center;justify-content:space-between}.search{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:26px}.search input{background:transparent;border:0;font-size:12px;width:300px}.header-actions{display:flex;align-items:center;gap:22px}.header-actions button{font-size:19px;color:var(--accent)}.header-actions span{font-size:11px;color:var(--muted);margin-left:6px}.avatar{width:35px;height:35px;border:1px solid #f3a7c332;border-radius:50%;background:var(--panel2);font-size:13px!important}.hero{display:flex;position:relative;overflow:hidden;height:334px;background:linear-gradient(115deg,#29202d,var(--hero));border:1px solid #ffffff08;border-radius:16px}.hero-copy{padding:37px 35px;z-index:2;width:60%}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--accent);font-weight:600}h1{font-size:43px;font-weight:500;letter-spacing:-1.8px;line-height:1.13;margin:16px 0}h1 em{font-family:Georgia,serif;font-weight:normal;color:var(--accent)}.hero p{font-size:12px;color:#b3a2b6;line-height:1.8;margin:13px 0 22px}.primary{background:var(--accent);color:#291b29;border-radius:8px;padding:11px 17px;font-size:11px;font-weight:700}.hero-note{display:block;font-size:9px;margin-top:12px;color:var(--muted)}.scene{position:absolute;right:0;top:0;bottom:0;width:54%;overflow:hidden;background:linear-gradient(180deg,#46303e30,#a0687950)}.moon{position:absolute;width:127px;height:127px;border-radius:50%;background:#fbd1ce;top:40px;left:80px;box-shadow:0 0 70px #ffc6da2b;opacity:.8}.mountain{position:absolute;width:420px;height:190px;bottom:-67px;background:#392f45;transform:rotate(20deg);border-radius:50% 50% 0 0}.m1{left:-30px;opacity:.8}.m2{left:180px;bottom:-30px;transform:rotate(-19deg);background:#3f2d40}.tree{position:absolute;right:-75px;top:-50px;height:385px;filter:drop-shadow(0 10px 20px #160f1f25)}.scene-caption{position:absolute;bottom:25px;left:30px;font-size:17px;color:#f3dae2aa;letter-spacing:4px}.scene-caption span{font-size:8px;letter-spacing:2px;line-height:3}.moods{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 34px}.moods button{display:flex;align-items:center;gap:13px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;text-align:left}.mood-art{height:49px;width:49px;flex-shrink:0;display:grid;place-items:center;font-size:26px;border-radius:8px}.pink{background:linear-gradient(135deg,#87526f,#3b273c);color:#ffd0e5}.purple{background:linear-gradient(135deg,#555280,#26223d);color:#c5b8ff}.green{background:linear-gradient(135deg,#4d7066,#263c34);color:#c3e3bb}.moods b{font-size:12px;font-weight:500}.moods small{display:block;color:var(--muted);font-size:9px;margin-top:7px}.moods i{font-style:normal;margin-left:auto;color:var(--muted);font-size:14px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-head h2{font-size:23px;letter-spacing:-.6px;font-weight:500;margin:9px 0 0}.section-head h2 span{font-size:11px;vertical-align:middle;display:inline-block;margin-left:9px;padding:3px 7px;border-radius:5px;background:var(--panel2);color:var(--muted)}.section-head select{font-size:10px;background:transparent;border:0;margin-right:10px}.table-head,.track{display:grid;grid-template-columns:28px minmax(150px,1fr) minmax(80px,.55fr) 55px 100px;align-items:center;gap:13px}.table-head{font-size:8px;letter-spacing:1.3px;color:var(--muted);border-bottom:1px solid var(--line);padding:14px 10px}.track{padding:11px 10px;border-radius:8px;font-size:11px;border-bottom:1px solid var(--line)}.track:hover{background:var(--panel)}.track.current{background:var(--accent-background,#f3a7c309);color:var(--accent)}.track-number{color:var(--muted)}.track-name{display:flex;gap:13px;align-items:center;overflow:hidden;text-align:left;padding:0}.track-name>span:last-child{overflow:hidden}.track-name b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:12px}.track-name small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.cover{background:linear-gradient(145deg,var(--hero),var(--panel2));border:1px solid #ffffff0a;display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;border-radius:7px;color:var(--accent);font-size:20px}.track-album{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-time{color:var(--muted)}.track-actions{display:flex;justify-content:flex-end;gap:5px}.track-actions button{font-size:16px;color:var(--muted);padding:6px}.track-actions .liked{color:var(--accent)}.empty{text-align:center;padding:37px 0 30px;color:var(--muted)}.empty>div{font-size:35px;color:var(--accent)}.empty h3{font-size:15px;font-weight:500;color:var(--text);margin:12px}.empty p{font-size:11px;line-height:1.9}.empty button{font-size:11px;color:var(--accent);padding:14px}footer{border-top:1px solid var(--line);margin-top:27px;padding:24px 0;font-size:8px;letter-spacing:1.5px;color:var(--muted);display:flex;justify-content:space-between}.player{position:fixed;z-index:10;bottom:0;left:0;right:0;height:105px;background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(20px);border-top:1px solid #ffffff0f;display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:center;padding:12px 29px;gap:30px}.playing-info{display:flex;gap:13px;align-items:center;overflow:hidden}.playing-info .cover{height:53px;width:53px;font-size:26px}.playing-info>div:nth-child(2){min-width:0}.playing-info b{display:block;font-size:12px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.playing-info small{display:block;font-size:10px;color:var(--muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playing-info button{font-size:22px;color:var(--accent);margin-left:10px}.transport-buttons{display:flex;justify-content:center;align-items:center;gap:22px}.transport-buttons button{font-size:17px;color:var(--muted)}.transport-buttons .play-button{border-radius:50%;height:36px;width:36px;color:#281928;background:var(--accent);font-size:13px}.transport-buttons .enabled{color:var(--accent)}.timeline{display:flex;gap:12px;align-items:center;margin-top:13px;font-size:9px;color:var(--muted)}.timeline input{width:100%}.player-tools{display:flex;justify-content:flex-end;align-items:center;gap:18px;color:var(--muted)}.player-tools button{font-size:24px}.player-tools input{width:80px}dialog{border:1px solid #ffffff18;border-radius:18px;padding:33px;background:var(--panel);color:var(--text);width:460px;max-width:95vw;max-height:88vh}dialog::backdrop{background:#09070dbb;backdrop-filter:blur(8px)}.close-dialog{position:absolute;top:9px;right:12px;font-size:25px;color:var(--muted)}dialog h2{font-weight:500;letter-spacing:-.5px;margin-top:8px}dialog p{font-size:12px;color:var(--muted);line-height:1.7}dialog label{font-size:11px;color:var(--muted);display:block;margin:13px 0 6px}dialog input:not([type=range]),dialog textarea{width:100%;font-size:13px}dialog textarea{resize:vertical;min-height:170px;line-height:1.7}dialog .primary{margin-top:20px;width:100%}.secondary{width:100%;background:var(--panel2);border-radius:8px;padding:12px;margin-top:10px;font-size:12px}.text-button{color:var(--accent);font-size:11px;display:block;margin:16px auto 0}.form-error{color:#ffa2a2;font-size:12px;margin-top:15px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.editor-grid .full{grid-column:1/-1}.editor-actions{display:flex;gap:10px}.editor-actions button{flex:1;font-size:11px}.danger{color:#ffadad}.theme-options button{display:flex;text-align:left;align-items:center;gap:15px;padding:15px;width:100%;border-radius:10px;background:var(--panel2);margin-top:10px}.theme-options small{display:block;color:var(--muted);margin-top:5px}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:18px}.album-card{text-align:left;margin-bottom:18px}.album-card .cover{width:100%;height:135px;font-size:52px;margin-bottom:13px;background:radial-gradient(circle at 65% 35%,var(--glow),transparent),var(--panel2)}.album-card b{display:block;font-size:13px}.album-card small{color:var(--muted);display:block;font-size:10px;margin-top:6px}.lyrics-panel{position:fixed;z-index:9;right:0;top:0;bottom:105px;width:370px;background:var(--panel);padding:35px;border-left:1px solid #ffffff15;box-shadow:-20px 0 90px #0006;overflow:auto}.lyrics-panel>div:first-child{display:flex;justify-content:space-between;align-items:center}.lyrics-panel>div:first-child button{font-size:26px}.lyrics-panel h2{font-size:23px;font-weight:500}.lyrics-panel #editLyrics{font-size:11px;color:var(--accent);margin:25px 0}.lyric-line{font-size:18px;line-height:1.6;color:var(--muted);padding:12px 0;transition:color .25s,transform .25s;display:block;width:100%;text-align:left}.lyric-line.live{color:var(--accent);transform:translateX(6px);font-size:21px}.lyrics-placeholder{color:var(--muted);font-size:13px;line-height:1.8}#toast{position:fixed;z-index:30;bottom:123px;left:50%;transform:translate(-50%,15px);max-width:90vw;background:var(--panel2);border:1px solid #ffffff20;border-radius:10px;padding:13px 20px;font-size:12px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}body.dragging:after{content:'Отпусти MP3 — и музыка останется с тобой 🌸';position:fixed;inset:15px;border:2px dashed var(--accent);border-radius:20px;background:#201724eF;z-index:40;display:grid;place-items:center;font-size:24px;pointer-events:none}#petals{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:4}.petal{position:absolute;top:-30px;background:var(--accent);width:7px;height:12px;border-radius:80% 0 80% 0;opacity:.22;animation:fall linear infinite}@keyframes fall{to{transform:translate(-180px,110vh) rotate(420deg)}}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){.petal{animation:none;display:none}*{scroll-behavior:auto!important}}@media(min-width:1500px){.hero{height:380px}.hero-copy{padding:45px}h1{font-size:52px}}@media(max-width:1100px){aside{width:190px;padding:30px 13px}main{margin-left:190px;width:calc(100% - 190px);padding:0 25px}.hero-copy{padding:30px 25px}h1{font-size:38px}.moods{gap:9px}.moods button{padding:10px;gap:9px}.moods small{font-size:8px}.mood-art{width:37px;height:43px}.player{gap:20px;padding:12px 20px}.playing-info small{max-width:175px}.table-head,.track{grid-template-columns:24px minmax(130px,1fr) 95px 40px 86px;gap:9px}}@media(max-width:760px){aside{position:sticky;top:0;width:65px;padding:23px 8px;bottom:auto;height:calc(100vh - 122px)}.brand{padding:0;justify-content:center;font-size:32px}.brand span,.side-label,nav button span,.sidebar-bottom{display:none}nav{margin-top:35px}nav button{justify-content:center;padding:15px 0}#playlists button{font-size:0;padding:12px 0;justify-content:center}#playlists button:before{content:'♫';font-size:18px}main{margin-left:0;width:calc(100% - 65px);padding:0 17px}header{height:70px}.search input{width:160px;font-size:10px}.header-actions{gap:10px}.header-actions span{display:none}.hero{height:300px}.hero-copy{padding:26px 21px;width:100%}h1{font-size:33px}.hero p{font-size:10px}.scene{width:60%;opacity:.45}.moon{left:0;width:100px;height:100px}.tree{right:-190px}.scene-caption{display:none}.moods{grid-template-columns:repeat(3,1fr);gap:6px;margin:15px 0 26px}.moods button{padding:7px;display:block}.moods b{font-size:9px;display:block;margin-top:8px}.moods small,.moods i{display:none}.mood-art{width:100%;height:39px}.section-head{align-items:flex-start;gap:8px}.section-head h2{font-size:19px}.section-head .eyebrow{font-size:7px}.section-head select{display:block;font-size:9px;margin:0 0 5px;padding:0}.section-head .primary{font-size:9px;padding:9px}.table-head,.track{grid-template-columns:17px minmax(100px,1fr) 28px 64px;gap:5px}.table-head span:nth-child(3),.track-album{display:none}.track-name{gap:8px}.track-name .cover{width:32px;height:35px}.track-name b{font-size:11px}.track-name small{font-size:9px}.track-actions{gap:0}.track-actions button{font-size:14px;padding:4px}.track-time{font-size:9px}.player{height:122px;grid-template-columns:1fr 1fr;grid-template-rows:47px 36px;gap:6px 10px;padding:10px 15px}.playing-info{gap:8px}.playing-info .cover{width:39px;height:39px}.playing-info b{font-size:10px}.playing-info small{font-size:8px;max-width:130px}.playing-info button{display:none}.transport{display:contents}.transport-buttons{gap:15px;justify-content:flex-end}.transport-buttons button{font-size:13px}.transport-buttons .play-button{height:32px;width:32px}.timeline{grid-column:1/-1;margin:0}.player-tools{position:absolute;right:18px;top:-40px;gap:12px}.player-tools input,.player-tools>span{display:none}.player-tools button{background:var(--panel);border-radius:8px;width:31px;height:31px;font-size:19px}.app{padding-bottom:122px}.empty{padding:25px 5px}.empty h3{font-size:13px}.empty p{font-size:10px}footer{font-size:6px;line-height:1.8}footer span{display:none}.lyrics-panel{width:calc(100% - 65px);bottom:122px;padding:24px}#toast{bottom:142px}.album-grid{grid-template-columns:repeat(2,1fr);gap:12px}.album-card .cover{height:110px}dialog{padding:26px}}
img.cover{object-fit:cover}#playingCover img{width:100%;height:100%;object-fit:cover;border-radius:7px}.album-select{max-height:230px;overflow:auto}.album-select label{display:flex;align-items:center;gap:10px;padding:8px;border-bottom:1px solid var(--line)}.album-select input[type=checkbox]{width:auto}.album-select small{color:var(--muted);margin-left:auto}#createAlbum{font-size:11px;color:var(--accent);padding:10px}a.secondary{display:block;text-align:center}
body[data-palette=daylight] .hero{background:linear-gradient(115deg,#f2e0eb,#edccdc)}body[data-palette=daylight] .hero p{color:#74556b}body[data-palette=daylight] .hero-note{color:#826076}body[data-palette=daylight] .primary,body[data-palette=daylight] .play-button{color:#fff8fb}body[data-palette=daylight] .scene{opacity:.65}body[data-palette=daylight] .scene-caption{color:#543c51}body[data-palette=daylight] .track.current{background:#9757730d}body[data-palette=daylight] #toast{background:#fff8fb}body[data-palette=daylight] .track,body[data-palette=daylight] .table-head{border-color:#39283b12}

