:root{--bg:#110d19;--bg2:#191224;--panel:#171123;--edge:#342843;--text:#faf3ff;--muted:#a396b5;--pink:#e987e9;--lav:#ab83ff;--amber:#ffe0a3;--lime:#7ae0ad;--danger:#ff959e;--radius:17px;--lyricsize:42px; color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}button{border:1px solid #544264;background:#30253e;color:#f7eaff;border-radius:12px;padding:10px 13px;cursor:pointer;font-size:13px;font-weight:800}button:hover{border-color:#ae80d5}button:disabled{opacity:.43;cursor:not-allowed}button.primary{color:#211329;border:0;background:linear-gradient(110deg,#ed7ee9,#b096ff)}button.subtle{background:#261c33;border:1px solid #524066}.outline{background:transparent;border-color:#855b9f}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #e891ed;outline-offset:2px}input,textarea{background:#100c18;border:1px solid #4c3c60;border-radius:11px;color:var(--text);padding:12px;min-width:0}input::placeholder,textarea::placeholder{color:#887a9a}textarea{resize:vertical;width:100%;line-height:1.55;font-family:ui-monospace,Consolas,monospace;font-size:13px}input[type=range]{accent-color:var(--pink);padding:0}label{display:block;font-size:12px;color:#bdafcb;font-weight:750}label input{display:block;width:100%;margin-top:7px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(23px,3vw,35px);margin:7px 0 3px;line-height:1.15}h2{font-size:18px;margin:4px 0 0}h3{font-size:12px;letter-spacing:.1em;color:#d8b3dc;margin:0}small{font-size:11px}kbd{background:#4b3a5d;padding:2px 5px;border-radius:3px}.micro{font-size:11px;color:#a99bb7}.muted,.hint{color:var(--muted)}.hint{font-size:12px;line-height:1.6;margin:11px 0}.eyebrow{letter-spacing:.13em;color:#d89cde;font-size:11px;font-weight:900}.app{height:100dvh;display:flex;flex-direction:column;min-height:600px}.topbar{height:74px;flex-shrink:0;border-bottom:1px solid #30223c;background:#151020;display:flex;align-items:center;justify-content:space-between;padding:0 21px;gap:15px}.brand{display:flex;gap:12px;align-items:center}.brand strong{display:block;letter-spacing:.075em;font-size:19px;font-weight:1000;white-space:nowrap}.brand em{font-style:normal;color:#f78ddd}.brand small{color:#9c82b2;font-weight:800;letter-spacing:.13em;display:block;margin-top:4px}.logo{height:43px;width:43px;display:grid;place-items:center;border-radius:13px;font-size:29px;font-weight:800;background:linear-gradient(135deg,#ef73ec,#856dff)}.topactions{display:flex;align-items:center;gap:8px}.pill{color:#7ce0ad;background:#18382c;border:1px solid #2e6d54;padding:8px 12px;font-size:11px;font-weight:900;border-radius:30px;white-space:nowrap}.icon-btn{border:none;background:transparent;font-size:22px;padding:7px 11px}.topactions .icon-btn{border:1px solid #665073;border-radius:100px;font-size:14px}.layout{flex:1;display:grid;grid-template-columns:minmax(280px,330px) minmax(340px,1fr) minmax(240px,280px);min-height:0}.panel{overflow:auto;background:#171221;padding:20px 16px}.editor{border-right:1px solid var(--edge)}.library{border-left:1px solid var(--edge);display:flex;flex-direction:column;gap:13px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.labeltag{background:#33223d;color:#e3bae9;border:1px solid #654370;border-radius:7px;padding:5px 8px;font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.upload{background:#261d35;border:1px dashed #805391;padding:11px 8px;border-radius:12px;text-align:center;cursor:pointer;min-height:86px}.upload span{display:block;font-size:23px;margin-bottom:3px}.upload strong{display:block;font-size:12px;color:#e9c5f1}.upload small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#a39ab2;margin-top:5px}.field-title{display:flex;justify-content:space-between;margin-bottom:7px}.buttonrow{display:flex;gap:8px;margin:9px 0}.buttonrow button{flex:1;min-width:0}.buttonrow button:not(.primary){background:#29203a}.section{margin-top:21px;padding-top:17px;border-top:1px solid #372941}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.mark-btn{display:block;width:100%;background:linear-gradient(100deg,#dda3ff,#e984c8);border:0;color:#231127;margin:12px 0;min-height:56px;font-size:13px}.mark-btn span{display:block;font-size:10px;margin-top:4px}.timeline{max-height:270px;overflow:auto;display:flex;flex-direction:column;gap:5px}.time-row{display:grid;grid-template-columns:27px minmax(0,1fr) 74px 34px;align-items:center;gap:5px;padding:8px;background:#21192e;border:1px solid #3e2f4e;border-radius:10px;min-height:42px}.time-row.active{border-color:#d997e7;background:#372044}.time-row .line-text{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-row input{width:100%;padding:6px;font-size:11px}.time-row button{padding:7px 0;font-size:12px}.time-row .line-number{color:#a994bd;font-size:11px}.empty-note{color:#9f91ad;font-size:12px;line-height:1.5;padding:20px;text-align:center}.word-editor{padding:8px 0}.word-fields{display:flex;gap:8px;align-items:end}.word-fields label{flex:1}.word-list{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.word-choice{font-size:12px;padding:6px 9px;background:#2d2241}.word-choice.selected{color:#261032;background:#f2b8ee}.selected-word{font-size:12px;color:#f9d1f3}.word-warning{font-size:11px;color:#e3be93}.slider-label{margin:14px 0}.slider-label span{float:right}.slider-label input{margin:10px 0;width:100%}.scene-pane{display:flex;flex-direction:column;min-width:0;min-height:0;background:linear-gradient(140deg,#190f24,#181022 45%,#120f1c)}.song-head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;min-height:110px}.song-head .muted{font-size:13px}.stage{flex:1;min-height:0;overflow:hidden;position:relative;background:radial-gradient(ellipse at center,#4b2458 0%,#291634 37%,#170f25 78%);border-top:1px solid #2e1a3c;border-bottom:1px solid #5c3171}.lyrics-stage{height:100%;overflow:auto;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#765387 transparent;padding:calc(50vh - 220px) 28px;overscroll-behavior:contain}.lyric-line{text-align:center;font-weight:950;letter-spacing:-.035em;font-size:var(--lyricsize);line-height:1.38;color:#80708c;opacity:.48;transition:opacity .18s,color .18s;max-width:1000px;margin:24px auto;padding:6px 9px;overflow-wrap:anywhere}.lyric-line.active{color:#ffe3ab;opacity:1;text-shadow:0 0 32px #bd568c65}.lyric-line.near{opacity:.7;color:#d4b5dd}.lyric-line.done{opacity:.45}.lyric-line.selectable{cursor:pointer}.lyric-line .word{display:inline-block;white-space:pre-wrap;cursor:pointer;margin-right:.22em;color:#baa4ca}.lyric-line .word.past{color:#ffe0a1}.lyric-line .word.live{color:#ffbdf4;text-shadow:0 0 18px #ed92dc}.lyric-line .word.selected{outline:1px solid #cd8ee4;outline-offset:4px;border-radius:2px}.stage-placeholder{text-align:center;padding:110px 15px;color:#d7bedb}.stage-placeholder span{display:block;font-size:57px}.stage-placeholder h2{font-size:30px}.stage-placeholder p{color:#ab9bb2}.scene-tools{padding:11px 24px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;color:#b5a0c6;font-size:11px;font-weight:900;letter-spacing:.075em}.scene-tools span:first-child{color:#e5a7e3}.song-list{display:flex;flex-direction:column;gap:8px;overflow:auto;flex:1}.song-card{display:flex;align-items:center;gap:10px;background:#251c31;border:1px solid #473452;border-radius:13px;padding:10px;cursor:pointer}.song-card.active{border-color:#c579c7;background:#3a2446}.song-card .mini-cover{background:linear-gradient(145deg,#a86ce3,#e78bc5);border-radius:9px;min-width:40px;height:40px;display:grid;place-items:center;font-size:20px}.song-info{flex:1;min-width:0}.song-info strong,.song-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-info small{color:#ae9cbc;margin-top:4px}.song-card .remove{border:0;background:transparent;color:#bb99b7;padding:3px 6px}.library-bottom{margin-top:auto}.info-block{border:1px solid #4e355e;border-radius:13px;background:#261b33;padding:15px;font-size:12px;line-height:1.55;color:#b9aac7}.info-block strong{color:#ebc7f1}.info-block p{margin:8px 0 0}.library-bottom>button{margin-top:10px;width:100%}.player{flex-shrink:0;height:120px;display:grid;grid-template-columns:280px minmax(260px,1fr) 200px;gap:20px;align-items:center;padding:13px 25px;border-top:1px solid #3a2b48;background:#100c18}.nowplaying{display:flex;gap:11px;align-items:center;min-width:0}.nowplaying .cover{height:48px;width:48px;border-radius:11px;display:grid;place-items:center;font-size:26px;background:#37244a;color:#d592ed}.nowplaying>div:last-child{min-width:0}.nowplaying strong,.nowplaying small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nowplaying strong{font-size:13px}.nowplaying small{margin-top:4px;color:#9484a3}.playback{min-width:0}.progress{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:12px;color:#a8a0b5;font-size:12px}.progress input{width:100%}.controls{display:flex;align-items:center;justify-content:center;gap:13px;position:relative}.play{border:0;border-radius:100px;background:linear-gradient(135deg,#e994eb,#997aff);color:#261433;height:51px;width:51px;font-size:21px;box-shadow:0 7px 30px #ba72ca5e;padding:0}.stem-switch{position:absolute;right:0;display:flex;gap:3px;padding:4px;background:#231a30;border-radius:10px}.stem-switch button{font-size:10px;padding:7px 10px;background:transparent;border:none;color:#c2accb}.stem-switch button.active{background:#7b438b;color:white}.player-right{text-align:right}.player-right span{display:block;margin:6px 0}.mobile-nav{display:none}.toast{position:fixed;z-index:50;bottom:135px;left:50%;transform:translateX(-50%);background:#3d2950;color:#fff4ff;border:1px solid #ad79be;padding:13px 18px;border-radius:13px;box-shadow:0 15px 50px #0009;font-size:13px;max-width:min(90vw,600px);text-align:center}.toast[hidden]{display:none}dialog{max-width:520px;width:calc(100% - 26px);padding:26px;border:1px solid #9660a9;background:#22172f;color:#f8e8fa;border-radius:17px;box-shadow:0 10px 70px #000a;line-height:1.6}dialog::backdrop{background:#0009}
body.scene-fullscreen .topbar,body.scene-fullscreen .editor,body.scene-fullscreen .library,body.scene-fullscreen .player,body.scene-fullscreen .mobile-nav{display:none!important}body.scene-fullscreen .layout{display:block;min-height:100dvh}body.scene-fullscreen .scene-pane{height:100dvh}body.scene-fullscreen .lyrics-stage{padding-top:calc(50vh - 170px)}
@media(max-width:1180px){.layout{grid-template-columns:290px minmax(340px,1fr)}.library{display:none}.player{grid-template-columns:220px 1fr}.player-right{display:none}.stem-switch{position:static;margin-left:8px}}
@media(max-width:740px){.app{min-height:0}.topbar{height:62px;padding:0 12px}.brand strong{font-size:13px}.brand small{font-size:8px;letter-spacing:.09em}.logo{width:38px;height:38px;font-size:23px}.pill{display:none}.topactions{gap:3px}.topactions button{padding:7px;font-size:11px}.mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);background:#1b1427;border-bottom:1px solid #48304f}.mobile-nav button{border:0;border-radius:0;background:transparent;color:#ad96bb;padding:11px 3px;font-size:12px}.mobile-nav button.active{color:#ffceef;border-bottom:3px solid #e984e4}.layout{display:block;min-height:0;flex:1;overflow:hidden}.layout>aside,.layout>main{display:none;height:100%;overflow:auto}body[data-view=scene] .scene-pane{display:flex}body[data-view=editor] .editor{display:block}body[data-view=library] .library{display:flex}.song-head{padding:15px;min-height:90px}.song-head .outline{font-size:11px;padding:8px}.stage{min-height:0}.lyrics-stage{padding:calc(50vh - 210px) 14px}.lyric-line{font-size:clamp(28px,7.5vw,var(--lyricsize));margin:19px auto}.scene-tools{padding:12px;font-size:9px}.panel{padding:14px}.player{height:124px;padding:8px 12px;display:flex;flex-direction:column;gap:6px;justify-content:space-between}.nowplaying{display:none}.playback{width:100%;display:flex;flex-direction:column;gap:2px}.progress{width:100%;font-size:11px}.controls{width:100%;gap:16px}.play{width:48px;height:48px}.stem-switch{margin-left:auto;position:absolute;right:0;gap:0}.stem-switch button{font-size:10px;padding:7px}.controls>.icon-btn:first-child{margin-left:0}.song-head h1{font-size:22px}.library-bottom{margin-top:20px}.toast{bottom:135px}.word-fields{flex-wrap:wrap}}
@media(max-width:390px){.brand small{display:none}.stem-switch button{padding:7px 6px}.controls{justify-content:flex-start;gap:8px}.controls>.icon-btn:first-child{margin-left:12px}.form-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.cloud-section select{display:block;width:100%;margin:7px 0 12px;padding:12px;border-radius:10px;background:#100c18;border:1px solid #4c3c60;color:var(--text)}.cloud-section label{margin-top:12px}.cloud-section .micro{line-height:1.55;overflow-wrap:anywhere}.cloud-section input{width:100%}
