:root{--app-bg:#1b1b1b;--panel-bg:#2a2a2a;--panel-header:#232323;--panel-border:#151515;--divider:#3a3a3a;--input-bg:#1d1d1d;--input-border:#444;--hover:#3a3a3a;--active:#474747;--text:#e3e3e3;--text-dim:#a4a4a4;--text-faint:#6d6d6d;--accent:#5b5b4b;--accent-strong:#5b5b4b;--accent-hover:#6d6d59;--accent-soft:#39392d;--accent-ring:#88886d;--danger:#e5484d;--warn:#e8c35a;--surface-raised:#2f2f2f;--surface-edge:#111;--surface-sunken:#333;--field-bg:#ffffff0a;--panel-active:#ffffff14;--canvas-bg:#3a3a3a;--scrollbar:#444;--shadow-strong:0 10px 30px #00000080;--shadow-soft:0 1px 4px #00000073;--mark-highlight:#ffffff59;--page:#fff;--page-edge:#00000026;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace;--radius:4px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (color:lab(0% 0 0)){:root{--accent:lab(38.2553% -2.31101 9.30823);--accent-strong:lab(38.2553% -2.31101 9.30823);--accent-hover:lab(45.7179% -2.75385 11.1896);--accent-soft:lab(23.5979% -1.82623 7.46971);--accent-ring:lab(56.2325% -3.60298 14.9923)}}:root[data-theme=light]{--app-bg:#ececec;--panel-bg:#f5f5f7;--panel-header:#ebebee;--panel-border:#cfcfd4;--divider:#dcdcde;--input-bg:#fff;--input-border:#c6c6c8;--hover:#e4e4e6;--active:#d7d7da;--text:#1d1d1f;--text-dim:#6e6e73;--text-faint:#8e8e93;--accent:#007aff;--accent-strong:#007aff;--accent-hover:#0063d1;--accent-soft:#d6e7ff;--accent-ring:#0a84ff;--danger:#ff3b30;--warn:#a15c00;--surface-raised:#fff;--surface-edge:#d2d2d7;--surface-sunken:#fbfbfd;--field-bg:#fff;--panel-active:#00000012;--canvas-bg:#b8b8bc;--scrollbar:#c7c7cc;--shadow-strong:0 12px 32px #0000002e, 0 0 0 .5px #0000001a;--shadow-soft:0 1px 3px #0000001f;--mark-highlight:#ffffffe6;--page:#fff;--page-edge:#0000002e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=light] .btn:not(.primary),:root[data-theme=light] .select,:root[data-theme=light] input[type=text]{box-shadow:0 1px 1px #0000000a}:root[data-theme=light] .btn:hover:not(:disabled):not(.primary){background:#f0f0f2}:root[data-theme=light] .panel-tab.active,:root[data-theme=light] .tab.active{color:var(--text)}:root[data-theme=light] .tool.active,:root[data-theme=light] .icon-btn.on{background:var(--accent);color:#fff}*{box-sizing:border-box}html,body{background:var(--app-bg);height:100%;color:var(--text);font:12px/1.35 var(--font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}button{font:inherit;color:inherit}input,select{font:inherit;color:var(--text)}.app{grid-template-rows:30px 38px 1fr;grid-template-columns:48px 1fr 290px;width:100vw;height:100vh;display:grid}.app.panels-hidden{grid-template-rows:30px 0 1fr;grid-template-columns:0 1fr 0}.app.panels-hidden .toolbar,.app.panels-hidden .dock,.app.panels-hidden .controlbar{display:none}.menubar{background:var(--app-bg);border-bottom:1px solid var(--panel-border);z-index:50;grid-column:1/-1;align-items:stretch;gap:2px;padding:0 8px;display:flex;position:relative}.menu-root{display:flex;position:relative}.menu-title{cursor:default;background:0 0;border:0;border-radius:3px;margin:3px 0;padding:0 9px}.menu-title:hover,.menu-root.open .menu-title{background:var(--hover)}.menu{background:var(--surface-raised);border:1px solid var(--surface-edge);min-width:250px;box-shadow:var(--shadow-strong);z-index:100;border-radius:6px;padding:4px;position:absolute;top:calc(100% + 2px);left:0}.context-menu{z-index:200;position:fixed;top:0;left:0}.menu .menu{top:-5px;left:100%}.menu-item{text-align:left;white-space:nowrap;cursor:default;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;width:100%;padding:4px 10px 4px 22px;display:flex;position:relative}.menu-item .check{font-size:11px;position:absolute;left:7px}.menu-item .shortcut{color:var(--text-dim);margin-left:auto;padding-left:24px;font-size:11px}.menu-item .arrow{color:var(--text-dim);margin-left:auto}.menu-item:not(:disabled):hover,.menu-item.open{background:var(--accent-strong);color:#fff}.menu-item:not(:disabled):hover .shortcut,.menu-item:not(:disabled):hover .arrow{color:#dfdfd0;color:lab(88.5689% -1.98734 7.32183)}.menu-item:disabled{color:var(--text-faint)}.menu-sub{position:relative}.menu-items{display:block}.menu-search-row{border-bottom:1px solid var(--divider);margin-bottom:4px;padding:2px 4px 6px}.menu-search{background:var(--input-bg);border:1px solid var(--input-border);border-radius:4px;outline:none;width:100%;height:24px;padding:0 8px}.menu-search:focus{border-color:var(--accent-ring)}.menu-result{padding-left:10px}.menu-result.active:not(:disabled){background:var(--accent-strong);color:#fff}.menu-result .path{color:var(--text-dim);margin-left:8px;font-size:11px}.menu-result.active .path{color:#d8d9ca;color:lab(86.2488% -1.98507 7.32365)}.field.checkbox{cursor:default}.doc-title{color:var(--text-dim);align-items:center;margin-left:auto;padding-right:6px;display:flex}.controlbar{background:var(--panel-bg);border-bottom:1px solid var(--panel-border);scrollbar-width:none;white-space:nowrap;grid-column:1/-1;align-items:center;gap:10px;padding:0 10px;display:flex;overflow:auto hidden}.controlbar>*{flex:none}.controlbar .kind{min-width:96px;color:var(--text);font-weight:600}.controlbar .group{align-items:center;gap:5px;display:flex}.controlbar .sep{background:var(--divider);align-self:stretch;width:1px;margin:8px 2px}.label{color:var(--text-dim)}.toolbar{background:var(--panel-bg);border-right:1px solid var(--panel-border);scrollbar-width:none;flex-direction:column;grid-area:3/1;align-items:center;gap:1px;padding:6px 0;display:flex;overflow:hidden auto}.tool{width:34px;height:30px;color:var(--text);background:0 0;border:0;border-radius:5px;flex:none;place-items:center;display:grid;position:relative}.tool:hover{background:var(--hover)}.tool.active{background:var(--text-faint)}.tool.unavailable{color:var(--text-dim)}.tool .flyout-mark{border-left:3px solid #0000;border-bottom:3px solid var(--text-dim);width:0;height:0;position:absolute;bottom:3px;right:3px}.toolbar-sep{background:var(--divider);flex:none;width:28px;height:1px;margin:4px 0}.flyout{background:var(--surface-raised);border:1px solid var(--surface-edge);box-shadow:var(--shadow-strong);z-index:200;border-radius:6px;min-width:230px;padding:4px;position:fixed}.flyout-item{text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;width:100%;padding:4px 8px;display:flex}.flyout-item:hover{background:var(--accent-strong)}.flyout-item .shortcut{color:var(--text-dim);margin-left:auto}.flyout-item.soon .name:after{content:"soon";color:var(--text-dim);border:1px solid var(--input-border);border-radius:3px;margin-left:6px;padding:0 3px;font-size:10px}.fill-stroke{flex:none;width:40px;height:40px;margin:6px 0 2px;position:relative}.fs-box{border:1px solid var(--surface-edge);cursor:default;border-radius:7px;width:26px;height:26px;padding:0;position:absolute}.fs-box.fill{top:0;left:0}.fs-box.stroke{bottom:0;right:0}.fs-box.stroke:after{content:"";background:var(--panel-bg);border:1px solid var(--surface-edge);border-radius:3px;position:absolute;inset:6px}.fs-box.front{z-index:2}.fs-mini{gap:4px;margin-bottom:4px;display:flex}.fs-mini button{color:var(--text-dim);background:0 0;border:0;padding:0 2px;font-size:10px}.fs-mini button:hover{color:var(--text)}.workspace{background:var(--hover);flex-direction:column;grid-area:3/2;min-width:0;min-height:0;display:flex}.tabs{background:var(--panel-header);border-bottom:1px solid var(--panel-border);flex:none;height:28px;display:flex;overflow:hidden}.tab{border:0;border-right:1px solid var(--panel-border);color:var(--text-dim);white-space:nowrap;background:0 0;align-items:center;gap:6px;max-width:260px;padding:0 8px 0 12px;display:flex}.tab.active{background:var(--hover);color:var(--text)}.tab .close{opacity:.6;border-radius:3px;place-items:center;width:16px;height:16px;display:grid}.tab .close:hover{opacity:1;background:var(--hover)}.canvas-host{flex:1;min-height:0;position:relative;overflow:hidden}.canvas-host canvas{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.text-edit{transform-origin:0 0;resize:none;box-shadow:0 0 0 1px var(--accent-ring);caret-color:currentColor;-webkit-user-select:text;user-select:text;background:0 0;border:0;outline:none;margin:0;padding:0;position:absolute;top:0;left:0;overflow:hidden}.text-edit.on-path{caret-color:#0000;box-shadow:none;pointer-events:none;color:#0000!important}.text-edit.on-path::selection{background:0 0}.statusbar{background:var(--panel-header);border-top:1px solid var(--panel-border);height:24px;color:var(--text-dim);white-space:nowrap;flex:none;align-items:center;gap:12px;padding:0 8px;display:flex;overflow:hidden}.statusbar select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:3px;height:18px;padding:0 2px}.statusbar .spacer{flex:1}.dock{background:var(--panel-bg);border-left:1px solid var(--panel-border);flex-direction:column;grid-area:3/3;min-height:0;display:flex;overflow:hidden}.panel-group{border-bottom:1px solid var(--panel-border);flex-direction:column;min-height:0;display:flex}.panel-group.grow{flex:1}.panel-tabs{background:var(--panel-header);scrollbar-width:none;cursor:grab;touch-action:none;flex:none;align-items:stretch;height:27px;display:flex;overflow-x:auto}.panel-group.dragging .panel-tabs{cursor:grabbing}.panel-close{background:var(--panel-header);color:var(--text-faint);cursor:default;border:0;margin-left:auto;padding:0 8px;font-size:14px;line-height:1;position:sticky;right:0}.panel-close:hover{color:var(--text);background:var(--hover)}.panel-group.floating{z-index:40;background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--shadow-strong);resize:both;border-radius:8px;min-width:180px;min-height:120px;position:fixed;overflow:hidden}.panel-group.floating .panel-body{flex:1}.panel-group.dragging{opacity:.92}.panel-tabs.drop-target{box-shadow:inset 0 0 0 2px var(--accent)}.panel-tab{touch-action:none}.panel-tabs::-webkit-scrollbar{display:none}.panel-tab{color:var(--text-dim);white-space:nowrap;background:0 0;border:0;flex:none;padding:0 9px;font-weight:500}.panel-tab.active{color:var(--text);background:var(--panel-bg)}.panel-tab:hover:not(.active){color:var(--text)}.panel-body{min-height:0;padding:8px 10px 10px;overflow-y:auto}.panel-group.grow .panel-body{flex:1}.panel-group:not(.grow) .panel-body{max-height:38vh}.section{border-bottom:1px solid var(--divider);padding:6px 0 8px}.section:last-child{border-bottom:0}.section-title{color:var(--text);margin-bottom:7px;font-weight:600}.row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.row:last-child{margin-bottom:0}.grid2{grid-template-columns:1fr 1fr;gap:6px 8px;display:grid}.muted{color:var(--text-faint)}.empty{color:var(--text-faint);padding:8px 0}.num{background:var(--input-bg);border:1px solid var(--input-border);border-radius:3px;align-items:center;min-width:0;height:22px;display:flex}.num:focus-within{border-color:var(--accent-ring)}.num .num-label{color:var(--text-dim);cursor:ew-resize;flex:none;padding:0 4px 0 6px}.num input{font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;width:100%;min-width:0;height:20px;padding:0 5px 0 2px}.num.narrow{width:70px}.num.medium{width:96px}.btn{border:1px solid var(--input-border);background:var(--surface-sunken);border-radius:3px;height:22px;padding:0 8px}.btn:hover:not(:disabled){background:var(--hover)}.btn:disabled{color:var(--text-faint)}.btn.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.icon-btn{width:26px;height:24px;color:var(--text);background:0 0;border:0;border-radius:3px;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--hover)}.icon-btn.on{background:var(--active)}.icon-btn:disabled{color:var(--text-faint)}.select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:3px;min-width:0;height:22px;padding:0 4px}.swatch{border:1px solid var(--surface-edge);background-color:#0000;border-radius:3px;flex:none;width:22px;height:22px;padding:0;position:relative}.swatch.stroke-swatch:after{content:"";border:1px solid var(--surface-edge);background:var(--panel-bg);position:absolute;inset:5px}.swatch.none{background:#fff;overflow:hidden}.swatch.none:before{content:"";background:var(--danger);height:2px;position:absolute;top:50%;left:-4px;right:-4px;transform:rotate(-45deg)}.swatch.mixed{background:conic-gradient(#f55 0 25%, #5f5 0 50%, #55f 0 75%, #ff5 0)}.checker{background-image:linear-gradient(45deg,#bbb 25%,#0000 25%),linear-gradient(-45deg,#bbb 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#bbb 75%),linear-gradient(-45deg,#0000 75%,#bbb 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;background-color:var(--page)}.popover{z-index:300;background:var(--surface-raised);border:1px solid var(--surface-edge);box-shadow:var(--shadow-strong);border-radius:7px;padding:10px;position:fixed}.picker{width:236px}.picker-sv{cursor:crosshair;border-radius:4px;height:150px;margin-bottom:8px;position:relative}.picker-sv .knob,.picker-hue .knob{pointer-events:none;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0009}.picker-hue{cursor:pointer;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:6px;height:12px;margin-bottom:10px;position:relative}.picker-hue .knob{top:50%}.picker-swatches{flex-direction:column;gap:3px;max-height:148px;margin-top:8px;padding-right:2px;display:flex;overflow-y:auto}.picker-ramp{grid-template-columns:repeat(9,1fr);gap:3px;display:grid}.picker-swatches button{border:1px solid var(--surface-edge);border-radius:2px;height:18px;padding:0}.slider-row{grid-template-columns:14px 1fr 46px;align-items:center;gap:6px;margin-bottom:5px;display:grid}.slider-row input[type=range]{width:100%;accent-color:var(--accent)}.slider-row .num{height:20px}.layers{flex-direction:column;display:flex}.layer-row{border-bottom:1px solid var(--divider);align-items:center;gap:2px;height:24px;padding-right:4px;display:flex}.layer-row:hover{background:var(--panel-header)}.layer-row.selected{background:var(--accent-soft)}.layer-row .toggle{width:22px;height:22px;color:var(--text-dim);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.layer-row .toggle.off{color:var(--text-faint)}.layer-row .twisty{width:14px;height:22px;color:var(--text-dim);background:0 0;border:0;flex:none;padding:0}.layer-row .color-chip{border-radius:1px;flex:none;width:3px;height:16px;margin-right:4px}.layer-row .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.layer-row .sel-mark{border:1px solid;flex:none;width:9px;height:9px;margin-left:4px}.layer-row .sel-mark.filled{background:currentColor}.panel-footer{border-top:1px solid var(--divider);flex:none;justify-content:flex-end;gap:2px;padding:4px 6px;display:flex}.info-grid{grid-template-columns:auto 1fr;align-items:baseline;gap:3px 10px;font-size:11px;display:grid}.info-grid .label{text-align:right;white-space:nowrap}.info-grid>span:nth-child(2n){overflow-wrap:anywhere}.wand-row{grid-template-columns:1fr 108px;align-items:center;gap:6px;margin-bottom:4px;display:grid}.wand-row .num[data-off]{opacity:.45}.edit-selections .row{margin-bottom:6px}.edit-selections input{flex:1}.consent-bar{z-index:60;border:1px solid var(--surface-edge);background:var(--panel-bg);max-width:min(760px,100vw - 32px);color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000047}@media (max-width:600px){.consent-bar{flex-wrap:wrap}}.asking-consent .toasts{bottom:96px}.swatch-modal,.recolor-modal{width:320px}.swatch-editor{align-items:flex-start;gap:10px;margin:10px 0 4px;display:flex}.swatch-editor .color-sliders{flex:1;min-width:0}.swatch-preview{border-radius:4px;flex:none;width:42px;height:42px}.recolor-head{color:var(--text-dim);justify-content:space-between;margin:6px 2px 4px;font-size:11px;display:flex}.recolor-rows{max-height:220px;overflow-y:auto}.recolor-row{grid-template-columns:1fr 26px 1fr;align-items:center;gap:8px;margin-bottom:4px;display:grid}.recolor-chip{border:1px solid var(--surface-edge);border-radius:3px;width:auto;height:22px;padding:0}.recolor-chip.kept{opacity:.55}.recolor-arrow{border:1px solid var(--input-border);background:var(--field-bg);height:22px;color:var(--text);font:inherit;border-radius:4px;padding:0}.recolor-arrow.off{opacity:.4}.recolor-adjust{grid-template-columns:64px 1fr 52px}.recolor-adjust .label{text-align:left}.recolor-title{margin-top:10px}.recolor-tools{gap:4px;margin-top:2px}.recolor-hue{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.recolor-saturation{background:linear-gradient(90deg,gray,red)}.recolor-brightness{background:linear-gradient(90deg,#000,#fff)}.preview-toggle{gap:5px;margin-right:auto;font-size:11px}.color-panel .tint-row.hidden,.color-panel .warning.hidden{display:none}.color-sliders.empty .num input{color:#0000}.color-panel .warning{color:var(--danger)}.tint-row{margin:4px 0 2px}.tint-row .swatch{width:16px;height:16px}.tint-name{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}input[type=range].ramp{appearance:none;border:1px solid var(--input-border);background-clip:padding-box;border-radius:5px;height:10px}input[type=range].ramp::-webkit-slider-thumb{appearance:none;border:1px solid var(--surface-edge);background:var(--panel-bg);border-radius:3px;width:10px;height:14px;box-shadow:0 0 0 1px #00000040}.spectrum-row{align-items:stretch;gap:4px;margin-top:6px}.quick-swatches{flex-direction:column;flex:none;gap:2px;display:flex}.quick-swatch{width:16px;height:16px}.color-spectrum{border:1px solid var(--surface-edge);cursor:crosshair;background:linear-gradient(#fff 0%,#0000 50%,#000 100%),linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:3px;flex:1;min-height:52px}.swatches-panel{flex-direction:column;height:100%;min-height:0;display:flex}.swatch-body{flex:1;min-height:0;max-height:34vh;padding-bottom:4px;overflow-y:auto}.sw-grid{flex-wrap:wrap;gap:1px;padding:1px 0;display:flex}.sw-list{flex-direction:column;display:flex}.sw-item{color:inherit;font:inherit;cursor:default;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:6px;padding:1px;display:flex}.sw-item.sw-row{text-align:left;border-radius:0;width:100%;padding:1px 6px}.sw-item:hover,.sw-group:hover{border-color:var(--surface-edge)}.sw-item.picked,.sw-group.picked{border-color:var(--accent-ring)}.sw-item.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.sw-item.drop,.sw-group.drop,.sw-grid.drop,.sw-list.drop{outline:1px solid var(--accent);outline-offset:-1px}.sw-chip{border:1px solid var(--surface-edge);border-radius:2px;flex:none;width:17px;height:17px;position:relative;overflow:hidden}.sw-chip.global:after{content:"";border:4px solid #fff;border-color:#0000 #fff #fff #0000;position:absolute;bottom:0;right:0}.sw-chip.spot:before{content:"";background:#000;border-radius:50%;width:4px;height:4px;position:absolute;bottom:1px;right:1px}.sw-chip.registration{background:repeating-conic-gradient(#000 0 25%, #fff 0 50%) 0 0 / 8px 8px}.sw-chip.none{background:#fff}.sw-chip.none:after{content:"";background:var(--danger);height:1.5px;position:absolute;top:50%;left:-3px;right:-3px;transform:rotate(-45deg)}.sw-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.sw-mode{color:var(--text-dim);flex:none;font-size:10px}.sw-group{background:var(--surface-sunken,var(--field-bg));width:100%;color:var(--text-dim);font:inherit;text-align:left;cursor:default;border:1px solid #0000;border-radius:3px;align-items:center;gap:5px;margin-top:3px;padding:2px 6px;display:flex}.panel-menu{flex-direction:column;min-width:180px;padding:4px 0;display:flex}.menu-sep{background:var(--divider);height:1px;margin:4px 0}.picker-swatches button.global{position:relative;overflow:hidden}.picker-swatches button.global:after{content:"";border:3px solid #fff;border-color:#0000 #fff #fff #0000;position:absolute;bottom:0;right:0}.swatch-ramps{flex-direction:column;gap:2px;display:flex}.swatch-ramp{grid-template-columns:repeat(11,1fr);gap:1px;display:grid}.swatch-cell{cursor:default;border:0;border-radius:2px;height:14px;padding:0}.swatch-cell:hover{outline:1px solid var(--accent-ring);outline-offset:-1px}.font-field{border:1px solid var(--input-border);background:var(--field-bg);min-width:0;height:22px;color:var(--text);font:inherit;cursor:pointer;border-radius:4px;flex:1;align-items:center;padding:0 8px;display:flex}.font-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.font-picker{flex-direction:column;gap:6px;width:260px;padding:8px;display:flex}.font-list{flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.font-row{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 6px;font-size:13px;display:flex}.font-row.active{background:var(--panel-active)}.font-sample{color:var(--text-faint)}.modal.new-document{width:760px;max-width:94vw}.new-document-body{grid-template-columns:1fr 280px;gap:16px;display:grid}.template-tabs{border-bottom:1px solid var(--divider);flex-wrap:wrap;gap:4px;margin:2px 0 10px;display:flex}.template-tab{color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:4px 8px}.template-tab.active{border-bottom-color:var(--accent);color:var(--text)}.template-grid{grid-template-columns:repeat(3,1fr);gap:10px;max-height:330px;padding:2px;display:grid;overflow-y:auto}.preset-details{border-left:1px solid var(--divider);flex-direction:column;gap:6px;padding-left:14px;display:flex}.detail{grid-template-columns:90px 1fr;align-items:center;gap:6px;display:grid}.bleed-grid{grid-template-columns:1fr 1fr auto;align-items:center;gap:4px;display:grid}.bleed-grid .icon-btn{grid-area:1/3/span 2}.bleed-grid .num,.new-document .num{min-width:0}.new-document .num input{width:100%;min-width:0}.template{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-rows:92px auto auto;align-content:start;justify-items:center;gap:4px;padding:6px;display:grid}.template:hover{background:var(--panel-active)}.template.active{border-color:var(--accent-ring);background:var(--panel-active)}.template-preview{place-items:center;width:100%;height:92px;display:grid}.template-page{background:var(--page);max-width:100%;max-height:100%;box-shadow:var(--shadow-soft);border-radius:2px;display:block}.template-name{text-align:center;font-size:11px}.template-size{color:var(--text-faint);font-size:10px}.new-document .settings{flex-direction:column;gap:6px;display:flex}.start-mark{color:var(--text);opacity:.09;filter:drop-shadow(0 1px 0 var(--mark-highlight));margin-bottom:4px}.start-screen{background:var(--canvas-bg);color:var(--text-faint);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:none;position:absolute;inset:0}.app.no-document .start-screen{display:flex}.app.no-document canvas,.app.no-document .tabs{display:none}.start-title{color:var(--text);font-size:15px}.start-screen .button-row{gap:8px}.three-kinds{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.three-kind{flex-direction:column;align-items:center;gap:2px;height:auto;padding:6px 2px;font-size:11px;display:flex}.three-rotation{align-items:stretch;gap:8px;margin-top:6px;display:flex}.three-pad{border:1px solid var(--divider);background:var(--field-bg);cursor:grab;touch-action:none;border-radius:6px;flex:none;place-items:center;width:72px;display:grid}.three-pad:active{cursor:grabbing}.three-axes{flex:1;gap:4px;min-width:0;display:grid}.button-row{flex-wrap:wrap;gap:2px;display:flex}.ref-point{grid-template-columns:repeat(3,8px);gap:3px;padding:2px;display:grid}.ref-point button{border:1px solid var(--input-border);background:0 0;width:8px;height:8px;padding:0}.ref-point button.on{background:var(--text);border-color:var(--text)}.modal-backdrop{z-index:500;background:#00000059;place-items:center;display:grid;position:fixed;inset:0}.modal.consent{width:420px;max-width:92vw}.modal.consent p{margin:0 0 10px;line-height:1.45}.modal{background:var(--surface-raised);border:1px solid var(--surface-edge);border-radius:8px;min-width:300px;padding:14px 16px 12px;box-shadow:0 20px 60px #0009}.modal h2{margin:0 0 12px;font-size:13px}.modal .actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.modal .field{grid-template-columns:90px 1fr;align-items:center;gap:8px;margin-bottom:8px;display:grid}.free-distort-preview{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius);touch-action:none;display:block}.free-distort-preview .fd-original{fill:none;stroke:var(--text-faint);stroke-dasharray:3 3}.free-distort-preview .fd-grid{fill:none;stroke:var(--text-dim);stroke-width:.6px;opacity:.55}.free-distort-preview .fd-outline{fill:color-mix(in srgb, var(--accent-hover) 18%, transparent);stroke:var(--text);stroke-width:1.2px;stroke-linejoin:round}.free-distort-preview .fd-handle{fill:var(--text);stroke:var(--app-bg);cursor:move}.free-distort-preview .fd-handle:hover{fill:var(--accent-ring)}.modal.free-distort .actions{align-items:center}.fd-preview-toggle{align-items:center;gap:4px;margin-right:auto;display:flex}.modal.about{text-align:center;flex-direction:column;align-items:center;width:220px;min-width:0;padding:22px 20px 20px;display:flex}.about-name{margin-top:8px;font-size:16px;font-weight:650}.about-version{color:var(--text-dim);margin-top:2px}.toasts{z-index:600;pointer-events:none;flex-direction:column;gap:6px;transition:bottom .15s;display:flex;position:fixed;bottom:40px;left:50%;transform:translate(-50%)}.toast{background:var(--surface-raised);border:1px solid var(--surface-edge);color:var(--text);box-shadow:var(--shadow-strong);border-radius:6px;padding:7px 12px}.loading{color:var(--text-dim);place-items:center;display:grid;position:absolute;inset:0}@media (max-width:900px){.app{grid-template-columns:44px 1fr 0}.dock{display:none}}.gradient-ramp{height:20px;margin:18px 6px 24px;position:relative}.gradient-ramp:before{content:"";background-image:linear-gradient(45deg,#bbb 25%,#0000 25%),linear-gradient(-45deg,#bbb 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#bbb 75%),linear-gradient(-45deg,#0000 75%,#bbb 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;background-color:var(--page);border-radius:2px;position:absolute;inset:0}.gradient-ramp.disabled{opacity:.4;pointer-events:none}.gradient-track{border:1px solid var(--panel-border);cursor:copy;border-radius:2px;position:absolute;inset:0}.gradient-stops,.gradient-mids{height:12px;position:absolute;left:0;right:0}.gradient-stops{bottom:-14px}.gradient-mids{top:-12px}.gstop{border:1px solid var(--input-border);background:var(--stop-color,#fff);clip-path:polygon(50% 0,100% 36%,100% 100%,0 100%,0 36%);cursor:ew-resize;border-radius:0 0 2px 2px;width:11px;height:13px;margin-left:-6px;padding:0;position:absolute;top:0}.gstop.active{box-shadow:0 0 0 1px var(--accent-ring);border-color:#fff}.gmid{border:1px solid var(--surface-edge);background:var(--text-dim);cursor:ew-resize;width:8px;height:8px;margin-left:-4px;padding:0;position:absolute;bottom:0;transform:rotate(45deg)}.gradient-thumb{cursor:pointer}.hint{color:var(--text-dim);margin-top:8px;font-size:11px;line-height:1.5}.hidden{display:none!important}.info-row{align-items:baseline;gap:8px;padding:2px 0;display:flex}.info-row .label{flex:none;width:60px}.info-value{font-family:var(--mono);color:var(--text);font-size:11px}.history-list{flex-direction:column;max-height:260px;display:flex;overflow-y:auto}.history-item{color:var(--text);text-align:left;background:0 0;border:0;border-radius:3px;padding:3px 6px}.history-item:hover{background:var(--hover)}.history-item.active{background:var(--accent);color:#fff}.history-item.undone{color:var(--text-dim);font-style:italic}.graph-modal{max-width:min(720px,100vw - 32px)}.graph-table-wrap{border:1px solid var(--surface-edge);border-radius:4px;max-height:320px;margin-top:8px;overflow:auto}.graph-table{border-collapse:collapse}.graph-table td{border:1px solid var(--divider);padding:0}.graph-table input{background:var(--input-bg);width:84px;color:var(--text);font:inherit;border:0;padding:4px 6px}.graph-table input.head{background:var(--surface-sunken);font-weight:600}.graph-table input:focus{outline:1px solid var(--accent-strong)}.feature-row{flex-wrap:wrap}.feature-btn{min-width:26px;font-size:12px}.glyph-grid{grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:2px;max-height:260px;margin:6px 0;display:grid;overflow-y:auto}.glyph-grid.recent{max-height:none;margin-top:2px}.glyph{border:1px solid var(--divider);background:var(--input-bg);height:28px;color:var(--text);border-radius:3px;padding:0;font-size:15px}.glyph:hover{background:var(--accent-strong);color:#fff}.script-modal{width:min(720px,100vw - 32px)}.script-editor{resize:vertical;background:var(--input-bg);width:100%;height:260px;color:var(--text);border:1px solid var(--surface-edge);tab-size:2;border-radius:4px;padding:8px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.script-output{background:var(--input-bg);border:1px solid var(--surface-edge);white-space:pre-wrap;border-radius:4px;height:120px;margin:0;padding:6px 8px;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.script-output .warn{color:var(--warn,#b9860b)}.script-output .error{color:var(--danger)}.script-output .info{color:var(--text-dim)}.fx-badge{color:var(--text-dim);text-align:center;width:22px;font-style:italic;font-weight:600}.brush-list{flex-direction:column;max-height:280px;display:flex;overflow-y:auto}.brush-item{color:var(--text);text-align:left;background:0 0;border:0;border-radius:3px;align-items:center;gap:8px;padding:2px 6px;display:flex}.brush-item:hover{background:var(--hover)}.brush-item.active{background:var(--accent);color:#fff}.brush-preview{flex:none;width:96px;height:22px}.brush-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.isolation-bar{background:var(--panel-header);border-bottom:1px solid var(--panel-border);flex:none;align-items:center;gap:2px;padding:3px 8px;font-size:11px;display:flex}.crumb{color:var(--text-dim);background:0 0;border:0;border-radius:3px;padding:2px 6px}.crumb:hover{background:var(--hover);color:var(--text)}.crumb.current{color:var(--text);font-weight:600}.crumb.back{font-size:14px;line-height:1}.crumb-sep{color:var(--text-dim)}.appearance-list{flex-direction:column;gap:3px;display:flex}.appearance-row{align-items:center;gap:5px;display:flex}.appearance-row.off{opacity:.5}.style-chip{aspect-ratio:1;background-clip:padding-box;border-style:solid;border-radius:4px;padding:0}.navigator-stage{background:var(--panel-header);cursor:grab;line-height:0;display:inline-block;position:relative}.navigator-thumb{border:1px solid var(--panel-border);display:block}.navigator-frame{border:1px solid var(--danger);pointer-events:none;position:absolute}
