@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:12px}*{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:15.5px;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:12px}.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:11px}.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:11px;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-row{align-items:center;gap:2px;min-width:0;display:flex}.fh-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;background:0 0;border:none;border-radius:4px;min-width:0;margin-left:-4px;padding:1px 4px;font-size:14.5px;font-weight:700;overflow:hidden}.fh-name:hover{background:#ffffff14}.fh-menu-btn{width:24px;height:24px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.fh-menu-btn:hover{background:#ffffff1f}.fh-status{color:var(--muted);font-size:11px}.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:13px;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:14.5px;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:11px}.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:13px}.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:11px;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:12px}.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:16.5px;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:16.5px}.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:13px;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:13px;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:13px;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:12px;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:16.5px}.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:11px;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:15.5px}.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:13px;font-weight:700;display:flex}.pv-status span{color:#666;font-weight:500}.pv-phone .pv-scroll{scrollbar-width:none;flex:1;overflow:hidden auto}.pv-phone .pv-scroll::-webkit-scrollbar{display:none}.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:13px;font-weight:800;display:flex}.stage-txt{flex-direction:column;gap:2px;min-width:0;display:flex}.stage-txt b{font-size:13px}.stage-txt span{color:var(--muted);font-size:11.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:20px;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:12px}.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:13px;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:12px}.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:11px;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:16.5px}.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:14.5px;display:grid}.pal-item.on{background:var(--accent);color:#fff}.pal-group{color:var(--muted);font-size:12px}.pal-item.on .pal-group,.pal-item.on .pal-keys{color:#e6eeff}.pal-keys{color:var(--muted);font-size:12px}.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:12px}.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:14.5px;font-weight:700}.tl-time em{color:var(--muted);margin-left:4px;font-size:12px;font-style:normal;font-weight:500}.tl-ease button{flex:none;gap:6px;padding:0 8px;font-size:12px}.tl-hint{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;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:11px;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:11.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:11px;font-weight:500}.tl-plabel{color:#cfcfcf;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.tl-plabel em{color:#777;font-size:11px;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:10px;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:10.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:12px;overflow:hidden}.cc-key{color:#666;background:0 0;border:none;width:16px;height:16px;padding:0;font-size:10px}.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:12px;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:12px}.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:12px;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:12px}.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}.anim-chip.preview{box-shadow:0 0 0 2px var(--accent) inset}.anim-pv-hint{color:var(--accent-text)}.btn.danger{color:#ff8a8a;border-color:#5a3a3a}.btn.danger:hover:not(:disabled){background:#3a2626}.mode-seg{margin-right:auto}.mode-seg button{flex:none;padding:0 10px;font-weight:600}.mode-seg button.on{background:var(--accent);color:#fff}.tl-graph{background:#1c1c1c;position:relative}.tl-graph svg{display:block}.g-grid{stroke:#2e2e2e}.g-lbl{fill:#777;font-size:10.5px}.g-curve{fill:none;stroke:#5b9bff;stroke-width:1.8px}.g-key{fill:#d8d8d8;stroke:#111;cursor:move}.g-key.sel{fill:#f5c451}.g-hline{stroke:#f5c451;stroke-width:1px;opacity:.8}.g-handle{fill:#1c1c1c;stroke:#f5c451;stroke-width:1.5px;cursor:pointer}.g-hint{color:#666;pointer-events:none;font-size:11px;position:absolute;top:4px;right:8px}.tl-plabel{cursor:pointer}.tl-plabel.focus{color:#5b9bff;font-weight:700}.kf.bezier{border-radius:50%;transform:none}.tl-parent{background:var(--bg2);max-width:92px;height:20px;color:var(--muted);border:1px solid #444;border-radius:3px;font-size:11px}.fx-add{position:relative}.fx-block{border-bottom:1px solid #333;flex-direction:column;gap:6px;padding:6px 0;display:flex}.fx-head{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.ly-mask{color:var(--accent-text);font-size:11px;font-style:normal}.curve-box{aspect-ratio:1;touch-action:none;background:#1a1a1a;border-radius:4px;width:100%;margin:4px 0;position:relative}.curve-box svg{width:100%;height:100%;display:block}.curve-grid{stroke:#2e2e2e}.curve-diag{stroke:#444;stroke-dasharray:3 3}.curve-line{fill:none;stroke:#eee;stroke-width:1.6px}.curve-pt{fill:#1a1a1a;stroke:#fff;stroke-width:1.5px;cursor:move}.curve-dot{cursor:move;background:#1a1a1a;border:1.5px solid #fff;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute}.main-menu{min-width:250px}.nav-rail .logo{cursor:pointer;border:none;padding:0}.nav-rail .logo:hover{filter:brightness(1.15)}.home{z-index:75;background:#2c2c2c;display:flex;position:fixed;inset:0}.home-side{background:#2c2c2c;border-right:1px solid #3d3d3d;flex-direction:column;flex-shrink:0;gap:4px;width:240px;padding:12px 10px;display:flex;overflow:auto}.home-logo{align-items:center;gap:10px;padding:4px 6px 12px;font-size:16.5px;display:flex}.home-logo .logo{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-weight:900;display:flex}.home-side .home-search{background:#383838;border-color:#0000;width:100%;margin-bottom:8px}.home-nav{text-align:left;height:32px;color:var(--text);background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-weight:500;display:flex}.home-nav:hover{background:#383838}.home-nav.on{background:#3b4a6b;font-weight:600}.home-sec{color:#e6e6e6;margin:14px 4px 4px;font-size:12.5px;font-weight:700}.home-fav{height:30px;color:var(--text);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;min-width:0;padding:0 10px;display:flex}.home-fav:hover{background:#383838}.home-fav span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-fav-empty{color:var(--muted);padding:4px 10px;font-size:12px;line-height:1.5}.home-note{color:var(--muted);margin-top:auto;padding:6px;font-size:12px;line-height:1.6}.home-main{flex:1;padding:18px 32px 40px;overflow:auto}.home-top{align-items:center;gap:10px;margin-bottom:26px;display:flex}.home-top h1{margin:0 auto 0 0;font-size:15px;font-weight:600}.home-sort{width:130px;color:var(--text)}.home-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:30px;display:grid}.home-card{cursor:pointer;text-align:left;color:var(--text);background:#2c2c2c;border:1px solid #444;border-radius:6px;padding:0;position:relative;overflow:visible}.home-card:hover{border-color:#6a6a6a}.home-card.current{border-color:var(--accent)}.home-thumb{aspect-ratio:16/9;color:#777;background:#444;border-radius:6px 6px 0 0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.home-thumb img{object-fit:cover;width:100%;height:100%}.home-thumb.new{color:var(--accent-text);background:#2f3646}.home-star{color:#fff;opacity:0;background:#1e1e1ed9;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:10px;right:10px}.home-card:hover .home-star,.home-star.on{opacity:1}.home-star.on{color:#ffcd29}.home-info{align-items:flex-start;gap:10px;min-width:0;padding:12px 14px 14px;display:flex}.home-ficon{color:#fff;background:#1f6feb;border-radius:4px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;display:flex}.home-ficon.new{background:#3a4560}.home-text{flex-direction:column;flex:1;gap:4px;min-width:0;padding-right:22px;display:flex}.home-text b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.home-text span{color:var(--muted);font-size:12px}.home-more{opacity:0;position:absolute;bottom:12px;right:6px}.home-card:hover .home-more{opacity:1}.home-menu{inset:auto 6px 40px auto}.danger-text{color:#ff8a8a!important}.label-rename{z-index:20;color:#fff;border:1px solid var(--accent);background:#1e1e1e;border-radius:3px;outline:none;height:20px;padding:0 5px;font:400 12px Pretendard,sans-serif;position:absolute}.label-rename.sec{border-radius:5px;height:24px;padding:0 8px;font-size:13px;font-weight:600}.tb-back{z-index:30;position:fixed;inset:0}.tb-menu{z-index:31;min-width:190px}.tb-menu .kbd{color:var(--muted);margin-left:auto;font-size:11.5px}.tb-menu button:hover .kbd{color:#fff}.tb-check{justify-content:center;width:14px;display:inline-flex}.tb-sep-h{background:#3a3a3a;height:1px;margin:4px 2px}.tb-chev.open{color:#fff}.tpl-motion{flex:none;width:82px;padding:0 6px}.preset-sync{background:var(--bg2);color:var(--muted);border-radius:6px;align-items:center;gap:6px;margin:8px 12px 0;padding:7px 10px;font-size:12px;display:flex}.preset-sync.ok{color:#8fd19e}.preset-sync.error{color:#ff8a80}.preset-sync .link{font-size:12px}.stage-group{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.stage-ghead{color:#cfcfcf;align-items:center;gap:6px;padding:4px 2px 0;font-size:12px;font-weight:700;display:flex}.stage-ghead>span{align-items:center;gap:6px;min-width:0;display:flex}.claude-tag{color:#fff;background:#c15f3c;border-radius:4px;padding:1px 5px;font-size:10.5px;font-weight:700}.stage-wrap,.tone-wrap{position:relative}.stage-card{width:100%}.stage-card.editing{display:block}.stage-more{width:20px;height:20px;color:var(--muted);border-radius:4px;justify-content:center;align-items:center;display:flex}.stage-more:hover{color:#fff;background:#444}.stage-tag{color:var(--accent-text);margin-left:6px;font-size:10px;font-style:normal;font-weight:600}.tone-wrap .tone-card{width:100%}.tone-more{opacity:0;width:20px;height:20px;position:absolute;bottom:4px;right:6px}.tone-wrap:hover .tone-more{opacity:1}.preset-menu{min-width:190px;top:26px}.preset-menu hr{border:none;border-top:1px solid #3a3a3a;width:100%;margin:4px 2px}.tone-editor{width:640px}.tone-ed-body{grid-template-columns:1fr 230px;gap:18px;padding:18px 20px;display:grid}.tone-ed-form{flex-direction:column;gap:8px;display:flex}.tone-ed-row{color:#cfcfcf;grid-template-columns:96px 1fr;align-items:center;gap:8px;font-size:12.5px;display:grid}.tone-preview{border:1px solid #444;border-radius:10px;flex-direction:column;align-self:start;gap:10px;padding:18px;display:flex}.tone-pv-card{border-radius:8px;padding:12px;font-size:12.5px}.tone-pv-pill{border-radius:999px;align-self:flex-start;padding:6px 14px;font-size:12.5px;font-weight:700}.stage-card{grid-template-columns:30px minmax(0,1fr) 20px}.preset-sync>span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.preset-sync .link{white-space:nowrap;flex:none}.size-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;align-items:center;gap:8px;display:grid}.ib.lock-ratio.on,.ib.corner-split.on,.pg-actions .ib.on{background:var(--accent-soft);color:#8cb4ff}.pg-actions{align-items:center;gap:2px;display:inline-flex}.blend-wrap{display:inline-flex;position:relative}.blend-menu{min-width:170px;max-height:60vh;font-weight:400;top:30px;left:auto;right:0;overflow:auto}.blend-menu .menu-item.on{color:var(--accent)}.blend-menu .menu-item.on:hover{color:#fff}.mi-check{width:14px;display:inline-flex}.menu-sep{background:#3a3a3a;height:1px;margin:4px 2px}.appear-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;align-items:end;gap:8px;display:grid}.appear-row .lbl{margin-top:0}.corner-grid{margin-top:8px}.corner-ic{border:0 solid;width:9px;height:9px;display:inline-block}.corner-ic.c0{border-top-width:1.5px;border-left-width:1.5px;border-top-left-radius:4px}.corner-ic.c1{border-top-width:1.5px;border-right-width:1.5px;border-top-right-radius:4px}.corner-ic.c2{border-bottom-width:1.5px;border-right-width:1.5px;border-bottom-right-radius:4px}.corner-ic.c3{border-bottom-width:1.5px;border-left-width:1.5px;border-bottom-left-radius:4px}.fill-img-row{grid-template-columns:minmax(0,1fr) 62px 26px 26px;align-items:center;gap:4px;display:grid}.fill-img-row .ib{width:26px;height:26px}.fill-img-row.off>.img-row,.fill-img-row.off>label.field{opacity:.45}.fill-img-row .img-row{white-space:nowrap;overflow:hidden}.img-top{grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:6px;display:grid}button.img-preview{cursor:pointer;color:#fff;border:none;width:calc(100% - 20px);padding:0;position:relative}.img-preview canvas{display:block}.img-preview-hint{opacity:0;background:#0000008c;justify-content:center;align-items:center;gap:6px;padding:6px;font-size:11px;transition:opacity .12s;display:flex;position:absolute;inset:auto 0 0}button.img-preview:hover .img-preview-hint{opacity:1}.adj-list{flex-direction:column;padding:0 12px 6px;display:flex}.adj-row{height:28px;color:var(--muted);grid-template-columns:70px minmax(0,1fr);align-items:center;gap:8px;display:grid}.adj-row.on{color:var(--text)}.adj-row input[type=range]{width:100%;accent-color:var(--accent)}.adj-reset{align-self:flex-end;margin-top:2px}.adv-toggle{border:none;border-top:1px solid var(--line);color:var(--muted);text-align:left;background:0 0;align-items:center;gap:6px;margin:4px 10px 8px;padding:6px 4px;display:flex}.adv-toggle:hover{color:var(--text)}.nav-rail .rail-bottom{margin-top:auto;margin-bottom:10px}.missing-badge{color:#1e1e1e;letter-spacing:-.02em;background:#f5c518;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:16px;padding:0 3px;font-size:10px;font-weight:800;display:inline-flex}.font-btn.missing{border-color:#8a6d00}.font-btn .missing-badge{margin-right:2px}.range-tag{background:var(--accent-soft);color:#8cb4ff;border-radius:9px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:600}.missing-box{justify-content:space-between;align-items:center;gap:8px;display:flex}.local-note{background:var(--bg2);color:var(--muted);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin:0 10px 8px;padding:8px 10px;font-size:11.5px;display:flex}.font-picker .font-item{border-radius:4px;grid-template-columns:minmax(0,1fr) auto 20px 20px;align-items:center;gap:2px;padding:0 4px 0 0;display:grid}.font-picker .font-item:hover{background:var(--bg2)}.font-picker .font-item .fi-name{color:var(--text);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;justify-content:space-between;align-items:center;gap:6px;padding:7px 8px;font-size:14px;display:flex;overflow:hidden}.font-picker .font-item.on .fi-name{color:#8cb4ff}.font-picker .font-item .ib.xs{opacity:0}.font-picker .font-item:hover .ib.xs,.font-picker .font-item .fi-star.on{opacity:1}.fi-src{color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:0 4px;font-size:10px}.fi-star.on{color:#f5c518}.fl-sec{width:100%;color:var(--muted);text-align:left;background:0 0;border:none;align-items:center;gap:4px;padding:8px 8px 4px;font-size:11px;display:flex}.fl-toggle:hover{color:var(--text)}::highlight(sq-text-sel){background-color:#1f6feb61}.text-editor{white-space:pre;cursor:text}.text-editor:focus{outline:1px solid var(--accent)}.modal.settings{width:760px;height:min(760px,100vh - 60px)}.settings-body{flex:1;grid-template-columns:160px minmax(0,1fr);min-height:0;display:grid}.settings-tabs{border-right:1px solid var(--line);flex-direction:column;gap:2px;padding:10px 8px;display:flex}.settings-tabs button{color:var(--muted);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.settings-tabs button.on{color:var(--text);background:#3a3f4b}.settings-main{padding:4px 22px 22px;overflow:auto}.font-settings section{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:16px 0;display:flex}.font-settings section:last-child{border-bottom:none}.font-settings h3{margin:0;font-size:13.5px}.font-settings p{margin:0}.font-settings .radio{align-items:center;gap:8px;display:flex}.set-row3{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.set-row2{grid-template-columns:minmax(0,1fr) 180px;gap:8px;display:grid}.set-line{justify-content:space-between;align-items:center;gap:12px;display:flex}.font-preview{color:#111;background:#f4f4f4;border-radius:6px;padding:10px 12px;font-size:20px}.my-fonts{flex-direction:column;gap:2px;display:flex}.my-font{background:var(--bg2);border-radius:4px;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:8px;padding:6px 8px;display:grid}.font-manage{border:1px solid var(--line);border-radius:6px;max-height:320px;padding:4px;overflow:auto}.fm-row{border-radius:4px;grid-template-columns:minmax(0,1fr) auto 22px 22px;align-items:center;gap:6px;padding:4px 6px;display:grid}.fm-row:hover{background:var(--bg2)}.fm-row.off .fm-name{opacity:.4}.fm-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.modal.font-replace{width:600px}.fr-head{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;align-items:center;padding:14px 12px 12px 20px;font-weight:700;display:grid}.fr-body{flex-direction:column;gap:4px;min-height:80px;padding:10px 20px;display:flex;overflow:auto}.fr-row{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:8px;min-height:34px;display:grid}.fr-row.sub{color:var(--muted);padding-left:28px}.fr-name{color:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-weight:600;display:flex}.fr-row.sub .fr-name{font-weight:400}.fr-arrow{color:var(--muted);text-align:center}.fr-empty,.fr-hint{color:var(--muted);align-items:center;gap:6px;padding:8px 0;display:flex}.fr-btns{gap:8px;display:flex}.ctx-item.simple{padding:0 12px;display:flex}.ctx-item:disabled{opacity:.4}.page-rows .row{position:relative}.page-rows .row.dragging{opacity:.45}.page-rows .row.drop-before:before,.page-rows .row.drop-after:after{content:"";background:var(--accent);border-radius:1px;height:2px;position:absolute;left:6px;right:6px}.page-rows .row.drop-before:before{top:-1px}.page-rows .row.drop-after:after{bottom:-1px}.sel-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.sel-acts{gap:4px;display:inline-flex}.sel-acts .btn.sm{height:24px;padding:0 8px;font-size:11.5px;font-weight:500}.ly-ic.comp{color:#b387ff}.asset-tabs{grid-template-columns:1fr 1fr;gap:4px;padding:10px 10px 6px;display:grid}.asset-tabs button{height:30px;color:var(--muted);background:0 0;border:none;border-radius:6px;font-size:12px;font-weight:600}.asset-tabs button.on{color:var(--text);background:#3a3f4b}.asset{position:relative}.asset-unused{color:#ddd;background:#0009;border-radius:3px;padding:0 4px;font-size:10px;position:absolute;bottom:4px;left:4px}.asset-clean{justify-content:center;width:calc(100% - 20px);margin:6px 10px 10px}.asset-search{margin:0 10px 6px}.my-assets{flex:1;padding:0 6px 6px;overflow:auto}.ma-ghead{width:100%;color:var(--muted);text-align:left;background:0 0;border:none;align-items:center;gap:5px;padding:8px 6px 4px;font-size:11.5px;font-weight:600;display:flex}.ma-ghead .muted{margin-left:auto;font-weight:400}.ma-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 4px;display:grid}.ma-item{color:var(--text);border:1px solid #0000;border-radius:6px;flex-direction:column;gap:4px;padding:4px;display:flex}.ma-item:hover{border-color:var(--line);background:var(--bg2)}.ma-thumb{cursor:grab;color:#b387ff;background:repeating-conic-gradient(#3a3a3a 0% 25%,#444 0% 50%) 0 0/12px 12px;border:none;border-radius:4px;justify-content:center;align-items:center;width:100%;height:84px;padding:0;display:flex;overflow:hidden}.ma-thumb img{max-width:100%;max-height:100%}.ma-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text);text-align:left;cursor:text;background:0 0;border:none;border-radius:3px;padding:2px;font-size:11.5px;overflow:hidden}.ma-name:hover{background:var(--bg2);text-decoration:underline}.ma-name-input{border:1px solid var(--accent);background:var(--bg);height:22px;color:var(--text);border-radius:3px;min-width:0;padding:0 4px;font-size:11.5px}.ma-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:6px;padding:8px 12px;display:flex}.ctx-item.danger:hover:not(:disabled){background:#c93c3c}.inst-name{font-weight:600}.btn.full{justify-content:center;width:100%}.fx-menu{min-width:170px}.fx-row{grid-template-columns:minmax(0,1fr) 26px 26px;align-items:center;gap:2px;margin-bottom:4px;display:grid}.fx-row:has(label.field){grid-template-columns:minmax(0,1fr) 70px 26px}.fx-row.off .fx-name{opacity:.45}.fx-name{background:var(--bg2);height:30px;color:var(--text);text-align:left;border:1px solid #0000;border-radius:5px;align-items:center;gap:8px;padding:0 8px;display:flex}.fx-row.on .fx-name{border-color:var(--accent);background:var(--accent-soft)}.fx-name.static{background:0 0}.popover.fx-pop{width:248px}.fx-pop .po-head{gap:6px}.fx-type{flex:1}.fx-grid{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:6px 8px;padding:4px 12px 10px;display:grid}.fx-grid .lbl{margin:0}.fx-pop .hint{padding:0 12px 12px}.asset{cursor:grab}.stage-group{border-bottom:1px solid var(--line);padding-bottom:4px}.stage-group .stage-ghead{grid-template-columns:20px minmax(0,1fr) auto auto auto;align-items:center;gap:2px;min-height:32px;display:grid}.sg-toggle{width:20px;height:24px;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.sg-name{color:var(--text);text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:text;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:3px 4px;font-weight:700;display:flex;overflow:hidden}.sg-name:hover{background:var(--bg2)}.sg-input{height:24px}.sg-count{color:var(--muted);cursor:pointer;white-space:nowrap;padding:0 4px;font-size:11px}.icon-panel{flex-direction:column;flex:1;min-height:0;display:flex}.ip-settings{flex-direction:column;gap:6px;padding:0 10px 8px;display:flex}.ip-style{grid-template-columns:1fr 1fr;display:grid}.ip-search{margin:0 10px 6px}.ip-cat{width:calc(100% - 20px);margin:0 10px 8px}.ip-body{flex:1;padding:0 8px 10px;overflow:auto}.ip-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:4px;display:grid}.ip-item{height:40px;color:var(--text);cursor:grab;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:flex}.ip-item:hover{background:var(--bg2);border-color:var(--line)}.ip-item.mine img{max-width:30px;max-height:30px}.ip-mine{border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:6px}.ip-more{justify-content:center;margin-top:8px}.ip-credit{text-align:center;padding:10px 0 0}.preset-menu.align-left{left:0;right:auto}.fh-rename{flex-direction:column;gap:4px;min-width:0;display:flex}.fh-rename .inline-input{height:26px;font-size:15px;font-weight:700}.fh-rename-err{color:#ff8a80;font-size:11px;line-height:1.4}.tpl-list{flex-direction:column;gap:8px;display:flex}.tpl-card{background:#ffffff0a;border-radius:6px;align-items:stretch;gap:10px;padding:6px;display:flex}.tpl-card:hover{background:#ffffff12}.tpl-thumb{cursor:pointer;background:#2a2a2a;border:1px solid #ffffff1a;border-radius:4px;flex:none;justify-content:center;align-items:flex-start;width:64px;height:96px;padding:0;display:flex;overflow:hidden}.tpl-thumb img{width:100%;height:auto;display:block}.tpl-thumb:hover{border-color:var(--accent)}.tpl-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tpl-name{word-break:keep-all;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.tpl-acts{align-items:center;gap:4px;margin-top:auto;display:flex}.tpl-insert{height:24px;padding:0 10px;font-size:12px}
