:root{--bg-grad: radial-gradient(80% 60% at 68% -8%,var(--accent-glow),transparent 55%),radial-gradient(70% 60% at 20% 108%,rgba(60,56,96,.5),transparent 60%),linear-gradient(160deg,#1B1A24,#100F16 55%,#0A0910 100%);--text:#EEECF4;--text2:#A5A2B4;--text3:#8B8899;--glass-border:rgba(255,255,255,.16);--glass-hi:rgba(255,255,255,.24);--glass-bg: radial-gradient(130% 92% at 12% -10%,rgba(255,255,255,.11),transparent 46%),linear-gradient(155deg,rgba(255,255,255,.07),rgba(255,255,255,.02) 46%,rgba(255,255,255,.05));--glass-bg2: radial-gradient(130% 92% at 12% -10%,rgba(255,255,255,.14),transparent 46%),linear-gradient(155deg,rgba(255,255,255,.1),rgba(255,255,255,.03) 46%,rgba(255,255,255,.07));--glass-blur: blur(24px) saturate(1.6);--glass-sh: 0 16px 44px rgba(0,0,0,.5), inset 0 1px 0 var(--glass-hi);--float-sh: 0 26px 70px rgba(0,0,0,.58), inset 0 1px 0 var(--glass-hi);--field-bg: rgba(255,255,255,.06);--field-border: rgba(255,255,255,.1);--row-bg: linear-gradient(150deg,rgba(255,255,255,.06),rgba(255,255,255,.02));--font-serif: "Noto Serif TC", "Songti TC", "PMingLiU", Georgia, serif;--radius-panel:14px;--radius-card:10px;--radius-pill:999px;--on-accent:#14121A;--accent:#8B90E8;--accent2:#AEB2F5;--accent-deep:#666CC8;--accent-glow:rgba(139,144,232,.42);color:var(--text);background:var(--bg-grad);color-scheme:dark;font-family:Noto Sans TC,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft JhengHei,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--bg-grad: radial-gradient(120% 100% at 62% 8%,#F6F2EA,#EDE7DA 46%,#E2DBCC 100%);--text:#26221C;--text2:#726A5C;--text3:#6E6759;--glass-border:rgba(255,255,255,.7);--glass-hi:rgba(255,255,255,.7);--glass-bg: radial-gradient(130% 92% at 12% -10%,rgba(255,255,255,.72),transparent 46%),linear-gradient(155deg,rgba(255,255,255,.58),rgba(255,255,255,.24) 46%,rgba(255,255,255,.46));--glass-bg2: radial-gradient(130% 92% at 12% -10%,rgba(255,255,255,.82),transparent 46%),linear-gradient(155deg,rgba(255,255,255,.68),rgba(255,255,255,.32) 46%,rgba(255,255,255,.54));--glass-sh: 0 16px 44px rgba(70,58,44,.18), inset 0 1px 0 var(--glass-hi);--float-sh: 0 26px 70px rgba(70,58,44,.24), inset 0 1px 0 var(--glass-hi);--field-bg: rgba(255,255,255,.5);--field-border: rgba(70,58,44,.14);--row-bg: linear-gradient(150deg,rgba(255,255,255,.58),rgba(255,255,255,.24));color-scheme:light}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}@media(min-width:841px){html,body{overflow:hidden}}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text) 22%,transparent) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 18%,transparent);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text) 30%,transparent)}*::-webkit-scrollbar-track,*::-webkit-scrollbar-corner{background:transparent}button,input,select{font:inherit}button{border:1px solid var(--field-border);border-radius:8px;padding:.45em 1em;line-height:1.4;color:var(--text);background:var(--glass-bg);cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}button:hover:not(:disabled){border-color:var(--accent);background:var(--glass-bg2)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{color:var(--text3);cursor:not-allowed;background:var(--field-bg)}select,input[type=text],input[type=number],input[type=range]{width:100%}select,input[type=text],input[type=number]{min-height:2.25rem;border:1px solid var(--field-border);border-radius:8px;color:var(--text);background:var(--field-bg);padding:0 .7rem}input[type=file]{width:100%;color:var(--text2)}.file-input-hidden{display:none}.file-picker-button{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}input[type=range]{accent-color:var(--accent)}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{display:flex;flex-direction:column;width:100%;height:100%;min-height:100vh;background:linear-gradient(180deg,#1c2129f2,#0f1115),color-mix(in srgb,var(--text) 7%,black)}.app-topbar{display:flex;flex:0 0 42px;align-items:center;justify-content:space-between;gap:1rem;min-width:0;padding:0 .9rem 0 1.1rem;border-bottom:1px solid rgba(255,255,255,.09);background:var(--glass-bg)}.app-topbar-title{min-width:0;color:var(--text);font-size:.82rem;font-weight:700;letter-spacing:.02em}.app-topbar-title span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;min-width:0}.topbar-group{display:contents}.gallery-open-top-button{min-height:28px;padding:.35rem .65rem;border-color:var(--accent-glow);border-radius:6px;color:var(--text);background:var(--field-bg);font-size:.78rem;line-height:1.1;white-space:nowrap}.gallery-open-top-button:hover:not(:disabled){border-color:var(--accent2);background:var(--row-bg)}.topbar-account-login{display:inline-flex;align-items:center;min-height:28px;padding:.35rem .65rem;border-color:var(--accent2);border-radius:6px;color:var(--accent2);background:var(--field-bg);font-size:.78rem;font-weight:700;line-height:1.1;white-space:nowrap;text-decoration:none}.topbar-account-login:hover{border-color:var(--accent2);background:var(--row-bg);text-decoration:underline}.topbar-donate-link{display:inline-flex;align-items:center;line-height:0;opacity:.92;transition:opacity .15s ease,transform .15s ease}.topbar-donate-link:hover{opacity:1;transform:translateY(-1px)}.topbar-donate-link img{display:block;height:28px;width:auto;border-radius:6px}.topbar-account-email{display:inline-flex;align-items:center;min-height:28px;padding:.35rem .2rem;color:var(--text2);font-size:.78rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:11rem}.randomize-top-button{min-height:28px;padding:.35rem .65rem;border-color:var(--accent-glow);border-radius:6px;color:var(--text);background:var(--field-bg);font-size:.78rem;line-height:1.1;white-space:nowrap}.randomize-top-button:hover:not(:disabled){border-color:var(--accent2);background:var(--row-bg)}.history-top-button{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;min-height:28px;padding:0;border-color:#b9c5d640;border-radius:6px;color:var(--text);background:var(--field-bg);font-size:1.05rem;font-weight:800;line-height:1}.history-top-button:hover:not(:disabled){border-color:var(--accent2);color:var(--on-accent);background:var(--accent2)}.history-top-button:disabled{border-color:#b9c5d61f;color:var(--text3);background:var(--field-bg);opacity:.55}.shortcuts-top-button{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;min-height:28px;padding:0;border-color:#b9c5d640;border-radius:50%;color:var(--text);background:var(--field-bg);font-size:.82rem;font-weight:800;line-height:1}.shortcuts-top-button:hover:not(:disabled){border-color:var(--accent2);color:var(--on-accent);background:var(--accent2)}.export-controls-topbar{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;min-width:0}.export-controls-topbar button{min-height:28px;padding:.35rem .65rem;border-radius:6px;font-size:.78rem;line-height:1.1;white-space:nowrap}.export-controls-topbar .export-setting-select{width:auto;min-width:4.4rem;min-height:28px;padding:0 1.4rem 0 .5rem;border-radius:6px;font-size:.75rem}.export-secondary-button{color:var(--text2);background:var(--field-bg)}.export-mp4-top-button{border-color:var(--accent-glow);color:var(--on-accent);background:var(--accent);font-weight:700}.export-mp4-top-button:hover:not(:disabled){border-color:var(--accent2);background:var(--accent2)}.export-status-line{min-width:0}.export-controls-topbar .export-status-line{max-width:18rem;min-height:0;color:var(--text2);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main{display:flex;flex:1 1 auto;min-height:0;width:100%}.control-panel{display:flex;flex-direction:column;gap:1rem;min-width:220px;min-height:0;padding:1.1rem;border-right:1px solid var(--field-border);background:var(--field-bg);overflow-y:auto}.resize-handle{flex:0 0 6px;background:transparent;z-index:5;touch-action:none}.resize-handle:hover,.resize-handle:active{background:var(--accent-glow)}.resize-handle.vertical{align-self:stretch;cursor:col-resize}.resize-handle.horizontal{width:100%;height:6px;cursor:row-resize}.brand-block{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.brand-copy{min-width:0}.brand-block h1{margin:0;font-size:1.35rem;font-weight:720;letter-spacing:0}.brand-block p{margin:.25rem 0 0;color:var(--text2);font-size:.9rem}.language-switcher{display:flex;flex-shrink:0;gap:.35rem}.language-switcher button{padding:.35rem .5rem;border-radius:8px;font-size:.78rem;line-height:1.1}.language-switcher button.active{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.language-switcher button.active:hover{border-color:var(--accent2);background:var(--accent2)}.panel-section{display:flex;flex-direction:column;gap:.7rem;padding-top:1rem;border-top:1px solid var(--field-border)}.section-title{margin:0;color:var(--text);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.section-subtitle{margin:.9rem 0 .2rem;color:var(--text-dim, var(--text));font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.75}.custom-shader-editor{width:100%;min-height:180px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;white-space:pre;overflow-wrap:normal;tab-size:2}.custom-shader-error{margin:.35rem 0;padding:.5rem .6rem;border-radius:8px;background:#dc3c4624;border:1px solid rgba(220,60,70,.4);color:#ff9aa2;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;white-space:pre-wrap;overflow-x:auto}.custom-shader-ok{margin:.35rem 0;color:#6fe3b0;font-size:12px}.custom-shader-hint{margin:.2rem 0 .6rem;color:var(--text-dim, var(--text));opacity:.7;font-size:11px;line-height:1.4}.mod-binding{margin:6px 0}.mod-row{display:grid;grid-template-columns:minmax(48px,.8fr) minmax(64px,1fr) 1.3fr auto;align-items:center;gap:6px;margin:4px 0}.mod-shape{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:2px 0 2px 4px}.mod-shape label{display:flex;flex-direction:column;gap:1px;min-width:0}.mod-shape label span{font-size:10px;color:var(--text-dim, var(--text));opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mod-shape input[type=range]{min-width:0;width:100%}.mod-lfo{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:6px;padding:2px 0 2px 4px}.mod-lfo label{display:flex;flex-direction:column;gap:1px;min-width:0}.mod-lfo label span{font-size:10px;color:var(--text-dim, var(--text));opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mod-lfo input[type=range],.mod-lfo select{min-width:0;width:100%;font-size:11px}.mod-row .mod-param{font-size:12px;font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mod-row .mod-source{font-size:12px;min-width:0}.mod-row .mod-amt{min-width:0}.mod-row .mod-remove{background:none;border:none;color:var(--text-dim, var(--text));cursor:pointer;opacity:.6;font-size:12px;padding:2px 4px}.mod-row .mod-remove:hover{opacity:1;color:#ff9aa2}.kf-record{display:flex;align-items:center;gap:6px;margin:2px 0 6px;font-size:11px;color:var(--text-dim, var(--text));cursor:pointer}.kf-record-armed{color:#ff5a5f;font-weight:600}.kf-track{margin:6px 0;padding:6px 8px;border:1px solid var(--accent-glow);border-radius:8px;background:var(--field-bg)}.kf-track-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:6px;margin-bottom:4px}.kf-track-head .mod-param{font-size:12px;font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kf-add{min-height:24px;padding:2px 8px;border-color:var(--accent-glow);border-radius:6px;color:var(--text);background:var(--row-bg);font-size:.72rem;line-height:1.1;white-space:nowrap}.kf-add:hover:not(:disabled){border-color:var(--accent2)}.kf-row{display:grid;grid-template-columns:minmax(44px,.7fr) minmax(56px,1fr) minmax(64px,.9fr) auto;align-items:center;gap:6px;margin:3px 0}.kf-row .kf-time{font-size:11px;font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--text-dim, var(--text));opacity:.8}.kf-row .kf-value,.kf-row .kf-ease{min-width:0;font-size:12px}.kf-row .mod-remove{background:none;border:none;color:var(--text-dim, var(--text));cursor:pointer;opacity:.6;font-size:12px;padding:2px 4px}.kf-row .mod-remove:hover{opacity:1;color:#ff9aa2}.mod-hint{margin:.35rem 0 .2rem;color:var(--text-dim, var(--text));opacity:.7;font-size:11px;line-height:1.4}.tap-tempo-button{margin-top:.3rem;min-height:28px;padding:.35rem .65rem;border-color:var(--accent-glow);border-radius:6px;color:var(--text);background:var(--field-bg);font-size:.78rem;line-height:1.1}.tap-tempo-button:hover:not(:disabled){border-color:var(--accent2);background:var(--row-bg)}.control-row,.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.preset-grid button{min-height:2.25rem}.preset-grid button.active{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.preset-grid button.active:hover{border-color:var(--accent2);background:var(--accent2)}.aspect-custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.layer-list{display:flex;flex-direction:column;gap:.85rem}.layer-list.compact{gap:.25rem}.layer-row{display:flex;flex-direction:column;gap:.55rem;padding-bottom:.85rem;border-bottom:1px solid var(--field-border)}.layer-row:last-child{padding-bottom:0;border-bottom:0}.layer-row.compact{flex-direction:row;align-items:center;justify-content:space-between;gap:.55rem;min-height:2.35rem;padding:.38rem .4rem .38rem .55rem;border:1px solid transparent;border-radius:8px;cursor:pointer}.layer-row.compact:last-child{padding:.38rem .4rem .38rem .55rem;border:1px solid transparent}.layer-row.compact:hover{background:var(--row-bg)}.layer-row.selected{border-color:var(--accent-glow);background:var(--glass-bg2);box-shadow:inset 3px 0 0 var(--accent)}.layer-header{display:flex;align-items:center;gap:.55rem}.layer-header.compact{min-width:0;flex:1}.layer-header input{width:1rem;height:1rem;accent-color:var(--accent)}.layer-name{color:var(--text);font-size:.94rem;font-weight:650}.layer-header.compact .layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-check{width:1rem;height:1rem;accent-color:var(--accent);flex-shrink:0;cursor:pointer}.layer-row.compact>.layer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-category{display:flex;flex-direction:column;gap:.28rem;margin-bottom:.55rem}.layer-category-title{display:flex;align-items:center;gap:.35rem;width:100%;margin:.45rem 0 .1rem;padding:.2rem;border:0;background:none;font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text3);cursor:pointer;text-align:left}.layer-category-title:hover{color:var(--text2)}.layer-category-chevron{display:inline-block;width:.7rem;font-size:.65rem}.sp-preset-section{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.6rem}.sp-preset-title{font-size:.75rem;font-weight:700;color:var(--text2)}.sp-preset-row{display:flex;flex-wrap:wrap;gap:.3rem}.sp-preset-chip{padding:.28rem .5rem;font-size:.8rem;border-radius:6px;border:1px solid var(--field-border);background:var(--field-bg);color:var(--text);cursor:pointer}.sp-preset-chip:hover{background:var(--row-bg);color:#fff;border-color:var(--glass-border)}.project-save-row{display:flex;gap:.4rem;margin-bottom:.5rem}.project-save-row input{flex:1;min-width:0}.project-list{display:flex;flex-direction:column;gap:.3rem}.project-row{display:flex;align-items:center;gap:.3rem}.project-load{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-delete{flex-shrink:0;width:1.9rem;padding:.3rem 0}.layer-order-actions{display:flex;flex-shrink:0;gap:.25rem}.layer-order-button{width:1.8rem;height:1.8rem;padding:0;border-radius:6px;font-size:.75rem;line-height:1}.field{display:flex;flex-direction:column;gap:.4rem}.kinetic-scene-palette-preview{display:flex;gap:6px}.kinetic-scene-palette-preview span{width:26px;height:26px;border:1px solid var(--border);border-radius:50%}.checkbox-field{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}.field span,.status-line{color:var(--text2);font-size:.86rem}.status-line{min-height:1.2rem}.lyrics-preset-section{display:flex;flex-direction:column;gap:.6rem;padding-top:.2rem}.lyrics-preset-title,.lyrics-preset-subtitle{margin:0;color:var(--text2);font-size:.86rem;font-weight:650}.lyrics-preset-save-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.lyrics-preset-save-row button{padding-right:.65rem;padding-left:.65rem;white-space:nowrap}.lyrics-custom-presets{display:flex;flex-direction:column;gap:.45rem}.lyrics-custom-preset-row{display:grid;grid-template-columns:minmax(0,1fr) 2.3rem;gap:.45rem}.lyrics-custom-apply{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.lyrics-custom-delete{min-height:2.4rem;padding:0}.canvas-stage{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;background:color-mix(in srgb,var(--text) 5%,black)}.autosave-banner{position:absolute;z-index:18;top:10px;left:50%;display:flex;align-items:center;justify-content:center;gap:.75rem;max-width:calc(100% - 24px);padding:.45rem .55rem .45rem .75rem;border:1px solid var(--accent-glow);border-radius:8px;color:var(--text);background:#0d1219f0;box-shadow:0 14px 38px #00000057;font-size:.82rem;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transform:translate(-50%)}.autosave-banner>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autosave-banner-actions{display:flex;flex:0 0 auto;gap:.4rem}.autosave-banner-actions button{min-height:28px;padding:.3rem .55rem;border-radius:6px;font-size:.78rem;line-height:1.1}.autosave-banner-actions button:first-child{border-color:var(--accent-glow);color:var(--on-accent);background:var(--accent);font-weight:700}.autosave-banner-actions button:first-child:hover:not(:disabled){border-color:var(--accent2);background:var(--accent2)}.canvas-viewport{position:relative;display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;min-height:0;padding:8px;overflow:hidden}.transport-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;flex:0 0 auto;padding:7px 16px;background:var(--field-bg);border-top:1px solid rgba(255,255,255,.08)}.transport-time{font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:13px;font-variant-numeric:tabular-nums;color:var(--text)}.transport-sep{color:var(--text3);margin:0 6px}.transport-total{color:var(--text2)}.transport-progress{grid-column:1 / -1;position:relative;height:5px;border-radius:3px;background:var(--field-border);cursor:pointer;touch-action:none}.transport-progress:hover{background:var(--glass-bg2)}.transport-progress[aria-disabled=true]{cursor:default;opacity:.5}.transport-progress-fill{position:absolute;inset:0 auto 0 0;width:0%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent2));pointer-events:none}.transport-controls{display:flex;align-items:center;justify-content:center;gap:10px}.transport-btn{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:var(--field-bg);color:var(--text2);cursor:pointer}.transport-btn:hover:not(:disabled){background:var(--row-bg);color:var(--text)}.transport-btn:disabled{opacity:.4;cursor:default}.transport-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.transport-play{width:40px;height:40px;border-radius:50%;border-color:var(--accent-glow);background:var(--accent-glow);color:var(--accent)}.transport-play:hover:not(:disabled){background:var(--accent-glow);color:var(--accent2)}.transport-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px}.transport-ratio{font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:12px;color:var(--text2);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:3px 8px}.canvas-frame{position:relative;flex:0 0 auto;overflow:hidden;background:#000;box-shadow:0 0 0 1px #ffffff14;transition:box-shadow .14s ease}.canvas-frame.drag-active{box-shadow:0 0 0 2px var(--accent-glow),0 0 28px var(--accent-glow)}.visualizer-canvas{display:block;width:100%;height:100%}.canvas-init-error{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:clamp(1rem,5vw,3rem);text-align:center;line-height:1.7;color:var(--text);background:color-mix(in srgb,var(--text) 5%,black);font-size:clamp(.9rem,2.4vw,1.05rem)}.canvas-onboarding-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:clamp(.75rem,4vw,2rem);pointer-events:none;transition:background .14s ease}.canvas-onboarding-overlay.drag-active{background:var(--accent-glow)}.canvas-onboarding-card{display:flex;flex-direction:column;align-items:center;gap:.55rem;width:min(88%,380px);padding:clamp(1rem,3vw,1.4rem);border-color:var(--accent-glow);border-radius:8px;color:var(--text);background:#0d1118d1;box-shadow:0 18px 50px #0000005c;text-align:center;pointer-events:auto;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.canvas-onboarding-card:hover:not(:disabled){border-color:var(--accent2);background:#121a22eb}.canvas-onboarding-icon{color:var(--accent);font-size:2rem;line-height:1}.canvas-onboarding-title{font-size:1.05rem;font-weight:750;line-height:1.25}.canvas-onboarding-steps{color:var(--text2);font-size:.82rem;overflow-wrap:anywhere}.stage-overlay{position:absolute;right:1rem;bottom:1rem;z-index:4;display:flex;gap:.5rem;color:var(--text2);font-size:.82rem;pointer-events:none}.badge{border:1px solid rgba(185,197,214,.22);border-radius:999px;padding:.25rem .55rem;background:#0c0f14b8}.canvas-export-overlay{position:absolute;inset:0;z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;text-align:center;background:#06090ef0;color:var(--text)}.canvas-export-spinner{width:42px;height:42px;border-radius:50%;border:3px solid var(--accent-glow);border-top-color:var(--accent);animation:canvas-export-spin .9s linear infinite}@keyframes canvas-export-spin{to{transform:rotate(360deg)}}.canvas-export-title{margin:0;font-size:1.05rem;font-weight:600}.canvas-export-detail{margin:0;font-size:.95rem;color:var(--accent);font-variant-numeric:tabular-nums}.canvas-export-hint{margin:0;max-width:22rem;font-size:.78rem;line-height:1.4;color:var(--text2)}.canvas-export-overlay{display:grid;place-items:center;padding:clamp(.75rem,4vw,1.5rem);background:#06090eeb;color:var(--text)}.canvas-export-card{width:min(360px,calc(100% - 24px));max-height:calc(100% - 24px);padding:clamp(.9rem,4vw,1.35rem);border:1px solid var(--accent-glow);border-radius:8px;background:#0f141ceb;box-shadow:0 22px 64px #0000006b;text-align:center;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);overflow:hidden}.canvas-export-card .canvas-export-title{margin:0 0 .35rem;color:var(--text2);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.canvas-export-percent{margin:0;color:var(--text);font-size:clamp(2.35rem,10vw,4.1rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.canvas-export-progress{position:relative;height:8px;margin:1rem 0 .75rem;border-radius:999px;background:var(--field-border);overflow:hidden}.canvas-export-progress-fill{position:absolute;inset:0 auto 0 0;width:0%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .22s ease}.canvas-export-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--text);font-size:.84rem;font-weight:700;font-variant-numeric:tabular-nums}.canvas-export-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-export-card .canvas-export-hint{margin:.8rem auto 0;max-width:22rem;color:var(--text2);font-size:.78rem;line-height:1.4}.toast-region{position:fixed;z-index:80;left:50%;bottom:24px;display:flex;flex-direction:column;align-items:center;gap:.55rem;width:min(420px,calc(100vw - 32px));pointer-events:none;transform:translate(-50%)}.toast{width:100%;padding:.78rem .9rem;border:1px solid rgba(185,197,214,.18);border-left-width:4px;border-radius:8px;color:var(--text);background:#121821f5;box-shadow:0 18px 48px #00000061;font-size:.88rem;line-height:1.35;animation:toast-lifetime 4s ease forwards;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.toast-success{border-left-color:var(--accent)}.toast-error{border-left-color:var(--accent-deep)}@keyframes toast-lifetime{0%{opacity:0;transform:translateY(10px) scale(.98)}10%,84%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.98)}}.shortcuts-help-scrim{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:#04070cc7;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.shortcuts-help-panel{width:min(420px,100%);max-height:calc(100vh - 32px);border:1px solid var(--accent-glow);border-radius:8px;background:var(--field-bg);box-shadow:0 24px 70px #00000073;overflow:hidden}.shortcuts-help-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);background:var(--glass-bg2)}.shortcuts-help-header h2{margin:0;color:var(--text);font-size:1rem;font-weight:720;letter-spacing:0}.shortcuts-help-close{display:grid;place-items:center;width:2.15rem;height:2.15rem;min-height:0;padding:0;border-radius:6px}.shortcuts-help-list{display:flex;flex-direction:column;gap:.45rem;margin:0;padding:1rem}.shortcuts-help-row{display:grid;grid-template-columns:5.4rem minmax(0,1fr);align-items:center;gap:.85rem;min-height:2.25rem}.shortcuts-help-row dt,.shortcuts-help-row dd{margin:0}.shortcuts-help-row kbd{display:inline-flex;align-items:center;justify-content:center;min-width:3.2rem;min-height:1.7rem;padding:0 .5rem;border:1px solid rgba(185,197,214,.2);border-bottom-color:#b9c5d657;border-radius:6px;color:var(--text);background:var(--field-bg);font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.78rem;font-weight:700;box-shadow:inset 0 -1px #ffffff0d}.shortcuts-help-row dd{color:var(--text);font-size:.9rem}.shortcuts-help-tips{display:flex;flex-direction:column;gap:.4rem;padding:0 1rem 1rem}.shortcuts-help-tips p{margin:0;color:var(--text2);font-size:.84rem;line-height:1.45}.lyrics-timer-open-button{width:100%;border-color:var(--accent-glow);color:var(--text);background:var(--field-bg)}.lyrics-timer-scrim{position:fixed;inset:0;z-index:75;display:flex;align-items:center;justify-content:center;padding:16px;background:#04070cc7;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.lyrics-timer-panel{display:flex;flex-direction:column;width:min(720px,100%);max-height:calc(100vh - 32px);border:1px solid var(--accent-glow);border-radius:8px;background:var(--field-bg);box-shadow:0 24px 70px #00000073;overflow:hidden}.lyrics-timer-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);background:var(--glass-bg2)}.lyrics-timer-heading{min-width:0}.lyrics-timer-heading h2,.lyrics-timer-heading p{margin:0}.lyrics-timer-heading h2{color:var(--text);font-size:1rem;font-weight:720;letter-spacing:0}.lyrics-timer-heading p{margin-top:.2rem;color:var(--text2);font-size:.84rem}.lyrics-timer-close{display:grid;place-items:center;width:2.15rem;height:2.15rem;min-height:0;padding:0;border-radius:6px}.lyrics-timer-body{display:flex;flex-direction:column;gap:.8rem;min-height:0;padding:1rem}.lyrics-timer-textarea{width:100%;min-height:280px;resize:vertical;border:1px solid var(--field-border);border-radius:8px;color:var(--text);background:var(--field-bg);padding:.75rem;font:inherit;line-height:1.55}.lyrics-timer-textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lyrics-timer-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem}.lyrics-timer-status{min-height:1.25rem;margin:0;color:var(--text2);font-size:.84rem}.lyrics-timer-primary,.lyrics-timer-tap{border-color:var(--accent-glow);color:var(--on-accent);background:var(--accent);font-weight:750}.lyrics-timer-primary:hover:not(:disabled),.lyrics-timer-tap:hover:not(:disabled){border-color:var(--accent2);background:var(--accent2)}.lyrics-timer-lines{display:flex;flex-direction:column;gap:.35rem;max-height:min(46vh,430px);overflow:auto;padding-right:.25rem}.lyrics-timer-line{display:grid;grid-template-columns:4.8rem minmax(0,1fr);align-items:center;gap:.65rem;min-height:2.45rem;padding:.42rem .55rem;border:1px solid rgba(185,197,214,.1);border-radius:6px;color:var(--text2);background:var(--field-bg)}.lyrics-timer-line.marked{color:var(--text);border-color:var(--accent-glow);background:var(--row-bg)}.lyrics-timer-line.current{color:var(--text);border-color:var(--accent-glow);background:var(--glass-bg2)}.lyrics-timer-line.next{color:var(--text2);border-color:#b9c5d62e;background:var(--row-bg)}.lyrics-timer-line-time{color:var(--text);font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.78rem;font-weight:750;white-space:nowrap}.lyrics-timer-line-text{min-width:0;overflow-wrap:anywhere}.lyrics-timer-actions{display:grid;grid-template-columns:minmax(10rem,1fr) auto auto;gap:.55rem}.lyrics-timer-tap{min-height:3.1rem;font-size:1rem}.template-gallery-scrim{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#04070cc7;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.template-gallery-panel{display:flex;flex-direction:column;width:min(1120px,100%);max-height:calc(100vh - 32px);border:1px solid var(--accent-glow);border-radius:8px;background:var(--field-bg);box-shadow:0 24px 70px #00000073;overflow:hidden}.template-gallery-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:1rem;padding:1rem;border-bottom:1px solid rgba(255,255,255,.08);background:var(--glass-bg2)}.template-gallery-heading{display:flex;flex-direction:column;gap:.65rem;min-width:0}.template-gallery-heading h2{margin:0;color:var(--text);font-size:1.08rem;font-weight:720;letter-spacing:0}.template-gallery-filters{display:flex;gap:.45rem}.template-gallery-filters button{min-height:2rem;padding:.35rem .65rem;border-radius:6px;color:var(--text2);background:var(--field-bg);font-size:.8rem;line-height:1.1}.template-gallery-filters button.active{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.template-gallery-sort{display:flex;gap:.4rem}.template-gallery-sort button{min-height:1.85rem;padding:.3rem .55rem;border-radius:6px;color:var(--text2);background:var(--field-bg);font-size:.76rem;line-height:1.1}.template-gallery-sort button.active{border-color:var(--accent-glow);color:var(--text);background:var(--row-bg)}.template-gallery-search{width:min(100%,20rem);min-height:2.15rem;border-radius:6px;background:var(--field-bg);font-size:.8rem}.template-gallery-save{display:grid;grid-template-columns:minmax(0,1fr) auto 2.15rem;align-items:center;gap:.5rem;min-width:0}.template-gallery-save input[type=text]{min-height:2.25rem}.template-save-button,.template-publish-button{min-height:2.25rem;padding:.45rem .7rem;border-color:var(--accent-glow);color:var(--on-accent);background:var(--accent);font-size:.82rem;font-weight:700;line-height:1.1;white-space:nowrap}.template-save-button:hover:not(:disabled),.template-publish-button:hover:not(:disabled){border-color:var(--accent2);background:var(--accent2)}.template-gallery-close{display:grid;place-items:center;width:2.15rem;height:2.15rem;min-height:0;padding:0;border-radius:6px}.template-gallery-status{margin:0;min-height:1.2rem;padding:.7rem 1rem 0;color:var(--text2);font-size:.86rem}.template-gallery-status a{color:var(--accent2);font-weight:700;text-decoration:none}.template-gallery-status a:hover{text-decoration:underline}.template-gallery-loading{display:grid;place-items:center;gap:.75rem;min-height:16rem;padding:2rem;color:var(--text2);font-size:.95rem;text-align:center}.template-gallery-spinner{width:2rem;height:2rem;border:3px solid var(--accent-glow);border-top-color:var(--accent);border-radius:50%;animation:canvas-export-spin .9s linear infinite}.template-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem;padding:1rem;overflow-y:auto}.template-gallery-local{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow-y:auto}.template-gallery-local>.template-gallery-grid{flex:0 0 auto;overflow:visible}.template-gallery-featured{padding:1rem 1rem 0;border-bottom:1px solid rgba(255,255,255,.07);background:#ffffff05}.template-gallery-featured h3{margin:0 0 .65rem;color:var(--text);font-size:.82rem;font-weight:720;letter-spacing:0}.template-gallery-featured-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;padding-bottom:1rem}.template-card{position:relative;min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:var(--row-bg);overflow:hidden;transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}.template-card:hover{border-color:color-mix(in srgb,var(--template-accent),white 20%);box-shadow:0 12px 30px #00000047;transform:translateY(-2px)}.template-card-main{display:flex;flex-direction:column;width:100%;min-height:100%;padding:0;border:0;border-radius:0;background:transparent;color:inherit;text-align:left}.template-card-main:hover:not(:disabled){border-color:transparent;background:transparent}.template-card-main:active:not(:disabled){transform:none}.template-thumb{display:block;width:100%;aspect-ratio:16 / 10;background:color-mix(in srgb,var(--text) 5%,black);overflow:hidden}.template-thumb img,.template-built-in-thumb{display:block;width:100%;height:100%}.template-thumb img{object-fit:cover}.template-built-in-thumb{background:radial-gradient(circle at 24% 28%,var(--template-accent),transparent 34%),radial-gradient(circle at 76% 70%,var(--accent-glow),transparent 30%),linear-gradient(135deg,#ffffff1a,#090c12f0),color-mix(in srgb,var(--text) 6%,black)}.template-built-in-thumb:after{display:block;width:72%;height:36%;margin:17% auto 0;border:1px solid color-mix(in srgb,var(--template-accent),white 24%);border-radius:999px;content:"";box-shadow:0 0 24px color-mix(in srgb,var(--template-accent),transparent 34%),inset 0 0 24px #ffffff0f}.template-card-copy{display:flex;flex-direction:column;gap:.3rem;min-height:4.25rem;padding:.75rem .8rem .85rem}.template-card-name{display:-webkit-box;color:var(--text);font-size:.94rem;font-weight:700;line-height:1.25;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.template-card-meta{color:var(--text2);font-size:.78rem}.template-card-date{color:var(--text3);font-size:.76rem}.template-favorite-button,.template-like-button,.template-share-button,.template-delete-button{position:absolute;z-index:2;top:.55rem;display:grid;place-items:center;width:2rem;height:2rem;min-height:0;padding:0;border-radius:7px;color:var(--text);background:#090d13b8;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.template-favorite-button{right:.55rem}.template-like-button{right:.55rem;display:flex;width:auto;min-width:2.8rem;gap:.3rem;padding:0 .45rem;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.template-share-button{left:.55rem;width:auto;min-width:3.1rem;padding:0 .55rem;font-size:.74rem;font-weight:700}.template-delete-button{right:2.9rem}.template-favorite-button.active,.template-like-button.active{border-color:#f472b6bf;color:var(--accent2);background:#341024d1}.template-share-button:hover:not(:disabled){border-color:var(--accent-glow);color:var(--text);background:var(--accent-glow)}.template-delete-button:hover:not(:disabled){border-color:var(--accent2);color:var(--text);background:#4a1918d1}.template-gallery-empty{display:grid;place-items:center;min-height:16rem;padding:2rem;color:var(--text2);font-size:.95rem;text-align:center}@media(prefers-reduced-motion:reduce){.canvas-export-spinner,.toast{animation:none}.canvas-export-progress-fill,.template-gallery-spinner,.template-card,button{transition:none}.template-card:hover{transform:none}}.app-shell.exporting .control-panel,.app-shell.exporting .inspector-panel,.app-shell.exporting .timeline-panel,.app-shell.exporting .resize-handle{pointer-events:none}.app-shell.exporting .control-panel,.app-shell.exporting .inspector-panel,.app-shell.exporting .timeline-panel{opacity:.62}.primary-action{border-color:var(--accent);background:var(--accent-deep)}.primary-action:hover:not(:disabled){border-color:var(--accent2);background:var(--accent)}.primary-action:disabled{border-color:var(--field-border);color:var(--text3);background:var(--field-bg);cursor:not-allowed;opacity:.46}.danger-note{color:var(--accent2)}.inspector-panel{display:flex;flex-direction:column;min-height:0;padding:1.1rem;border-left:1px solid var(--field-border);background:var(--field-bg);overflow-y:auto}.inspector-panel.collapsed{flex-basis:28px;align-items:center;width:28px;padding:.5rem 0;overflow:hidden}.inspector-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.inspector-toggle{flex-shrink:0;width:2rem;height:2rem;padding:0;border-radius:8px;line-height:1}.collapsed-toggle{width:1.55rem;height:1.9rem;border-radius:6px}.inspector-content{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem}.inspector-layer-title{margin:0;color:var(--text);font-size:1rem;font-weight:700;letter-spacing:0}.inspector-empty{margin:1rem 0 0;color:var(--text2);font-size:.9rem}.inspector-section{display:flex;flex-direction:column;gap:0;padding-top:.25rem;border-top:1px solid var(--field-border)}.inspector-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:2rem;padding:.45rem .55rem;border-color:#b9c5d629;border-radius:6px;color:var(--text);background:var(--row-bg);font-size:.78rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.inspector-section-toggle:hover:not(:disabled){border-color:var(--accent-glow);background:var(--row-bg)}.inspector-section-chevron{color:var(--text2);font-size:.85rem;line-height:1;transition:transform .14s ease}.inspector-section:not(.open) .inspector-section-chevron{transform:rotate(-90deg)}.inspector-section-content{display:flex;flex-direction:column;gap:.7rem;padding:.75rem 0 .2rem}.timeline-panel{display:flex;flex:0 0 auto;flex-direction:column;border-top:1px solid var(--field-border);background:var(--field-bg);overflow:hidden;transition:height .16s ease}.timeline-panel.is-empty{min-height:40px;background:var(--field-bg)}.timeline-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:.75rem;min-height:34px;padding:0 1rem;border-bottom:1px solid var(--field-border);background:var(--glass-bg)}.timeline-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;min-width:0}.timeline-play-toggle{flex:0 0 auto;min-height:2rem;padding:.35rem .65rem;border-radius:6px;font-size:.78rem;line-height:1.1}.timeline-zoom-control{display:flex;align-items:center;gap:.35rem;min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:6px;padding:.18rem .35rem;background:var(--field-bg)}.timeline-zoom-button{display:grid;place-items:center;width:24px;height:24px;min-height:0;padding:0;border:0;border-radius:5px;color:var(--text2);background:transparent;font-size:.9rem;line-height:1}.timeline-zoom-button:hover:not(:disabled){color:var(--text);background:var(--row-bg)}.timeline-zoom-control input[type=range]{width:82px}.timeline-zoom-value{min-width:2.5rem;color:var(--text2);font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.75rem;font-variant-numeric:tabular-nums;text-align:right}.timeline-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.timeline-ruler-row{display:grid;flex:0 0 28px;grid-template-columns:168px minmax(0,1fr);border-bottom:1px solid var(--field-border)}.timeline-ruler-spacer{border-right:1px solid var(--field-border);background:var(--field-bg)}.timeline-ruler-viewport{min-width:0;height:28px;background:color-mix(in srgb,var(--text) 7%,black);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.timeline-ruler-viewport::-webkit-scrollbar{display:none}.timeline-ruler-scale{min-width:100%;height:100%}.timeline-ruler{position:relative;width:100%;min-width:100%;height:28px;background:color-mix(in srgb,var(--text) 7%,black);cursor:pointer;overflow:hidden;touch-action:none}.timeline-tick{position:absolute;top:0;bottom:0;border-left:1px solid rgba(170,181,197,.28)}.timeline-tick span{position:absolute;top:4px;left:6px;color:var(--text2);font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.75rem;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.timeline-track-scroll{display:grid;flex:1 1 auto;grid-template-columns:168px minmax(0,1fr);min-height:0;overflow-x:hidden;overflow-y:auto}.timeline-label-column{border-right:1px solid var(--field-border);background:var(--field-bg)}.timeline-track-label{display:block;width:100%;height:28px;padding:0 .6rem;border:0;border-bottom:1px solid var(--field-border);border-radius:0;color:var(--text2);background:var(--field-bg);font-size:.78rem;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-track-label:hover:not(:disabled){background:var(--row-bg)}.timeline-track-label:active:not(:disabled){transform:none}.timeline-track-label.selected{color:var(--text);background:var(--glass-bg2);box-shadow:inset 3px 0 0 var(--accent)}.timeline-track-label.audio-track-label{display:flex;align-items:center;gap:.45rem;height:44px;color:var(--text2);background:var(--field-bg);cursor:default}.timeline-track-label.audio-track-label:hover{background:var(--field-bg)}.audio-track-mute{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;min-height:0;padding:0;border:0;border-radius:5px;color:var(--text2);background:transparent}.audio-track-mute[aria-pressed=true]{color:var(--accent);background:var(--accent-glow)}.audio-track-mute:hover:not(:disabled){color:var(--text);background:var(--row-bg)}.audio-track-label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-track-head{display:flex;align-items:center;gap:2px;height:28px;padding:0 4px 0 6px;border-bottom:1px solid var(--field-border);background:var(--field-bg)}.timeline-track-head.hidden{opacity:.55}.timeline-track-head.selected{background:var(--glass-bg2);box-shadow:inset 3px 0 0 var(--accent)}.timeline-track-head.locked .timeline-track-label{color:var(--text2)}.timeline-track-head .timeline-track-label{flex:1 1 auto;min-width:0;height:100%;padding:0 .25rem;border-bottom:0;background:transparent}.timeline-track-head .timeline-track-label.selected{background:transparent;box-shadow:none}.track-head-visibility,.track-head-lock,.track-head-order-button{display:flex;flex:0 0 auto;align-items:center;justify-content:center;padding:0;border:0;border-radius:4px;color:var(--text2);background:transparent;cursor:pointer}.track-head-visibility,.track-head-lock{width:22px;height:22px}.track-head-visibility[aria-pressed=true]{color:var(--accent)}.track-head-lock[aria-pressed=true]{color:var(--accent);background:var(--accent-glow)}.track-head-visibility:hover,.track-head-lock:hover,.track-head-order-button:hover:not(:disabled){color:var(--text);background:var(--row-bg)}.track-head-order{display:flex;flex:0 0 auto;flex-direction:column}.track-head-order-button{width:18px;height:12px;font-size:.55rem;line-height:1}.track-head-order-button:disabled{opacity:.28;cursor:default}.timeline-lane-viewport{min-width:0;background:color-mix(in srgb,var(--text) 7%,black);overflow-x:auto;overflow-y:hidden}.timeline-lane-viewport::-webkit-scrollbar{height:8px}.timeline-lane-viewport::-webkit-scrollbar-track{background:color-mix(in srgb,var(--text) 6%,black)}.timeline-lane-viewport::-webkit-scrollbar-thumb{border-radius:999px;background:var(--field-border)}.timeline-lane-viewport::-webkit-scrollbar-thumb:hover{background:var(--glass-border)}.timeline-lane-stack{position:relative;width:100%;min-width:0;background:color-mix(in srgb,var(--text) 7%,black)}.track-lane{position:relative;height:28px;border-bottom:1px solid var(--field-border);background:color-mix(in srgb,var(--text) 7%,black);cursor:pointer}.track-lane:hover{background:var(--row-bg)}.track-lane.audio-lane{height:44px;background:color-mix(in srgb,var(--text) 6%,black)}.timeline-track-label.export-range-track-label{display:flex;align-items:center;height:28px;color:var(--text2);background:var(--field-bg);cursor:pointer}.timeline-track-label.export-range-track-label.active{color:var(--text);background:var(--row-bg);box-shadow:inset 3px 0 0 var(--accent)}.export-range-track-label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-lane.export-range-lane{cursor:default;background:color-mix(in srgb,var(--text) 6%,black)}.track-lane.export-range-lane:hover{background:var(--field-bg)}.export-range-placeholder{position:absolute;top:50%;left:8px;color:var(--text3);font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.75rem;font-variant-numeric:tabular-nums;line-height:1;pointer-events:none;transform:translateY(-50%)}.export-range-selection{position:absolute;top:5px;bottom:5px;display:flex;align-items:center;justify-content:center;min-width:18px;border:1px solid var(--accent-glow);border-radius:5px;color:var(--text);background:var(--accent-glow);box-shadow:inset 0 0 0 1px var(--accent-glow);cursor:grab;overflow:hidden;touch-action:none}.export-range-selection.is-full{border-style:dashed;background:var(--accent-glow)}.export-range-selection:active{cursor:grabbing}.export-range-time{min-width:0;padding:0 1.35rem 0 .35rem;overflow:hidden;color:var(--text);font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.export-range-reset{position:absolute;top:50%;right:2px;display:grid;place-items:center;width:18px;height:18px;min-height:0;padding:0;border:0;border-radius:4px;color:var(--text);background:#06110f61;font-size:.8rem;line-height:1;transform:translateY(-50%)}.export-range-reset:hover:not(:disabled){color:var(--on-accent);background:var(--accent2)}.export-range-handle{position:absolute;z-index:4;top:4px;bottom:4px;width:10px;border:1px solid color-mix(in srgb,var(--text) 7%,black);border-radius:3px;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);cursor:ew-resize;touch-action:none;transform:translate(-50%)}.export-range-handle:hover{background:var(--accent2)}.track-lane.hidden .clip{opacity:.4}.waveform-canvas{display:block;width:100%;height:100%;pointer-events:none}.clip{position:absolute;top:5px;bottom:5px;display:flex;align-items:center;min-width:12px;border:1px solid var(--accent-glow);border-radius:6px;color:var(--on-accent);background:var(--accent);box-shadow:0 0 12px var(--accent-glow);cursor:grab;overflow:hidden;touch-action:none}.clip:active{cursor:grabbing}.clip.selected{border-color:var(--text);background:var(--accent2);box-shadow:0 0 0 1px #f5f7fb2e,0 0 16px var(--accent-glow)}.clip.locked{border-color:#8b9bb057;color:var(--text2);background:linear-gradient(90deg,var(--accent-glow),rgba(95,111,130,.18));box-shadow:none;cursor:default}.clip.locked:active{cursor:default}.clip.locked .clip-handle{cursor:default;background:#8b9bb024}.clip-handle{flex:0 0 8px;align-self:stretch;background:#06110f2e;cursor:ew-resize}.clip-handle.left{border-right:1px solid rgba(6,17,15,.16)}.clip-handle.right{border-left:1px solid rgba(6,17,15,.16)}.clip-time{flex:1 1 auto;min-width:0;padding:0 .25rem;font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.playhead{position:absolute;top:0;bottom:0;z-index:3;width:2px;background:var(--text);box-shadow:0 0 10px var(--accent-glow);pointer-events:none;transform:translate(-1px)}.playhead-handle{position:absolute;top:3px;left:50%;z-index:4;width:10px;height:10px;border:1px solid color-mix(in srgb,var(--text) 7%,black);background:var(--accent);box-shadow:0 0 10px var(--accent-glow);cursor:ew-resize;pointer-events:auto;touch-action:none;transform:translate(-50%) rotate(45deg)}.timeline-empty{display:flex;flex:1 1 auto;align-items:center;justify-content:center;padding:1rem;color:var(--text2);font-size:.9rem;text-align:center}.timeline-panel.is-empty .timeline-empty{min-height:40px;padding:0 .75rem;font-size:.78rem}@media(max-width:840px){.app-shell,.app-main{flex-direction:column;height:auto}.control-panel{flex:0 0 auto;max-height:38vh;border-right:0;border-bottom:1px solid var(--field-border)}.canvas-stage{flex:1 1 420px;min-height:420px}.inspector-panel{flex:0 0 auto;width:100%;max-height:40vh;border-top:1px solid var(--field-border);border-left:0}.inspector-panel.collapsed{align-items:flex-end;width:100%;height:32px;padding:.2rem .5rem}.template-gallery-header{grid-template-columns:1fr}}@media(max-width:640px){html,body,#root{max-width:100%;overflow-x:hidden}button,input,select{max-width:100%}.app-topbar{flex-basis:auto;flex-wrap:wrap;align-items:flex-start;gap:.45rem;min-height:42px;padding-top:.35rem;padding-bottom:.35rem;overflow-x:hidden}.app-topbar-title{flex:0 1 auto;max-width:100%}.app-topbar-actions{flex:1 1 100%;flex-wrap:wrap;justify-content:flex-start;width:100%;gap:.5rem}.topbar-group{display:flex;flex:1 1 100%;flex-wrap:wrap;align-items:center;gap:.4rem}.topbar-group-tools .theme-switcher{order:1}.topbar-export-group{flex:1 1 100%;margin-left:0;padding-left:0;border-left:0}.topbar-export-group .export-setting-select{flex:1 1 0;min-width:0}.export-controls-topbar{flex:1 1 auto;flex-wrap:wrap;justify-content:flex-start;gap:.4rem;max-width:100%}.export-controls-topbar .export-status-line{flex:1 1 100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}.app-shell,.app-main,.control-panel,.canvas-stage,.inspector-panel,.timeline-panel{max-width:100%;min-width:0}.app-main{flex-direction:column;height:auto;overflow:visible}.canvas-stage{order:-1;flex:0 0 auto;width:100%;height:clamp(300px,48vh,460px);height:clamp(300px,48svh,460px);min-height:42vh;min-height:42svh;border-bottom:1px solid var(--field-border)}.canvas-viewport{padding:6px}.control-panel{flex:0 0 auto!important;width:100%!important;max-height:none;padding:.9rem;border-right:0;border-bottom:1px solid var(--field-border);overflow:visible}.inspector-panel{flex:0 0 auto!important;width:100%!important;max-height:min(45vh,360px);padding:.9rem;border-top:1px solid var(--field-border);border-left:0;overflow-y:auto}.inspector-panel.collapsed{align-items:flex-end;width:100%!important;height:40px;max-height:40px;padding:.25rem .5rem;overflow:hidden}.timeline-panel:not(.is-empty){height:auto!important;min-height:0;max-height:none;overflow:hidden}.timeline-content,.timeline-track-scroll{flex:0 0 auto}.timeline-track-scroll{max-height:clamp(120px,30vh,240px);max-height:clamp(120px,30svh,240px)}.timeline-panel.is-empty{height:40px!important;min-height:40px}.resize-handle{display:none}.history-top-button,.shortcuts-top-button,.gallery-open-top-button,.randomize-top-button,.export-controls-topbar button,.export-controls-topbar .export-setting-select,.primary-action,.file-picker-button,.preset-grid button,.transport-btn,.timeline-play-toggle,.timeline-zoom-button,.inspector-toggle,.collapsed-toggle,.template-gallery-filters button,.template-gallery-sort button,.template-save-button,.template-publish-button,.template-gallery-close,.shortcuts-help-close,.lyrics-timer-close,.lyrics-timer-primary,.lyrics-timer-tap{min-height:40px}.history-top-button,.shortcuts-top-button,.transport-btn,.timeline-zoom-button,.template-gallery-close,.shortcuts-help-close,.lyrics-timer-close{width:40px;height:40px}.transport-play{width:48px;height:48px}input[type=range]{min-height:40px;touch-action:pan-y}input[type=range]::-webkit-slider-thumb{min-width:22px;min-height:22px}input[type=range]::-moz-range-thumb{width:22px;height:22px}.brand-block,.panel-section,.field,.status-line,.template-gallery-heading,.shortcuts-help-header,.lyrics-timer-header{min-width:0}.file-picker-button,.project-load,.layer-name,.status-line,.canvas-onboarding-title,.canvas-onboarding-steps,.canvas-export-hint,.toast,.shortcuts-help-row dd,.lyrics-timer-heading p{overflow-wrap:anywhere}.transport-bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:8px}.transport-time{min-width:0;font-size:12px;white-space:nowrap}.transport-meta{min-width:0}.transport-ratio{display:none}.canvas-onboarding-overlay{align-content:center;gap:.55rem;padding:.6rem;overflow:auto}.canvas-onboarding-card{width:min(100%,320px);padding:.85rem}.canvas-onboarding-card+.canvas-onboarding-card{margin-top:0!important;padding-block:.85rem!important}.canvas-onboarding-icon{font-size:1.45rem}.canvas-onboarding-title{font-size:.95rem}.canvas-onboarding-steps{font-size:.76rem}.canvas-export-overlay{padding:.75rem}.canvas-export-card{width:min(100%,320px);max-height:calc(100% - 16px);overflow:auto}.canvas-export-percent{font-size:2.6rem}.canvas-export-meta{flex-wrap:wrap;justify-content:center}.canvas-export-meta span{white-space:normal;overflow-wrap:anywhere}.toast-region{bottom:12px;width:calc(100vw - 16px)}.shortcuts-help-scrim,.template-gallery-scrim,.lyrics-timer-scrim{padding:8px}.shortcuts-help-panel,.template-gallery-panel,.lyrics-timer-panel{width:100%;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}.shortcuts-help-panel{display:flex;flex-direction:column;overflow:auto}.shortcuts-help-list{padding:.8rem}.shortcuts-help-row{grid-template-columns:1fr;gap:.35rem;align-items:start}.lyrics-timer-header,.template-gallery-filters,.template-gallery-sort{flex-wrap:wrap}.lyrics-timer-body{overflow:auto}.lyrics-timer-footer,.lyrics-timer-actions{grid-template-columns:1fr}.lyrics-timer-textarea{min-height:220px}.lyrics-timer-line{grid-template-columns:4.2rem minmax(0,1fr)}.template-gallery-panel{overflow:hidden}.template-gallery-header{min-width:0;padding:.8rem}.template-gallery-search{width:100%}.template-gallery-save{grid-template-columns:1fr 2.15rem}.template-save-button{grid-column:1 / -1;grid-row:2}.template-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem;padding:.8rem}.template-gallery-featured{padding:.8rem .8rem 0}.template-gallery-featured-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem;padding-bottom:.8rem}.timeline-header{gap:.5rem;padding:0 .6rem}.timeline-header-actions{flex-wrap:wrap;gap:.4rem}.timeline-zoom-control{max-width:100%}.timeline-zoom-control input[type=range]{width:min(82px,24vw)}.timeline-ruler-row,.timeline-track-scroll{grid-template-columns:96px minmax(0,1fr)}.timeline-track-label{padding-right:.45rem;padding-left:.45rem}}body,.app-shell{color:var(--text);background:var(--bg-grad)}button{border:1px solid var(--glass-border);border-radius:9px;color:var(--text);background:var(--glass-bg);box-shadow:var(--glass-sh);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}button:hover:not(:disabled){border-color:var(--glass-hi);background:var(--glass-bg2);box-shadow:var(--float-sh)}button:disabled{color:var(--text3);background:var(--field-bg);box-shadow:none;opacity:.5}select,input[type=text],input[type=number],.lyrics-timer-textarea{border-color:var(--field-border);color:var(--text);background:var(--field-bg);box-shadow:inset 0 1px 0 var(--glass-hi)}input[type=file]{color:var(--text2)}input[type=range]{height:1.25rem;background:transparent;accent-color:var(--accent);appearance:none}input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--text) 18%,transparent)}input[type=range]::-webkit-slider-thumb{width:15px;height:15px;margin-top:-5px;border:1px solid var(--glass-border);border-radius:50%;background:#fff;box-shadow:0 2px 10px #00000059;appearance:none}input[type=range]::-moz-range-track{height:5px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--text) 18%,transparent)}input[type=range]::-moz-range-progress{height:5px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--text) 42%,transparent)}input[type=range]::-moz-range-thumb{width:15px;height:15px;border:1px solid var(--glass-border);border-radius:50%;background:#fff;box-shadow:0 2px 10px #00000059}input[type=checkbox]{accent-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,.lyrics-timer-textarea:focus-visible{outline:2px solid var(--accent2)}.app-topbar,.control-panel,.inspector-panel,.timeline-panel{border:1px solid var(--glass-border);border-radius:var(--radius-panel);background:var(--glass-bg2);box-shadow:var(--float-sh);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.app-topbar{border-right:0;border-left:0;border-radius:0 0 var(--radius-panel) var(--radius-panel)}.control-panel{border-left:0;border-radius:0 var(--radius-panel) var(--radius-panel) 0}.inspector-panel{border-right:0;border-radius:var(--radius-panel) 0 0 var(--radius-panel)}.timeline-panel{border-right:0;border-bottom:0;border-left:0;border-radius:var(--radius-panel) var(--radius-panel) 0 0}.canvas-stage{background:color-mix(in srgb,var(--text) 5%,black)}.transport-bar,.autosave-banner,.canvas-onboarding-card,.canvas-export-card,.toast,.shortcuts-help-panel,.lyrics-timer-panel,.template-gallery-panel{border:1px solid var(--glass-border);border-radius:var(--radius-card);color:var(--text);background:var(--glass-bg2);box-shadow:var(--float-sh)}.transport-bar,.autosave-banner,.canvas-onboarding-card,.canvas-export-card,.toast,.shortcuts-help-panel,.lyrics-timer-panel,.template-gallery-panel{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.theme-switcher{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;min-height:28px;padding:.22rem .28rem;border:1px solid var(--glass-border);border-radius:var(--radius-pill);background:var(--glass-bg);box-shadow:var(--glass-sh);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.theme-swatch-list{display:flex;align-items:center;gap:.28rem}.theme-switcher button{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-swatch{width:17px;height:17px;min-height:17px;padding:0;border:1px solid color-mix(in srgb,white 46%,transparent);border-radius:50%}.theme-swatch:hover:not(:disabled){border-color:#fff;background-image:linear-gradient(135deg,rgba(255,255,255,.28),transparent);box-shadow:0 0 0 2px var(--accent-glow)}.theme-swatch.active{border-color:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--text) 32%,transparent),0 0 16px var(--accent-glow)}.theme-mode-toggle{display:grid;place-items:center;width:26px;height:26px;min-height:26px;padding:0;color:var(--text);font-size:.86rem;line-height:1}.gallery-open-top-button,.randomize-top-button,.export-secondary-button,.history-top-button,.shortcuts-top-button,.transport-btn,.timeline-play-toggle,.timeline-zoom-button,.inspector-toggle,.collapsed-toggle,.template-gallery-close,.shortcuts-help-close,.lyrics-timer-close{color:var(--text2);background:var(--glass-bg)}.export-mp4-top-button,.primary-action,.autosave-banner-actions button:first-child,.lyrics-timer-primary,.lyrics-timer-tap,.template-save-button,.template-publish-button,.language-switcher button.active,.preset-grid button.active,.template-gallery-filters button.active,.clip,.export-range-handle,.playhead-handle{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--accent2),var(--accent) 55%,var(--accent-deep));box-shadow:0 12px 28px var(--accent-glow),inset 0 1px #ffffff5c}.export-mp4-top-button:hover:not(:disabled),.primary-action:hover:not(:disabled),.autosave-banner-actions button:first-child:hover:not(:disabled),.lyrics-timer-primary:hover:not(:disabled),.lyrics-timer-tap:hover:not(:disabled),.template-save-button:hover:not(:disabled),.template-publish-button:hover:not(:disabled),.language-switcher button.active:hover,.preset-grid button.active:hover{border-color:var(--glass-hi);background:linear-gradient(135deg,var(--accent2),var(--accent) 48%,var(--accent-deep));box-shadow:0 16px 36px var(--accent-glow),inset 0 1px #ffffff6b}.transport-play,.audio-track-mute[aria-pressed=true],.track-head-visibility[aria-pressed=true],.track-head-lock[aria-pressed=true],.canvas-onboarding-icon,.template-gallery-status a{color:var(--accent2)}.transport-progress,.canvas-export-progress,.timeline-zoom-control,.badge{border:1px solid var(--field-border);background:var(--field-bg)}.transport-progress-fill,.canvas-export-progress-fill{background:linear-gradient(90deg,var(--accent2),var(--accent))}.layer-row.compact,.sp-preset-chip,.lyrics-timer-line,.template-card,.timeline-track-label,.timeline-track-head,.track-lane,.export-range-selection{border-color:var(--field-border);background:var(--row-bg)}.layer-row.compact:hover,.timeline-track-label:hover:not(:disabled),.track-lane:hover,.sp-preset-chip:hover{background:var(--glass-bg2)}.layer-row.selected,.timeline-track-label.selected,.timeline-track-head.selected,.timeline-track-label.export-range-track-label.active,.clip.selected,.export-range-selection{border-color:var(--glass-hi);background:var(--glass-bg2);box-shadow:0 0 0 2px var(--accent-glow)}.export-range-selection,.export-range-selection.is-full{color:var(--text);background:color-mix(in srgb,var(--accent) 24%,transparent)}.clip.selected{color:#fff;background:linear-gradient(135deg,var(--accent2),var(--accent) 55%,var(--accent-deep))}.panel-section,.inspector-section,.timeline-header,.timeline-ruler-row,.timeline-ruler-spacer,.timeline-label-column,.timeline-track-label,.timeline-track-head,.track-lane{border-color:var(--field-border)}.section-title,.layer-name,.inspector-layer-title,.template-card-name,.timeline-track-label.selected,.canvas-export-percent{color:var(--text)}.brand-block p,.field span,.status-line,.lyrics-preset-title,.lyrics-preset-subtitle,.canvas-onboarding-steps,.export-controls-topbar .export-status-line,.transport-total,.timeline-empty,.template-card-meta,.template-gallery-status,.lyrics-timer-status,.shortcuts-help-tips p,.inspector-empty,.timeline-zoom-value{color:var(--text2)}.layer-category-title,.timeline-tick span,.export-range-placeholder,.template-card-date,.transport-sep{color:var(--text3)}.canvas-frame{background:#000;box-shadow:0 0 0 1px var(--glass-border),0 20px 56px #00000080}.canvas-frame.drag-active{box-shadow:0 0 0 2px var(--accent),0 0 28px var(--accent-glow)}.app-shell{position:relative;isolation:isolate;overflow:hidden;gap:10px;padding:16px;color:var(--text);background:var(--bg-grad)}.ambient-decor{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.ambient-glow,.ambient-orb{position:absolute;display:block;border-radius:50%;pointer-events:none}.ambient-glow{z-index:0;width:min(34vw,520px);min-width:270px;aspect-ratio:1;background:radial-gradient(circle,var(--accent) 0%,var(--accent-glow) 36%,transparent 70%);filter:blur(30px);opacity:.28}.ambient-glow-control{top:34%;left:7%;transform:translate(-34%,-8%)}.ambient-glow-inspector{top:30%;right:3%;transform:translate(32%,-2%)}.ambient-glow-corner{right:-7%;bottom:-12%;width:min(32vw,460px)}.ambient-orb{position:absolute;display:block;border-radius:50%;z-index:1;pointer-events:none;box-shadow:0 18px 42px #00000057}.onboarding-decor{position:absolute;inset:0;overflow:hidden;pointer-events:none}.ambient-orb-chrome{right:13%;top:16%;width:64px;aspect-ratio:1;background:radial-gradient(circle at 32% 24%,#fff 0 10%,#d9dce3 28%,#7e8491 58%,#2f333c)}.ambient-orb-accent{left:15%;top:40%;width:40px;aspect-ratio:1;background:radial-gradient(circle at 34% 28%,var(--accent2) 0 18%,var(--accent) 46%,var(--accent-deep) 100%);box-shadow:0 14px 34px var(--accent-glow)}.ambient-orb-accent-sm{right:20%;bottom:30%;width:22px;aspect-ratio:1;background:radial-gradient(circle at 34% 28%,var(--accent2) 0 18%,var(--accent) 46%,var(--accent-deep) 100%);box-shadow:0 10px 26px var(--accent-glow)}.ambient-orb-bubble{left:20%;bottom:18%;width:74px;aspect-ratio:1;border:1px solid color-mix(in srgb,white 62%,transparent);background:radial-gradient(circle at 28% 22%,#ffffffb8,#ffffff2e 38%,#ffffff0a 72%);box-shadow:inset 0 1px 14px #ffffff3d,0 18px 42px #00000038}:root[data-theme=light] .ambient-glow{opacity:.2}:root[data-theme=light] .ambient-orb{opacity:.82}.app-topbar,.app-main,.app-shell>.resize-handle.horizontal,.timeline-panel{position:relative;z-index:2}.app-topbar,.control-panel,.inspector-panel,.timeline-panel{border:1px solid var(--glass-border);border-radius:var(--radius-panel);background:var(--glass-bg2);box-shadow:var(--float-sh);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.app-topbar{margin:0;min-height:42px}.app-main{gap:8px;min-height:0;padding:0;overflow:hidden;background:transparent;isolation:isolate}.app-main>*{position:relative;z-index:2}.control-panel,.inspector-panel,.timeline-panel{margin:0}.timeline-panel.is-empty{background:var(--glass-bg2)}.inspector-panel.collapsed{border-radius:var(--radius-panel)}.canvas-stage{margin:0;padding:clamp(10px,1.4vw,22px);border:1px solid color-mix(in srgb,var(--glass-border) 52%,transparent);border-radius:var(--radius-panel);background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.canvas-frame{border-radius:12px;background:#201e1b;box-shadow:0 0 0 1px #342d28,0 22px 58px #00000085}.canvas-frame.drag-active{box-shadow:0 0 0 2px var(--accent),0 0 34px var(--accent-glow),0 22px 58px #00000085}.visualizer-canvas{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.transport-bar{align-self:center;width:min(780px,calc(100% - 24px));margin:0 auto 14px;padding:9px 18px 10px;border:1px solid var(--glass-border);border-radius:var(--radius-pill);color:var(--text);background:var(--glass-bg2);box-shadow:var(--float-sh);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.transport-progress{border:1px solid var(--field-border);background:color-mix(in srgb,var(--text) 12%,transparent)}.transport-progress:hover{background:color-mix(in srgb,var(--text) 18%,transparent)}.transport-btn{border-color:var(--glass-border);color:var(--text2);background:var(--glass-bg)}.transport-btn:hover:not(:disabled){border-color:var(--glass-hi);color:var(--text);background:var(--glass-bg2)}.transport-play{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--accent2),var(--accent) 55%,var(--accent-deep));box-shadow:0 12px 28px var(--accent-glow),inset 0 1px 0 var(--glass-hi)}.transport-play:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,var(--accent2),var(--accent) 48%,var(--accent-deep))}.canvas-onboarding-card{border:1px solid var(--glass-border);border-radius:var(--radius-card);color:var(--text);background:var(--glass-bg2);box-shadow:var(--float-sh);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.canvas-onboarding-card:hover:not(:disabled){border-color:var(--glass-hi);color:var(--text);background:var(--glass-bg2)}.canvas-onboarding-title{color:var(--text)}.canvas-onboarding-steps{color:var(--text2)}.resize-handle{position:relative;z-index:3;background:transparent;opacity:1}.resize-handle:before{content:"";position:absolute;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--text) 14%,transparent);opacity:.42;pointer-events:none}.resize-handle:hover:before,.resize-handle:active:before{background:color-mix(in srgb,var(--accent) 38%,transparent);opacity:.84}.resize-handle.vertical{flex-basis:6px;margin:0}.resize-handle.vertical:before{top:18px;bottom:18px;left:50%;width:2px;transform:translate(-50%)}.resize-handle.horizontal{width:100%;height:6px;margin:0}.resize-handle.horizontal:before{top:50%;right:24px;left:24px;height:2px;transform:translateY(-50%)}.app-topbar .gallery-open-top-button,.app-topbar .randomize-top-button,.app-topbar .export-secondary-button,.app-topbar .history-top-button,.app-topbar .shortcuts-top-button,.app-topbar .theme-mode-toggle,.app-topbar .export-setting-select{border-color:var(--glass-border);color:var(--text);background:var(--glass-bg)}.app-topbar .gallery-open-top-button:hover:not(:disabled),.app-topbar .randomize-top-button:hover:not(:disabled),.app-topbar .export-secondary-button:hover:not(:disabled),.app-topbar .history-top-button:hover:not(:disabled),.app-topbar .shortcuts-top-button:hover:not(:disabled),.app-topbar .theme-mode-toggle:hover:not(:disabled){border-color:var(--glass-hi);color:var(--text);background:var(--glass-bg2)}.app-topbar .export-mp4-top-button{border-color:transparent;color:var(--on-accent);background:linear-gradient(135deg,var(--accent2),var(--accent) 55%,var(--accent-deep));box-shadow:0 12px 28px var(--accent-glow),inset 0 1px 0 var(--glass-hi)}.app-topbar .export-mp4-top-button:hover:not(:disabled){border-color:var(--glass-hi);color:#fff;background:linear-gradient(135deg,var(--accent2),var(--accent) 48%,var(--accent-deep));box-shadow:0 16px 36px var(--accent-glow),inset 0 1px 0 var(--glass-hi)}.section-title,.layer-category-title,.field span,.brand-block p,.status-line,.inspector-empty,.timeline-empty,.timeline-zoom-value,.export-controls-topbar .export-status-line{color:var(--text2)}@media(max-width:840px){.app-shell{gap:8px;padding:8px;overflow:visible}.ambient-decor{display:none}.app-main{gap:8px;overflow:visible}.resize-handle.vertical:before{inset:0 12px auto;width:auto;height:2px;transform:none}.transport-bar{width:min(100%,calc(100% - 12px));margin-bottom:8px;padding:8px 12px}}@media(max-width:640px){.app-shell{gap:6px;padding:6px}.app-topbar,.control-panel,.canvas-stage,.inspector-panel,.timeline-panel,.inspector-panel.collapsed{border-radius:var(--radius-card)}.canvas-frame{border-radius:10px}.transport-bar{width:100%;margin-bottom:6px;border-radius:var(--radius-card)}.resize-handle.horizontal:before{right:8px;left:8px}}.section-title,.app-topbar-title span,.inspector-layer-title,.timeline-title{font-family:var(--font-serif);font-weight:600;letter-spacing:.02em}.export-seal{display:inline-flex;align-items:center;justify-content:center;width:1.35em;height:1.35em;margin-right:.45em;border-radius:5px;background:var(--accent-deep);color:#fff;font-family:var(--font-serif);font-size:.95em;font-weight:600;line-height:1;box-shadow:inset 0 1px #ffffff59,0 2px 6px #00000040}:root[data-theme=light] .canvas-onboarding-card,:root[data-theme=light] .stage-overlay .badge{border-color:#ffffff24;background:radial-gradient(130% 92% at 12% -10%,rgba(255,255,255,.14),transparent 46%),linear-gradient(155deg,#ffffff1a,#ffffff08 46%,#ffffff12);color:#eeecf4}:root[data-theme=light] .canvas-onboarding-card .canvas-onboarding-steps{color:#a5a2b4}:root[data-theme=light] .canvas-onboarding-card .canvas-onboarding-title,:root[data-theme=light] .canvas-onboarding-card .canvas-onboarding-icon{color:#eeecf4}.canvas-onboarding-card{border:1px solid rgba(255,255,255,.15);background:linear-gradient(155deg,#181721f0,#0e0d14e6);color:#eeecf4;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 14px 38px #0006}.canvas-onboarding-card .canvas-onboarding-title,.canvas-onboarding-card .canvas-onboarding-icon{color:#eeecf4}.canvas-onboarding-card .canvas-onboarding-steps{color:#a5a2b4}.stage-overlay .badge{border-color:#ffffff29;background:#0e0d14d9;color:#eeecf4}.ambient-orb-chrome,.ambient-orb-bubble{box-shadow:0 18px 42px #00000057,0 0 0 1px #00000024}.template-gallery-panel,.shortcuts-help-panel,.lyrics-timer-panel{border:1px solid var(--glass-border);border-radius:var(--radius-panel);background:var(--glass-bg2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--float-sh)}.template-card{border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-card);background:var(--row-bg);overflow:hidden}.inspector-section-toggle{border:none;border-radius:0;padding:.3rem .15rem;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-family:var(--font-serif);font-weight:600;font-size:.85rem;letter-spacing:.02em;color:var(--text2)}.inspector-section-toggle:hover:not(:disabled){border:none;background:transparent;color:var(--text)}.topbar-export-group{display:flex;align-items:center;gap:8px;margin-left:6px;padding-left:14px;border-left:1px solid var(--glass-border)}.preset-more-button{width:100%;margin-top:.5rem;border:none;background:transparent;box-shadow:none;color:var(--text2);font-size:.8rem;text-align:center}.preset-more-button:hover:not(:disabled){border:none;background:#ffffff0d;color:var(--text)}.workbench-top-button{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:28px;padding:.34rem .7rem;border-color:var(--glass-border);border-radius:var(--radius-pill);color:var(--text2);background:var(--glass-bg);font-size:.78rem;font-weight:650;line-height:1.1;white-space:nowrap}.workbench-top-button:hover:not(:disabled){border-color:var(--glass-hi);color:var(--text);background:var(--glass-bg2)}.workbench-top-button.active{border-color:var(--accent-glow);color:var(--text);background:var(--glass-bg2);box-shadow:var(--glass-sh)}.workbench-dot{width:7px;height:7px;border-radius:50%;background:var(--text3)}.workbench-top-button.active .workbench-dot{background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}@media(min-width:841px){.app-shell.rail-mode{padding:12px}.app-shell.rail-mode .app-main{position:relative;gap:8px}.step-rail,.rail-drawer,.floating-inspector{border:1px solid var(--glass-border);border-radius:var(--radius-panel);background:var(--glass-bg2);box-shadow:var(--float-sh);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.step-rail .language-switcher{display:flex;gap:4px;justify-content:center}.step-rail .language-switcher button{width:26px;height:26px;padding:0;border-radius:999px;font-size:.66rem;line-height:1;display:flex;align-items:center;justify-content:center}.step-rail{margin-right:10px}.step-rail{display:flex;flex:0 0 76px;flex-direction:column;align-items:center;align-self:flex-start;width:76px;min-width:76px;height:auto;gap:4px;padding:12px 0 10px;overflow:hidden}.step-rail-seal{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--accent2),var(--accent) 55%,var(--accent-deep));box-shadow:0 12px 28px var(--accent-glow),inset 0 1px 0 var(--glass-hi);font-family:var(--font-serif);font-size:1.45rem;font-weight:700;line-height:1}.step-rail-list{display:flex;flex:0 0 auto;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;width:100%;min-height:0;margin-top:18px;padding:0}.step-rail-button{position:relative;display:flex;flex:0 0 70px;flex-direction:column;align-items:center;justify-content:center;width:100%;height:70px;min-height:70px;padding:0;border:0;border-radius:0;color:var(--text2);background:transparent;box-shadow:none;overflow:hidden}.step-rail-button:before{content:"";position:absolute;top:50%;left:50%;width:52px;height:52px;border-radius:16px;background:transparent;opacity:0;transform:translate(-50%,-50%);transition:opacity .16s ease,background .16s ease}.step-rail-button:hover:not(:disabled){border-color:transparent;background:transparent}.step-rail-button:hover:not(:disabled):before{background:color-mix(in srgb,var(--text) 10%,transparent);opacity:1}.step-rail-button.active{color:var(--text)}.step-rail-button.active:before{background:color-mix(in srgb,var(--text) 12%,transparent);opacity:1}.step-rail-active-bar{position:absolute;top:17px;bottom:17px;left:0;width:4px;border-radius:0 999px 999px 0;background:linear-gradient(180deg,var(--accent2),var(--accent));box-shadow:0 0 18px var(--accent-glow);opacity:0;transition:opacity .16s ease}.step-rail-button.active .step-rail-active-bar{opacity:1}.step-rail-glyph,.step-rail-label{position:relative;z-index:1}.step-rail-glyph{font-family:var(--font-serif);font-size:1.62rem;font-weight:700;line-height:1}.step-rail-label{margin-top:.34rem;font-size:11px;font-weight:700;line-height:1;text-transform:uppercase}.step-rail-footer{display:flex;justify-content:center;width:100%;margin-top:auto;padding:0 6px}.step-rail-footer .language-switcher{justify-content:center;width:100%;gap:2px}.step-rail-footer .language-switcher button{min-height:24px;padding:.26rem .34rem;border-radius:var(--radius-pill);font-size:.68rem;line-height:1}.rail-drawer{position:static;flex:0 0 320px;display:flex;flex-direction:column;gap:1rem;width:320px;min-width:320px;min-height:0;margin-left:10px;padding:16px;overflow-y:auto;animation:none}.floating-inspector{position:static;flex:0 0 340px;display:flex;flex-direction:column;width:340px;min-width:340px;min-height:0;margin-left:10px;padding:.9rem 1rem 1rem;overflow-y:auto;animation:none}.rail-inspector-close{align-self:flex-end;flex:0 0 auto;width:32px;height:32px;min-height:32px;margin-bottom:.35rem;padding:0;border-radius:8px;color:var(--text2);background:var(--glass-bg);line-height:1}.rail-inspector-close:hover:not(:disabled){color:var(--text);background:var(--glass-bg2)}.floating-inspector .inspector-panel{flex:1 1 auto!important;width:100%!important;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible}.floating-inspector .inspector-toggle{display:none}.floating-inspector .inspector-content{padding-top:.75rem}.app-shell.exporting .step-rail,.app-shell.exporting .rail-drawer,.app-shell.exporting .floating-inspector{pointer-events:none;opacity:.62}}@keyframes railDrawerIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes floatingInspectorIn{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.rail-drawer,.floating-inspector{animation:none}.step-rail-button:before,.step-rail-active-bar{transition:none}}@media(max-width:840px){.step-rail,.rail-drawer,.floating-inspector,.workbench-top-button{display:none}}.stage-bottom-row{display:grid;grid-template-columns:1fr minmax(auto,640px) 1fr;align-items:center;gap:10px;width:100%;padding:0 12px;margin:auto 0 10px}.stage-bottom-row .audio-chip{justify-self:end}.stage-bottom-row .transport-bar{align-self:auto;width:100%;min-width:0;margin:0}.audio-chip{display:flex;align-items:center;gap:8px;height:44px;padding:0 10px;border:1px solid var(--glass-border);border-radius:var(--radius-pill);background:var(--glass-bg2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--float-sh);flex:none}.audio-chip-file{display:flex;align-items:center;gap:6px;max-width:200px;flex:none;border:none;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:.8rem;color:var(--text)}.audio-chip-file:hover:not(:disabled){border:none;background:#ffffff0f}.audio-chip-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-chip-mic{flex:none;width:30px;height:30px;padding:0;border-radius:999px;font-family:var(--font-serif);font-size:.8rem;line-height:1;display:flex;align-items:center;justify-content:center}.audio-chip input[type=range].audio-chip-volume{width:84px;flex:none}@media(max-width:840px){.audio-chip{display:none}}.rail-drawer .panel-section:first-child{border-top:none;padding-top:0;margin-top:0}.floating-inspector:after{content:"";position:sticky;bottom:-1rem;display:block;flex:none;height:30px;margin:-30px 0 -1rem;background:linear-gradient(180deg,transparent,rgba(16,15,22,.92));border-radius:0 0 var(--radius-panel) var(--radius-panel);pointer-events:none}:root[data-theme=light] .floating-inspector:after{background:linear-gradient(180deg,transparent,rgba(238,233,222,.94))}.timeline-header{gap:12px}.timeline-header .transport-bar{flex:0 0 auto;padding:0;background:none;border:none;box-shadow:none}.timeline-header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.timeline-header .audio-chip{flex:0 0 auto}.comp-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.comp-header .section-title{margin:0}.comp-add-button{flex:0 0 auto;padding:5px 10px;font-size:.78rem}.comp-add-menu{margin-bottom:12px;padding:10px;border:1px solid var(--panel-border, rgba(255, 255, 255, .12));border-radius:var(--radius-card, 10px);background:#ffffff0a;max-height:46vh;overflow-y:auto}.comp-add-group+.comp-add-group{margin-top:10px}.comp-add-group-title{font-size:.68rem;letter-spacing:.08em;opacity:.6;margin-bottom:4px}.comp-add-item{display:block;width:100%;text-align:left;padding:6px 8px;font-size:.82rem;background:none;border:none;border-radius:7px}.comp-add-item:hover{background:#ffffff14}.layer-row .layer-remove{flex:0 0 auto;margin-left:auto;padding:2px 7px;font-size:.72rem;line-height:1;background:none;border:none;opacity:.45}.layer-row .layer-remove:hover{opacity:1}.comp-empty{font-size:.8rem;opacity:.6;margin:6px 2px}.inspector-breadcrumb-root{opacity:.55;font-weight:400}.inspector-breadcrumb-sep{opacity:.35;padding:0 2px}.floating-inspector .field:has(>span:first-child+input:last-child),.floating-inspector .field:has(>span:first-child+select:last-child){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;column-gap:10px;padding:4px 0;margin:0}.floating-inspector .field:has(>span:first-child+input:last-child)>span,.floating-inspector .field:has(>span:first-child+select:last-child)>span{font-size:.78rem;opacity:.88;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-inspector .field:has(>span:first-child+input:last-child)>input,.floating-inspector .field:has(>span:first-child+select:last-child)>select{width:100%;min-width:0}.comp-add-again{opacity:.5;font-size:.7em}.timeline-header .transport-bar{display:flex;align-items:center;gap:14px;padding:0;border-top:none}.timeline-header .transport-progress{display:none}.timeline-header .transport-time{font-size:.82rem;opacity:.85}.timeline-header .transport-controls{display:flex;align-items:center;gap:8px}.timeline-header .transport-btn{width:30px;height:30px;padding:0}.timeline-header .transport-play{width:36px;height:36px}.timeline-header .transport-meta{display:flex;align-items:center;gap:8px;font-size:.78rem;opacity:.8}.clip.active{outline:2px solid var(--accent, #8b90e8);outline-offset:-1px}.clip .clip-dup{position:absolute;top:50%;right:14px;transform:translateY(-50%);padding:0 4px;font-size:.72rem;line-height:1.4;background:#00000047;border:none;border-radius:5px;opacity:0;transition:opacity .12s ease}.clip:hover .clip-dup{opacity:.9}.clip .clip-dup:active{transform:translateY(-50%)}.timeline-header .transport-bar{width:auto;min-width:0;max-width:none;border-radius:0;background:none;box-shadow:none}.timeline-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.timeline-header .section-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.timeline-header .transport-bar{grid-column:2;justify-self:center}.timeline-header-actions{grid-column:3;justify-self:end;margin-left:0}.timeline-header{background:none}.timeline-header .transport-time{font-variant-numeric:tabular-nums;font-size:.82rem;letter-spacing:.02em}.timeline-header .transport-time .transport-sep,.timeline-header .transport-time .transport-total{opacity:.45}.timeline-header .transport-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:none;box-shadow:none;opacity:.72;transition:background .12s ease,opacity .12s ease}.timeline-header .transport-btn:hover{background:#ffffff14;opacity:1}.timeline-header .transport-play,.timeline-header .transport-play:hover{width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--on-accent, #14121a);opacity:1;box-shadow:0 2px 14px color-mix(in srgb,var(--accent) 45%,transparent)}.timeline-header .transport-play:hover{background:var(--accent2, var(--accent));transform:scale(1.04)}.timeline-header .transport-ratio{border:none;background:none;padding:0;font-size:.75rem;letter-spacing:.05em;opacity:.55}@media(min-width:841px){.canvas-frame{touch-action:none}}.timeline-track-head[draggable=true]{cursor:grab}.timeline-track-head[draggable=true]:active{cursor:grabbing}.layer-rotate-handle{position:absolute;z-index:6;width:32px;height:32px;margin-left:-16px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#14121aa6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:.95rem;cursor:grab;touch-action:none}.layer-rotate-handle:hover{border-color:var(--accent);color:var(--accent)}.layer-rotate-handle:active{cursor:grabbing}.timeline-track-head{cursor:grab;touch-action:none}.timeline-track-head.dragging{opacity:.55;cursor:grabbing}.track-drop-indicator{position:fixed;z-index:40;height:2px;border-radius:1px;background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 60%,transparent);pointer-events:none}.layer-rotate-handle{width:36px;height:36px;margin-left:-18px}.layer-rotate-readout{position:absolute;top:-26px;left:50%;transform:translate(-50%);padding:2px 7px;border-radius:6px;background:#14121ad9;font-size:.7rem;font-variant-numeric:tabular-nums;color:#fff;white-space:nowrap;pointer-events:none}.track-drag-ghost{position:fixed;z-index:41;border-radius:8px;background:#1c1a26f5;box-shadow:0 10px 28px #00000080;transform:scale(1.03);overflow:hidden;pointer-events:none}.timeline-track-head.dragging{opacity:.3;outline:1px dashed rgba(255,255,255,.3);outline-offset:-1px}.timeline-header .transport-bar{gap:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.timeline-header .transport-time{margin-right:18px;font-size:.8rem;letter-spacing:.04em}.timeline-header .transport-controls{gap:4px}.timeline-header .transport-btn{width:28px;height:28px;border-radius:7px;opacity:.6}.timeline-header .transport-btn:hover{opacity:1;background:#ffffff12}.timeline-header .transport-play,.timeline-header .transport-play:hover{width:40px;height:40px;margin:0 8px}.timeline-header .transport-meta{margin-left:18px;padding-left:18px;border-left:1px solid rgba(255,255,255,.12);gap:12px}.timeline-header .transport-ratio{font-size:.72rem;opacity:.5}.timeline-header .transport-fullscreen{opacity:.55}.timeline-panel .timeline-header{align-items:center;align-content:center;padding:8px 14px;height:auto;min-height:48px}.timeline-panel .timeline-header .transport-bar{margin:0}.timeline-header .transport-bar .transport-btn{width:26px;height:26px;padding:0;border:none;border-radius:7px;background:transparent;background-image:none;box-shadow:none;opacity:.6;font-size:.72rem;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,opacity .12s ease,transform .12s ease}.timeline-header .transport-bar .transport-btn:hover{background:#ffffff12;opacity:1}.timeline-header .transport-bar .transport-btn.transport-play{width:32px;height:32px;margin:0 8px;border-radius:50%;background:var(--accent);background-image:none;color:var(--on-accent, #14121a);opacity:1;font-size:.78rem;box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 38%,transparent)}.timeline-header .transport-bar .transport-btn.transport-play:hover{background:var(--accent2, var(--accent));transform:scale(1.04)}.update-banner{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:90;padding:8px 18px;border:none;border-radius:999px;background:var(--accent);color:var(--on-accent, #14121a);font-size:.82rem;font-weight:600;box-shadow:0 6px 22px color-mix(in srgb,var(--accent) 45%,transparent);cursor:pointer}.rail-drawer{margin-left:10px}.panel-tabs{display:flex;gap:4px;margin-bottom:14px;padding:3px;border-radius:9px;background:#ffffff0d}.panel-tab{flex:1;padding:6px 0;border:none;border-radius:7px;background:transparent;font-size:.82rem;opacity:.65;transition:background .12s ease,opacity .12s ease}.panel-tab:hover{opacity:1}.panel-tab.active{background:#ffffff1a;opacity:1;font-weight:600}.header-lang{display:flex;gap:2px}.header-lang button{width:28px;height:28px;padding:0;font-size:.72rem;border-radius:50%}.app-topbar-title{display:flex;align-items:center;gap:10px}.brand-mark svg{display:block;filter:drop-shadow(0 2px 8px color-mix(in srgb,var(--accent) 40%,transparent))}.brand-lockup{display:flex;flex-direction:column;line-height:1.02}.brand-name{font-family:var(--font-serif, "Noto Serif TC", Georgia, serif);font-size:1.02rem;font-weight:700;letter-spacing:.14em}.brand-sub{font-size:.55rem;letter-spacing:.46em;opacity:.55;margin-left:1px}.timeline-header-actions .audio-chip{display:flex;align-items:center;gap:10px;padding:0;border:none;border-radius:0;background:none;background-image:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.timeline-header-actions .audio-chip .audio-chip-file{display:inline-flex;align-items:center;gap:7px;max-width:200px;padding:4px 6px;border:none;border-radius:7px;background:none;font-size:.8rem;opacity:.75}.timeline-header-actions .audio-chip .audio-chip-file:hover{opacity:1;background:#ffffff12}.timeline-header-actions .audio-chip .audio-chip-mic{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:7px;background:none;opacity:.6}.timeline-header-actions .audio-chip .audio-chip-mic:hover{opacity:1;background:#ffffff12}.timeline-header-actions .audio-chip .audio-chip-speaker{display:inline-flex;opacity:.55}.timeline-header-actions .audio-chip input[type=range].audio-chip-volume{-webkit-appearance:none;appearance:none;width:78px;height:4px;padding:0;border:none;border-radius:2px;background:#ffffff2e}.timeline-header-actions .audio-chip input[type=range].audio-chip-volume::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:transparent}.timeline-header-actions .audio-chip input[type=range].audio-chip-volume::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;margin-top:-3px;border:none;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0006}.timeline-header-actions .audio-chip input[type=range].audio-chip-volume::-moz-range-track{height:4px;border-radius:2px;background:transparent}.timeline-header-actions .audio-chip input[type=range].audio-chip-volume::-moz-range-thumb{width:10px;height:10px;border:none;border-radius:50%;background:#fff}.timeline-header-actions .timeline-zoom-control{display:flex;align-items:center;gap:8px;padding:0;border:none;border-radius:0;background:none;background-image:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.timeline-header-actions .timeline-zoom-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:7px;background:none;background-image:none;box-shadow:none;font-size:.85rem;opacity:.6;transition:background .12s ease,opacity .12s ease}.timeline-header-actions .timeline-zoom-button:hover:not(:disabled){background:#ffffff12;opacity:1}.timeline-header-actions .timeline-zoom-button:disabled{opacity:.25}.timeline-header-actions .timeline-zoom-value{font-size:.75rem;font-variant-numeric:tabular-nums;letter-spacing:.03em;opacity:.6}.timeline-header-actions .timeline-zoom-control input[type=range]{-webkit-appearance:none;appearance:none;width:72px;height:4px;padding:0;border:none;border-radius:2px;background:#ffffff2e}.timeline-header-actions .timeline-zoom-control input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:transparent}.timeline-header-actions .timeline-zoom-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;margin-top:-3px;border:none;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0006}.timeline-header-actions .timeline-zoom-control input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:transparent}.timeline-header-actions .timeline-zoom-control input[type=range]::-moz-range-thumb{width:10px;height:10px;border:none;border-radius:50%;background:#fff}.clip.locked .clip-dup{display:none}.field input[type=color]{width:100%;height:30px;padding:2px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0a;cursor:pointer}:root{--studio-page: #141718;--studio-surface: #1d2223;--studio-field: #171b1c;--studio-hover: #2b3232;--studio-selected: #304438;--studio-line: #ffffff14;--studio-mat: #191c1d;--studio-focus: #b0d8bc;--text: #eeeae2;--text2: #b8bfbb;--text3: #a5b0ab;--bg-grad: var(--studio-page);--glass-border: var(--studio-line);--glass-hi: #ffffff25;--glass-bg: var(--studio-surface);--glass-bg2: var(--studio-hover);--glass-blur: none;--glass-sh: none;--float-sh: none;--field-bg: var(--studio-field);--field-border: transparent;--row-bg: transparent;--on-accent: #16271d;--font-ui: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;font-family:var(--font-ui);font-size:16px}:root[data-theme=light]{--studio-page: #eeefeb;--studio-surface: #fafbf7;--studio-field: #e7eae5;--studio-hover: #dce2db;--studio-selected: #d8e5d5;--studio-line: #1b322015;--studio-mat: #e4e9df;--studio-focus: #53795c;--text: #28342c;--text2: #526453;--text3: #5b6a59;--bg-grad: var(--studio-page);--glass-border: var(--studio-line);--glass-hi: #20332630;--glass-bg: var(--studio-surface);--glass-bg2: var(--studio-hover);--glass-sh: none;--float-sh: none;--field-bg: var(--studio-field);--field-border: transparent;--row-bg: transparent}body,.app-shell{background:var(--studio-page);color:var(--text);font-family:var(--font-ui)}button,input,select,textarea,summary{font-family:var(--font-ui)}button{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--studio-line);border-radius:7px;background:var(--studio-field);font-size:13px;font-weight:400;transition:background .16s ease,color .16s ease}button:hover:not(:disabled){box-shadow:none;background:var(--studio-hover);border-color:var(--studio-line)}button:active:not(:disabled){transform:none}button:disabled{opacity:.5;color:var(--text2)}.app-shell :is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid var(--studio-focus);outline-offset:3px}:is(input[type=text],input[type=number],select,textarea){min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:7px;background:var(--studio-field);color:var(--text);box-shadow:none;font-size:13px;line-height:1.5}:is(input[type=text],input[type=number],select,textarea):hover{background-color:var(--studio-hover)}input::placeholder,textarea::placeholder{color:var(--text2);opacity:1}input,textarea{caret-color:var(--accent)}select{appearance:auto}option{color:var(--text);background:var(--studio-field)}input[type=range]{min-height:22px;accent-color:var(--accent)}input[type=range]::-webkit-slider-runnable-track{height:3px;background:color-mix(in srgb,var(--text) 24%,transparent)}input[type=range]::-webkit-slider-thumb{width:13px;height:13px;margin-top:-5px;background:var(--accent);border:0;box-shadow:none}input[type=range]::-moz-range-track{height:3px;background:color-mix(in srgb,var(--text) 24%,transparent)}input[type=range]::-moz-range-thumb{width:13px;height:13px;background:var(--accent);border:0;box-shadow:none}::selection{color:var(--text);background:var(--studio-selected)}a{text-underline-offset:4px}.app-shell,.app-shell.rail-mode{padding:0 24px 16px;gap:14px}.app-shell .ambient-decor,.onboarding-decor{display:none}.app-shell .app-topbar{flex:0 0 auto;min-height:70px;padding:14px 0;gap:24px;border:0;border-bottom:1px solid var(--studio-line);border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:30;overflow:visible}.app-topbar-title{flex:0 0 auto;gap:10px}.app-topbar-title .brand-name{font-family:var(--font-serif);font-size:20px;letter-spacing:.06em}.app-topbar-title .brand-sub{font-family:var(--font-ui);font-size:9px;letter-spacing:.3em;color:var(--text2);opacity:1}.brand-mark svg{filter:none}.app-topbar-actions{flex:1;flex-wrap:wrap;gap:8px 14px}.topbar-group{display:flex;flex:0 0 auto;align-items:center;gap:5px}.topbar-group-tools{gap:3px}.topbar-group-account{order:3}.app-topbar :is(button,.topbar-account-login){display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:0;border-radius:7px;padding:7px 10px;color:var(--text2);background:transparent;font-size:12px;font-weight:400;line-height:1.5;box-shadow:none;white-space:nowrap}.app-topbar :is(button,.topbar-account-login):hover:not(:disabled){background:var(--studio-field);color:var(--text)}.app-topbar :is(.history-top-button,.shortcuts-top-button){width:30px;min-height:32px;padding:0}.app-topbar .language-switcher{display:flex;gap:0;margin-left:5px}.app-topbar .language-switcher button{min-height:30px;width:29px;padding:0;font-size:11px;border-radius:6px}.app-topbar .language-switcher button.active{background:var(--studio-selected);color:var(--text)}.topbar-donate-link{margin-inline:4px;opacity:1}.topbar-donate-link:hover{transform:none}.topbar-donate-link img{height:28px;border-radius:5px}.topbar-export-group{order:4;margin-left:auto;padding-left:14px;border-left:1px solid var(--studio-line)}.export-controls-topbar{gap:6px}.app-topbar .export-setting-select{width:82px;min-height:34px;padding:6px 8px;background:var(--studio-field);font-size:12px}.app-topbar .export-mp4-top-button{min-height:36px;padding:8px 14px;color:var(--on-accent);background:var(--accent);font-weight:600}.app-topbar .export-mp4-top-button:hover:not(:disabled){color:var(--on-accent);background:var(--accent2)}.app-topbar .export-status-line{color:var(--text2);font-size:11px;max-width:145px}.theme-switcher{position:relative;display:block;flex:0 0 auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-switcher>summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:8px;border-radius:7px;list-style:none;cursor:pointer}.theme-switcher>summary::-webkit-details-marker{display:none}.theme-switcher>summary:hover{background:var(--studio-field)}.theme-current{width:15px;height:15px;border:1px solid #ffffff35;border-radius:50%}.theme-disclosure{width:4px;height:4px;border-bottom:1px solid var(--text2);border-right:1px solid var(--text2);transform:rotate(45deg);margin-top:-3px}.theme-options{position:absolute;z-index:50;top:calc(100% + 10px);left:0;width:260px;padding:18px;border:1px solid var(--studio-line);border-radius:12px;background:var(--studio-surface);box-shadow:0 16px 40px #00000035}.theme-options-label{display:block;font-size:12px;color:var(--text2);margin-bottom:13px}.theme-swatch-list{gap:9px;flex-wrap:wrap}.app-topbar .theme-swatch{min-height:23px;width:23px;padding:0;border:2px solid transparent;border-radius:50%;box-shadow:none}.app-topbar .theme-swatch.active{border-color:var(--text);box-shadow:none;outline:1px solid var(--studio-surface);outline-offset:-3px}.app-topbar .theme-mode-toggle{justify-content:flex-start;gap:9px;width:100%;margin-top:15px;padding-left:0;border-top:1px solid var(--studio-line);border-radius:0;padding-top:13px}.app-shell .app-main{gap:18px}.app-shell :is(.rail-drawer,.floating-inspector,.control-panel,.inspector-panel,.timeline-panel){border:0;border-radius:14px;color:var(--text);background:var(--studio-surface);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.app-shell .rail-drawer{flex:0 0 258px;width:258px;min-width:258px;margin:0;padding:20px 18px;gap:10px}.app-shell .floating-inspector{flex:0 0 300px;width:300px;min-width:300px;margin:0;padding:14px 18px 20px}.app-shell .floating-inspector .inspector-panel{background:transparent;border-radius:0}.app-shell .floating-inspector .inspector-content{padding-top:0;gap:15px}.rail-inspector-close{margin-bottom:10px;width:28px;height:28px;min-height:28px;background:transparent;border:0;color:var(--text2)}.app-shell .panel-tabs{gap:10px;padding:0;margin:0 0 12px;border-radius:0;border-bottom:1px solid var(--studio-line);background:transparent}.app-shell .panel-tab{position:relative;min-height:40px;padding:0 6px 13px;border-radius:0;background:transparent;color:var(--text2);font-size:14px;opacity:1}.app-shell .panel-tab.active{color:var(--text);font-weight:500;background:transparent}.app-shell .panel-tab.active:after{content:"";position:absolute;bottom:-1px;height:2px;left:6px;right:6px;background:var(--accent)}.app-shell :is(.section-title,.inspector-layer-title,.timeline-title){font-family:var(--font-ui);color:var(--text);font-size:14px;font-weight:500;letter-spacing:.015em;text-transform:none}.panel-section{padding-block:18px;border-color:var(--studio-line)}.rail-drawer .panel-tabs+.panel-section{border-top:0;padding-top:4px}.comp-header{gap:10px;margin-bottom:14px}.comp-add-button{border:0;padding:7px 9px;color:var(--text2);background:var(--studio-field);font-size:12px;min-height:33px}.comp-add-menu{padding:12px 6px;border:0;border-radius:8px;background:var(--studio-field)}.comp-add-group-title{font-size:12px;color:var(--text2);opacity:1;letter-spacing:0;padding-inline:8px}.comp-add-item{font-size:13px;min-height:34px;color:var(--text)}.app-shell .layer-row.compact{min-height:42px;padding:9px 11px;border:1px solid transparent;border-radius:8px;background:transparent;box-shadow:none}.app-shell .layer-row.compact:hover{background:var(--studio-field)}.app-shell .layer-row.compact.selected{border-color:var(--studio-line);background:var(--studio-selected);box-shadow:none}.layer-name{font-size:13px;font-weight:500}.layer-row .layer-remove{width:25px;height:25px;padding:0;color:var(--text2);opacity:.8}.field{gap:8px}.field>span,.status-line,.inspector-empty,.comp-empty{font-size:12px;line-height:1.8;color:var(--text2);opacity:1}.app-shell .inspector-layer-title{font-size:14px;line-height:1.7}.inspector-breadcrumb-root{color:var(--text2);opacity:1}.inspector-section{border-color:var(--studio-line);padding-top:12px}.app-shell .inspector-section-toggle{min-height:36px;padding:5px 0;border:0;border-radius:0;color:var(--text);background:transparent;font-family:var(--font-ui);font-size:13px;font-weight:500;letter-spacing:0}.app-shell .inspector-section-toggle:hover{background:transparent;color:var(--accent)}.inspector-section-content{gap:14px;padding-top:10px}.floating-inspector .field:has(>span:first-child+input:last-child),.floating-inspector .field:has(>span:first-child+select:last-child){grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:12px;padding-block:5px}.floating-inspector .field:has(>span:first-child+input:last-child)>span,.floating-inspector .field:has(>span:first-child+select:last-child)>span{font-size:12px;opacity:1}.app-shell .floating-inspector .field:has(>span:first-child+input[type=text]:last-child),.app-shell .floating-inspector .field:has(>span:first-child+select:last-child){grid-template-columns:minmax(0,1fr);row-gap:7px}.app-shell .canvas-stage{border:0;border-radius:14px;padding:0;background:var(--studio-mat);box-shadow:none}.canvas-viewport{padding:22px}.canvas-frame{border-radius:9px;box-shadow:0 10px 28px #00000018}.canvas-onboarding-card{border:0;background:#1e2923ed;box-shadow:none;color:#e8eee8}.canvas-onboarding-card .canvas-onboarding-icon,.canvas-onboarding-card .canvas-onboarding-title{color:#e8eee8}.canvas-onboarding-card .canvas-onboarding-steps{color:#b4c2b7}.canvas-onboarding-title{font-family:var(--font-ui);font-size:23px;font-weight:500}.app-shell .preset-grid{gap:8px}.app-shell .preset-grid button{min-height:38px;background:var(--studio-field);font-size:12px;border:0}.app-shell .preset-more-button{font-family:var(--font-ui);font-size:12px;color:var(--text2)}.app-shell .timeline-panel{border-radius:14px}.app-shell .timeline-header{color:var(--text);background:transparent;border-color:var(--studio-line)}.app-shell .timeline-panel .timeline-header{padding:11px 18px;min-height:56px}.timeline-header .transport-bar .transport-btn.transport-play{width:34px;height:34px;background:var(--accent);color:var(--on-accent);box-shadow:none}.timeline-header .transport-bar .transport-btn.transport-play:hover{transform:none}.app-shell .timeline-header .transport-time{font-family:var(--font-ui);color:var(--text2);font-size:12px;font-variant-numeric:tabular-nums;opacity:1}.app-shell :is(.timeline-zoom-value,.audio-chip-file-name,.timeline-tick span){color:var(--text2);font-family:var(--font-ui);font-variant-numeric:tabular-nums}.app-shell :is(.timeline-ruler-row,.timeline-ruler-spacer,.timeline-label-column){background:var(--studio-surface);border-color:var(--studio-line)}.app-shell :is(.track-lane,.timeline-track-head,.timeline-track-label){background:transparent;border-color:var(--studio-line);box-shadow:none;color:var(--text2)}.app-shell :is(.timeline-track-label.selected,.timeline-track-head.selected){color:var(--text);background:var(--studio-selected)}.app-shell .clip,.app-shell .clip.selected{border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:5px;color:var(--text);background:color-mix(in srgb,var(--accent) 19%,var(--studio-surface));box-shadow:none}.app-shell .export-range-selection,.app-shell .export-range-selection.is-full{color:var(--text2);background:color-mix(in srgb,var(--accent) 9%,transparent);border-color:var(--studio-line);box-shadow:none}.app-shell :is(.timeline-zoom-control,.audio-chip){box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.resize-handle:before{background:var(--studio-line)}.resize-handle:hover:before{background:var(--accent)}.app-shell .background-playlist,.app-shell .eq-panel{border-color:var(--studio-line);border-radius:8px;padding:12px;background:transparent}.app-shell .background-playlist-hint{color:var(--text2);font-size:12px;line-height:1.8}.app-shell .background-playlist{border:0;border-radius:0;padding:0}.app-shell :is(.shortcuts-help-panel,.lyrics-timer-panel,.template-gallery-panel,.cover-panel,.toast,.canvas-export-card,.autosave-banner){color:var(--text);background:var(--studio-surface);box-shadow:0 18px 45px #00000030;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell :is(.template-card,.lyrics-timer-line){border-color:var(--studio-line);background:var(--studio-field);box-shadow:none}.app-shell .template-gallery-filters button.active,.app-shell .primary-action{color:var(--on-accent);background:var(--accent);box-shadow:none}.app-shell .canvas-export-progress-fill{background:var(--accent)}@media(min-width:1800px){.app-shell .rail-drawer{flex-basis:276px;width:276px;min-width:276px}.app-shell .floating-inspector{flex-basis:326px;width:326px;min-width:326px}}@media(min-width:841px)and (max-width:1180px){.app-shell,.app-shell.rail-mode{padding-inline:16px}.app-shell .rail-drawer{flex-basis:220px;width:220px;min-width:220px;padding-inline:14px}.app-shell .floating-inspector{flex-basis:256px;width:256px;min-width:256px;padding-inline:14px}.app-shell .app-main{gap:12px}.canvas-viewport{padding:12px}}@media(max-width:1380px){.app-topbar-actions{justify-content:flex-start}.app-topbar .app-topbar-actions{gap:8px 12px}.app-topbar .topbar-export-group{flex-basis:100%;border-left:0;padding-left:0;margin-left:0}.app-topbar .export-status-line{margin-left:auto;max-width:180px}}@media(max-width:840px){.app-shell,.app-shell.rail-mode{height:auto;min-height:100dvh;padding:0 16px 16px}.app-shell .app-main{gap:16px;overflow:visible}.app-shell .control-panel{width:100%!important;padding:20px;max-height:none}.app-shell .inspector-panel{padding:20px;max-height:none}.app-shell .canvas-stage{order:-1;min-height:340px;flex-basis:auto;height:52svh}.app-shell .app-topbar{gap:16px;flex-wrap:wrap}.app-topbar-actions{flex-basis:100%}.topbar-group{flex-basis:auto}.topbar-group-account{margin-left:auto}.app-shell .timeline-header{display:flex;flex-wrap:wrap;gap:12px}.app-shell .timeline-header .transport-bar{width:auto;flex:1 1 100%;justify-content:center}.app-shell .timeline-header-actions{display:flex;width:100%;flex-wrap:wrap;gap:10px}.app-shell .timeline-header-actions .audio-chip{min-width:0;flex:1}.app-shell .timeline-panel{min-height:300px}.theme-options{left:auto;right:0}}@media(max-width:620px){.app-shell,.app-shell.rail-mode{padding-inline:14px}.app-shell .app-topbar{padding-block:18px 14px}.app-topbar .topbar-group-tools{flex:1}.app-topbar .topbar-group-actions{flex-basis:100%;gap:6px}.topbar-group-actions .topbar-donate-link{margin-left:auto}.topbar-group-actions .gallery-open-top-button:last-child{order:2}.app-topbar .topbar-export-group{flex-basis:100%}.app-topbar .export-controls-topbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.app-topbar .export-setting-select{width:100%;min-height:39px;font-size:16px}.app-topbar .export-mp4-top-button{grid-column:1 / -1;min-height:42px}.app-topbar .export-status-line{grid-column:1 / -1;width:100%;max-width:none;margin:0}.app-topbar .export-secondary-button{min-height:36px}.app-shell :is(input[type=text],input[type=number],select,textarea){font-size:16px}.app-shell .canvas-stage{height:360px;min-height:300px}.canvas-viewport{padding:12px}.app-shell .control-panel{padding:18px}.app-shell .timeline-header-actions .audio-chip{flex-basis:100%}.theme-options{right:-40px;width:228px}.app-shell .panel-section{padding-block:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-shell :is(.language-switcher button.active,.aspect-mode-grid button,.aspect-mode-grid button.active,.preset-grid button,.transport-btn,.file-picker-button,.workbench-top-button){box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background-image:none}.app-shell .language-switcher button.active{background:var(--studio-selected);color:var(--text)}.app-shell .aspect-mode-grid button{color:var(--text2);background:var(--studio-field);border:1px solid transparent;min-height:38px}.app-shell .aspect-mode-grid button.active{color:var(--text);background:var(--studio-selected);border-color:var(--studio-line)}.app-shell .preset-grid button{color:var(--text)}.app-shell .floating-inspector:after{display:none}.app-shell :is(.timeline-ruler,.timeline-ruler-viewport,.timeline-lanes-viewport,.timeline-lanes,.timeline-body,.timeline-track-viewport){background:var(--studio-mat)}.app-shell input[type=range]{padding:0;min-height:22px;height:22px;border:0;border-radius:0;background:transparent;box-shadow:none}.app-shell input[type=range]::-webkit-slider-runnable-track{background:color-mix(in srgb,var(--text) 24%,transparent);height:3px;border-radius:2px}.app-shell input[type=range]::-webkit-slider-thumb{background:var(--accent);box-shadow:none}.app-shell .timeline-header .transport-bar .transport-btn{background:transparent;box-shadow:none;opacity:1;color:var(--text2)}.app-shell .timeline-header .transport-bar .transport-btn.transport-play{color:var(--on-accent);background:var(--accent);box-shadow:none}.app-shell .timeline-header-actions .audio-chip input[type=range].audio-chip-volume,.app-shell .timeline-header-actions .timeline-zoom-control input[type=range]{background:transparent;height:22px}@media(max-width:840px){html,body,#root{height:auto;min-height:100%;overflow-y:auto}.app-shell{overflow:visible}.app-shell .app-main{flex:0 0 auto}.app-shell .control-panel,.app-shell .inspector-panel{flex:0 0 auto!important;overflow:visible}.app-shell .canvas-stage{flex:0 0 auto}.app-shell .topbar-group-account{flex:0 0 auto;order:0}.app-shell .timeline-panel{flex-shrink:0}.app-shell .stage-bottom-row .transport-bar{box-shadow:none;background:transparent;border:0}}.app-shell .aspect-mode-grid button.active{color:var(--text);background:var(--studio-selected)}.app-shell .timeline-lane-viewport{background:var(--studio-mat)}.app-shell .timeline-header-actions .timeline-zoom-control input[type=range]::-webkit-slider-runnable-track{background:color-mix(in srgb,var(--text) 24%,transparent);height:3px}.app-shell .timeline-header-actions .timeline-zoom-control input[type=range]::-webkit-slider-thumb{box-shadow:none;background:var(--accent)}.app-shell .timeline-header-actions .audio-chip input[type=range].audio-chip-volume::-webkit-slider-thumb{box-shadow:none;background:var(--accent)}.app-shell .stage-bottom-row{padding:12px}.app-shell .stage-bottom-row .transport-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:0;margin:0;width:100%;background:transparent;border:0;box-shadow:none}.app-shell .stage-bottom-row .transport-controls{display:flex;gap:4px}.app-shell .stage-bottom-row .transport-btn{width:32px;height:32px;padding:0;border:0;border-radius:7px;color:var(--text2);background:transparent;box-shadow:none}.app-shell .stage-bottom-row .transport-play{width:36px;height:36px;border-radius:50%;color:var(--on-accent);background:var(--accent)}.app-shell .stage-bottom-row .transport-progress{flex:1 1 100%;height:3px;order:3;margin:5px 0;border:0;background:var(--studio-field)}.app-shell .stage-bottom-row .transport-progress-fill{background:var(--accent)}.app-shell .stage-bottom-row{display:block}.app-shell .timeline-lane-stack{background:var(--studio-mat)}@media(min-width:841px)and (max-width:1380px){.app-shell .timeline-header{display:flex;justify-content:space-between;gap:14px}.app-shell .timeline-header .transport-bar{flex:0 1 auto;width:auto}.app-shell .timeline-header-actions{flex:0 1 auto;width:auto;margin-left:auto}}.app-shell,.app-shell.rail-mode{padding:0 24px 18px;gap:18px}.app-shell .app-topbar{min-height:76px;gap:22px}.app-topbar :is(button,.topbar-account-login){font-size:13px;min-height:38px}.app-topbar .export-setting-select{min-height:40px;font-size:14px;width:100px}.app-topbar .export-mp4-top-button{min-height:40px;font-size:14px;padding-inline:18px}.app-shell .app-main,.app-shell.rail-mode .app-main{gap:22px}.studio-export-options>summary{display:none}.app-shell .rail-drawer{flex-basis:264px;width:264px;min-width:264px;padding:22px 20px;border-radius:12px}.app-shell .floating-inspector{flex-basis:304px;width:304px;min-width:304px;padding:20px;border-radius:12px}.app-shell .canvas-stage{background:transparent;border-radius:0}.app-shell .studio-stage-heading{padding:2px 0 16px;min-height:40px}.app-shell .studio-stage-heading h2{font-size:15px;font-weight:600}.app-shell .studio-stage-heading>span{font-size:13px;color:var(--text2)}.app-shell .canvas-viewport{padding:0}.app-shell .canvas-frame{border-radius:10px;box-shadow:0 12px 32px #00000024}.app-shell :is(.section-title,.inspector-layer-title){font-size:15px;font-weight:600}.app-shell .panel-tab{font-size:15px;min-height:44px}.app-shell .panel-section{padding-block:22px}.app-shell .field{margin-block:8px}.app-shell :is(.field>span,.status-line){font-size:13px;line-height:1.75}.app-shell .layer-name{font-size:14px}.app-shell .layer-row{min-height:48px;border-radius:8px}.app-shell .inspector-section-toggle{min-height:48px;font-size:14px;font-weight:500}.app-shell .inspector-section{padding-block:14px}.app-shell .inspector-section-content{gap:14px}.app-shell .timeline-panel{border-radius:12px}.app-shell .timeline-panel .timeline-header{padding:14px 18px}.app-shell .timeline-lane-stack{background:var(--studio-page)}.app-shell .timeline-track-head{font-size:13px}.app-shell .timeline-ruler{font-size:12px}.studio-tools-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.studio-tools-heading h2{margin:0;font-size:18px;font-weight:600}.studio-tool-group{border-bottom:1px solid var(--studio-line)}.studio-tool-group:last-child{border:0}.studio-tool-group>summary{display:flex;align-items:center;gap:10px;min-height:64px;color:var(--text);font-size:15px;font-weight:500;list-style:none;cursor:pointer}.studio-tool-group>summary::-webkit-details-marker{display:none}.studio-tool-group>summary:after{content:"";margin-left:auto;width:7px;height:7px;border:solid var(--text2);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.studio-tool-group[open]>summary:after{transform:rotate(225deg)}.studio-tool-group>.panel-section:first-of-type{border-top:0;padding-top:8px}.app-shell [id^=studio-work-]{scroll-margin-top:16px}.app-shell [id^=studio-work-]:focus-visible{outline:2px solid var(--studio-focus);outline-offset:4px}@media(min-width:1800px){.app-shell .rail-drawer{flex-basis:280px;width:280px;min-width:280px}.app-shell .floating-inspector{flex-basis:326px;width:326px;min-width:326px}}@media(min-width:841px)and (max-width:1180px){.app-shell,.app-shell.rail-mode{padding-inline:16px;gap:14px}.app-shell .app-main,.app-shell.rail-mode .app-main{gap:14px}.app-shell .rail-drawer{flex-basis:210px;width:210px;min-width:210px;padding:16px 14px}.app-shell .floating-inspector{flex-basis:248px;width:248px;min-width:248px;padding:16px}}@media(max-width:840px){.app-shell:not(.rail-mode){padding:0 16px calc(90px + env(safe-area-inset-bottom));gap:24px}.app-shell .app-main{gap:24px}.app-shell .app-topbar{gap:12px;padding-block:16px}.app-shell .canvas-stage{height:clamp(340px,calc((100vw - 32px)*.5625 + 160px),600px);min-height:280px}.app-shell .topbar-export-group,.studio-export-options{width:100%}.studio-export-options>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border-radius:8px;color:var(--accent);background:var(--studio-field);list-style:none;cursor:pointer;font-size:14px}.studio-export-options>summary::-webkit-details-marker{display:none}.studio-export-options>summary small{margin-left:auto;color:var(--text2);font-size:12px}.studio-export-options>summary:after{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin-left:5px}.studio-export-options[open]>summary:after{transform:rotate(225deg)}.studio-export-options[open]>summary{margin-bottom:14px}.app-shell .stage-bottom-row{padding:18px 0 0}.app-shell .control-panel,.app-shell .inspector-panel{padding:22px}.app-shell .studio-stage-heading{padding-bottom:12px}.app-shell .timeline-panel{min-height:320px}.app-shell .stage-bottom-row .transport-play{width:42px;height:42px}}@media(max-width:620px){.app-shell .app-topbar-actions{gap:10px}.app-topbar .topbar-group-actions{justify-content:space-between;gap:4px}.app-topbar .topbar-group-actions button{font-size:12px}.app-topbar .export-controls-topbar{grid-template-columns:1fr 1fr;gap:8px}.app-topbar .export-setting-select{width:100%;min-height:44px;font-size:16px}.app-topbar .export-mp4-top-button{min-height:44px}.app-shell .canvas-stage{min-height:320px}.app-shell .control-panel,.app-shell .inspector-panel{padding:20px}}.app-shell .app-topbar{min-height:64px;padding-block:12px}.app-shell .app-topbar-actions{justify-content:flex-end}.studio-utility-options{position:relative}.studio-utility-options>summary{display:none}.app-shell .studio-command-bar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 28px;padding-bottom:16px;border-bottom:1px solid var(--studio-line)}.studio-audio-source{flex:0 1 320px;min-width:0}.studio-command-bar .audio-chip{display:flex;width:100%;height:auto;min-width:0;padding:8px 10px;border:0;border-radius:9px;background:var(--studio-surface)}.studio-command-bar .audio-chip-file{flex:1;min-width:0;min-height:36px;color:var(--text);font-size:13px}.studio-command-bar .audio-chip-file-name{max-width:160px;color:var(--text)}.studio-command-bar .audio-chip-mic{width:36px;min-height:36px}.studio-command-bar .audio-chip input[type=range].audio-chip-volume{width:64px}.studio-command-bar .topbar-export-group{margin-left:auto;padding:0;border:0;min-width:0}.studio-command-bar .export-controls-topbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}.studio-output-field{display:flex;flex-direction:column;gap:6px;min-width:0}.studio-output-field>span{color:var(--text2);font-size:12px;line-height:1.5}.studio-command-bar .export-setting-select{width:104px;min-height:40px}.studio-command-bar :is(.export-secondary-button,.export-mp4-top-button){min-height:40px;padding:9px 12px;font-size:13px}.studio-command-bar .export-secondary-button{color:var(--text2);background:transparent;border-color:transparent}.studio-command-bar .export-mp4-top-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;color:var(--on-accent);background:var(--accent);border:0;font-weight:600;box-shadow:none}.studio-command-bar .export-mp4-top-button:hover:not(:disabled){background:var(--accent2)}.studio-command-bar .export-status-line{max-width:150px;align-self:center;font-size:12px}.app-shell .inspector-section-content[hidden]{display:none}.app-shell .inspector-section{padding-block:8px}.app-shell .inspector-section.open{padding-bottom:20px}.app-shell .inspector-section-toggle{min-height:48px}.app-shell .inspector-layer-title{margin-block:4px 16px;font-size:17px}.app-shell .inspector-breadcrumb-root,.app-shell .inspector-breadcrumb-sep{font-size:12px;font-weight:400}.app-shell .timeline-header>.section-title{display:block;margin:0;font-size:14px}.app-shell .timeline-header{display:flex;justify-content:space-between}.app-shell .timeline-header .transport-bar{flex:0 1 auto;width:auto}.app-shell .timeline-header-actions{flex:0 1 auto;margin-left:0}@media(min-width:841px)and (max-width:1180px){.studio-audio-source{flex-basis:300px}.studio-command-bar .export-status-line{flex-basis:100%;max-width:none;text-align:right}}@media(max-width:840px){.app-shell .app-topbar{display:grid;grid-template-columns:1fr auto auto;gap:10px}.app-shell .app-topbar-actions{display:contents}.app-shell .topbar-group-account{min-width:0;max-width:clamp(64px,22vw,112px)}.app-shell .topbar-account-email{display:block;max-width:100%;line-height:1.6}.studio-utility-options>summary{display:flex;align-items:center;gap:7px;padding:10px;min-height:44px;color:var(--text2);font-size:13px;list-style:none;cursor:pointer}.studio-utility-options>summary::-webkit-details-marker{display:none}.studio-utility-options[open]>summary{color:var(--text);background:var(--studio-field);border-radius:8px}.studio-utility-options>.topbar-group-tools{position:absolute;top:calc(100% + 8px);right:0;z-index:45;width:224px;flex-wrap:wrap;padding:12px;border-radius:12px;background:var(--studio-surface);box-shadow:0 12px 32px #00000030}.app-topbar .studio-utility-options :is(button,.theme-switcher>summary){min-height:44px;min-width:44px}.app-topbar .studio-utility-options .theme-switcher{position:static}.app-topbar .studio-utility-options .theme-options{left:0;right:0;top:calc(100% + 8px);width:100%}.app-shell .topbar-group-actions{grid-column:1 / -1;justify-content:space-between}.app-shell .studio-command-bar{flex-direction:column;align-items:stretch;gap:12px;padding-bottom:20px}.studio-audio-source{flex:0 0 auto}.studio-command-bar .audio-chip-file-name{max-width:none}.studio-command-bar :is(.audio-chip-file,.audio-chip-mic){min-height:44px}.studio-command-bar .audio-chip-mic{width:44px}.studio-command-bar .topbar-export-group{margin-left:0}.studio-command-bar .studio-export-options>summary{color:var(--text)}.studio-command-bar .export-controls-topbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:4px}.studio-command-bar .export-setting-select{width:100%;font-size:16px;min-height:44px}.studio-command-bar :is(.export-secondary-button,.export-mp4-top-button){min-height:44px}.studio-command-bar .export-mp4-top-button,.studio-command-bar .export-status-line{grid-column:1 / -1;max-width:none}.studio-command-bar .export-status-line{text-align:center}.app-shell .app-topbar-actions{justify-content:space-between}.app-shell .timeline-header>.section-title{flex-basis:100%}.app-shell .timeline-header .transport-bar{flex:1 1 100%}.app-shell .timeline-header-actions{width:100%;justify-content:flex-end}}.app-shell{--ui-ink: var(--text);--ui-muted: var(--text2);--ui-field: var(--studio-field);--ui-hover: var(--studio-hover);--ui-focus: var(--studio-focus);--ui-accent: var(--accent);--ui-line: var(--studio-line)}.ez-shell{--ui-ink: var(--ez-ink);--ui-muted: var(--ez-muted);--ui-field: var(--ez-field);--ui-hover: var(--ez-hover);--ui-focus: var(--ez-focus);--ui-accent: var(--ez-accent);--ui-line: var(--ez-line)}:is(.app-shell,.ez-shell){--ui-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23a5b3a8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");font-kerning:normal}[data-theme=light] .app-shell{--ui-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23526453' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}:is(.app-shell,.ez-shell) :is(input[type=text],input[type=number],select,textarea){box-sizing:border-box;border-radius:9px;min-height:40px;padding:9px 12px;font-size:14px;line-height:1.55;color:var(--ui-ink);background-color:var(--ui-field);border:1px solid color-mix(in srgb,var(--ui-ink) 12%,transparent);box-shadow:none;transition:background-color .16s ease,border-color .16s ease,outline-color .16s ease}:is(.app-shell,.ez-shell) :is(input[type=text],input[type=number],select,textarea):hover{background-color:var(--ui-hover);border-color:color-mix(in srgb,var(--ui-ink) 22%,transparent)}:is(.app-shell,.ez-shell) :is(input[type=text],input[type=number],select,textarea):focus{outline:2px solid var(--ui-focus);outline-offset:2px}.app-shell select:not([multiple]):not([size]),.ez-shell select:not([multiple]):not([size]){appearance:none;background-image:var(--ui-select-arrow);background-repeat:no-repeat;background-position:right 12px center;background-size:12px 7px;padding-right:34px;cursor:pointer}:is(.app-shell,.ez-shell) textarea{resize:vertical}:is(.app-shell,.ez-shell) input[type=number]{font-variant-numeric:tabular-nums}:is(.app-shell,.ez-shell) input[type=checkbox]{accent-color:var(--ui-accent)}:is(.app-shell,.ez-shell) input[type=color]{box-sizing:border-box;flex:0 0 auto;width:48px;height:36px;min-height:36px;padding:5px;border:0;border-radius:9px;background:var(--ui-field);cursor:pointer}:is(.app-shell,.ez-shell) input[type=color]::-webkit-color-swatch-wrapper{padding:0}:is(.app-shell,.ez-shell) input[type=color]::-webkit-color-swatch{border:0;border-radius:5px}:is(.app-shell,.ez-shell) input[type=color]::-moz-color-swatch{border:0;border-radius:5px}:is(.app-shell,.ez-shell) input[type=color]:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}:is(.app-shell,.ez-shell) :is(input,select,textarea):disabled{cursor:default}:is(.app-shell,.ez-shell) input,:is(.app-shell,.ez-shell) textarea{caret-color:var(--ui-accent)}:is(.app-shell,.ez-shell) ::selection{color:var(--ui-ink);background:var(--ui-hover)}:is(.ez-settings-dock,.ez-effects,.rail-drawer,.floating-inspector){scrollbar-color:var(--ui-focus) transparent}.app-shell .field>span{font-size:13px;line-height:1.75}.app-shell :is(.field.checkbox-field,.field:has(>input[type=checkbox])){min-height:36px}.ez-settings-dock .ez-slider-row{flex-direction:column;align-items:stretch;gap:6px}.ez-settings-dock .ez-slider-row>span{font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums}.ez-settings-dock .ez-slider-row input[type=range]{flex:0 0 auto;width:100%}:is(.app-shell,.ez-shell) :is(.ez-settings-dock,.rail-drawer,.inspector-panel,.control-panel) input[type=range]{appearance:none;height:26px;min-height:26px;background:transparent;margin:0;padding:0;cursor:pointer}:is(.app-shell,.ez-shell) :is(.ez-settings-dock,.rail-drawer,.inspector-panel,.control-panel) input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:color-mix(in srgb,var(--ui-ink) 24%,transparent)}:is(.app-shell,.ez-shell) :is(.ez-settings-dock,.rail-drawer,.inspector-panel,.control-panel) input[type=range]::-webkit-slider-thumb{appearance:none;height:14px;width:14px;margin-top:-5.5px;border:0;border-radius:50%;background:var(--ui-accent);box-shadow:none}:is(.app-shell,.ez-shell) :is(.ez-settings-dock,.rail-drawer,.inspector-panel,.control-panel) input[type=range]::-moz-range-track{height:3px;border-radius:3px;background:color-mix(in srgb,var(--ui-ink) 24%,transparent)}:is(.app-shell,.ez-shell) :is(.ez-settings-dock,.rail-drawer,.inspector-panel,.control-panel) input[type=range]::-moz-range-thumb{height:14px;width:14px;border:0;border-radius:50%;background:var(--ui-accent)}.ez-shell .ez-settings-dock :is(button,.ez-subtitle-btn,.ez-watermark-btn,.ez-vinyl-uploads span,.background-playlist-upload){font-size:13px;min-height:36px;border-radius:8px}.ez-shell .ez-settings-dock .background-playlist-actions button{min-height:34px}.ez-shell .ez-settings-dock :is(.ez-subtitle-status,.background-playlist-hint,.ez-remix-config>small){font-size:12px;line-height:1.8}.ez-shell .ez-settings-dock .background-playlist-field>span{font-size:13px}.ez-shell .ez-settings-dock .ez-text-field>span{font-size:13px}.ez-settings-dock .background-playlist>legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.app-shell .inspector-section-content{gap:16px}.app-shell .inspector-layer-title{margin-bottom:4px}.app-shell .inspector-section-toggle{min-height:40px;font-size:14px}.app-shell .status-line{font-size:12px;line-height:1.85}.app-shell .inspector-breadcrumb-root{opacity:1}.app-shell .panel-section .section-title{margin-bottom:14px}.app-shell .floating-inspector{position:relative}.app-shell .rail-inspector-close{position:absolute;z-index:2;top:12px;right:14px;display:inline-flex;align-items:center;justify-content:center;margin:0}.app-shell .floating-inspector .inspector-header{min-height:38px;padding-right:30px}.app-shell .app-topbar .export-setting-select{width:104px}.app-shell .floating-inspector .field:has(>span:first-child+input[type=range]:last-child){grid-template-columns:minmax(0,1fr);row-gap:5px}.app-shell .floating-inspector .field:has(>span:first-child+input:last-child)>span,.app-shell .floating-inspector .field:has(>span:first-child+select:last-child)>span{font-size:13px;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.app-shell .mod-hint{color:var(--ui-muted);opacity:1;font-size:12px;line-height:1.8}.app-shell .kf-record{gap:9px;min-height:40px;font-size:13px;line-height:1.75}.app-shell .kf-record input{flex-shrink:0}.app-shell .mod-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.app-shell .mod-row .mod-param{grid-column:1;font-family:inherit;font-size:13px;white-space:normal}.app-shell .mod-row .mod-remove{grid-column:2;grid-row:1}.app-shell .mod-row .mod-source,.app-shell .mod-row .mod-amt{grid-column:1 / -1;width:100%}.app-shell :is(.mod-shape,.mod-lfo){grid-template-columns:minmax(0,1fr);gap:8px;padding:8px 0 0}.app-shell :is(.mod-shape,.mod-lfo) label{gap:4px}.app-shell :is(.mod-shape,.mod-lfo) label span{font-size:12px;line-height:1.7;color:var(--ui-muted);opacity:1;white-space:normal}.app-shell .kf-track{padding:14px 0;border:0;border-top:1px solid var(--ui-line);border-radius:0;background:transparent}.app-shell .kf-track-head{grid-template-columns:minmax(0,1fr) auto;gap:8px}.app-shell .kf-track-head .mod-param{font-family:inherit;font-size:13px;white-space:normal}.app-shell .kf-track-head .mod-remove{grid-column:2;grid-row:1}.app-shell .kf-track-head .kf-add{grid-column:1 / -1;min-height:36px;font-size:12px;border-color:transparent;background:var(--ui-field)}.app-shell .kf-track-head .kf-add:hover:not(:disabled){background:var(--ui-hover)}.app-shell .kf-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-top:8px}.app-shell .kf-row :is(.kf-value,.kf-ease){grid-column:1 / -1;width:100%}.app-shell .kf-row .kf-time{grid-column:1;opacity:1;color:var(--ui-muted);font-family:inherit;font-size:12px;font-variant-numeric:tabular-nums}.app-shell .kf-row .mod-remove{grid-column:2;grid-row:1;justify-self:end}.app-shell :is(.kf-track,.mod-row) .mod-remove{width:36px;min-height:36px;padding:0;border:0;border-radius:8px;color:var(--ui-muted);opacity:1}:is(.app-shell,.ez-shell) .background-playlist :is(button,.background-playlist-upload){min-height:38px;border:1px solid transparent;border-radius:8px;background:var(--ui-field);color:var(--ui-ink);font-size:13px}:is(.app-shell,.ez-shell) .background-playlist button:hover:not(:disabled),:is(.app-shell,.ez-shell) .background-playlist-upload:hover:not(:has(input:disabled)){background:var(--ui-hover)}:is(.app-shell,.ez-shell) .background-playlist .background-playlist-actions button{width:36px;min-height:36px}:is(.app-shell,.ez-shell) .background-playlist .background-playlist-toolbar{gap:14px}:is(.app-shell,.ez-shell) .background-playlist .background-playlist-slides li{border-bottom-color:var(--ui-line);padding-block:14px}:is(.app-shell,.ez-shell) .background-playlist .background-playlist-name{font-size:13px}:is(.app-shell,.ez-shell) .background-playlist .background-playlist-hint{color:var(--ui-muted);opacity:1;line-height:1.8}:is(.app-shell,.ez-shell) .background-playlist input[type=number]{width:60px;min-height:40px;font-size:14px}.studio-stage-heading{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:15px 22px 9px}.studio-stage-heading h2{margin:0;color:var(--text);font-size:14px;font-weight:500;line-height:1.5}.studio-stage-heading>span{color:var(--text2);font-size:12px;font-variant-numeric:tabular-nums}.app-shell .canvas-viewport{padding-top:8px}.ez-shell .ez-stage-heading h2{font-size:14px}.ez-shell .ez-stage-style,.ez-shell .ez-stage-format{font-size:12px}.ez-shell .ez-library-heading h2{font-size:17px}.ez-shell .ez-library-heading p{line-height:1.75}.ez-shell .ez-export-choice>span{font-size:12px}.ez-shell .ez-download{row-gap:18px}.ez-shell .ez-res-toggle button,.ez-shell .ez-transport-time{font-size:12px}.ez-shell .ez-effect-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;text-wrap:pretty;overflow-wrap:anywhere;font-size:12px;line-height:1.7}.ez-shell .ez-effect-name{font-size:14px;line-height:1.7}.ez-shell .ez-effect{gap:8px;padding:0 0 10px}.ez-shell .ez-template-search{border-radius:9px}@media(min-width:921px){.ez-settings-dock{scroll-padding-block:68px 20px}.ez-rail-heading{position:sticky;z-index:3;top:-22px;margin:-22px -22px 0;padding:22px;background:var(--ez-surface)}}@media(min-width:921px)and (max-width:1180px){.ez-rail-heading{margin-inline:-15px;padding-inline:15px}.ez-shell .ez-effect-name{font-size:13px}.ez-shell .ez-effect-note{font-size:11px}}@media(min-width:1381px){.app-shell .app-main{gap:22px}.app-shell .floating-inspector{flex-basis:316px;width:316px;min-width:316px}}@media(min-width:1800px){.app-shell .floating-inspector{flex-basis:336px;width:336px;min-width:336px}}@media(max-width:920px){.ez-shell .ez-side{max-height:none;overflow:visible}.ez-shell .ez-main .ez-effects{overflow:visible}}@media(max-width:620px){:is(.app-shell,.ez-shell) :is(input[type=text],input[type=number],select,textarea){font-size:16px}:is(.app-shell,.ez-shell) input[type=color]{height:40px;min-height:40px}.app-shell :is(.control-panel,.inspector-panel) .field>span{font-size:14px}.app-shell :is(.control-panel,.inspector-panel) .section-title{font-size:15px}.app-shell :is(.control-panel,.inspector-panel) .status-line{font-size:13px;line-height:1.8}.app-shell :is(.control-panel,.inspector-panel) :is(.field.checkbox-field,.field:has(>input[type=checkbox])){min-height:44px}.app-shell .control-panel :is(.file-picker-button,.preset-grid button,.aspect-mode-grid button),.app-shell .control-panel .panel-section:has(.file-picker-button)>button{min-height:42px;font-size:13px}.ez-shell .ez-settings-dock :is(.ez-slider-row>span,.ez-text-field>span,.ez-color-field>span,.background-playlist-field>span){font-size:14px}.ez-shell .ez-settings-dock :is(.ez-subtitle-status,.background-playlist-hint,.ez-remix-config>small){font-size:13px}.ez-shell .ez-settings-dock :is(.ez-vinyl-uploads span,.background-playlist-upload,.ez-subtitle-btn,.ez-watermark-btn,.background-playlist-toolbar button){min-height:42px;font-size:14px}.ez-shell .ez-settings-dock .background-playlist-actions button{width:40px;min-width:40px;min-height:40px}.ez-shell .ez-settings-dock .background-playlist input[type=number]{width:60px;min-height:40px;font-size:16px}.ez-shell .ez-settings-dock .background-playlist label{font-size:14px}.ez-shell .ez-settings-dock .background-playlist-transitions>label:first-child{min-height:44px}.ez-shell .ez-template-search{min-height:44px}.ez-shell .ez-template-search input{font-size:16px}.ez-shell .ez-template-categories button{min-height:44px;font-size:13px}.ez-shell .ez-effect-note,.ez-shell .ez-library-heading p{font-size:13px}.ez-shell .ez-header .ez-pro-link{font-size:12px;min-height:40px}.ez-shell .ez-step{min-height:54px}.ez-shell .ez-step-body strong{white-space:normal;text-wrap:balance}.ez-shell .ez-step-body small{font-size:11px}.ez-shell .ez-res-toggle button{min-height:44px}.studio-stage-heading{min-height:47px;padding:12px 14px 7px}.studio-stage-heading h2,.ez-shell .ez-stage-heading h2{font-size:13px}.ez-shell .ez-stage-style{max-width:10ch;font-size:11px}.ez-shell .ez-stage-format,.ez-shell .ez-transport-time{font-size:11px}.ez-shell .ez-transport-btn{width:30px}.ez-shell .ez-transport-play{width:36px;height:36px}.app-shell .app-topbar .export-setting-select{width:100%}.app-shell :is(.mod-hint,.mod-shape label span,.mod-lfo label span){font-size:13px}.app-shell .kf-record{min-height:44px;font-size:14px}.app-shell :is(.kf-track,.mod-row) .mod-remove{width:40px;min-height:40px}.app-shell .kf-track-head .kf-add{min-height:42px;font-size:13px}:is(.app-shell,.ez-shell) .background-playlist :is(button,.background-playlist-upload){min-height:42px;font-size:14px}:is(.app-shell,.ez-shell) .background-playlist .background-playlist-actions button{width:40px;min-height:40px}:is(.app-shell,.ez-shell) .background-playlist input[type=number]{font-size:16px}}@media(pointer:coarse){:is(.app-shell,.ez-shell) :is(.ez-settings-dock,.rail-drawer,.inspector-panel,.control-panel) input[type=range]{height:40px;min-height:40px;touch-action:pan-y}:is(.app-shell,.ez-shell) :is(.ez-settings-dock,.rail-drawer,.inspector-panel,.control-panel) input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-8.5px}:is(.app-shell,.ez-shell) :is(.ez-settings-dock,.rail-drawer,.inspector-panel,.control-panel) input[type=range]::-moz-range-thumb{width:20px;height:20px}}:is(.app-shell,.ez-shell){font-optical-sizing:auto}:is(.app-shell,.ez-shell) :is(input[type=text],input[type=number],select,textarea){border-radius:8px;min-height:42px;letter-spacing:.01em}:is(.app-shell,.ez-shell) :is(.ez-settings-dock,.rail-drawer,.inspector-panel,.control-panel) input[type=text]{border-width:0 0 1px;border-radius:0;padding-inline:0;background:transparent}:is(.app-shell,.ez-shell) :is(.ez-settings-dock,.rail-drawer,.inspector-panel,.control-panel) select{border-color:transparent;background-color:color-mix(in srgb,var(--ui-ink) 6%,transparent)}:is(.app-shell,.ez-shell) :is(.ez-settings-dock,.rail-drawer,.inspector-panel,.control-panel) select:hover{background-color:var(--ui-hover)}:is(.app-shell,.ez-shell) input[type=color]{width:52px;padding:6px;border:1px solid var(--ui-line)}.app-shell .field>input[type=color]{width:52px;justify-self:end}.app-shell :is(.rail-drawer,.floating-inspector,.control-panel,.inspector-panel){border:1px solid var(--studio-line);border-radius:14px}.app-shell .floating-inspector>.inspector-panel{border:0;border-radius:0}.app-shell .panel-tabs{gap:18px}.app-shell .panel-tab{font-size:16px;font-weight:500}.app-shell .comp-header{align-items:center;margin-block:4px 18px}.app-shell .comp-add-button{min-height:36px;background:transparent;border:1px solid var(--studio-line);color:var(--text)}.app-shell .layer-row.compact{gap:12px;padding:12px;min-height:56px}.app-shell .layer-row.compact.selected{border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.studio-layer-symbol{flex:0 0 auto;color:var(--text2)}.layer-row.selected .studio-layer-symbol{color:var(--accent)}.app-shell .layer-row .layer-name{flex:1;min-width:0;font-size:14px;font-weight:500}.app-shell .layer-row .layer-remove{flex:0 0 auto}.app-shell :is(.section-title,.inspector-layer-title){font-weight:500}.app-shell .inspector-header .section-title{font-size:18px}.app-shell .inspector-layer-title{padding-block:10px 18px;margin-bottom:12px;border-bottom:1px solid var(--studio-line);font-size:15px;line-height:1.7}.app-shell .inspector-breadcrumb-root{font-size:12px}.app-shell .inspector-section{padding-block:18px}.app-shell .inspector-section-toggle{font-size:14px;font-weight:500}.app-shell .inspector-section-content{gap:18px;padding-top:8px}.app-shell .studio-stage-heading h2{font-weight:500}.app-shell .studio-command-bar{padding-top:4px;padding-bottom:20px}.studio-command-bar .audio-chip{border:1px solid var(--studio-line);background:transparent;border-radius:12px}.studio-command-bar .audio-chip-mic{background:var(--studio-surface)}.studio-command-bar .export-secondary-button,.app-shell .preset-grid button{background:transparent;border:1px solid var(--studio-line)}.app-shell .preset-grid button.active{background:var(--studio-selected)}.app-shell .timeline-panel{background:var(--studio-surface)}.app-shell .timeline-panel .timeline-header{padding-block:16px}@media(max-width:840px){.app-shell .studio-command-bar{padding-top:0;padding-bottom:18px}.app-shell .inspector-section-content{gap:16px}.app-shell .studio-tools-heading h2{font-size:19px;font-weight:500}}@media(max-width:360px){.ez-shell .ez-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ez-shell .ez-header-actions>a{justify-content:center;min-width:0}.ez-shell .ez-header-actions>.ez-pro-link:last-child{margin-left:0}.ez-shell .ez-res-toggle button{min-width:0;padding-inline:3px}}
