@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css";:root{--bg:#2c2c2c;--bg2:#383838;--bg3:#444;--line:#3d3d3d;--text:#ededed;--muted:#a8a8a8;--accent:#1f6feb;--accent-soft:#2a3550;--accent-text:#7aabff;--warn:#ffc266;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Pretendard Variable,Pretendard,Noto Sans KR,system-ui,sans-serif;font-size:11px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}input,select,textarea{font:inherit;color:inherit}select option{background:#2c2c2c}.boot{height:100%;color:var(--muted);justify-content:center;align-items:center;font-size:14px;display:flex}.app{flex-direction:column;height:100%;display:flex}.main{flex:1;min-height:0;display:flex;position:relative}.center{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.canvas-area{flex:1;min-height:0;position:relative}.ib{width:28px;height:28px;color:var(--text);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.ib:hover:not(:disabled){background:var(--bg2)}.btn,.btn-primary{border-radius:6px;justify-content:center;align-items:center;gap:6px;height:30px;padding:0 12px;font-weight:600;display:inline-flex}.btn{background:var(--bg2);border:1px solid #4a4a4a}.btn:hover:not(:disabled){background:var(--bg3)}.btn-primary{background:var(--accent);color:#fff;border:none}.btn-primary:hover:not(:disabled){background:#3b82f6}.btn.sm,.btn-primary.sm{height:28px;padding:0 8px;font-size:11px}.btn.full{width:100%}.btn.dashed{background:0 0;border:1px dashed #5a5a5a}.muted{color:var(--muted)}.kbd{color:var(--muted);margin-left:auto;font-size:10px}.link{color:var(--accent-text);background:0 0;border:none;margin-left:auto;padding:0}.row-gap{gap:8px;display:flex}.empty-note{color:var(--muted);padding:12px;line-height:1.7}.inline-input{border:1px solid var(--accent);background:#1f1f1f;border-radius:3px;outline:none;width:100%;min-width:0;height:22px;padding:0 6px}.check{align-items:center;gap:8px;padding:8px 0 0;display:flex}.check input{accent-color:var(--accent)}hr{border:none;border-top:1px solid var(--line);margin:4px 0}.nav-rail{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:48px;padding-top:10px;display:flex}.nav-rail .logo{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:10px;font-weight:900;display:flex}.nav-rail button{width:40px;color:var(--muted);background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:10px;display:flex}.nav-rail button.on{color:var(--text);background:#3a3f4b}.left-panel{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:240px;min-height:0;display:flex}.file-header{border-bottom:1px solid var(--line);padding:12px 8px 10px 12px;position:relative}.fh-main{flex-direction:column;gap:4px;display:flex}.fh-name{text-align:left;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:700;display:flex}.fh-status{color:var(--muted);font-size:10px}.menu{z-index:30;background:#1e1e1e;border:1px solid #444;border-radius:8px;flex-direction:column;min-width:200px;padding:4px;display:flex;position:absolute;top:38px;left:8px;box-shadow:0 8px 24px #00000080}.menu.right{top:30px;left:auto;right:0}.menu button{text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:7px 10px;display:flex}.menu button:hover:not(:disabled){background:var(--accent)}.lp-head{flex-shrink:0;justify-content:space-between;align-items:center;height:40px;padding:0 6px 0 12px;font-weight:700;display:flex}.page-list{border-bottom:1px solid var(--line);padding-bottom:8px}.row{cursor:default;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:6px;height:28px;margin:0 8px;padding:0 8px;display:flex;position:relative}.row:hover{background:#333}.row.on{background:var(--bg2);font-weight:600}.row-act{width:22px;height:22px;position:absolute;right:2px}.layer-list{flex-direction:column;flex:1;min-height:0;display:flex}.layer-scroll{flex:1;padding-bottom:12px;overflow:auto}.row.layer{gap:4px;margin:0 4px;padding-right:4px}.row.layer.sel{background:var(--accent);color:#fff}.row.layer.psel{background:var(--accent-soft)}.row.layer.hidden .ly-name{opacity:.45}.twisty{width:14px;height:14px;color:var(--muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ly-ic{color:var(--muted);flex-shrink:0}.row.layer.sel .ly-ic,.row.layer.sel .twisty{color:#fff}.ly-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.row-tools{opacity:0;display:flex}.row-tools .ib{width:22px;height:22px}.row-tools .ib.keep,.row.layer:hover .row-tools{opacity:1}.row-tools:has(.keep){opacity:1}.assets{flex-direction:column;flex:1;min-height:0;display:flex}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 10px;display:grid;overflow:auto}.asset{aspect-ratio:1;border:1px solid var(--line);background:#1e1e1e;border-radius:6px;padding:0;overflow:hidden}.asset img{object-fit:cover;width:100%;height:100%}.canvas-wrap{position:absolute;inset:0;overflow:hidden}.text-editor{z-index:5;outline:1px solid var(--accent);resize:none;background:0 0;border:none;margin:0;padding:0;position:absolute;overflow:hidden}.toolbox{background:var(--bg);border:1px solid var(--line);z-index:10;border-radius:12px;align-items:center;gap:2px;padding:6px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000059}.tb{background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.tb:hover:not(:disabled){background:var(--bg2)}.tb.on{background:var(--accent);color:#fff}.tb-split{align-items:center;display:flex;position:relative}.tb-chev{width:14px;height:36px;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.tb-sep{background:#4a4a4a;width:1px;height:20px;margin:0 4px}.tb-menu{background:#1e1e1e;border:1px solid #444;border-radius:8px;flex-direction:column;min-width:140px;padding:4px;display:flex;position:absolute;bottom:44px;left:0}.tb-menu button{text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:7px 8px;display:flex}.tb-menu button:hover{background:var(--accent)}.shortcut-hint{background:var(--bg);border:1px solid var(--line);color:#c8c8c8;z-index:9;border-radius:8px;align-items:center;gap:14px;padding:6px 6px 6px 12px;display:flex;position:absolute;bottom:20px;left:16px}.shortcut-hint .ib{width:20px;height:20px;color:var(--muted)}.toast{z-index:20;background:#111;border:1px solid #444;border-radius:999px;padding:8px 14px;font-size:12px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.right-panel{border-left:1px solid var(--line);flex-direction:column;flex-shrink:0;width:240px;min-height:0;display:flex}.action-header{flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;height:48px;padding:0 10px;display:flex}.tab-row{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;height:36px;padding:0 10px;display:flex}.tab{background:0 0;border:none;border-radius:4px;height:26px;padding:0 10px;font-weight:700}.tab.on{background:var(--bg2)}.zoom-wrap{position:relative}.zoom{background:0 0;border:none;align-items:center;gap:4px;height:26px;display:flex}.rp-scroll{flex:1;overflow:auto}.sel-title{border-bottom:1px solid var(--line);align-items:center;height:40px;padding:0 12px;font-size:13px;font-weight:700;display:flex}.pgroup{border-bottom:1px solid var(--line);padding-bottom:12px}.pgroup.hl{background:#333a48}.pg-head{justify-content:space-between;align-items:center;height:40px;padding:0 6px 0 12px;font-weight:700;display:flex}.pgroup:not(:has(.pg-body)){padding-bottom:0}.pg-body{flex-direction:column;gap:8px;padding:0 12px;display:flex}.lbl{color:var(--muted);margin-bottom:-4px;font-size:10px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.grid-exp{grid-template-columns:64px 1fr 28px;gap:6px;display:grid}.row2{gap:8px;display:flex}.field{background:var(--bg2);height:28px;color:var(--muted);border:1px solid #0000;border-radius:4px;align-items:center;gap:6px;min-width:0;padding:0 8px;display:flex}.field:focus-within{border-color:var(--accent)}.field input{width:100%;min-width:0;color:var(--text);background:0 0;border:none;outline:none;padding:0}.field.disabled{opacity:.5}select.field{color:var(--text);appearance:auto;outline:none}.field-label{cursor:ew-resize;-webkit-user-select:none;user-select:none;white-space:nowrap}.field.mono{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:Consolas,monospace;overflow:hidden}.font-btn{width:100%;color:var(--text);justify-content:space-between;font-size:12px}.font-btn.active{border-color:var(--accent)}.font-btn.missing{color:var(--warn)}.img-row{width:100%;color:var(--text);gap:8px}.img-row img{object-fit:cover;border-radius:2px;width:16px;height:16px}.img-row .muted{margin-left:auto}.sq-only{border-top:1px dashed #4a5570;padding-top:10px}.sq-tag{color:#9db8ff;margin-bottom:6px;font-size:10px;font-weight:700}.seg{background:var(--bg2);border-radius:4px;display:flex}.seg button{background:0 0;border:none;border-radius:4px;flex:1;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 6px;display:flex}.seg button.on{background:#4f4f4f}.seg button:hover{background:var(--bg3)}.seg.wide button{font-size:11px}.color-field{grid-template-columns:28px 1fr 64px;align-items:center;gap:6px;display:grid}.grid2 .color-field{grid-template-columns:24px 1fr}.swatch{cursor:pointer;border:1px solid #666;border-radius:4px;justify-self:center;width:24px;height:24px;padding:0;position:relative;overflow:hidden}.swatch input{opacity:0;cursor:pointer;width:40px;height:40px;position:absolute;inset:-8px}.hex{background:var(--bg2);border:1px solid #0000;border-radius:4px;outline:none;min-width:0;height:28px;padding:0 8px}.hex:focus{border-color:var(--accent)}.hint p{color:#c8c8c8;margin:0 0 6px;line-height:1.6}.popover{background:var(--bg);border:1px solid var(--line);z-index:25;border-radius:10px;flex-direction:column;width:256px;max-height:calc(100% - 140px);display:flex;position:absolute;top:120px;right:248px;overflow:hidden;box-shadow:0 8px 24px #00000073}.po-head{flex-shrink:0;justify-content:space-between;align-items:center;height:40px;padding:0 6px 0 12px;font-weight:700;display:flex}.popover .search{border-color:var(--accent);margin:0 10px 8px}.po-filters,.po-row{padding:0 10px 8px}.po-filters .field,.po-row>.field{width:100%}.font-list{flex:1;overflow:auto}.font-item{text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;height:32px;padding:0 12px;font-size:15px;display:flex}.font-item:hover{background:#333}.font-item.on{background:var(--accent);color:#fff}.po-foot{border-top:1px solid var(--line);padding:8px 10px 10px}.missing-box{color:var(--warn);background:#3d2e12;border-radius:6px;flex-direction:column;gap:6px;margin:0 10px 8px;padding:8px;display:flex}.missing-row{color:var(--text);justify-content:space-between;align-items:center;gap:6px;display:flex}.img-preview{background:repeating-conic-gradient(#3a3a3a 0% 25%,#444 0% 50%) 0 0/16px 16px;border-radius:4px;justify-content:center;align-items:center;height:150px;margin:0 10px 10px;display:flex;overflow:hidden}.img-preview img{max-width:100%;max-height:100%}.po-note{color:var(--muted);padding:0 12px 12px;line-height:1.6}.status-bar{border-top:1px solid var(--line);color:#b8b8b8;flex-shrink:0;justify-content:space-between;align-items:center;height:28px;padding:0 12px;display:flex}.modal-back{z-index:50;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-back.top{z-index:60}.modal{background:var(--bg);border:1px solid #444;border-radius:12px;flex-direction:column;max-height:calc(100vh - 60px);display:flex;box-shadow:0 16px 48px #0000008c}.modal.export{width:800px}.modal-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 12px 0 20px;display:flex}.modal-head b{margin-right:10px;font-size:15px}.modal-body.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:16px 20px;display:grid;overflow:auto}.col{flex-direction:column;gap:8px;display:flex}.mh{align-items:center;gap:8px;margin-top:8px;font-size:12px;font-weight:700;display:flex}.frame-list{border:1px solid var(--line);border-radius:8px;max-height:260px;overflow:auto}.fr-row{border-bottom:1px solid #3a3a3a;align-items:center;gap:8px;height:34px;padding:0 10px;font-size:12px;display:flex}.fr-row:last-child{border-bottom:none}.fr-row input,.tpl input[type=checkbox],.tpl input[type=radio]{accent-color:var(--accent)}.fr-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tpl{border:1px solid #444;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex}.tpl.on{border-color:var(--accent);background:#26334d}.tpl.disabled{opacity:.5}.tpl-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tpl-main .inline-input{background:0 0;border-color:#0000;padding:0;font-weight:700}.tpl-main .inline-input:focus{border-color:var(--accent);background:#1f1f1f;padding:0 6px}.tpl-w{width:120px}.folder-row{gap:6px;margin-top:4px;display:flex}.tree{border:1px solid var(--line);color:#c8c8c8;white-space:pre-wrap;background:#242424;border-radius:8px;margin:0;padding:10px 12px;font-family:Consolas,Pretendard Variable,monospace;font-size:11px;line-height:1.7}.modal-foot{border-top:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 20px;display:flex}.modal.confirm{gap:8px;width:480px;padding:18px 20px 0}.modal.confirm .modal-foot{border-top:none;padding:0}.confirm-head{gap:12px;margin-bottom:4px;display:flex}.confirm-head b{font-size:15px}.confirm-head p{margin:4px 0 0;line-height:1.6}.warn-ic{width:32px;height:32px;color:var(--warn);background:#3d2e12;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.op{text-align:left;background:0 0;border:1px solid #444;border-radius:8px;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;display:flex}.op span{flex-direction:column;gap:3px;display:flex}.op.on{border-color:var(--accent);background:#26334d}.row.layer.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.row.layer.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.row.layer.drop-inside{outline:1px solid var(--accent);background:var(--accent-soft)}.modal.drive{width:560px}.drive-body{flex-direction:column;gap:12px;padding:16px 20px;display:flex;overflow:auto}.drive-body p{margin:0;line-height:1.7}.guide{color:#c8c8c8;margin:0;padding-left:18px;line-height:1.9}.guide code{background:#1e1e1e;border-radius:3px;padding:1px 6px}.drive-list{border:1px solid var(--line);border-radius:8px;flex-direction:column;max-height:360px;display:flex;overflow:auto}.drive-list .fr-row{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #3a3a3a}.drive-list .fr-row:hover{background:#333}.err{color:#ff8a8a;word-break:break-all;background:#3a1e1e;border-radius:6px;padding:8px 10px;line-height:1.6}.la-grid-row{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:8px;display:grid}.align-grid{background:var(--bg2);border-radius:4px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:72px;height:72px;padding:3px;display:grid}.align-grid button{background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;display:flex}.align-grid button:hover{background:var(--bg3)}.align-grid .dot{background:#777;border-radius:50%;width:3px;height:3px}.align-grid button.on .dot{background:var(--accent-text)}.align-grid .dot.bar-v{border-radius:1px;width:4px;height:12px}.align-grid .dot.bar-h{border-radius:1px;width:12px;height:4px}.la-side{flex-direction:column;gap:6px;display:flex}.btn.on-accent{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.la-pad-lbl{justify-content:space-between;align-items:center;margin-bottom:-6px;display:flex}.ib.xs{width:20px;height:20px}select.size-mode{color:var(--text)}.tbl-ops{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.tbl-ops .btn{padding:0 4px}.hint.small{color:var(--muted);font-size:10px;line-height:1.5}.cell-editor{box-sizing:border-box;outline:2px solid var(--accent)!important}.preview{z-index:70;background:#1b1b1b;flex-direction:column;display:flex;position:fixed;inset:0}.pv-head{border-bottom:1px solid var(--line);background:var(--bg);flex-shrink:0;align-items:center;gap:14px;height:52px;padding:0 12px 0 18px;display:flex}.pv-head b{font-size:14px}.pv-seg button{white-space:nowrap;flex:none;padding:0 12px}.pv-seg button.on{background:var(--accent);color:#fff}.pv-head .muted{color:var(--muted)}.pv-close{margin-left:auto}.pv-body{flex:1;min-height:0;display:flex}.pv-side{border-right:1px solid var(--line);background:var(--bg);flex-shrink:0;width:260px;padding-bottom:12px;overflow:auto}.pv-tip{padding:0 12px 8px}.pv-item{cursor:grab;border-top:2px solid #0000;grid-template-columns:18px 44px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:6px 12px;display:grid}.pv-item:hover{background:var(--bg2)}.pv-item.over{border-top-color:var(--accent)}.pv-item.off{opacity:.45}.pv-item input{accent-color:var(--accent)}.pv-num{color:var(--muted);text-align:right}.pv-thumb{background:#fff;border-radius:3px;justify-content:center;align-items:flex-start;width:44px;height:44px;display:flex;overflow:hidden}.pv-thumb img{width:100%}.pv-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pv-name em{color:var(--muted);font-style:normal}.pv-stage{background:#e9ebee;flex:1;justify-content:center;padding:24px 0 60px;display:flex;overflow:auto}.pv-stage.mobile{background:#1b1b1b;align-items:center;padding:20px 0;overflow:hidden}.pv-pc{background:#fff;height:max-content;box-shadow:0 2px 16px #00000026}.pv-pc img,.pv-phone img{display:block}.pv-phone{box-sizing:content-box;background:#fff;border:10px solid #000;border-radius:40px;flex-direction:column;height:min(844px,100%);display:flex;overflow:hidden;box-shadow:0 0 0 2px #333,0 20px 50px #00000080}.pv-status{color:#111;border-bottom:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;height:34px;padding:0 22px;font-size:12px;font-weight:700;display:flex}.pv-status span{color:#666;font-weight:500}.pv-phone .pv-scroll{flex:1;overflow:hidden auto}.pv-loading{color:#999;background:#f5f5f5;justify-content:center;align-items:center;display:flex}.pv-scroll .empty-note{color:#666;padding:40px}.preset-panel{flex:1;overflow:auto}.preset-body{flex-direction:column;gap:8px;padding:4px 12px 16px;display:flex}.btn-primary.full{width:100%}.stage-card{text-align:left;background:var(--bg2);color:var(--text);border:1px solid #0000;border-radius:8px;grid-template-columns:30px minmax(0,1fr) 14px;align-items:center;gap:10px;padding:10px;display:grid}.stage-card:hover{border-color:var(--accent)}.stage-num{border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:flex}.stage-txt{flex-direction:column;gap:2px;min-width:0;display:flex}.stage-txt b{font-size:12px}.stage-txt span{color:var(--muted);font-size:10.5px;line-height:1.4}.tone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tone-card{background:var(--bg2);color:var(--text);border:1px solid #0000;border-radius:8px;flex-direction:column;gap:6px;padding:6px;display:flex}.tone-card:hover{border-color:#666}.tone-card.on{border-color:var(--accent)}.tone-swatch{border-radius:5px;align-items:center;gap:6px;height:54px;padding:0 10px;font-size:18px;display:flex}.tone-swatch span{white-space:nowrap;flex:1}.tone-swatch i{border-radius:50%;width:14px;height:14px;display:block}.tone-name{text-align:left;padding-left:2px;font-size:11px}.ctx-back{z-index:80;position:fixed;inset:0}.ctx-menu{z-index:81;background:#1e1e1e;border:1px solid #444;border-radius:10px;min-width:230px;padding:6px;position:fixed;box-shadow:0 10px 30px #0000008c}.ctx-menu.sub{max-height:70vh;position:absolute;top:-6px;left:calc(100% - 4px);overflow:auto}.ctx-row-wrap{position:relative}.ctx-item{text-align:left;width:100%;height:28px;color:var(--text);background:0 0;border:none;border-radius:5px;grid-template-columns:16px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 8px;font-size:12px;display:grid}.ctx-item:hover:not(:disabled),.ctx-item.open{background:var(--accent);color:#fff}.ctx-item:hover:not(:disabled) .ctx-keys,.ctx-item.open .ctx-keys{color:#e6eeff}.ctx-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ctx-keys{color:var(--muted);padding-left:16px;font-size:11px}.ctx-check{justify-content:center;align-items:center;display:flex}.ctx-sep{background:#383838;height:1px;margin:6px 4px}.ctx-tag{color:var(--accent-text);padding:0 8px 4px;font-size:10px;font-weight:600}.pal-back{z-index:85;align-items:flex-start;padding-top:12vh}.palette{background:#1e1e1e;border:1px solid #444;border-radius:12px;width:560px;max-width:calc(100vw - 32px);overflow:hidden;box-shadow:0 20px 60px #0009}.pal-search{height:50px;color:var(--muted);border-bottom:1px solid #333;align-items:center;gap:10px;padding:0 14px;display:flex}.pal-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:15px}.pal-list{max-height:50vh;padding:6px;overflow:auto}.pal-item{text-align:left;width:100%;height:34px;color:var(--text);background:0 0;border:none;border-radius:6px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 10px;font-size:13px;display:grid}.pal-item.on{background:var(--accent);color:#fff}.pal-group{color:var(--muted);font-size:11px}.pal-item.on .pal-group,.pal-item.on .pal-keys{color:#e6eeff}.pal-keys{color:var(--muted);font-size:11px}.ctx-menu.sub.left{left:auto;right:calc(100% - 4px)}.anim-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.anim-chip{background:var(--bg2);height:28px;color:var(--text);border:1px solid #0000;border-radius:5px;padding:0 4px;font-size:11px}.anim-chip:hover{border-color:#666}.anim-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.btn.sm .ic,.btn.sm svg{flex-shrink:0}.timeline{border-top:1px solid var(--line);background:#232323;flex-direction:column;flex-shrink:0;min-height:0;display:flex;position:relative}.tl-resize{cursor:ns-resize;z-index:3;height:6px;position:absolute;top:-3px;left:0;right:0}.tl-head{border-bottom:1px solid var(--line);background:var(--bg);flex-shrink:0;align-items:center;gap:10px;height:40px;padding:0 8px;display:flex}.tl-head .field{flex-shrink:0;width:92px}.tl-time{font-variant-numeric:tabular-nums;color:var(--accent-text);min-width:92px;font-size:13px;font-weight:700}.tl-time em{color:var(--muted);margin-left:4px;font-size:11px;font-style:normal;font-weight:500}.tl-ease button{flex:none;gap:6px;padding:0 8px;font-size:11px}.tl-hint{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:10px;overflow:hidden}.tl-close{margin-left:auto}.tl-body{scrollbar-gutter:stable;flex:1;min-height:0;display:flex;position:relative;overflow:hidden auto}.tl-left{border-right:1px solid var(--line);z-index:2;background:#262626;flex-shrink:0;height:max-content;min-height:100%;position:sticky;left:0}.tl-ruler-l,.tl-ruler{z-index:2;border-bottom:1px solid var(--line);background:#1e1e1e;height:26px;position:sticky;top:0}.tl-ruler-l{color:var(--muted);align-items:center;padding:0 10px;font-size:10px;display:flex}.tl-row,.tl-krow{border-bottom:1px solid #2e2e2e;height:26px}.tl-row{cursor:default;align-items:center;gap:4px;padding:0 6px;display:flex}.tl-row.layer{background:#2a2a2a;font-weight:600}.tl-row.layer.sel{background:var(--accent-soft)}.tl-row.group{color:var(--muted);padding-left:46px;font-size:10.5px}.tl-row.prop{grid-template-columns:20px 18px minmax(0,1fr) 96px;gap:4px;padding-left:30px;display:grid}.tl-row.prop .field{height:22px}.tl-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tl-badge{color:var(--accent-text);background:var(--accent-soft);border-radius:3px;padding:1px 5px;font-size:10px;font-weight:500}.tl-plabel{color:#cfcfcf;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tl-plabel em{color:#777;font-size:10px;font-style:normal}.stopwatch,.keynav{color:#777;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:9px;display:flex}.stopwatch.on{color:var(--accent-text)}.keynav.on{color:#f5c451}.stopwatch:hover,.keynav:hover{background:var(--bg3)}.tl-right{flex:1;min-width:240px;height:max-content;min-height:100%;position:relative;overflow-x:clip}.tl-ruler{cursor:ew-resize}.tl-ruler .tick{height:100%;color:var(--muted);pointer-events:none;border-left:1px solid #3a3a3a;padding:2px 0 0 3px;font-size:9.5px;position:absolute;top:0}.tl-ruler .tick.major{border-left-color:#5a5a5a}.tl-work{cursor:grab;background:#1f6feb73;border-radius:2px;height:7px;position:absolute;bottom:0}.tl-work .wh{background:var(--accent);cursor:ew-resize;border-radius:2px;width:8px;height:13px;position:absolute;top:-3px}.tl-work .wh.l{left:-4px}.tl-work .wh.r{right:-4px}.tl-krow{position:relative}.tl-krow.layer{background:#2a2a2a}.tl-bar{cursor:grab;background:#4a5568;border-radius:3px;height:14px;position:absolute;top:6px}.tl-bar.sel{background:#3d6fd8}.kf{cursor:pointer;background:#bdbdbd;width:10px;height:10px;margin-left:-5px;position:absolute;top:8px;transform:rotate(45deg)}.kf.smooth{border-radius:50% 0;transform:rotate(45deg)scale(.95)}.kf.hold{border-radius:1px;transform:none}.kf.sel{background:#f5c451;box-shadow:0 0 0 1px #000}.kf-ico{background:#bdbdbd;width:8px;height:8px;display:inline-block;transform:rotate(45deg)}.kf-ico.smooth{border-radius:50% 0}.kf-ico.hold{transform:none}.tl-cti{z-index:3;pointer-events:none;background:#ff4d4d;width:1px;position:absolute;top:0;bottom:0}.tl-cti span{pointer-events:auto;cursor:ew-resize;background:#ff4d4d;border-radius:2px 2px 6px 6px;width:13px;height:14px;position:absolute;top:0;left:-6px}.image-panel{max-height:calc(100vh - 80px);overflow:auto}.cc-panel{border-top:1px solid var(--line);padding:8px 12px 12px}.cc-title{padding:4px 0 6px;font-weight:700}.cc-title .muted{color:var(--muted);font-weight:500}.cc-group{border-bottom:1px solid #333;padding:2px 0}.cc-group.active .cc-gbtn{color:var(--accent-text)}.cc-ghead{justify-content:space-between;align-items:center;display:flex}.cc-gbtn{height:26px;color:var(--text);background:0 0;border:none;align-items:center;gap:6px;padding:0;font-weight:600;display:flex}.cc-row{grid-template-columns:16px 70px minmax(0,1fr) 46px;align-items:center;gap:6px;height:26px;display:grid}.cc-row input[type=range]{width:100%;accent-color:var(--accent)}.cc-num{background:var(--bg2);text-align:right;border:1px solid #0000;border-radius:3px;width:100%;height:22px;padding:0 4px}.cc-label{color:#cfcfcf;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.cc-key{color:#666;background:0 0;border:none;width:16px;height:16px;padding:0;font-size:9px}.cc-key.on{color:#f5c451}.cc-row.tint input[type=color]{background:0 0;border:none;width:40px;height:22px;padding:0}.gif-box{border:1px solid var(--line);background:#262626;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.gif-sizes{flex-direction:column;gap:4px;display:flex}.gif-size{align-items:center;gap:6px;display:flex}.gif-size span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.gif-size.warn,.warn-text{color:var(--warn)}.grad-label{text-align:left;color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:0 4px;overflow:hidden}.cc-row.tint .color-field{grid-column:span 2}.color-picker{z-index:90;-webkit-user-select:none;user-select:none;background:#1e1e1e;border:1px solid #444;border-radius:12px;width:248px;padding-bottom:10px;position:fixed;box-shadow:0 16px 40px #0000008c}.cp-head{border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:8px 8px 6px 10px;display:flex}.cp-modes{gap:4px;display:flex}.cp-modes button{width:30px;height:28px;color:var(--muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.cp-modes button.on{background:var(--bg3);color:var(--text)}.cp-solid{flex-direction:column;gap:10px;padding:10px 10px 0;display:flex}.cp-sv{cursor:crosshair;touch-action:none;border-radius:6px;height:180px;position:relative}.cp-sv-w,.cp-sv-b{border-radius:6px;position:absolute;inset:0}.cp-sv-w{background:linear-gradient(90deg,#fff,#fff0)}.cp-sv-b{background:linear-gradient(#0000,#000)}.cp-dot{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;box-shadow:0 0 0 1px #0006}.cp-bars{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;display:grid}.cp-bar-col{flex-direction:column;gap:10px;display:flex}.cp-hue,.cp-alpha{cursor:pointer;touch-action:none;border-radius:6px;height:12px;position:relative}.cp-hue{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.cp-alpha{background:repeating-conic-gradient(#777 0 25%, #bbb 0 50%) 0 0 / 8px 8px}.cp-alpha-fill{border-radius:6px;position:absolute;inset:0}.cp-knob{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%;box-shadow:0 0 0 1px #0006}.cp-hexrow{grid-template-columns:40px minmax(0,1fr) 56px;align-items:center;gap:6px;display:grid}.cp-tag{background:var(--bg2);border-radius:4px;justify-content:center;align-items:center;height:26px;font-size:11px;display:flex}.cp-hex{background:var(--bg2);border:1px solid #0000;border-radius:4px;outline:none;height:26px;padding:0 8px}.cp-hex:focus{border-color:var(--accent)}.cp-op{background:var(--bg2);height:26px;color:var(--muted);border-radius:4px;align-items:center;gap:2px;padding:0 6px;display:flex}.cp-op input{text-align:right;background:0 0;border:none;outline:none;width:100%}.cp-swatch-head{color:var(--muted);border-top:1px solid #333;margin-top:10px;padding:12px 10px 6px;font-size:11px}.cp-swatches{grid-template-columns:repeat(9,1fr);gap:5px;padding:0 10px;display:grid}.cp-swatch{aspect-ratio:1;cursor:pointer;border:1px solid #ffffff26;border-radius:4px;padding:0}.cp-swatch:hover{outline:2px solid var(--accent)}.cp-grad{padding:10px 0 0}.cp-grad-top{align-items:center;gap:6px;padding:0 10px 10px;display:flex}.cp-grad-top select{flex:1}.cp-gbar{background:repeating-conic-gradient(#777 0 25%, #bbb 0 50%) 0 0 / 8px 8px;cursor:copy;touch-action:none;border-radius:4px;height:22px;margin:6px 18px 12px;position:relative}.cp-gbar-fill{border-radius:4px;position:absolute;inset:0}.cp-stop{cursor:grab;background:#fff;border-radius:5px;width:20px;height:20px;margin-left:-10px;padding:3px;position:absolute;top:-6px;box-shadow:0 1px 4px #00000080}.cp-stop i{border:1px solid #0003;border-radius:2px;width:100%;height:100%;display:block}.cp-stop.on{background:var(--accent)}.cp-stops-head{color:var(--muted);justify-content:space-between;align-items:center;padding:0 10px;font-size:11px;display:flex}.cp-stops{flex-direction:column;padding:4px 6px 0;display:flex}.cp-stoprow{cursor:pointer;height:28px;color:var(--muted);border-radius:5px;grid-template-columns:34px 10px 18px minmax(0,1fr) 36px 20px;align-items:center;gap:4px;padding:0 4px;display:grid}.cp-stoprow.on{background:var(--accent-soft);color:var(--text)}.cp-num{background:var(--bg2);text-align:right;border:none;border-radius:3px;outline:none;width:100%;height:22px;padding:0 4px}.cp-sw{border:1px solid #fff3;border-radius:3px;width:16px;height:16px}.cp-stophex{color:var(--text);font-size:11px}.color-picker .hint.small{padding:8px 10px 0}.crop-bar{z-index:12;background:var(--bg);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:6px 8px 6px 14px;display:flex;position:absolute;bottom:84px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.crop-zoom input{width:120px;accent-color:var(--accent);background:0 0;border:none;height:16px;padding:0}
