:root{--bg0:#131317;--bg1:#1b1b21;--bg2:#23232b;--bg3:#2d2d37;--line:#34343f;--text:#d6d6de;--muted:#8a8a9b;--accent:#f0b429;--accent2:#3d8bff;--danger:#ff5a5a;color:var(--text);background:var(--bg0);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:12px/1.35 system-ui,-apple-system,Segoe UI,Hiragino Sans,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}button,select,input,textarea{font:inherit;color:inherit}button{background:var(--bg3);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:3px;padding:3px 8px}button:hover:not(:disabled){background:#3a3a46}button:disabled{opacity:.4;cursor:default}button.active{background:var(--accent2);border-color:var(--accent2);color:#fff}button.primary{background:var(--accent);color:#1a1200;border-color:var(--accent);font-weight:600}button.primary:hover:not(:disabled){background:#ffc94a}button.small{padding:1px 6px;font-size:11px}select,input:not([type]),input[type=text],input[type=number],textarea{background:var(--bg0);border:1px solid var(--line);border-radius:3px;min-width:0;padding:2px 4px}select:focus,input:focus,textarea:focus{outline:1px solid var(--accent2)}input[type=checkbox]{accent-color:var(--accent2);margin:0}input[type=range]{accent-color:var(--accent);flex:1;min-width:40px;height:14px;margin:0}input[type=color].color{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:2px;flex-shrink:0;width:26px;height:18px;padding:0}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none}.muted{color:var(--muted)}.error{color:var(--danger)}.right{margin-left:auto}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.empty{color:var(--muted);text-align:center;padding:14px 12px}.hint-line{color:var(--muted);padding:3px 0 5px;font-size:11px;line-height:1.4}.checker{background-color:#2a2a2a;background-image:linear-gradient(45deg,#3a3a3a 25%,#0000 25%),linear-gradient(-45deg,#3a3a3a 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#3a3a3a 75%),linear-gradient(-45deg,#0000 75%,#3a3a3a 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.boot{height:100%;color:var(--muted);place-items:center;display:grid}.loading{color:var(--muted);align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.loading-spin{border:2px solid #fff3;border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.modal-back>.loading{background:var(--bg1);border:1px solid var(--line);border-radius:6px}.app{grid-template-rows:38px auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100%;display:grid}.main{min-height:0;display:flex}.panel{background:var(--bg1);flex-direction:column;min-width:0;min-height:0;display:flex}.panel-head{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:6px;height:32px;padding:4px 8px;font-weight:600;display:flex}.scroll{flex:1;min-height:0;overflow-y:auto}.topbar{background:var(--bg2);border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:0 8px;display:flex}.logo{letter-spacing:.12em;color:var(--text);-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0;align-items:center;gap:7px;margin-right:6px;font-size:12px;font-weight:700;display:flex}.logo-mark{flex-shrink:0;width:18px;height:18px}.logo-sub{color:var(--muted);font-weight:600}.project-name{width:170px}.sep{background:var(--line);width:1px;height:18px;margin:0 2px}.lang-toggle{color:var(--muted);letter-spacing:.04em}.lang-toggle .on{color:var(--text);font-weight:700}.menu{position:relative}.menu-pop{z-index:60;background:var(--bg2);border:1px solid var(--line);border-radius:5px;min-width:220px;max-width:340px;padding:3px;position:fixed;overflow-y:auto;box-shadow:0 10px 30px #000a}.menu-item{text-align:left;white-space:normal;background:0 0;border:none;flex-direction:column;align-items:flex-start;width:100%;padding:4px 10px;display:flex}.menu-item:hover:not(:disabled){background:var(--accent2);color:#fff}.menu-item .mi-hint{color:var(--muted);font-size:10.5px;line-height:1.3}.menu-item:hover .mi-hint{color:#dce8ff}.menu-group{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:7px 10px 2px;font-size:10px}.menu-empty{color:var(--muted);padding:6px 10px}.menu-sep{background:var(--line);height:1px;margin:3px 6px}.menu-item .mi-row{align-items:baseline;gap:6px;width:100%;display:flex}.menu-item .mi-check{flex-shrink:0;width:10px}.menu-item .mi-text{flex:1}.menu-item .mi-key{font:inherit;color:var(--muted);font-size:11px}.menu-item:hover .mi-key{color:#dce8ff}.bar-menus{align-items:center;display:flex}.bar-menu-btn{background:0 0;border:none;padding:3px 8px}.bar-menu-pop .menu-item .mi-hint{padding-left:16px}.toolbar{background:var(--bg2);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:38px;padding:6px 0;display:flex;overflow-y:auto}.tool-btn{width:30px;height:30px;color:var(--muted);background:0 0;border:none;border-radius:4px;place-items:center;padding:0;display:grid}.tool-btn:hover:not(:disabled){background:var(--bg3);color:var(--text)}.tool-btn.active,.tool-btn.active:hover:not(:disabled){color:#fff;box-shadow:inset 0 0 0 1px var(--accent2);background:#3d8bff33}.tool-btn:focus-visible{outline:1px solid var(--accent2);outline-offset:1px}.tool-icon{flex-shrink:0;display:block}.optionsbar{white-space:nowrap;background:var(--bg1);border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:34px;padding:3px 8px;display:flex;overflow-x:auto}.optionsbar .ob-tool{color:#fff;flex-shrink:0;align-items:center;gap:5px;font-weight:600;display:inline-flex}.optionsbar .ob-group,.optionsbar .ob-field,.optionsbar .ob-check{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.optionsbar .ob-label{color:var(--muted)}.optionsbar .ob-sep{background:var(--line);flex-shrink:0;width:1px;height:18px}.optionsbar .ob-note{min-width:0;font-size:11px}.optionsbar .ob-target{min-width:0;max-width:320px;font-weight:600}.optionsbar .ob-readout{text-align:center;font-variant-numeric:tabular-nums;width:44px}.optionsbar .numfield{flex:none}.optionsbar .font-browser{flex:none;width:210px}.optionsbar .font-current{padding:1px 6px;font-size:12px}.icon-btn{min-width:18px;color:var(--muted);background:0 0;border:none;padding:1px 3px;font-size:11px;line-height:1.2}.icon-btn:hover:not(:disabled){background:var(--bg3);color:var(--text)}.icon-btn.on{color:var(--accent)}.icon-btn.danger:hover:not(:disabled){color:var(--danger)}.badge{color:#111;border-radius:3px;flex-shrink:0;padding:0 4px;font-size:9.5px;font-weight:700;line-height:15px}.badge.k-title2d{background:#6ad0ff}.badge.k-title3d{background:var(--accent)}.badge.k-background{background:#9a9aac}.badge.k-group{background:#b9a6ff}.badge.k-adjustment{background:#8fd6a6}.guide-tag{color:var(--muted);border:1px dashed var(--muted);border-radius:3px;padding:0 4px;font-size:10px;font-weight:400}.viewport{background:#0d0d10;flex-direction:column;min-width:0;min-height:0;display:flex}.viewport-area{touch-action:none;flex:1;min-height:0;position:relative;overflow:hidden}.stage{position:absolute;box-shadow:0 0 0 1px #000,0 6px 30px #0008}.stage canvas{display:block}canvas.value-check{filter:grayscale()}.distance-inset{z-index:5;pointer-events:none;flex-direction:column;align-items:flex-end;gap:2px;font-size:10.5px;display:flex;position:absolute;bottom:10px;right:10px}.distance-inset canvas{display:block;box-shadow:0 0 0 1px #000,0 4px 16px #000a}.overlay{pointer-events:none;position:absolute;overflow:visible}.overlay .comp-outline{fill:none;stroke:#ffffff30;stroke-width:1px}.overlay .safe rect,.overlay .safe line{fill:none;stroke:#46d7ff99;stroke-width:1px;stroke-dasharray:5 4}.overlay .snap{stroke:#ff3cf5;stroke-width:1.5px}.overlay .sel-box{fill:none;stroke:var(--accent2);stroke-width:1.2px}.overlay .rot-stem{stroke:var(--accent2);stroke-width:1px}.overlay .handle{pointer-events:all;fill:#fff;stroke:var(--accent2);stroke-width:1.5px}.overlay .handle.scale{cursor:nwse-resize}.overlay .handle.rot{cursor:grab}.overlay .handle.dir,.overlay .handle.pt{fill:#ffd34a;stroke:#000;cursor:move}.overlay .pivot{fill:var(--accent2)}.overlay .fx-arrow line{stroke:#ffd34a;stroke-width:2px;stroke-dasharray:4 3}.overlay .fx-point line{stroke:#000;stroke-width:1px}.overlay text{fill:#ffd34a;paint-order:stroke;stroke:#000;stroke-width:3px;font-size:11px}.overlay .glyph-box{pointer-events:all;fill:#0000;stroke:#ffffff40;stroke-dasharray:3 3;stroke-width:1px}.overlay .glyph-box.has-face{stroke:#ff6ad5;stroke-dasharray:2 2}.overlay .glyph-box.sel{fill:#f0b42922;stroke:var(--accent);stroke-dasharray:none;stroke-width:1.5px}.viewport-error{color:var(--danger);place-items:center;display:grid;position:absolute;inset:0}.tabs{border-bottom:1px solid var(--line);background:var(--bg2);flex-shrink:0;display:flex}.tab{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:6px 4px}.tab:hover:not(:disabled){background:var(--bg3);color:var(--text)}.tab.active,.tab.active:hover:not(:disabled){color:#fff;border-bottom-color:var(--accent);background:0 0}.section{border-bottom:1px solid var(--line)}.section>header{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg2);align-items:center;gap:6px;padding:5px 8px;font-weight:600;display:flex}.section .section>header{background:0 0;padding:4px;font-weight:500}.section>header .twisty{color:var(--muted);width:10px}.section>header .actions{align-items:center;gap:2px;margin-left:auto;display:flex}.section>.body{padding:4px 8px 8px}.section .section>.body{padding:2px 2px 6px 14px}.section.off>header .title{color:var(--muted)}.section.off>.body{opacity:.55}.sub-head{margin:8px 0 3px;font-weight:600}.row{align-items:center;gap:6px;min-height:24px;display:flex}.row>.label,.row-block>.label{width:84px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;overflow:hidden}.row-block{padding:3px 0}.row-block>.label{margin-bottom:3px;display:block}.label.scrub{cursor:ew-resize}.label.scrub:hover{color:var(--text)}.row>.ctl{flex:1;align-items:center;gap:5px;min-width:0;display:flex}.row>.ctl>select{flex:1}.numfield{flex:1;align-items:center;gap:5px;min-width:0;display:flex}.num{text-align:right;font-variant-numeric:tabular-nums;width:54px}.unit{color:var(--muted);width:14px;font-size:11px}.hex{color:var(--muted);font-family:ui-monospace,monospace;font-size:11px}.seg{display:inline-flex}.seg button{border-radius:0;margin-left:-1px;padding:2px 7px}.seg button:first-child{border-radius:3px 0 0 3px;margin-left:0}.seg button:last-child{border-radius:0 3px 3px 0}.stack-head{align-items:center;gap:4px;padding:2px 0;font-weight:600;display:flex}.text-src{resize:vertical;width:100%;margin-bottom:4px;font-size:22px;line-height:1.2}.char-picker{flex-wrap:wrap;gap:3px;padding:2px 0 6px;display:flex}.char-break{flex-basis:100%;height:0}.char-btn{min-width:28px;height:28px;padding:0 4px;font-size:17px;line-height:1}.char-btn.adjusted{box-shadow:inset 0 -2px 0 var(--accent)}.char-btn.has-face{box-shadow:none;position:relative}.char-btn.has-face:after{content:"";background:var(--face);border-radius:2px;height:4px;position:absolute;bottom:2px;left:3px;right:3px;box-shadow:0 0 0 1px #000a}.face-chips{flex-wrap:wrap;gap:2px;display:flex}.face-chip{color:#fff;text-shadow:0 0 2px #000,0 0 2px #000;border:1px solid #0008;min-width:26px;height:22px;padding:0 3px;font-size:12px;font-weight:700}.face-chip:hover{outline:1px solid var(--accent)}.align-btns{gap:2px;display:flex}.align-btns button{min-width:26px}.font-browser{flex:1;min-width:0}.font-current{background:var(--bg0);text-align:left;justify-content:space-between;gap:6px;width:100%;font-size:14px;display:flex}.font-pop{width:320px;max-width:320px}.font-entry{text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;width:100%;padding:4px 10px;display:flex}.font-entry:hover:not(:disabled){background:#2c3a55}.font-entry.sel{box-shadow:inset 3px 0 0 var(--accent)}.font-name{font-size:14px}.font-sample{color:#fff;font-size:20px;line-height:1.25}.font-actions{border-top:1px solid var(--line);gap:4px;margin-top:4px;padding:6px 8px;display:flex}.font-dialog{width:420px}.font-dialog>input{margin:8px}.font-list{max-height:50vh;padding:0 8px 8px;overflow-y:auto}.font-item{text-align:left;background:0 0;border:none;justify-content:space-between;width:100%;display:flex}.font-item:hover:not(:disabled){background:var(--accent2)}.gradient-editor{outline:none;padding:2px 0 4px}.gbar{cursor:copy;border:1px solid var(--line);border-radius:3px;height:18px;position:relative;overflow:hidden}.gfill{position:absolute;inset:0}.gstops{height:14px;margin:0 1px;position:relative}.gstop{cursor:ew-resize;border:1px solid #000;border-radius:2px;outline:1px solid #fff8;width:11px;height:11px;margin-left:-6px;position:absolute;top:1px}.gstop.sel{outline:2px solid var(--accent)}.gcontrols{align-items:center;gap:5px;display:flex}.presets{flex-wrap:wrap;gap:3px;padding-top:4px;display:flex}.swatch{border:1px solid #0008;border-radius:2px;width:22px;height:14px;padding:0}.swatch:hover:not(:disabled){outline:1px solid #fff}.light-sphere-wrap{align-items:center;gap:12px;padding:2px 0;display:flex}.light-sphere{cursor:crosshair;touch-action:none;border-radius:50%;flex-shrink:0;position:relative;box-shadow:0 0 0 1px #000,inset 0 0 0 1px #fff2}.light-dot{pointer-events:none;background:#fff;border:2px solid #000;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute}.light-readout{font-variant-numeric:tabular-nums;line-height:1.6}.light-card{border:1px solid var(--line);border-radius:4px;margin-bottom:6px;padding:3px 6px 5px}.modal-back{z-index:50;background:#0009;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--bg1);border:1px solid var(--line);border-radius:6px;flex-direction:column;min-width:380px;max-height:90vh;display:flex;box-shadow:0 14px 40px #000c}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:8px 10px;font-weight:600;display:flex}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:6px;padding:8px 10px;display:flex}.progress{background:var(--bg0);border-radius:3px;height:16px;margin-top:8px;position:relative;overflow:hidden}.progress .bar{background:var(--accent2);position:absolute;inset:0 auto 0 0}.progress span{padding-left:6px;font-size:11px;position:relative}.status{margin-top:6px}.toast{background:var(--bg3);border:1px solid var(--line);z-index:100;border-radius:5px;max-width:70vw;padding:7px 14px;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0009}.toast.error{border-color:var(--danger);color:#ffd0d0}.confirm-back{z-index:80}.confirm-dialog{width:min(440px,92vw)}.confirm-msg{padding:12px 14px;line-height:1.5}.rename-offer{border:1px solid var(--accent);background:#f0b42914;border-radius:4px;align-items:center;gap:4px;min-width:0;max-width:360px;padding:1px 4px 1px 8px;font-size:11.5px;display:flex}.viewport-col{flex:1;min-width:0;min-height:0;display:flex;position:relative}.viewport-col>.viewport{flex:1}.empty-card-wrap{pointer-events:none;z-index:6;place-items:center;display:grid;position:absolute;inset:0 0 24px}.empty-card{pointer-events:auto;border:1px solid var(--line);background:#1b1b21ee;border-radius:8px;padding:14px 16px 16px;box-shadow:0 14px 40px #000a}.empty-card-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:11px}.empty-card-actions{flex-wrap:wrap;gap:8px;display:flex}.empty-card-actions>button,.empty-card-actions .menu-btn{padding:6px 12px;font-size:13px}.empty-card kbd{font:inherit;opacity:.75;margin-left:4px;font-size:10.5px}.menu-pop.new-pop{width:min(680px,92vw);max-width:none;max-height:80vh}.template-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;padding:4px 6px 8px;display:grid}.template-dialog{width:min(900px,94vw)}.template-tile{text-align:left;white-space:normal;background:0 0;border:1px solid #0000;flex-direction:column;gap:3px;padding:4px;display:flex}.template-tile:hover{border-color:var(--accent2);background:var(--bg3)}.template-img{aspect-ratio:16/9;border-radius:3px;place-items:center;width:100%;font-size:10.5px;display:grid;overflow:hidden}.template-img img{object-fit:contain;width:100%;height:100%;display:block}.template-name{font-size:11.5px;line-height:1.3}.shortcut-sheet{width:min(1180px,96vw)}.shortcut-note{font-size:11px;font-weight:400}.shortcut-cols{columns:3 330px;column-gap:26px;padding:6px 14px 12px;overflow-y:auto}.shortcut-group{break-inside:avoid;margin-bottom:10px}.shortcut-group h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:6px 0 4px;font-size:10.5px}.shortcut-group dl{margin:0}.shortcut-row{grid-template-columns:150px 1fr;gap:8px;padding:2px 0;display:grid}.shortcut-row dd{margin:0}.shortcut-row kbd{font:inherit;white-space:pre-wrap;color:#dce8ff;font-weight:600}.eff-size{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.row{min-height:26px}.row>.label{white-space:normal;overflow-wrap:anywhere;line-height:1.15}.row>.label.scrub{cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;align-self:stretch;align-items:center;display:flex}.row>.label.scrub.changed{color:var(--text)}.numfield .num{cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;height:22px}.numfield .num:focus{cursor:text;-webkit-user-select:text;user-select:text}.numfield .num:hover:not(:focus){border-color:var(--accent2)}.numfield input[type=range]{opacity:.75;height:20px}.numfield input[type=range]:hover,.numfield input[type=range]:focus-visible{opacity:1}.numfield.has-stepper{flex:0 auto;gap:2px}.numfield.has-stepper .num{text-align:center;width:40px}.numfield .stepper{width:22px;height:22px;padding:0;font-size:14px;line-height:1}body.scrubbing,body.scrubbing *{cursor:ew-resize!important}.colorfield{align-items:center;gap:3px;min-width:0;display:inline-flex}.colorfield input[type=color].color{cursor:pointer;flex-shrink:0;width:24px;height:20px}.colorfield .hex-input{width:64px;height:20px;padding:0 4px;font-family:ui-monospace,monospace;font-size:11px}.colorfield .color-tool{width:20px;height:20px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:10px;display:inline-flex}.colorfield .color-tool:hover,.colorfield .color-tool.on{color:var(--text)}.color-pop{width:auto;padding:6px 8px 8px}.color-pop-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:4px 0;font-size:10px}.color-chips{grid-template-columns:repeat(7,24px);gap:4px;display:grid}.color-chip{border:1px solid #ffffff30;border-radius:3px;width:24px;height:22px;padding:0;font-size:11px;font-weight:700;line-height:1}.color-chip:hover{outline:2px solid var(--accent2);outline-offset:1px}.color-chip.active{outline:2px solid var(--accent);outline-offset:1px}.mixed-stripes{background:repeating-linear-gradient(135deg,#8a8a8a 0 3px,#3a3a3a 3px 6px)!important}.colorfield.mixed input[type=color].color::-webkit-color-swatch{background:repeating-linear-gradient(135deg,#8a8a8a 0 3px,#3a3a3a 3px 6px)!important}.numfield.mixed input[type=range]{opacity:.35}.numfield .num::placeholder,.colorfield .hex-input::placeholder{color:var(--muted)}.gmixed{opacity:.45;pointer-events:none;position:absolute;inset:0}.char-btn{text-shadow:0 0 2px #000,0 0 1px #000;height:32px;padding-bottom:5px}.char-btn.has-face:after{height:3px;bottom:2px}.char-btn.line-btn{font-size:13px}.lp{background:var(--bg1);outline:none;flex-direction:column;height:100%;min-height:0;display:flex}.lp:focus-visible{box-shadow:inset 0 0 0 1px var(--accent2)}.lp-header{border-bottom:1px solid var(--line);flex-direction:column;flex:none;gap:3px;padding:4px 6px;display:flex}.lp-header-row{align-items:center;gap:6px;min-height:22px;display:flex}.lp-blend{flex:1;min-width:0}.lp-opacity{align-items:center;gap:4px;width:112px;display:flex}.lp-opacity .numfield{flex:1;min-width:0}.lp-label{color:var(--muted);white-space:nowrap;font-size:11px}.lp-muted{color:var(--muted)}.lp-count{margin-left:auto;font-size:11px}.lp-flag-btn{border:1px solid var(--line);background:var(--bg2);min-width:22px;height:20px;color:var(--muted);border-radius:3px;padding:0 4px;font-size:11px;font-weight:700}.lp-flag-btn.on{color:var(--accent);border-color:var(--accent)}.lp-tree{flex:1;min-height:0;padding-bottom:24px;overflow-y:auto}.lp-empty{color:var(--muted);padding:12px}.lp-tail-drop{height:0;box-shadow:0 0 0 1px var(--accent)}.lp-row{border-bottom:1px solid var(--bg0);cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;min-height:30px;padding:0 4px;display:flex;position:relative}.lp-row:hover{background:var(--bg2)}.lp-row.sel{background:#263350}.lp-row.focus{box-shadow:inset 2px 0 0 var(--accent2);background:#2f4170}.lp-row.dimmed .lp-name,.lp-row.dimmed .lp-thumb,.lp-row.dimmed .lp-swatch{opacity:.45}.lp-row.guide .lp-name{color:var(--muted);font-style:italic}.lp-part,.lp-effect{min-height:22px;font-size:11.5px}.lp-head{text-transform:uppercase;letter-spacing:.06em;min-height:18px;color:var(--muted);border-bottom:none;padding-top:2px;font-size:10px}.lp-head:hover{background:0 0}.lp-row.drop-above{box-shadow:inset 0 2px 0 var(--accent)}.lp-row.drop-below{box-shadow:inset 0 -2px 0 var(--accent)}.lp-row.drop-into,.lp-row.drop-fx{box-shadow:inset 0 0 0 2px var(--accent)}.lp.alt .lp-layer{cursor:alias}.lp.alt .lp-row.clip-top{box-shadow:inset 0 2px 0 var(--accent2)}.lp.alt .lp-row.clip-bottom{box-shadow:inset 0 -2px 0 var(--accent2)}.lp-eye,.lp-eye-space{text-align:center;flex:none;width:18px}.lp-eye{color:var(--muted);background:0 0;border:none;padding:0;font-size:11px}.lp-eye.on{color:var(--text)}.lp-indent{flex:none;justify-content:flex-end;margin-left:-4px;display:flex}.lp-clip-arrow{width:12px;color:var(--accent2);font-weight:700}.lp-thumb{border:1px solid var(--line);border-radius:2px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:flex;overflow:hidden}.lp-thumb.checker{background:repeating-conic-gradient(#5a5a66 0 25%, #74747f 0 50%) 0 0 / 6px 6px}.lp-thumb canvas{object-fit:contain;max-width:100%;max-height:100%}.lp-thumb-icon{background:var(--bg2);color:var(--text);font-size:13px}.lp-thumb-icon svg{width:16px;height:16px}.lp-mask{cursor:pointer;background:#000;margin-left:2px;position:relative}.lp-mask.focus{box-shadow:0 0 0 1px var(--accent2);border-color:#fff}.lp-mask.viewing{border-color:var(--accent)}.lp-mask.off:before,.lp-mask.off:after{content:"";pointer-events:none;background:#e0302a;width:30px;height:2px;position:absolute;top:50%;left:50%}.lp-mask.off:before{transform:translate(-50%,-50%)rotate(45deg)}.lp-mask.off:after{transform:translate(-50%,-50%)rotate(-45deg)}.lp-mask.drop-before{box-shadow:-2px 0 0 var(--accent)}.lp-mask.drop-after{box-shadow:2px 0 0 var(--accent)}.lp-tool svg{vertical-align:-1px}.lp-swatch{border:1px solid #000a;border-radius:2px;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #fff3}.lp-fx-icon{text-align:center;width:14px;color:var(--muted);flex:none;font-style:italic}.lp-gen-icon{color:var(--muted);flex:none;display:flex}.lp-name-col{flex:1;min-width:0;display:flex}.lp-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lp-name.base{text-underline-offset:2px;text-decoration:underline}.lp-rename{width:100%;min-width:0}.lp-badge{color:#111;background:#9a9aac;border-radius:3px;flex:none;padding:0 4px;font-size:9.5px;font-weight:700}.lp-badge.k-title2d{background:#6ad0ff}.lp-badge.k-title3d{background:var(--accent)}.lp-badge.lp-flag{background:var(--bg3);color:var(--text)}.lp-badge.lp-fx{color:var(--text);border:1px solid var(--line);cursor:grab;background:0 0;font-style:italic}.lp-badge.lp-behind{color:var(--muted);border:1px solid var(--line);background:0 0;font-weight:600}.lp-lock{flex:none;font-size:10px}.lp-twirl,.lp-twirl-space{flex:none;width:16px}.lp-twirl{color:var(--muted);background:0 0;border:none;padding:0}.lp-twirl:hover{color:var(--text)}.lp-toolbar{border-top:1px solid var(--line);flex:none;justify-content:flex-end;align-items:center;gap:2px;padding:3px 6px;display:flex}.lp-tool{min-width:24px;height:22px;color:var(--muted);background:0 0;border:none;border-radius:3px;padding:0 5px}.lp-tool:hover:not(:disabled),.lp-tool.on{background:var(--bg3);color:var(--text)}.lp-tool-fx{font-style:italic;font-weight:700}.lp-tool-sep{flex:1}.lp-menu{z-index:60;background:var(--bg2);border:1px solid var(--line);border-radius:5px;outline:none;min-width:200px;max-width:340px;padding:3px;position:fixed;overflow-y:auto;box-shadow:0 10px 30px #000a}.lp-menu-sep{background:var(--line);height:1px;margin:3px 6px}.lp-mi{text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:3px 8px 3px 4px;display:flex}.lp-mi:hover:not(:disabled),.lp-mi:focus-visible,.lp-mi.open{background:var(--accent2);color:#fff;outline:none}.lp-mi:disabled{color:var(--muted);opacity:.6}.lp-mi-check{flex:none;width:12px}.lp-mi-check:has(svg){width:16px;display:flex}.lp-menu-head{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:5px 8px 2px;font-size:10px;font-weight:600}.lp-menu-head:not(:first-child){border-top:1px solid var(--line);margin-top:3px}.lp-mi-label{flex:1}.lp-mi-key{color:var(--muted);flex:none;font-size:11px}.lp-mi:hover .lp-mi-key,.lp-mi.open .lp-mi-key{color:#dce8ff}.hp{background:var(--bg1);flex-direction:column;height:100%;min-height:0;display:flex;overflow-y:auto}.hp-item{border:none;border-bottom:1px solid var(--bg0);text-align:left;background:0 0;flex:none;padding:4px 10px}.hp-item:hover{background:var(--bg2)}.hp-item.current{background:#2c3a55;font-weight:600}.hp-item.undone{color:var(--muted);font-style:italic}.effect{border:1px solid var(--line);background:var(--bg1);border-radius:4px;margin:6px}.effect.sel{border-color:var(--accent2)}.effect.disabled .effect-body,.effect.disabled .fx-name{opacity:.5}.effect.drop-above{box-shadow:0 -2px 0 var(--accent)}.effect.drop-below{box-shadow:0 2px 0 var(--accent)}.effect-head{background:var(--bg2);border-radius:4px 4px 0 0;align-items:center;gap:4px;padding:3px 4px;display:flex}.effect-head .grip{cursor:grab;color:var(--muted);font-size:10px}.effect-head .grip.pinned{cursor:help}.effect-head .right{flex-shrink:0}.fx-name{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600;line-height:1.2}.fx-handles{color:var(--muted)}.fx-handles.on{color:#ffd34a}.effect-body{padding:2px 8px 6px}.effect-body .row-block>.label{width:auto}.fx-behind{color:var(--muted);border:1px solid var(--line);border-radius:3px;flex:none;padding:0 4px;font-size:10px}.fx-stack-hint{color:var(--muted);letter-spacing:.02em;margin:4px 8px 0;font-size:10.5px}.fx-stack-hint:last-child{margin:0 8px 6px}.menu-pop.fx-add{flex-direction:column;width:540px;max-width:calc(100vw - 16px);padding:0;display:flex;overflow:hidden}.fx-add-target{color:var(--muted);flex-shrink:0;align-items:center;gap:6px;padding:6px 8px 0;display:flex}.fx-add-target button.on{border-color:var(--accent);color:#fff}.fx-add-search{flex-shrink:0;margin:6px}.fx-add-body{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:1;min-height:0;display:flex}.fx-add-rail{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:1px;width:150px;padding:4px;display:flex;overflow-y:auto}.fx-add-rail button{text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:3px;align-items:center;gap:6px;padding:5px 6px;display:flex}.fx-add-rail button:hover{background:var(--bg3)}.fx-add-rail button.on{background:var(--accent2);color:#fff}.fx-add-rail .glyph{text-align:center;width:14px;color:var(--accent)}.fx-add-rail button.on .glyph{color:#fff}.fx-add-rail .count{color:var(--muted);margin-left:auto;font-size:10px}.fx-add-rail button.on .count{color:#dce8ff}.fx-add-list{flex:1;min-width:0;padding:3px;overflow-y:auto}.fx-add-item{text-align:left;background:0 0;border:none;border-radius:3px;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:5px 8px;display:flex}.fx-add .fx-add-item.active,.fx-add .fx-add-item:hover:not(:disabled){background:var(--accent2);color:#fff}.fx-add-label{white-space:normal;font-weight:600}.fx-add-sum{max-width:100%;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.fx-add-label>svg{vertical-align:-3px;margin-right:4px}.fx-add-label>.fx-behind{margin-left:6px;font-weight:400}.fx-add-item.active .fx-behind,.fx-add-item:hover .fx-behind{color:#dce8ff;border-color:#dce8ff80}.fx-add-item.active .fx-add-sum,.fx-add-item:hover .fx-add-sum{color:#dce8ff}.fx-add-cat{color:var(--muted);margin-left:6px;font-size:10px;font-weight:400}.fx-add-enter{border:1px solid #ffffff80;border-radius:3px;margin-left:6px;padding:0 4px;font-size:10px;font-weight:400}.fx-add-item.active .fx-add-cat,.fx-add-item:hover .fx-add-cat{color:#dce8ff}.fx-add .fx-add-item.active{box-shadow:inset 3px 0 #fff}.fx-add-rail button.none:not(.on){opacity:.45}.fx-add-detail{min-height:44px;color:var(--muted);flex-shrink:0;padding:6px 10px 8px;font-size:11px;line-height:1.35}.fx-add-detail b{color:var(--text)}.library-panel{--lib-tile:116px;flex:auto;height:100%;container-type:inline-size}.library-panel.tiles-s{--lib-tile:76px}.library-panel.tiles-l{--lib-tile:160px}.lib-head{height:28px;font-weight:400}.lib-target{flex:1;min-width:0}.lib-find{flex-shrink:0;padding:0 8px 4px}.lib-find>input{width:100%}.lib-chips{flex-wrap:wrap;flex-shrink:0;gap:3px;padding:0 8px 4px;display:flex}.lib-chip{border-radius:9px}.lib-chip .lib-count{opacity:.6}.lib-options{border-bottom:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:2px 8px 6px;display:flex}.lib-omakase{margin-left:auto;font-weight:700}.lib-options label{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.lib-hint{padding:6px 8px 0}.lib-section-head{align-items:center;gap:4px;min-width:0;padding:6px 8px 2px;display:flex}.lib-fold{letter-spacing:.04em;text-transform:uppercase;background:0 0;border:none;padding:0;font-size:11px;font-weight:600}.lib-fold:hover:not(:disabled){color:#fff;background:0 0}.lib-section-actions{gap:3px;margin-left:auto;display:flex}.lib-save{padding:2px 8px 4px}.lib-save-form{gap:3px;display:flex}.lib-save-form input{flex:1;min-width:0}.lib-grid{grid-template-columns:repeat(auto-fill, minmax(var(--lib-tile), 1fr));gap:6px;padding:4px 8px 8px;display:grid}.lib-tile{border:1px solid var(--line);background:var(--bg2);cursor:pointer;border-radius:4px;position:relative;overflow:hidden}.lib-tile:hover{border-color:var(--accent)}.lib-tile.disabled{opacity:.4;cursor:not-allowed}.lib-tile.disabled:hover{border-color:var(--line)}.lib-thumb{background:radial-gradient(at 50% 45%,#2a1838 0%,#0c0812 70%);width:100%;position:relative}.lib-thumb canvas{width:100%;height:100%;display:block}.lib-convert{color:#fff;box-shadow:inset 0 0 0 1px var(--accent);pointer-events:none;background:#000b;border-radius:3px;padding:0 4px;font-size:10px;font-weight:600;line-height:15px;position:absolute;top:3px;left:3px}.lib-busy{border:2px solid #fff3;border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;margin:auto;animation:.8s linear infinite lib-spin;position:absolute;inset:0}@keyframes lib-spin{to{transform:rotate(360deg)}}.lib-failed{color:var(--danger);place-items:center;font-size:10px;display:grid;position:absolute;inset:0}.lib-name{padding:2px 5px 3px;font-size:11px}.tiles-s .lib-name{font-size:10px}.lib-rename{width:100%;font-size:11px}.lib-tile-actions{background:#000a;border-radius:3px;gap:1px;display:none;position:absolute;top:2px;right:2px}.lib-tile:hover .lib-tile-actions{display:flex}.lib-empty{grid-column:1/-1;padding:6px 0}.lib-none{flex-wrap:wrap;align-items:center;gap:6px;padding:12px 8px;display:flex}.adj-toolbar{align-items:center;gap:6px;display:flex}.adj-toolbar>.row{flex:1}.adj-histogram{background:var(--bg0);border:1px solid var(--line);box-sizing:border-box;border-radius:3px;width:100%;height:72px;margin:4px 0 2px;display:block}.adj-tribar{cursor:ew-resize;touch-action:none;height:20px;margin:0 6px 2px;position:relative}.adj-ramp{border:1px solid var(--line);border-radius:2px;height:8px;position:absolute;inset:0 0 auto}.adj-tri{filter:drop-shadow(0 0 1px #000)drop-shadow(0 0 .5px #fff8);border-bottom:9px solid;border-left:6px solid #0000;border-right:6px solid #0000;outline:none;width:0;height:0;position:absolute;top:10px;transform:translate(-50%)}.adj-tri:focus-visible{filter:drop-shadow(0 0 1.5px var(--accent)) drop-shadow(0 0 1px var(--accent))}.adj-tri.mixed{opacity:.4}.adj-fields{justify-content:space-between;gap:6px;margin:0 0 6px;display:flex}.adj-fields>*{flex:0 64px;min-width:0}.adj-caption{margin:6px 0 2px}.adj-note{margin:6px 0}.adj-huebars{flex-direction:column;gap:2px;margin:6px 0;display:flex}.adj-huebars>div{border:1px solid var(--line);border-radius:2px;height:10px}.adj-dot{vertical-align:-1px;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block;box-shadow:0 0 0 1px #0008}.adj-balance-right{width:66px;color:var(--muted);white-space:nowrap;flex:none}.adj-balance-right>.adj-dot{margin:0 0 0 4px}.lint-badge{border-radius:9px;min-width:26px;height:18px;padding:0 6px;font-size:11px;font-weight:600;line-height:16px}.lint-badge.ok{color:#7be08a;border-color:#2f6a3a}.lint-badge.warn{color:#1a1000;background:#f0b400;border-color:#f0b400}.lint-pop{z-index:50;width:300px;padding:6px;overflow:auto}.lint-none{padding:4px;font-size:11px}.lint-item{border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:4px;padding:6px 4px;font-size:11px;line-height:1.35;display:flex}.lint-item:last-child{border-bottom:0}.lint-rule{cursor:help;color:var(--accent);margin-left:4px}.panel.properties{position:relative}.props-find{flex-shrink:0;padding:6px 8px 2px}.props-find>input{width:100%}.props-find-list{z-index:40;background:var(--bg1);border-top:1px solid var(--line);padding:4px 8px 12px;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.props-find-item{width:100%;font:inherit;text-align:left;border-radius:3px;flex-direction:column;align-items:stretch;gap:1px;padding:4px 6px;display:flex}button.props-find-item{color:inherit;cursor:pointer;background:0 0;border:0}.props-find-item:hover,.props-find-item[data-active]{background:var(--bg2)}.props-find-item .pf-label{color:var(--text)}.props-find-item .pf-path{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.props-find-item button.pf-path{max-width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:11px}.props-find-item button.pf-path:hover{color:var(--text);text-decoration:underline}.props-find-item.add .pf-label{color:var(--accent2)}.props-find-note{color:var(--muted);padding:6px}.props-find-more{margin:6px 6px 0}@keyframes find-flash{0%,40%{background-color:color-mix(in srgb, var(--accent) 28%, transparent);box-shadow:0 0 0 1px var(--accent)}to{background-color:#0000;box-shadow:0 0 0 1px #0000}}.find-flash{border-radius:3px;animation:1.5s ease-out find-flash}.properties{height:100%}.props-crumbs{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px;min-width:0;padding:4px 8px 2px;font-size:11px;display:flex}.crumb-wrap{align-items:center;gap:2px;min-width:0;display:inline-flex}.crumb{text-overflow:ellipsis;white-space:nowrap;max-width:160px;color:var(--muted);background:0 0;border:none;border-radius:3px;padding:1px 3px;overflow:hidden}button.crumb:hover:not(:disabled){background:var(--bg3);color:var(--text)}.crumb.current{color:var(--text);font-weight:600}.crumb-sep{color:var(--muted)}.badge.k-part{background:#7fd99a}.badge.k-effect{background:#ffb36a}.badge.k-document{background:#c8c8d4}.badge.k-generator{background:#f6d365}.badge.k-mask{background:#e8e8e8}.mask-actions{flex-wrap:wrap;gap:4px;margin:4px 0 2px;display:flex}.gen-title{align-items:center;gap:6px;display:inline-flex}.gen-presets{flex-wrap:wrap;gap:4px;margin:4px 0 6px;display:flex}.gen-chip{border-radius:10px;padding:2px 8px;font-size:11px}.gen-chip.on{background:var(--accent2);border-color:var(--accent2);color:#fff}.props-toolbar,.fx-toolbar{align-items:center;gap:6px;padding:6px 8px;display:flex}.props-toolbar{border-bottom:1px solid var(--line)}.props-toolbar .right,.fx-toolbar .menu-btn{gap:4px;margin-left:auto;display:flex}.part-actions{align-items:center;gap:1px;display:inline-flex}.section .fx-toolbar{padding:2px 0 4px}.section .effect{margin:6px 0}.fx-name.link{cursor:pointer}.fx-name.link:hover{text-decoration:underline}button.fx-handles{padding:0 3px}.props-body.full .effect.full{min-height:calc(100% - 12px)}.properties .seg{flex-wrap:wrap;max-width:100%}.properties .row>.ctl{min-width:0}.part-eye{width:18px;height:18px;color:var(--muted);text-align:center;background:0 0;border:none;flex:none;padding:0;font-size:10px;line-height:18px}button.part-eye:hover:not(:disabled){background:var(--bg3);color:var(--text)}.part-eye.on{color:var(--text)}.sty-row.off .part-eye{opacity:1}.info-tip{color:var(--muted);cursor:help;margin-left:5px;font-weight:400}.info-tip:hover,.info-tip:focus-visible{color:var(--text)}.xf-tools{flex-wrap:wrap;gap:4px 10px;padding:2px 0 4px;display:flex}.xf-tools .align-btns button{min-width:22px;padding:1px 3px}.xf-grid{--xf-min:96px;grid-template-columns:repeat(auto-fit, minmax(var(--xf-min), 1fr));column-gap:10px;display:grid}.xf-grid.xf-wide{--xf-min:136px}.xf-grid>.row>.label{flex-shrink:1;width:auto;min-width:0}.xf-grid .numfield{justify-content:flex-end}.xf-grid .num{flex:none;width:50px}.part-width,.part-width .numfield{flex:none}.part-width .numfield .num{width:46px;height:20px}.sty-title{align-items:center;gap:5px;min-width:0;display:inline-flex}.sty-swatch{border:1px solid var(--line);border-radius:2px;flex:none;width:18px;height:12px;display:inline-block;overflow:hidden}.sty-swatch>span{width:100%;height:100%;display:block}.sty-strip{border:1px solid var(--line);border-radius:2px;height:10px;margin-left:86px;overflow:hidden}.sty-strip>span{width:100%;height:100%;display:block}.sty-clip{gap:2px;display:inline-flex}.sty-clip .icon-btn{font-size:10px}.sty-stack{flex-direction:column;gap:1px;display:flex}.sty-row{background:var(--bg2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;align-items:center;gap:4px;min-height:22px;padding:1px 4px;display:flex}.sty-row:hover{background:var(--bg3)}.sty-row.sel{background:#2c3a55}.sty-row.off .sty-name,.sty-row.off .sty-swatch{opacity:.4}.sty-row.inherited .sty-swatch{opacity:.45}.sty-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sty-actions{visibility:hidden;flex:none;display:flex}.sty-row:hover .sty-actions,.sty-row.sel .sty-actions{visibility:visible}.sty-twisty{width:10px;color:var(--muted);flex:none;font-size:9px}.sty-inline{border-left:2px solid #2c3a55;margin:0 0 6px;padding-left:4px}.sty-inline-head{text-overflow:ellipsis;white-space:nowrap;padding:4px 4px 2px;font-weight:600;overflow:hidden}.sty-icons .seg{flex-wrap:wrap}.sty-icons .seg button{padding:1px 3px;line-height:0}.sty-icon{display:block}.sty-icon polygon{fill:currentColor;opacity:.85}.sty-icon .frame{fill:none;stroke:currentColor;opacity:.3}.sty-icon .curve{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linejoin:round}.sty-ramps>.ctl{flex-wrap:wrap;gap:3px}.sty-ramp{border-radius:2px;width:22px;height:14px;padding:0}.sty-ramp.on{outline:2px solid var(--accent);outline-offset:1px}.sty-light{align-items:center;gap:8px;padding:2px 0;display:flex}.sty-light-nums{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.sty-light-nums .row>.label{width:50px}.sty-light>.light-sphere-wrap{flex:none}.sty-light .light-readout{display:none}.sty-group-on{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:400;overflow:hidden}.sty-feature{cursor:pointer;align-items:center;gap:6px;display:flex}.sty-feature:first-child{margin-top:2px}.link-actions{align-items:center;gap:2px;display:inline-flex}.link-icon{vertical-align:-1px;flex:none}.link-chip{max-width:130px;color:var(--accent2);white-space:nowrap;text-overflow:ellipsis;background:#3d8bff1f;border:1px solid #3d8bff73;border-radius:8px;align-items:center;gap:3px;padding:0 5px;font-size:10px;line-height:16px;display:inline-flex;overflow:hidden}.link-rename{width:100px;font-size:10px}.link-menu .menu-btn{padding:0 4px;font-size:10px}.link-item{align-items:center;gap:5px;display:inline-flex}.part-link{color:var(--accent2);opacity:.8;flex:none;display:inline-flex}.lt-row{align-items:center;gap:4px;display:flex}.lt-row>.row{flex:1;min-width:0}.lt-row>.row>.label{width:74px}.lt-row.inherited>.row>.ctl{opacity:.75}.lt-src{box-sizing:border-box;border:1.5px solid var(--muted);background:0 0;border-radius:50%;flex:none;width:11px;min-width:0;height:11px;margin:0;padding:0;display:inline-block}button.lt-src{cursor:pointer}button.lt-src:hover{box-shadow:0 0 0 2px #f0b42959}.lt-src.here{background:var(--accent);border-color:var(--accent)}.lt-src.layer{border-color:var(--accent2)}.lt-src.mixed{border-color:var(--accent);background:linear-gradient(90deg, var(--accent) 50%, transparent 50%)}.lt-legend .lt-src{vertical-align:-1px}.lt-actions{flex-wrap:wrap;gap:4px;margin:4px 0 2px;display:flex}.dock{background:var(--bg1);border-left:1px solid var(--line);flex-direction:column;flex-shrink:0;min-width:0;min-height:0;display:flex;position:relative}.dock-groups{flex-direction:column;flex:1;min-height:0;display:flex}.dock-group{flex-direction:column;min-height:96px;display:flex}.dock-group.collapsed{border-bottom:1px solid var(--line);flex:none;min-height:0}.dock-tabs{background:var(--bg2);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:stretch;height:28px;display:flex}.dock-group.collapsed .dock-tabs{border-bottom:none}.dock-tab{border:none;border-right:1px solid var(--line);color:var(--muted);background:0 0;border-radius:0;padding:0 12px;font-weight:600}.dock-tab:hover:not(:disabled){background:var(--bg3);color:var(--text)}.dock-tab.active,.dock-tab.active:hover:not(:disabled){background:var(--bg1);color:#fff;box-shadow:inset 0 2px var(--accent)}.dock-group.collapsed .dock-tab.active{box-shadow:none;background:0 0}.dock-tab:focus-visible,.dock-collapse:focus-visible{outline:1px solid var(--accent2);outline-offset:-2px}.dock-collapse{color:var(--muted);background:0 0;border:none;border-radius:0;margin-left:auto;padding:0 9px}.dock-collapse:hover:not(:disabled){background:var(--bg3);color:var(--text)}.dock-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.dock-panel>*{flex:1;min-height:0}.dock-panel:focus{outline:none}.dock-panel:focus-visible{box-shadow:inset 0 0 0 1px var(--accent2)}.dock-split{cursor:row-resize;background:var(--bg0);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-shrink:0;height:5px}.dock-resizer{cursor:col-resize;z-index:5;width:6px;position:absolute;top:0;bottom:0;left:-3px}.dock-split:hover,.dock-split:active,.dock-split:focus-visible,.dock-resizer:hover,.dock-resizer:active,.dock-resizer:focus-visible{background:#3d8bff80;outline:none}.dock.columns{flex-direction:row}.dock-col{flex-direction:column;flex-shrink:0;min-width:0;min-height:0;display:flex;position:relative}.dock-col+.dock-col{border-left:1px solid var(--line)}.dock-col>.dock-group{flex:1 1 0}.dock.columns .dock-group.collapsed{border-bottom:none;flex:1 1 0}.dock.columns .dock-group.collapsed .dock-tabs{writing-mode:vertical-rl;flex:1;width:28px;height:auto}.dock.columns .dock-group.collapsed .dock-tab{border-right:none;border-bottom:1px solid var(--line);padding:12px 0}.dock.columns .dock-group.collapsed .dock-collapse{margin-top:auto;margin-left:0;padding:9px 0}.viewport-area.tool-glyph,.viewport-area.tool-shape,.viewport-area.tool-gradient{cursor:crosshair}.viewport-area.tool-text{cursor:text}.viewport-area.tool-hand{cursor:grab}.viewport-area.tool-hand:active{cursor:grabbing}.viewport-area.tool-zoom{cursor:zoom-in}.viewport-area.tool-zoom.zoom-out{cursor:zoom-out}.status-bar{scrollbar-width:none;background:var(--bg1);border-top:1px solid var(--line);flex-shrink:0;align-items:center;gap:2px 8px;height:24px;padding:0 8px;font-size:11px;display:flex;overflow:auto hidden;container-type:inline-size}.status-bar .group{white-space:nowrap;flex-shrink:0;align-items:center;gap:2px;display:flex}.status-bar .group+.group,.status-bar .size-readout{border-left:1px solid var(--line);padding-left:8px}.status-bar .group>.muted{margin-right:3px}.status-bar button{padding:0 5px;font-size:11px;line-height:16px}.status-bar select{height:18px;font-size:11px}.status-bar .zoom-readout{text-align:right;font-variant-numeric:tabular-nums;width:40px}.status-bar .size-readout{white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.status-bar .hint{text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;font-size:10.5px;overflow:hidden}@container (width<=1100px){.status-bar .group>.muted:not(.zoom-readout),.status-bar .size-readout{display:none}}@container (width<=860px){.status-bar .group+.group{padding-left:5px}.status-bar button{padding:0 3px}}.overlay .part-outline path,.overlay .part-outline polygon{fill:none;stroke:#ff9a3d;stroke-width:1.5px;stroke-dasharray:5 3;filter:drop-shadow(0 0 1px #000);pointer-events:none}.overlay .part-outline text{fill:#ff9a3d;pointer-events:none}.overlay .marquee.zoom{fill:none;stroke:#fff}.overlay .marquee.shape{fill:#46d7ff1a;stroke:#46d7ff;stroke-dasharray:none}.overlay .glyph-box{pointer-events:none;fill:#0000;stroke:#ffffff38;stroke-width:1px;stroke-dasharray:3 3}.overlay .glyph-box.has-face{stroke:#ff6ad5}.overlay .glyph-picked{fill:#f0b42933;stroke:var(--accent);stroke-width:2px;pointer-events:none}.overlay .glyph-frame{fill:none;stroke:var(--accent);stroke-width:1px;stroke-dasharray:5 3;pointer-events:none}.overlay .glyph-gizmo .rot-stem{stroke:var(--accent)}.overlay .handle.glyph{fill:#fff;stroke:var(--accent);stroke-width:1.5px}.overlay .pivot.glyph{fill:var(--accent)}.overlay .glyph-readout{fill:var(--accent);font-variant-numeric:tabular-nums;font-size:11px}.overlay .glyph-mode .sel-box{stroke-dasharray:2 4;opacity:.6}.overlay .sel-box.other{stroke-dasharray:4 3;opacity:.8}.overlay .marquee{fill:#3d8bff1a;stroke:var(--accent2);stroke-width:1px;stroke-dasharray:4 3}.overlay .marquee.glyphs{fill:#f0b4291a;stroke:var(--accent)}.overlay .bend-stem{stroke:#46d7ff;stroke-width:1px}.overlay .grad-line{stroke:#fff;stroke-width:1.5px;filter:drop-shadow(0 0 1px #000);pointer-events:none}.overlay .grad-line-hit{stroke:#0000;stroke-width:22px;pointer-events:stroke;cursor:move}.overlay .grad-centre{fill:#fff;stroke:#000}.overlay .handle.grad{stroke:#000;stroke-width:1.5px;cursor:move}.overlay .handle.grad.start{fill:#fff}.overlay .handle.grad.end{fill:#222;stroke:#fff}.overlay .handle.shape{fill:#46d7ff;stroke:#000;stroke-width:1px}.overlay .handle.bend{fill:#46d7ff;stroke:#000}.overlay .shape-h text,.overlay .bend-h text{fill:#46d7ff}.overlay .gen-size-outline{fill:none;stroke:#ffd34a;stroke-width:1.5px;stroke-dasharray:5 4;pointer-events:none}.overlay .handle.size{fill:#ffd34a;stroke:#000;stroke-width:1px}.overlay .mask-outline{fill:none;stroke:#ff6ad5;stroke-width:1.5px;stroke-dasharray:6 4;filter:drop-shadow(0 0 1px #000);pointer-events:none}.overlay .mask-outline-hit{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:move}.overlay .mask-box{fill:none;stroke:#ff6ad5;stroke-width:1px;opacity:.6;pointer-events:none}.overlay .mask-shape .rot-stem{stroke:#ff6ad5}.overlay .handle.mask{fill:#fff;stroke:#ff6ad5;stroke-width:1.5px}.overlay .handle.mask.move{fill:#ff6ad5;stroke:#000;stroke-width:1px}.overlay .mask-cross{stroke:#ff6ad5;stroke-width:1px}.overlay .mask-label{fill:#ff6ad5;pointer-events:none}.overlay .mask-radius{fill:none;stroke:#fff;stroke-width:1px;stroke-dasharray:4 4;opacity:.7;filter:drop-shadow(0 0 1px #000);pointer-events:none}.overlay .mask-radius.inner{stroke-dasharray:1 3}.overlay .handle.grad.mid{fill:#888;stroke:#fff}.overlay .handle.grad.inner{fill:#fff}.stage canvas.mask-view{pointer-events:none;position:absolute;top:0;left:0}.mask-view-badge{z-index:4;white-space:nowrap;color:#fff;background:#000c;border-radius:3px;align-items:center;gap:6px;padding:2px 4px 2px 8px;font-size:11px;display:flex;position:absolute;transform:translateY(calc(-100% - 4px));box-shadow:inset 3px 0 #ff6ad5}.mask-view-badge button{padding:0 5px;font-size:11px;line-height:16px}.inline-text{z-index:5;transform-origin:50%;field-sizing:content;color:#fff;min-width:1.5em;caret-color:var(--accent);border:1px dashed var(--accent);resize:none;white-space:pre;text-shadow:0 0 3px #000,0 0 1px #000;background:#0000004d;border-radius:2px;outline:none;padding:.05em .15em;position:absolute;overflow:hidden}.inline-text::selection{background:#3d8bff99}.inline-text.vertical{writing-mode:vertical-rl}.stage.text-editing canvas{opacity:.4}.overlay .distort-lattice{fill:none;stroke:#46d7ff;stroke-width:1px;opacity:.75;filter:drop-shadow(0 0 1px #000);pointer-events:none}.overlay .distort-lattice.edge{stroke-width:1.5px;opacity:1}.overlay .distort-hull{fill:none;stroke:#fff;stroke-width:.75px;stroke-dasharray:2 3;opacity:.5;pointer-events:none}.overlay .handle.distort{fill:#46d7ff;stroke:#000;stroke-width:1px}.overlay .handle.distort.inner{fill:#fff}.overlay .distort-reset{cursor:pointer;pointer-events:all}.overlay .distort-reset rect{fill:#1b1b21e0;stroke:#46d7ff}.overlay .distort-reset text{fill:#46d7ff;pointer-events:none;font-size:11px}.overlay .distort-reset:hover rect{fill:#23323e}.overlay .handle.glyph.side{fill:var(--accent);stroke:#000;stroke-width:1px}.overlay .light-dial-ring{fill:#1b1b21b0;stroke:#ffd34a;stroke-width:1px;pointer-events:none}.overlay .light-dial-ray{stroke:#ffd34a;stroke-width:1.5px;pointer-events:none}.overlay .light-dial-centre{fill:#ffd34a}.overlay .handle.light{fill:#ffd34a;stroke:#000;stroke-width:1px}.overlay .light-dial-label{fill:#ffd34a;font-variant-numeric:tabular-nums;pointer-events:none;font-size:11px}.overlay .fx-box{fill:none;stroke:var(--accent2);stroke-width:1px;stroke-dasharray:1 4;opacity:.55}.overlay .hh .hit{fill:#0000;stroke:none;pointer-events:all}.overlay .hh>:not(.hit){pointer-events:none}.overlay .hh:hover .hit{fill:#ffffff1a;stroke:#fff6;stroke-width:1px}.overlay .hh:hover .handle{stroke:#fff;stroke-width:2.5px;filter:drop-shadow(0 0 3px var(--accent2))}.overlay .gz3{--gz3-halo:#07070acc}.overlay .gz3 .ax0{--ax:#ff5a4c;--ax-lit:#ff9489}.overlay .gz3 .ax1{--ax:#4ee35f;--ax-lit:#8dfa99}.overlay .gz3 .ax2{--ax:#4a9dff;--ax-lit:#8fc6ff}.overlay .gz3 .hh .hit.stroke,.overlay .gz3 .hh:hover .hit.stroke{fill:none;stroke:#0000;stroke-width:20px;stroke-linecap:round;pointer-events:stroke}.overlay .gz3 .hh .hit.ring,.overlay .gz3 .hh:hover .hit.ring{stroke-width:14px}.overlay .gz3 .hh .hit.head,.overlay .gz3 .hh:hover .hit.head{fill:#0000;stroke:#0000;stroke-width:8px;stroke-linejoin:round}.overlay .gz3-shaft,.overlay .gz3-arc{fill:none;stroke:var(--ax);stroke-width:3.5px;stroke-linecap:round}.overlay .gz3-arc{stroke-width:4px}.overlay .gz3-head,.overlay .gz3-tip{fill:var(--ax)}.overlay .gz3-halo.gz3-shaft{stroke:var(--gz3-halo);stroke-width:7.5px}.overlay .gz3-halo.gz3-arc{stroke:var(--gz3-halo);stroke-width:8px}.overlay .gz3-halo.gz3-head,.overlay .gz3-halo.gz3-tip{fill:var(--gz3-halo);stroke:var(--gz3-halo);stroke-width:4px;stroke-linejoin:round}.overlay .gz3-badge{fill:#0d0d10e6;stroke:var(--ax);stroke-width:1.5px}.overlay .gz3 text.gz3-label{fill:var(--ax-lit);font-size:10px;font-weight:800}.overlay .gz3-ring{fill:none;stroke:#ffffffb3;stroke-width:1.5px}.overlay .gz3-halo.gz3-ring{stroke:#07070a80;stroke-width:4px}.overlay .gz3-centre{fill:#fff;stroke:#07070a;stroke-width:2px}.overlay .gz3 .hot .gz3-shaft,.overlay .gz3 .active .gz3-shaft,.overlay .gz3 .hot .gz3-arc,.overlay .gz3 .active .gz3-arc{stroke:var(--ax-lit);stroke-width:5px;filter:drop-shadow(0 0 4px var(--ax))}.overlay .gz3 .hot .gz3-halo.gz3-shaft,.overlay .gz3 .active .gz3-halo.gz3-shaft,.overlay .gz3 .hot .gz3-halo.gz3-arc,.overlay .gz3 .active .gz3-halo.gz3-arc{stroke:var(--gz3-halo);stroke-width:9.5px;filter:none}.overlay .gz3 .hot .gz3-head,.overlay .gz3 .active .gz3-head,.overlay .gz3 .hot .gz3-tip,.overlay .gz3 .active .gz3-tip{fill:var(--ax-lit);filter:drop-shadow(0 0 4px var(--ax))}.overlay .gz3 .hot .gz3-halo.gz3-head,.overlay .gz3 .active .gz3-halo.gz3-head,.overlay .gz3 .hot .gz3-halo.gz3-tip,.overlay .gz3 .active .gz3-halo.gz3-tip{fill:var(--gz3-halo);stroke-width:6px;filter:none}.overlay .gz3 .hot .gz3-badge,.overlay .gz3 .active .gz3-badge{fill:var(--ax);stroke:var(--ax-lit)}.overlay .gz3 .hot text.gz3-label,.overlay .gz3 .active text.gz3-label{fill:#000}.overlay .gz3 .hot .gz3-ring,.overlay .gz3 .active .gz3-ring{stroke:#fff;stroke-width:3px;filter:drop-shadow(0 0 3px var(--accent2))}.overlay .gz3 .hot .gz3-halo.gz3-ring,.overlay .gz3 .active .gz3-halo.gz3-ring{stroke:var(--gz3-halo);stroke-width:6.5px;filter:none}.overlay .gz3 .hot .gz3-centre,.overlay .gz3 .active .gz3-centre{fill:#fff;stroke-width:2.5px;filter:drop-shadow(0 0 4px var(--accent2))}.overlay .gz3.dragging>g:not(.active){opacity:.35}.overlay .gz3-guide{stroke:var(--ax);stroke-width:1.5px;stroke-dasharray:6 4;opacity:.85;pointer-events:none;filter:drop-shadow(0 0 1px #000)}.overlay .gz3-readout{font-variant-numeric:tabular-nums}.file-drop{z-index:7;background:#0d0d10b3;gap:8px;padding:8px;display:flex;position:absolute;inset:0}.file-drop-zone{text-align:center;border:2px dashed var(--line);color:var(--muted);border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:16px;display:flex}.file-drop-zone.on{border-color:var(--accent);color:var(--text);background:#f0b4291a}.file-drop-label{font-size:18px;font-weight:600}.file-drop-hint{max-width:28em;font-size:12px}.xp-dialog{flex-direction:column;width:480px;max-height:calc(100vh - 40px);display:flex}.xp-dialog>.tabs{padding:0 10px}.xp-dialog>.tabs,.xp-dialog>.modal-head{flex:none}.xp-scroll{flex:auto;min-height:0;overflow-y:auto}.xp-body{border:none;min-width:0;margin:0}.xp-foot{background:var(--bg1);border-radius:0 0 6px 6px;flex:none;align-items:center;position:sticky;bottom:0}.xp-local{margin-right:auto;font-size:11px}.xp-name{flex:1;min-width:0}.xp-size{white-space:nowrap;text-overflow:ellipsis;margin-left:4px;font-size:11px;overflow:hidden}.xp-scale{flex:none;width:72px;margin-left:6px}.xp-mm{flex:none;width:84px}.xp-group{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.xp-files{word-break:break-all}.ps-dialog{width:min(620px,100vw - 40px)}.ps-body{min-height:0;padding:8px 12px;overflow-y:auto}.ps-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:6px 0;display:grid}.ps-row.off{opacity:.5}.ps-name{align-items:center;gap:6px;min-width:0;display:flex}.ps-origin{flex:none;font-size:11px}.ps-size{align-items:center;gap:6px;font-size:11px;display:flex}.ps-size>:first-child{width:78px}.ps-confirm{color:var(--accent2)}.ps-detail{grid-column:1/-1;font-size:11px}.gamut-overlay{pointer-events:none;position:absolute;inset:0}.gamut-canvas{width:100%;height:100%;position:absolute;inset:0}.gamut-badge{color:#fff;pointer-events:auto;background:#000a;border-radius:3px;padding:2px 6px;font-size:11px;position:absolute;top:6px;left:6px}.gamut-badge.warn{box-shadow:inset 3px 0 #ff2bd6}
