*{box-sizing:border-box;margin:0;padding:0}:root,:root[data-theme=dark]{--bg: #0a0b14;--bg-grad-1: #1b1040;--bg-grad-2: #0a1a3a;--bg-grad-3: #071a24;--glass: rgba(255, 255, 255, .06);--glass-strong: rgba(255, 255, 255, .1);--menu-bg: rgba(18, 22, 40, .96);--glass-border: rgba(255, 255, 255, .12);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .45);--text: #e6e8f0;--text-dim: #9aa0b5;--strong: #ffffff;--accent: #7c6cff;--accent-2: #38d2ff;--accent-3: #ff5fd2;--accent-grad: linear-gradient(135deg, #7c6cff 0%, #38d2ff 55%, #59ffc4 100%);--accent-grad-hot: linear-gradient(135deg, #ff5fd2 0%, #7c6cff 50%, #38d2ff 100%);--input-bg: rgba(0, 0, 0, .32);--canvas-bg: rgba(0, 0, 0, .35);--active-item: rgba(124, 108, 255, .22);--danger: #ff8484}:root[data-theme=light]{--bg: #eef1fb;--bg-grad-1: #dfe6ff;--bg-grad-2: #e6f4ff;--bg-grad-3: #f2e9ff;--glass: rgba(255, 255, 255, .55);--glass-strong: rgba(255, 255, 255, .75);--menu-bg: rgba(250, 250, 255, .98);--glass-border: rgba(120, 130, 180, .25);--glass-shadow: 0 8px 32px rgba(80, 90, 160, .18);--text: #2a2d3d;--text-dim: #6b7085;--strong: #14162a;--accent: #6a5cff;--accent-2: #0aa8e0;--accent-3: #e84ec0;--accent-grad: linear-gradient(135deg, #6a5cff 0%, #0aa8e0 55%, #08c98f 100%);--accent-grad-hot: linear-gradient(135deg, #e84ec0 0%, #6a5cff 50%, #0aa8e0 100%);--input-bg: rgba(255, 255, 255, .7);--canvas-bg: rgba(190, 198, 225, .45);--active-item: rgba(106, 92, 255, .14);--danger: #d43d3d}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:Microsoft YaHei,Segoe UI,sans-serif;font-size:13px;overflow:hidden;position:relative}body:before{content:"";position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:-1;background:radial-gradient(40% 50% at 15% 20%,var(--bg-grad-1) 0%,transparent 70%),radial-gradient(45% 55% at 85% 25%,var(--bg-grad-2) 0%,transparent 70%),radial-gradient(50% 60% at 50% 90%,var(--bg-grad-3) 0%,transparent 70%),var(--bg);animation:bg-drift 24s ease-in-out infinite alternate}@keyframes bg-drift{0%{transform:translate(0) scale(1)}to{transform:translate(3%,-3%) scale(1.08)}}button{background:var(--glass);color:var(--text);border:1px solid var(--glass-border);border-radius:10px;padding:6px 12px;cursor:pointer;font-size:13px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .2s,box-shadow .2s,transform .15s}button:hover:not(:disabled){background:var(--glass-strong);box-shadow:0 0 14px #7c6cff59}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent-grad);border:none;color:#fff;font-weight:600;box-shadow:0 4px 18px #7c6cff66}button.primary:hover:not(:disabled){box-shadow:0 4px 26px #38d2ff8c;filter:brightness(1.08)}input,select,textarea{background:var(--input-bg);color:var(--text);border:1px solid var(--glass-border);border-radius:10px;padding:7px 10px;font-size:13px;font-family:inherit;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #7c6cff38}textarea{resize:vertical}::selection{background:#7c6cff66}.app{display:flex;flex-direction:column;height:100%}.app-header{display:flex;align-items:center;gap:24px;background:var(--glass);border-bottom:1px solid var(--glass-border);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);padding:0 16px;height:48px;flex-shrink:0}.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:16px;letter-spacing:.5px;white-space:nowrap}.brand span{background:var(--accent-grad-hot);-webkit-background-clip:text;background-clip:text;color:transparent}.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.lang-select{border-radius:999px;padding:5px 10px;font-size:12px}.theme-toggle{white-space:nowrap;border-radius:999px}.app-tabs{display:flex;gap:4px;height:100%}.app-tabs button{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;padding:0 14px;height:100%;color:var(--text-dim);backdrop-filter:none;-webkit-backdrop-filter:none}.app-tabs button:hover:not(:disabled){background:none;box-shadow:none;color:var(--text)}.app-tabs button.active{color:var(--strong);border-image:var(--accent-grad) 1;border-bottom:2px solid}.app-main{flex:1;min-height:0;display:flex}.song-results{display:flex;flex-direction:column;gap:10px;width:100%}.song-result{display:flex;align-items:center;gap:10px;background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;padding:8px 12px}.song-result audio{flex:1;min-width:0;height:36px}.song-take{font-size:12px;color:var(--text-dim);white-space:nowrap}.editor{display:flex;flex-direction:column;flex:1;min-width:0}.menubar{display:flex;align-items:center;background:var(--glass);border-bottom:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:0 6px;height:36px;flex-shrink:0;position:relative;z-index:60}.menu{position:relative}.menu>button{background:none;border:none;padding:8px 12px;backdrop-filter:none;-webkit-backdrop-filter:none}.menu>button:hover:not(:disabled){box-shadow:none;background:var(--glass-strong);border-radius:8px}.menu-dropdown{position:absolute;top:100%;left:0;z-index:200;background:var(--menu-bg);border:1px solid var(--glass-border);border-radius:12px;min-width:180px;display:flex;flex-direction:column;overflow:hidden;backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);box-shadow:var(--glass-shadow)}.menu-dropdown button{background:none;border:none;border-radius:0;text-align:left;padding:9px 14px;backdrop-filter:none;-webkit-backdrop-filter:none}.menu-dropdown button:hover:not(:disabled){background:var(--active-item);box-shadow:none}.menubar-right{margin-left:auto;color:var(--text-dim);font-size:12px;padding-right:8px}.editor-body{display:flex;flex:1;min-height:0}.toolbar{width:60px;background:var(--glass);border-right:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;overflow-y:auto;flex-shrink:0}.tool-btn{width:46px;height:44px;padding:0;border:1px solid transparent;background:none;border-radius:10px;backdrop-filter:none;-webkit-backdrop-filter:none;display:flex;align-items:center;justify-content:center;color:var(--text)}.tool-btn svg{width:26px;height:26px}.tool-btn.active{background:var(--accent-grad);color:#fff;box-shadow:0 0 16px #7c6cff80}.tool-sep{width:28px;border-top:1px solid var(--glass-border);margin:6px 0}.color-picker{width:32px;height:32px;padding:2px;border:1px solid var(--glass-border);border-radius:8px;background:none;cursor:pointer}.tool-slider{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--text-dim)}.tool-slider input[type=range]{width:38px;padding:0}.canvas-container{flex:1;overflow:auto;background:var(--canvas-bg);display:grid;place-items:center;position:relative}.canvas-stage{position:relative}.view-canvas{display:block;border-radius:4px;box-shadow:0 0 0 1px var(--glass-border),0 16px 48px #00000080;touch-action:none;cursor:crosshair}.text-overlay{position:absolute;background:#0006;border:1px dashed var(--accent);min-width:160px}.right-panels{width:268px;background:var(--glass);border-left:1px solid var(--glass-border);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.panel{border-bottom:1px solid var(--glass-border);padding:12px;display:flex;flex-direction:column;gap:8px}.panel-title{font-weight:700;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.ai-panel textarea{width:100%}.ai-error{color:var(--danger);font-size:12px;white-space:pre-wrap}.layers-panel{flex:1}.layer-controls{display:flex;flex-direction:column;gap:6px}.layer-controls label{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:12px}.layer-controls input[type=range]{flex:1;padding:0}.layer-list{display:flex;flex-direction:column;gap:3px;flex:1;overflow-y:auto}.layer-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:10px;cursor:pointer;border:1px solid transparent;transition:background .15s}.layer-item:hover{background:var(--glass-strong)}.layer-item.active{background:var(--active-item);border-color:var(--accent)}.layer-eye{background:none;border:none;width:24px;padding:2px;backdrop-filter:none;-webkit-backdrop-filter:none}.layer-thumb{width:44px;height:32px;border:1px solid var(--glass-border);border-radius:6px;background:#78788c66}.layer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-actions{display:flex;gap:4px}.layer-actions button{flex:1;padding:5px 0}.music-studio{flex:1;overflow-y:auto;padding:28px;display:flex;flex-direction:column;align-items:center;gap:22px}.music-steps{display:flex;gap:10px}.music-step{padding:7px 16px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-border);color:var(--text-dim);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.music-step.active{background:var(--accent-grad);border:none;color:#fff;font-weight:600;box-shadow:0 4px 18px #7c6cff73}.music-card{width:min(720px,100%);background:var(--glass);border:1px solid var(--glass-border);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:12px;backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);box-shadow:var(--glass-shadow)}.music-card.center{align-items:center;text-align:center}.music-card h2{font-size:19px;background:var(--accent-grad-hot);-webkit-background-clip:text;background-clip:text;color:transparent}.music-card textarea,.music-card input{width:100%}.music-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.music-row label,.title-input{display:flex;align-items:center;gap:8px;color:var(--text-dim)}.hint{color:var(--text-dim);font-size:12px}.badge{background:var(--accent-grad-hot);color:#fff;font-size:11px;padding:2px 10px;border-radius:999px;vertical-align:middle}.spinner{width:44px;height:44px;border:4px solid rgba(124,108,255,.18);border-top-color:var(--accent-2);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-link{background:var(--accent-grad);color:#fff;border-radius:10px;padding:7px 14px;text-decoration:none;font-weight:600;box-shadow:0 4px 18px #7c6cff66}.lyrics-view{width:100%;max-height:300px;overflow-y:auto;background:var(--input-bg);border:1px solid var(--glass-border);border-radius:12px;padding:12px;text-align:left;white-space:pre-wrap;font-family:inherit;color:var(--text-dim);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@media(max-width:768px){body{overflow:auto;font-size:14px}.app-header{gap:8px;padding:0 8px;height:48px}.brand{font-size:14px}.app-tabs button{padding:0 8px}.editor{height:auto}.editor-body{flex-direction:column}.toolbar{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:center;border-right:none;border-bottom:1px solid var(--glass-border);padding:6px 4px;order:0}.tool-btn{width:44px;height:44px}.tool-sep{width:0;height:28px;border-top:none;border-left:1px solid var(--glass-border);margin:0 6px}.tool-slider{flex-direction:row;align-items:center;gap:4px}.tool-slider input[type=range]{width:70px}.canvas-container{min-height:45vh;order:1}.right-panels{width:100%;border-left:none;border-top:1px solid var(--glass-border);order:2;flex-direction:column;max-height:none}.menubar{height:40px}.header-actions{gap:4px}.lang-select{padding:4px 6px}.menubar-right{display:none}.music-studio{padding:14px}.music-steps{flex-wrap:wrap;justify-content:center;gap:6px}.music-step{padding:6px 10px;font-size:12px}.music-card{padding:16px;border-radius:16px}.music-row{flex-direction:column;align-items:stretch}.music-row button,.music-row .btn-link{width:100%;text-align:center}button{padding:10px 12px}}
