@font-face{font-family:RizLine;src:url(./SunghyunSansKR-Regular-DOlOLGal.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:RizLine;src:url(./SunghyunSansKR-Bold-lOdFHUY9.ttf) format("truetype");font-weight:700;font-style:normal}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0f0f14;--surface: #1a1a24;--border: #2a2a3a;--accent: #6c5ce7;--accent-hover: #7f6ff0;--note: #00cec9;--text: #e8e8f0;--text-muted: #8888a0;--sidebar-width: 200px}html,body{height:100%;overflow:hidden;overscroll-behavior:none;overscroll-behavior-x:none;touch-action:none;user-select:none}#ui-root{height:100%;display:flex;flex-direction:column}#ui-root .ui-app{flex:1;min-height:0}.no-select,.no-select label,.no-select span,.no-select .panel-title,.no-select .panel-subtitle{user-select:none;-webkit-user-select:none}input,textarea,select,option{user-select:text;-webkit-user-select:text}body{font-family:RizLine,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}.header-brand h1{cursor:default}#app{display:flex;flex-direction:column;height:100vh;padding:10px 14px}.header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;flex-shrink:0}.header-brand{display:flex;align-items:baseline;gap:12px;min-width:0}.header h1{font-size:22px;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--note));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:var(--text-muted);font-size:12px}.app-version{color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto}.workspace{display:flex;flex:1;min-height:0;gap:10px}.side-panel{width:var(--sidebar-width);flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--surface);border:1px solid var(--border);overflow-y:auto;touch-action:pan-y}.panel-block{padding-bottom:8px;border-bottom:1px solid var(--border)}.panel-block:last-child{border-bottom:none;padding-bottom:0}.panel-title{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}details .panel-title{cursor:pointer;list-style:none;margin-bottom:0}details[open] .panel-title{margin-bottom:8px}.panel-subsection{margin-top:8px}.panel-subtitle{font-size:11px;color:var(--text-muted);margin-bottom:6px}details .panel-title::-webkit-details-marker{display:none}.main-area{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);margin-bottom:6px;flex-shrink:0;flex-wrap:wrap}.file-btn{display:inline-flex;align-items:center;padding:6px 12px;background:var(--accent);color:#fff;cursor:pointer;font-size:12px;font-weight:500;transition:background .15s}.file-btn:hover{background:var(--accent-hover)}.file-btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.file-btn.secondary:hover{background:var(--border)}.secondary-btn{padding:6px 12px;background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;font-size:12px;font-weight:500;transition:background .15s}.secondary-btn:hover{background:var(--border)}.song-name{color:var(--text-muted);font-size:12px;width:120px;min-width:120px;max-width:120px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-group{display:flex;align-items:center;gap:6px;flex-shrink:0}body.project-locked .ui-tool-rail,body.project-locked .ui-right-panel,body.project-locked .ui-transport,body.project-locked .ui-statusbar,body.project-locked .ui-timeline-strip{pointer-events:none;opacity:.45}body.project-locked .ui-topbar-actions>*:not(.ui-file-btn):not(.ui-file-btn-secondary),body.project-locked .ui-topbar-actions .ui-btn:not(#help-guide-btn):not(#clear-cache-btn){pointer-events:none;opacity:.45}body.project-locked .ui-editor .chart-wrapper{pointer-events:auto}body.project-locked .ui-editor .chart-wrapper #timeline{pointer-events:none}body.project-locked .ui-file-btn,body.project-locked #help-guide-btn,body.project-locked #clear-cache-btn{pointer-events:auto;opacity:1}.tool-btn.dimmed-tool{opacity:.35;pointer-events:none}.place-tool-group,.canvas-mgmt-group{display:flex;align-items:center;gap:4px}.canvas-mgmt-group span{font-size:12px;color:var(--text-muted)}.canvas-select{min-width:72px;padding:4px 6px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:12px}.compact-btn{padding:4px 8px;min-width:28px;font-size:14px;line-height:1}.canvas-del-btn{color:#ff6b6b;font-weight:700}.canvas-del-btn.confirm{color:#7bed9f}.preset-bind-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;color:var(--text-muted);cursor:pointer;user-select:none}.preset-bind-row input{margin:0}.preset-group{margin-top:10px;margin-bottom:10px}.mode-group,.place-tool-group{display:flex;align-items:center;gap:4px}.mode-group{margin-left:auto}.mode-group span,.place-tool-group span{font-size:12px;color:var(--text-muted);margin-right:2px}.mode-btn.active,.tool-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.type-btn{padding:4px 8px;font-size:11px}.type-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.field-row,.color-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.field-row label,.color-row label{font-size:11px;color:var(--text-muted);flex-shrink:0}.field-row input[type=number]{width:72px;padding:4px 6px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:12px;text-align:right;-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.kv-list{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.kv-row{display:flex;gap:4px;align-items:center}.kv-row input{flex:1;min-width:0;padding:4px 6px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:11px}.kv-row .kv-del-btn{flex:0 0 auto;width:24px;padding:2px 0;line-height:1}.small-btn{width:100%;padding:5px 8px;font-size:11px}.color-row input[type=color]{width:28px;height:22px;padding:0;border:1px solid var(--border);background:transparent}.preset-row{gap:4px}.preset-row label{min-width:42px}.alpha-label{font-size:10px;color:var(--text-muted);min-width:auto!important;margin-left:2px}.alpha-input{width:44px;min-width:44px;padding:2px 4px;font-size:11px}.preset-hex-row label{min-width:28px}.hex-input{flex:1;min-width:0;max-width:100%;padding:2px 6px;font-size:11px;font-family:ui-monospace,monospace}.grid-select{min-width:72px;padding:4px 6px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:12px}.field-row input[type=range]{flex:1;min-width:0;height:4px;-webkit-appearance:none;appearance:none;background:var(--border);cursor:pointer}.field-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;background:var(--accent);cursor:pointer}.preview-toggle-group{display:flex;align-items:center;gap:4px}.toggle-btn{padding:4px 8px;font-size:11px;border:1px solid var(--border);background:var(--panel, var(--bg));color:var(--text-muted);cursor:pointer}.toggle-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.delay-group,.zoom-group,.volume-group,.playback-group,.ease-group{display:flex;align-items:center;gap:6px}.playback-group label{font-size:12px;color:var(--text-muted);white-space:nowrap}.playback-group input[type=range]{width:88px;height:4px;-webkit-appearance:none;appearance:none;background:var(--border);cursor:pointer}.playback-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;background:var(--accent);cursor:pointer}.playback-speed-label{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:36px}.volume-group label,.ease-group label{font-size:12px;color:var(--text-muted);white-space:nowrap}.volume-group input[type=range]{width:72px;height:4px;-webkit-appearance:none;appearance:none;background:var(--border);cursor:pointer}.volume-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;background:var(--accent);cursor:pointer}.ease-select{min-width:96px;padding:4px 6px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:12px}.delay-group label,.zoom-group span{font-size:12px;color:var(--text-muted)}.delay-group input{width:60px;padding:4px 6px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:12px;text-align:center;-moz-appearance:textfield;appearance:textfield}.kv-row input[type=number]{-moz-appearance:textfield;appearance:textfield}.kv-row input[type=number]::-webkit-inner-spin-button,.kv-row input[type=number]::-webkit-outer-spin-button,.delay-group input::-webkit-inner-spin-button,.delay-group input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.delay-group input:focus{outline:none;border-color:var(--accent)}.zoom-group strong{color:#ffd666;font-size:13px;min-width:42px;text-align:center}button{padding:6px 12px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:12px;cursor:pointer;transition:background .15s}button:hover:not(:disabled){background:var(--border)}button:disabled{opacity:.4;cursor:not-allowed}.progress-section{display:flex;align-items:center;gap:8px;padding:4px 0;margin-bottom:6px;flex-shrink:0}.time-label{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:32px}.time-label:last-child{text-align:right}.progress-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--border);outline:none;cursor:pointer}.progress-slider:disabled{opacity:.4;cursor:not-allowed}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);cursor:pointer}.progress-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--accent);border:none;cursor:pointer}.editor{flex:1;min-height:0;display:flex}.chart-wrapper{flex:1;border:1px solid var(--border);overflow:hidden;cursor:crosshair;position:relative;background:#14141e;touch-action:none;user-select:none}.project-lock-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px;pointer-events:auto;background:#14141e99;z-index:2}.project-lock-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.project-lock-content p{margin:0}.project-lock-hint-sub{font-size:12px;opacity:.75}.project-lock-actions{display:flex;gap:8px;margin-top:4px}.chart-wrapper.chart-drop-active{outline:2px dashed var(--accent);outline-offset:-2px;background:#788cff0f}.project-lock-hint[hidden]{display:none!important}.object-inspector{pointer-events:auto}.inspector-card{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.inspector-empty{margin:0;font-size:12px;color:var(--text-muted)}.inspector-title{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--accent)}.inspector-body{display:flex;flex-direction:column;gap:6px}.inspector-field{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:6px;font-size:12px}.inspector-field label,.inspector-color-row label{color:var(--text-muted)}.inspector-field input,.inspector-field select{width:100%;font-size:12px}.inspector-color-row{display:grid;grid-template-columns:72px 1fr 52px;align-items:center;gap:6px;font-size:12px}.inspector-hint{margin:8px 0 0;font-size:11px;color:var(--text-muted)}.beat-filter-hint,.preset-hint{margin:0 0 8px;font-size:11px;color:var(--text-muted);line-height:1.4}.beat-filter-beat{font-size:12px;font-weight:600;margin-bottom:8px;color:var(--note)}.beat-filter-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.beat-filter-item{width:100%;text-align:left;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:11px;cursor:pointer}.beat-filter-item:hover{border-color:var(--accent);background:#6c5ce71f}.beat-filter-item.active{border-color:var(--note);background:#00cec91f}.beat-filter-empty{font-size:11px;color:var(--text-muted)}#timeline{display:block;width:100%;height:100%;touch-action:none}.help-modal[hidden]{display:none!important}.help-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px}.help-modal-backdrop{position:absolute;inset:0;background:#0000008c}.help-modal-panel{position:relative;z-index:1;width:min(720px,100%);max-height:min(80vh,900px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 16px 48px #00000073;overflow:hidden}.help-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.help-modal-header h2{font-size:16px;font-weight:700}.help-modal-close{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer}.help-modal-close:hover{color:var(--text);background:#ffffff0f}.help-modal-body{padding:16px 18px 24px;overflow:auto;user-select:text;-webkit-user-select:text;font-size:13px;line-height:1.55;color:var(--text)}.help-modal-body h1{font-size:20px;margin:0 0 12px}.help-modal-body h2{font-size:15px;margin:18px 0 8px;color:var(--note)}.help-modal-body p,.help-modal-body li{color:var(--text);margin:0 0 8px}.help-modal-body ul{margin:0 0 10px;padding-left:1.2em}.help-modal-body code{font-family:ui-monospace,Consolas,monospace;font-size:12px;padding:1px 5px;border-radius:4px;background:#6c5ce72e;color:#c8c0ff}.help-modal-body table{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:12px}.help-modal-body th,.help-modal-body td{border:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}.help-modal-body th{background:#ffffff0a;color:var(--text-muted);font-weight:600}@media(max-width:720px){.workspace{flex-direction:column}.side-panel{width:100%;max-height:180px;flex-direction:row;flex-wrap:wrap}.panel-block{flex:1;min-width:140px;border-bottom:none;border-right:1px solid var(--border);padding-right:8px}}:root{--rail-width: 64px;--panel-width: 300px;--transport-height: 52px;--status-height: 28px;--timeline-strip-height: 52px;--topbar-height: 44px}.ui-app{display:flex;flex-direction:column;flex:1;min-height:0;padding:8px 10px}.ui-topbar{display:flex;align-items:center;gap:12px;flex-shrink:0;min-height:var(--topbar-height);margin-bottom:6px}.ui-topbar-brand{display:flex;align-items:baseline;gap:8px}.ui-topbar-brand h1{font-size:20px;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--note));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ui-topbar-sub{color:var(--text-muted);font-size:11px}.ui-topbar-actions{display:flex;align-items:center;gap:8px;flex:1;min-width:0;flex-wrap:wrap}.ui-app-version{color:var(--text-muted);font-size:11px;flex-shrink:0}.ui-song-name{color:var(--text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.ui-file-btn,.ui-btn{padding:5px 10px;font-size:12px;border-radius:4px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.ui-file-btn-secondary,.ui-btn-secondary{opacity:.9}.ui-body{display:flex;flex:1;min-height:0;gap:8px}.ui-tool-rail{width:var(--rail-width);flex-shrink:0;display:flex;flex-direction:column;gap:10px;padding:6px 4px;background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow-y:auto}.ui-tool-rail-section{display:flex;flex-direction:column;gap:4px;align-items:stretch}.ui-tool-rail-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.ui-mode-btn,.ui-tool-btn{padding:4px 2px;font-size:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;cursor:pointer}.ui-mode-btn.active,.ui-tool-btn.active{border-color:var(--accent);background:#6c5ce740}.ui-bezier-toggle-btn.bezier-plus.active{border-color:#38bdf8;background:#38bdf838}.ui-place-tools{display:flex;flex-direction:column;gap:3px}.ui-canvas-select,.ui-ease-select{width:100%;font-size:10px;padding:3px;background:var(--bg);border:1px solid var(--border);color:var(--text)}.ui-canvas-btns{display:flex;gap:4px}.ui-compact-btn{flex:1;padding:2px;font-size:12px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:3px;cursor:pointer}.ui-center{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.ui-color-toolbar{display:flex;align-items:center;gap:8px;padding:4px 8px;margin-bottom:4px;background:var(--surface);border:1px solid var(--border);border-radius:4px;font-size:11px}.ui-color-toolbar-tab{padding:2px 8px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:3px;cursor:pointer;font-size:11px}.ui-color-toolbar-tab.active{border-color:var(--accent)}.ui-color-toolbar-hint{color:var(--text-muted);font-size:10px}.ui-tool-divider{border:none;border-top:1px solid var(--border);margin:4px 0;opacity:.7}.ui-tool-rail-canvas-btns{margin-top:2px}.ui-rail-picker{position:relative;display:flex;flex-direction:column;gap:4px}.ui-rail-picker-btn{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;padding:4px 6px;font-size:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;cursor:pointer;text-align:left}.ui-rail-picker-btn.open{border-color:var(--accent)}.ui-rail-picker-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-rail-picker-chevron{font-size:9px;color:var(--text-muted);flex-shrink:0}.ui-rail-picker-menu{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:40;max-height:160px;overflow-y:auto;border:1px solid var(--border);background:var(--surface);border-radius:4px;box-shadow:0 6px 16px #00000073;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.ui-rail-picker-menu-up{top:auto;bottom:calc(100% + 2px)}.ui-rail-picker-menu::-webkit-scrollbar{width:5px}.ui-rail-picker-menu::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.ui-rail-picker-item{display:block;width:100%;padding:5px 8px;font-size:10px;border:none;background:transparent;color:var(--text);text-align:left;cursor:pointer}.ui-rail-picker-item:hover{background:#6c5ce726}.ui-rail-picker-item.active{background:#6c5ce747;color:var(--accent)}.ui-tool-rail-spacer{flex:1;min-height:8px}.ui-tool-rail-grid .ui-grid-row{display:flex;flex-direction:column;gap:2px;margin:0}.ui-tool-rail-grid .ui-grid-row label{font-size:9px;color:var(--text-muted)}.ui-grid-select{width:100%;font-size:10px;padding:3px;background:var(--bg);border:1px solid var(--border);color:var(--text)}.ui-editor{flex:1;min-height:0;display:flex;flex-direction:column}.ui-editor .chart-wrapper{flex:1;min-height:160px;position:relative;display:block;border:1px solid var(--border);overflow:hidden;cursor:crosshair;background:#14141e;touch-action:none}.ui-editor .chart-wrapper #timeline{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.ui-timeline-strip{width:100%;height:var(--timeline-strip-height);flex-shrink:0;margin-bottom:4px;border:1px solid var(--border);border-radius:4px;cursor:pointer;background:#12121a}.ui-status-muted{color:var(--text-muted);font-size:11px}.ui-minimap{width:100%;height:var(--minimap-height);flex-shrink:0;margin-top:4px;border:1px solid var(--border);border-radius:4px;cursor:pointer;background:#12121a}.ui-transport{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:6px 8px;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:6px;min-height:var(--transport-height);flex-wrap:wrap}.ui-transport-playback{display:flex;align-items:center;gap:8px;flex:1;min-width:200px}.ui-transport-play{width:32px;height:32px;border-radius:50%;border:1px solid var(--accent);background:#6c5ce733;color:var(--text);cursor:pointer;font-size:14px}.ui-transport-play:disabled{opacity:.4;cursor:default}.ui-transport-beat{font-size:11px;color:var(--note);min-width:72px}.ui-progress-slider{flex:1;min-width:80px}.ui-transport-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ui-transport-group{display:flex;align-items:center;gap:4px;font-size:11px}.ui-transport-group input[type=range]{width:64px}.ui-toggle-btn{padding:4px 8px;font-size:11px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;cursor:pointer}.ui-toggle-btn.active{border-color:var(--note);background:#00cec926}.ui-statusbar{display:flex;align-items:center;gap:8px;padding:4px 8px;margin-top:4px;font-size:11px;color:var(--text-muted);min-height:var(--status-height);background:#0003;border-radius:4px}.ui-status-item strong{color:var(--text)}.ui-status-sep{opacity:.35}.ui-status-spacer{flex:1}.ui-status-btn{padding:2px 8px;font-size:11px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:3px;cursor:pointer}.ui-status-btn:disabled{opacity:.35;cursor:default}.ui-status-depth{font-variant-numeric:tabular-nums;min-width:1.5em;text-align:right}.ui-right-panel{width:var(--panel-width);flex-shrink:0;display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:6px}.ui-tab-strip{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--border);flex-shrink:0}.ui-tab-btn{flex:1;min-width:0;padding:6px 4px;font-size:11px;border:none;background:transparent;color:var(--text-muted);cursor:pointer}.ui-tab-btn.active{color:var(--text);background:#6c5ce71f;box-shadow:inset 0 -2px 0 var(--accent)}.ui-right-panel-body{flex:1;overflow-y:auto;min-height:0}.ui-tab-panel{display:none}.ui-tab-panel.active{display:block}.ui-panel-content{padding:8px}.ui-panel-block{margin-bottom:8px}.ui-panel-title{font-size:12px;font-weight:600;cursor:pointer}.ui-panel-empty{padding:12px;font-size:11px;color:var(--text-muted)}.ui-layer-list{display:flex;flex-direction:column;gap:2px;padding:6px}.ui-layer-row{display:flex;align-items:center;gap:6px;padding:5px 8px;text-align:left;border:1px solid transparent;border-radius:4px;background:var(--bg);color:var(--text);cursor:pointer;font-size:11px}.ui-layer-row.active{border-color:var(--accent)}.ui-layer-id{font-weight:600;min-width:28px}.ui-layer-meta{flex:1;color:var(--text-muted)}.ui-layer-badges{font-size:9px;color:var(--note)}.ui-keyframe-panel{padding:8px;display:flex;flex-direction:column;gap:10px}.ui-keyframe-track-label{font-size:10px;color:var(--text-muted);margin-bottom:4px}.ui-keyframe-track-items{display:flex;flex-wrap:wrap;gap:4px}.ui-keyframe-chip{padding:2px 6px;font-size:10px;border:1px solid var(--border);border-radius:3px;cursor:pointer;color:#fff;text-shadow:0 0 2px #000}.ui-keyframe-empty{font-size:10px;color:var(--text-muted)}.ui-cmd-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.ui-cmd-panel{width:min(420px,90vw);background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #0006}.ui-cmd-input{width:100%;padding:12px 14px;border:none;border-bottom:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px}.ui-cmd-list{list-style:none;max-height:280px;overflow-y:auto}.ui-cmd-item{width:100%;display:flex;justify-content:space-between;padding:10px 14px;border:none;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-size:13px}.ui-cmd-item:hover{background:#6c5ce726}.ui-cmd-item kbd{font-size:10px;color:var(--text-muted)}.ui-shortcut-overlay{position:fixed;inset:0;background:#0000008c;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:6vh 12px 12px;overflow-y:auto}.ui-shortcut-panel{width:min(720px,96vw);max-height:88vh;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #00000073;display:flex;flex-direction:column}.ui-shortcut-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.ui-shortcut-header h2{font-size:15px;font-weight:600}.ui-shortcut-close{border:none;background:transparent;color:var(--text-muted);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}.ui-shortcut-body{padding:10px 14px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px}.ui-shortcut-section h3{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.ui-shortcut-section table{width:100%;border-collapse:collapse;font-size:12px}.ui-shortcut-section td{padding:3px 0;vertical-align:top}.ui-shortcut-section td:first-child{width:38%;padding-right:8px;white-space:nowrap}.ui-shortcut-section kbd{font-size:10px;padding:1px 5px;border-radius:3px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.ui-shortcut-footer{padding:8px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted);text-align:center}.ui-theme-preview-row{display:flex;gap:10px;flex-wrap:wrap}.ui-theme-preview{flex:1;min-width:100px;display:flex;flex-direction:column;gap:4px}.ui-theme-preview-label{font-size:10px;color:var(--text-muted)}.ui-theme-preview-swatch{height:36px;border-radius:4px;border:1px solid var(--border)}.ui-theme-preview-swatch--empty{background:repeating-linear-gradient(45deg,var(--bg),var(--bg) 6px,var(--border) 6px,var(--border) 7px)}.ui-theme-preview-legend{display:flex;gap:3px}.ui-theme-preview-legend span{flex:1;height:6px;border-radius:2px;border:1px solid rgba(255,255,255,.15)}.ui-drawer-toggle,.ui-drawer-backdrop{display:none}@media(max-width:960px){.ui-drawer-toggle{display:flex;align-items:center;justify-content:center;position:fixed;z-index:90;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;box-shadow:0 2px 8px #00000059}.ui-drawer-toggle-left{left:8px;bottom:calc(var(--transport-height) + var(--status-height) + 20px)}.ui-drawer-toggle-right{right:8px;bottom:calc(var(--transport-height) + var(--status-height) + 20px)}.ui-tool-rail,.ui-right-panel{position:fixed;z-index:100;top:calc(var(--topbar-height) + 16px);bottom:calc(var(--transport-height) + var(--status-height) + 12px);transition:transform .2s ease;box-shadow:0 4px 24px #00000073}.ui-tool-rail{left:0;transform:translate(calc(-100% - 8px));max-height:none}.ui-right-panel{right:0;width:min(var(--panel-width),88vw);transform:translate(calc(100% + 8px))}.ui-app.ui-drawer-left-open .ui-tool-rail,.ui-app.ui-drawer-right-open .ui-right-panel{transform:translate(0)}.ui-drawer-backdrop{display:block;position:fixed;inset:0;z-index:95;background:#0006}}.ui-status-dirty{color:#f0a060;font-size:11px;font-weight:600}.ui-desktop-tag{display:inline-block;margin-right:6px;padding:1px 5px;border-radius:4px;font-size:10px;background:#788cff33;color:#a8b4ff}.ui-toast-stack{position:fixed;bottom:48px;right:16px;z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:min(360px,calc(100vw - 32px))}.ui-toast{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:13px;background:#1e1e2a;border:1px solid var(--border);box-shadow:0 4px 16px #00000059;pointer-events:auto}.ui-toast-success{border-color:#50c87866}.ui-toast-error{border-color:#f0646466}.ui-toast-close{margin-left:auto;padding:0 4px;border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:16px;line-height:1}.ui-cmd-item.active{background:#788cff26}
