:root{color-scheme:light;--bg-deepest:#e8e8e8;--bg-base:#f8f8f8;--bg-surface:#fff;--bg-raised:#f5f5f5;--bg-hover:#efefef;--bg-sunken:#fbfbfb;--line:#e4e4e4;--line-strong:#d2d2d2;--line-soft:#14141412;--text:#1a1a1a;--text-dim:#555;--text-faint:#6b6b6b;--field-bg:#fff;--field-bg-focus:#fff;--toolbar-hover:#f0f0f0;--shadow-panel:0 1px 2px #1414180d;--shadow-canvas:0 20px 54px #14141833, 0 0 0 1px #14141814, 0 0 0 6px #14141808;--shadow-dialog:0 30px 80px #14141842;--shadow-toast:0 14px 34px #1414182e;--scrim:#1c1c206b;--stage-glow:#14141809;--stage-grid:#1414180b;--hero-glow:#1414180d;--checker-a:#dcdce0;--checker-b:#f2f2f4;--scroll-thumb:#14141833;--scroll-thumb-hover:#14141852;--selection:#fff;--selection-ink:#111114;--danger:#d64545;--success:#17875a;--curve-bg:#fdfdfd;--curve-grid:#14141817;--curve-diagonal:#1414182e;--curve-histogram:#14141821;--bounds-line:#14141873;--swatch-border:#14141833;--toast-bg:#fff;--toast-text:#1a1a1a;--live:#17875a;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sans:"Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--topbar-h:58px;--status-h:30px;--left-w:292px;--right-w:334px;--plugin-w:306px;--ease:cubic-bezier(.2, .7, .2, 1)}html.theme-dark{color-scheme:dark;--bg-deepest:#0c0c0f;--bg-base:#121214;--bg-surface:#16161a;--bg-raised:#1c1c20;--bg-hover:#24242a;--bg-sunken:#0a0a0c;--line:#26262c;--line-strong:#32323a;--line-soft:#ffffff0e;--text:#ececf1;--text-dim:#a8a8b3;--text-faint:#8b8b96;--field-bg:#0a0a0c;--field-bg-focus:#0d0d10;--toolbar-hover:#24242a;--shadow-panel:0 1px 2px #0006;--shadow-canvas:0 26px 70px #0000009e, 0 0 0 1px #ffffff17, 0 0 0 6px #0000002e;--shadow-dialog:0 40px 110px #000000b8;--shadow-toast:0 14px 36px #0000008c;--scrim:#040406c7;--stage-glow:#ffffff05;--stage-grid:#ffffff06;--hero-glow:#ffffff0d;--checker-a:#35353d;--checker-b:#2b2b31;--scroll-thumb:#34343c;--scroll-thumb-hover:#45454f;--selection:#fff;--selection-ink:#111114;--danger:#ff5d5d;--success:#5ad19a;--curve-bg:#09090b;--curve-grid:#ffffff13;--curve-diagonal:#ffffff24;--curve-histogram:#ffffff26;--bounds-line:#ffffff73;--swatch-border:#ffffff3d;--toast-bg:#1c1c22;--toast-text:#ececf1;--live:#5ad19a}:root,html[data-accent=ink]{--accent:#1a1a1a;--accent-bright:#000;--accent-contrast:#fff}html.theme-dark,html.theme-dark[data-accent=ink]{--accent:#f0f0f2;--accent-bright:#fff;--accent-contrast:#121214}:root{--accent-soft:color-mix(in srgb, var(--accent) 12%, transparent);--accent-line:color-mix(in srgb, var(--accent) 45%, transparent);--accent-halo:color-mix(in srgb, var(--accent) 22%, transparent);--brand-ink:#111114}html.theme-dark{--accent-soft:color-mix(in srgb, var(--accent) 16%, transparent);--accent-line:color-mix(in srgb, var(--accent) 50%, transparent);--accent-halo:color-mix(in srgb, var(--accent) 26%, transparent);--brand-ink:#fff}html[data-checker=light]{--checker-a:#dcdce0;--checker-b:#f2f2f4}html[data-checker=dark]{--checker-a:#35353d;--checker-b:#2b2b31}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--bg-base);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-user-select:none;user-select:none;transition:background-color .16s var(--ease), color .16s var(--ease);margin:0;font-size:13.5px;overflow:hidden}input,textarea,select{-webkit-user-select:text;user-select:text}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.34}svg{flex:none;width:16px;height:16px;display:block}h1,h2,h3,p{margin:0}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--accent-contrast)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:padding-box}.icon-sprite{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}html.reduce-motion *,html.reduce-motion :before,html.reduce-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{grid-template-rows:var(--topbar-h) minmax(0, 1fr) var(--status-h);background:var(--bg-base);height:100dvh;display:grid}.workspace{grid-template-columns:var(--left-w) minmax(0, 1fr) var(--right-w);min-width:0;min-height:0;display:grid}.app-shell.hide-left .workspace{grid-template-columns:minmax(0, 1fr) var(--right-w)}.app-shell.hide-right .workspace{grid-template-columns:var(--left-w) minmax(0, 1fr)}.app-shell.hide-left.hide-right .workspace{grid-template-columns:minmax(0,1fr)}.app-shell.plugins-open .workspace{grid-template-columns:var(--left-w) minmax(0, 1fr) var(--right-w) var(--plugin-w)}.app-shell.plugins-open.hide-left .workspace{grid-template-columns:minmax(0, 1fr) var(--right-w) var(--plugin-w)}.app-shell.plugins-open.hide-right .workspace{grid-template-columns:var(--left-w) minmax(0, 1fr) var(--plugin-w)}.app-shell.plugins-open.hide-left.hide-right .workspace{grid-template-columns:minmax(0, 1fr) var(--plugin-w)}@media (width<=1280px){.app-shell.plugins-open .workspace{grid-template-columns:var(--left-w) minmax(0, 1fr) var(--plugin-w)}.app-shell.plugins-open .tools-sidebar{display:none}.app-shell.plugins-open.hide-left .workspace{grid-template-columns:minmax(0, 1fr) var(--plugin-w)}}.app-shell.hide-left .layers-sidebar,.app-shell.hide-right .tools-sidebar{display:none}.topbar{background:var(--bg-surface);border-bottom:1px solid var(--line);z-index:10;min-width:0;transition:background-color .16s var(--ease), border-color .16s var(--ease);align-items:center;gap:10px;padding:0 14px;display:flex}.brand{flex:none;align-items:center;display:flex}.brand-mark{width:38px;height:38px;color:var(--brand-ink);flex:none;place-items:center;display:grid}html.theme-dark .brand-mark{color:var(--brand-ink)}.brand-mark svg{width:100%;height:100%;display:block}.topbar-actions{align-items:center;gap:3px;min-width:0;display:flex}.tb-btn,.tb-icon{height:30px;color:var(--text-dim);transition:background-color .12s var(--ease), color .12s var(--ease), border-color .12s var(--ease);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.tb-btn{letter-spacing:.02em;gap:6px;padding:0 9px;font-size:12px;font-weight:500}.tb-icon{width:30px;min-width:30px;padding:0}.tb-btn svg,.tb-icon svg{width:15px;height:15px}.tb-btn:hover:not(:disabled),.tb-icon:hover:not(:disabled){background:var(--bg-raised);border-color:var(--line);color:var(--text)}.tb-btn:active:not(:disabled),.tb-icon:active:not(:disabled){background:var(--bg-hover)}#btn-export,.tb-export{color:var(--accent)}#btn-export:hover:not(:disabled),.tb-export:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.gear-glyph{font-variant-emoji:text;font-size:14px;line-height:1;position:relative;top:-.5px}.prefs-toggle{border:1px solid var(--line);background:var(--bg-surface);color:var(--text-dim)}html.theme-dark .prefs-toggle{background:var(--bg-base)}.prefs-toggle:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.theme-toggle .theme-icon-moon,html.theme-dark .theme-toggle .theme-icon-sun{display:none}html.theme-dark .theme-toggle .theme-icon-moon{display:block}.topbar-sep{background:var(--line);flex:none;width:1px;height:20px;margin:0 5px}.doc-identity{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;padding:0 8px;line-height:1.15;display:flex}.doc-name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;max-width:100%;font-size:12.5px;font-weight:600;overflow:hidden}.doc-meta{font-family:var(--mono);color:var(--text-faint);letter-spacing:.05em;white-space:nowrap;font-size:11px}.topbar-tools{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.color-stack{flex:none;width:40px;height:34px;position:relative}.swatch{border:1px solid var(--swatch-border);border-radius:5px;width:22px;height:22px;padding:0;position:absolute;box-shadow:0 1px 3px #14141838}.swatch-primary{z-index:2;top:0;left:0}.swatch-secondary{z-index:1;top:9px;left:8px}.swatch-swap{border:1px solid var(--line);background:var(--bg-raised);width:16px;height:16px;color:var(--text-faint);z-index:3;border-radius:4px;place-items:center;padding:0;display:grid;position:absolute;bottom:-1px;right:-5px}.swatch-swap svg{width:11px;height:11px}.swatch-swap:hover{color:var(--text);border-color:var(--line-strong)}.native-color{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0}.stage-zoom{z-index:20;border:1px solid var(--line-strong);background:color-mix(in srgb, var(--bg-surface) 94%, transparent);backdrop-filter:saturate(1.2)blur(3px);user-select:none;border-radius:9px;align-items:center;gap:2px;padding:4px 6px;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 6px 20px #14141829}html.theme-dark .stage-zoom{box-shadow:0 6px 22px #00000080}.stage-zoom-btn{width:27px;height:26px;color:var(--text-dim);transition:background-color .12s var(--ease), color .12s var(--ease);background:0 0;border:none;border-radius:5px;place-items:center;padding:0;display:grid}.stage-zoom-btn svg{width:15px;height:15px;display:block}.stage-zoom-btn:hover{background:var(--bg-hover);color:var(--text)}.stage-zoom-btn:active{background:var(--bg-raised)}.stage-zoom-value{min-width:50px;height:26px;color:var(--text-dim);font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.03em;background:0 0;border:none;border-radius:5px;padding:0 4px;font-size:11.5px}.stage-zoom-value:hover{background:var(--bg-hover);color:var(--text)}.stage-zoom-sep{background:var(--line);width:1px;height:16px;margin:0 3px}#btn-fullscreen .fs-icon-exit,html:fullscreen #btn-fullscreen .fs-icon-enter,#btn-fullscreen[aria-pressed=true] .fs-icon-enter{display:none}html:fullscreen #btn-fullscreen .fs-icon-exit,#btn-fullscreen[aria-pressed=true] .fs-icon-exit{display:block}.sidebar{background:var(--bg-surface);contain:layout style;min-width:0;min-height:0;transition:background-color .16s var(--ease), border-color .16s var(--ease);flex-direction:column;display:flex;overflow:hidden}.layers-sidebar{border-right:1px solid var(--line)}.tools-sidebar{border-left:1px solid var(--line)}.sidebar-head{border-bottom:1px solid var(--line-soft);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px 11px;display:flex}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.24em;color:var(--text-faint);font-size:11px;font-weight:600;display:block}.sidebar-head h2{letter-spacing:.01em;margin-top:3px;font-size:13.5px;font-weight:650}.shortcut-hint{font-family:var(--mono);color:var(--text-faint);border:1px solid var(--line);white-space:nowrap;border-radius:4px;padding:3px 5px;font-size:11px}.icon-btn{border:1px solid var(--line);background:var(--bg-base);width:28px;height:28px;color:var(--text-dim);transition:background-color .12s var(--ease), color .12s var(--ease), border-color .12s var(--ease);border-radius:6px;place-items:center;padding:0;display:inline-grid}.icon-btn svg{width:14px;height:14px}.icon-btn:hover:not(:disabled){background:var(--bg-raised);border-color:var(--line-strong);color:var(--text)}.icon-btn.accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.icon-btn.accent:hover:not(:disabled){background:var(--accent-halo);color:var(--accent)}.layers-list{contain:layout style;overscroll-behavior:contain;flex-direction:column;flex:1;gap:3px;min-height:80px;padding:8px;display:flex;position:relative;overflow-y:auto}.empty-hint{text-align:center;color:var(--text-faint);margin:auto;padding:22px 10px;font-size:12px;line-height:1.6}.layer-row{background:color-mix(in srgb, var(--text) 2%, transparent);cursor:pointer;contain:layout style;touch-action:none;transition:background-color .1s var(--ease), border-color .1s var(--ease);border:1px solid #0000;border-radius:7px;grid-template-columns:22px 48px auto minmax(0,1fr) 18px;align-items:center;gap:8px;padding:6px;display:grid}.layer-eye{grid-column:1}.layer-thumb-slot{grid-column:2}.layer-mask-slot{grid-column:3}.layer-meta{grid-column:4}.layer-lock{grid-column:5}.layer-row:hover{background:var(--bg-raised);border-color:var(--line)}.layer-row.is-active{background:var(--accent-soft);border-color:var(--accent-line)}.layer-row.is-selected:not(.is-active){background:color-mix(in srgb, var(--accent) 9%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.layer-row.is-hidden-layer .layer-name{opacity:.55}.layer-row.is-dragging{opacity:.45}.layers-list.is-dragging-layers .layer-row{cursor:grabbing}.layer-drop-indicator{background:var(--accent);height:2px;box-shadow:0 0 0 1px color-mix(in srgb, var(--bg-surface) 60%, transparent);pointer-events:none;z-index:2;border-radius:2px;margin-top:-1px;position:absolute;left:4px;right:4px}.layer-drop-indicator[hidden]{display:none}.layer-thumb-slot,.layer-mask-slot{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;padding:0;display:grid}.layer-thumb-slot:hover,.layer-mask-slot:hover{border-color:var(--line-strong)}.layer-thumb-slot.is-editing{border-color:var(--accent-line)}.layer-lock{width:18px;height:26px;color:var(--text-faint);opacity:0;transition:opacity .12s var(--ease), color .12s var(--ease);background:0 0;border:none;border-radius:4px;place-items:center;padding:0;display:grid}.layer-lock svg{width:13px;height:13px}.layer-row:hover .layer-lock,.layer-row.is-locked .layer-lock,.layer-lock:focus-visible{opacity:1}.layer-row.is-locked .layer-lock{color:var(--accent)}.layer-lock:hover{color:var(--text)}.layer-row.is-locked{background-image:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--text) 3%, transparent) 0 6px, transparent 6px 12px)}.layer-eye{width:22px;height:26px;color:var(--text-dim);background:0 0;border:none;border-radius:4px;place-items:center;padding:0;display:grid}.layer-eye svg{width:15px;height:15px}.layer-eye:hover{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text)}.layer-eye.is-off{color:var(--text-faint)}.layer-thumb{border:1px solid var(--line-strong);background-color:var(--checker-a);background-image:linear-gradient(45deg, var(--checker-b) 25%, transparent 25%, transparent 75%, var(--checker-b) 75%), linear-gradient(45deg, var(--checker-b) 25%, transparent 25%, transparent 75%, var(--checker-b) 75%);background-position:0 0,5px 5px;background-size:10px 10px;border-radius:4px;width:48px;height:48px}.layer-mask-slot[hidden]{display:none}.layer-mask-slot.is-editing{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-line)}.layer-mask-slot.is-disabled .layer-mask-thumb{opacity:.35}.layer-mask-thumb{border:1px solid var(--line);border-radius:3px;width:34px;height:34px;display:block}.layer-row.is-mask .layer-kind{color:var(--accent)}.layer-meta{flex-direction:column;gap:3px;min-width:0;display:flex}.layer-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:12.5px;font-weight:500;overflow:hidden}.layer-kind{font-family:var(--mono);letter-spacing:.04em;color:var(--text-faint);white-space:nowrap;font-size:11px}.layer-row.is-active .layer-kind{color:var(--text-dim)}.layer-actions{border-top:1px solid var(--line-soft);flex:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;align-items:stretch;gap:5px;padding:9px 12px;display:grid}.layer-action.icon-only{justify-content:center;width:30px;padding:0}.layer-action{border:1px solid var(--line);height:30px;color:var(--text-dim);transition:background-color .12s var(--ease), color .12s var(--ease), border-color .12s var(--ease);background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 7px;font-size:11.5px;font-weight:500;display:inline-flex}.layer-action svg{width:14px;height:14px}.layer-action:hover:not(:disabled){background:var(--bg-raised);border-color:var(--line-strong);color:var(--text)}.layer-action.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 12%, transparent);border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger)}.layer-order{gap:5px;display:flex}.mask-controls{border-top:1px solid var(--line-soft);background:color-mix(in srgb, var(--accent) 5%, transparent);flex-direction:column;flex:none;gap:8px;padding:10px 12px 12px;display:flex}.mask-controls[hidden]{display:none}.mask-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.mask-head .section-title{margin:0}.mask-hint{color:var(--text-faint);margin:0;font-size:11.5px;line-height:1.5}.switch-field{color:var(--text-dim);cursor:pointer;align-items:center;gap:5px;font-size:11.5px;display:inline-flex}.switch-field input{width:13px;height:13px;accent-color:var(--accent)}#display-canvas.is-mask-editing{outline:2px solid var(--accent-line);outline-offset:-2px}.patch-outline{fill:color-mix(in srgb, var(--accent) 12%, transparent);stroke:var(--accent);stroke-width:1.2px;stroke-dasharray:5 4}.panel-section{border-bottom:1px solid var(--line-soft);flex:none;padding:12px 14px 14px}.section-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--text-faint);margin-bottom:10px;font-size:12px;font-weight:600}.field-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:10px 0 5px;font-size:11px;display:block}.field-label:first-of-type{margin-top:0}.text-input,.select-input{border:1px solid var(--line);background:var(--field-bg);width:100%;height:31px;color:var(--text);transition:border-color .12s var(--ease), background-color .12s var(--ease);border-radius:6px;padding:0 9px;font-size:12.5px}.text-input:hover,.select-input:hover{border-color:var(--line-strong)}.text-input:focus,.select-input:focus{border-color:var(--accent-line);background:var(--field-bg-focus);outline:none}.select-input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-dim) 50%), linear-gradient(135deg, var(--text-dim) 50%, transparent 50%);background-position:calc(100% - 14px) 13px,calc(100% - 9px) 13px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:26px}.range-field{color:var(--text-dim);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;margin:9px 0;font-size:11.5px;display:grid}.range-field output{font-family:var(--mono);color:var(--accent);text-align:right;white-space:nowrap;font-size:11px}.range-field input[type=range]{appearance:none;cursor:pointer;background:0 0;grid-column:1/-1;width:100%;height:16px;margin:0}.range-field input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) 0%, var(--accent) var(--fill,50%), var(--line-strong) var(--fill,50%));border-radius:3px;height:3px}.range-field input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--bg-surface);border:1px solid var(--accent);border-radius:50%;width:11px;height:11px;margin-top:-4px;box-shadow:0 1px 3px #1414184d}.range-field input[type=range]::-moz-range-track{background:var(--line-strong);border-radius:3px;height:3px}.range-field input[type=range]::-moz-range-progress{background:var(--accent);border-radius:3px;height:3px}.range-field input[type=range]::-moz-range-thumb{background:var(--bg-surface);border:1px solid var(--accent);border-radius:50%;width:11px;height:11px}.range-field.compact{margin:12px 0}.document-card{border-top:1px solid var(--line-soft);background:color-mix(in srgb, var(--text) 3%, transparent);flex:none;margin-top:auto;padding:12px 14px 14px}.doc-row{color:var(--text-faint);justify-content:space-between;gap:8px;padding:3px 0;font-size:11.5px;display:flex}.doc-row strong{font-family:var(--mono);color:var(--text-dim);font-size:11.5px;font-weight:500}.doc-note{border-top:1px solid var(--line-soft);font-family:var(--mono);color:var(--text-faint);letter-spacing:.03em;margin-top:8px;padding-top:8px;font-size:11px}.tool-scroll{contain:layout style;overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:11px 12px 22px;overflow-y:auto}.tool-group{margin-bottom:15px}.tool-group .section-title{margin:0 2px 8px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.tool-card{border:1px solid var(--line);background:color-mix(in srgb, var(--text) 2%, transparent);min-height:34px;color:var(--text-dim);text-align:left;transition:background-color .11s var(--ease), color .11s var(--ease), border-color .11s var(--ease);border-radius:7px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 7px;display:grid;position:relative}.tool-card svg{width:17px;height:17px;color:var(--text-faint);transition:color .11s var(--ease)}.tool-card span{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:500;overflow:hidden}.tool-card kbd{font-family:var(--mono);color:var(--text-faint);border:1px solid var(--line);border-radius:3px;padding:1px 3px;font-size:10.5px;font-weight:500;line-height:1.2}.tool-card:hover{background:var(--bg-raised);border-color:var(--line-strong);color:var(--text)}.tool-card:hover svg{color:var(--text-dim)}.tool-card.is-active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--text)}.tool-card.is-active svg,.tool-card.is-active kbd{color:var(--accent)}.tool-card.is-active kbd{border-color:var(--accent-line)}.wide-tool-list{flex-direction:column;gap:3px;display:flex}.wide-tool{height:31px;color:var(--text-dim);text-align:left;transition:background-color .11s var(--ease), color .11s var(--ease), border-color .11s var(--ease);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:0 9px;font-size:12px;display:flex}.wide-tool svg{width:16px;height:16px;color:var(--text-faint)}.wide-tool:hover{background:var(--bg-raised);border-color:var(--line);color:var(--text)}.wide-tool:hover svg{color:var(--accent)}.tool-options{border-top:1px solid var(--line-soft);margin-top:18px;padding-top:14px}.options-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.options-head h3{letter-spacing:.01em;font-size:13px;font-weight:650}.options-body{flex-direction:column;gap:10px;display:flex}.options-hint{color:var(--text-faint);margin:0;font-size:11.5px;line-height:1.6}.options-empty{border:1px dashed var(--line-strong);text-align:center;color:var(--text-faint);border-radius:8px;flex-direction:column;gap:10px;padding:14px;font-size:12px;display:flex}.option-card{border:1px solid var(--line);background:var(--bg-sunken);border-radius:7px;flex-direction:column;gap:3px;padding:10px;display:flex}.option-card-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);font-size:10.5px}.option-card strong{font-size:12.5px;font-weight:600}.option-card-sub{color:var(--text-faint);font-size:11px}.segmented{border:1px solid var(--line);background:var(--bg-sunken);border-radius:6px;gap:2px;padding:2px;display:flex}.segmented button{min-width:0;height:26px;color:var(--text-faint);white-space:nowrap;transition:background-color .1s var(--ease), color .1s var(--ease);background:0 0;border:0;border-radius:4px;flex:1;padding:0 6px;font-size:11.5px;font-weight:500}.segmented button:hover{color:var(--text);background:color-mix(in srgb, var(--text) 4%, transparent)}.segmented button.is-active{background:var(--bg-surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}html.theme-dark .segmented button.is-active{background:var(--bg-raised)}.button-row{flex-wrap:wrap;gap:5px;display:flex}.button-row.compact{gap:4px}.button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.btn{border:1px solid var(--line);height:32px;color:var(--text);letter-spacing:.01em;white-space:nowrap;transition:background-color .12s var(--ease), border-color .12s var(--ease), color .12s var(--ease);background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.btn svg{width:14px;height:14px}.btn:hover:not(:disabled){background:var(--bg-raised);border-color:var(--line-strong)}.btn:active:not(:disabled){background:var(--bg-hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:650}.btn.primary:hover:not(:disabled){background:var(--accent-bright);border-color:var(--accent-bright)}.btn.ghost{color:var(--text-dim);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--bg-raised);color:var(--text)}.btn.sm{border-radius:5px;height:27px;padding:0 8px;font-size:11.5px}.btn.lg{border-radius:7px;height:38px;padding:0 16px;font-size:12.5px}.dual-colors{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.color-field{border:1px solid var(--line);background:var(--bg-sunken);min-width:0;color:var(--text-faint);border-radius:6px;justify-content:space-between;align-items:center;gap:5px;padding:4px 6px;font-size:11.5px;display:flex}.color-field span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.color-field input[type=color]{border:1px solid var(--line-strong);cursor:pointer;width:24px;height:22px;box-shadow:inset 0 0 0 1px var(--swatch-border);background:0 0;border-radius:4px;padding:0}.check-field{color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;font-size:11.5px;display:flex}.check-field input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:13px;height:13px}.inline-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.inline-fields .field-label{margin:0}.inline-fields input,.inline-fields select,.field-label input[type=number],.field-label select,.field-label textarea{border:1px solid var(--line);background:var(--field-bg);width:100%;height:30px;color:var(--text);border-radius:5px;margin-top:5px;padding:0 8px;font-size:12px}.field-label textarea{resize:vertical;height:auto;min-height:82px;padding:8px;line-height:1.5}.field-label input[type=color]{border:1px solid var(--line);background:var(--field-bg);cursor:pointer;width:100%;height:30px;box-shadow:inset 0 0 0 1px var(--swatch-border);border-radius:5px;padding:2px}.gradient-preview{border:1px solid var(--line);background:linear-gradient(90deg, var(--fg,#111114), var(--bg,#fff)), repeating-conic-gradient(var(--checker-a) 0% 25%, var(--checker-b) 0% 50%) 0 0 / 10px 10px;border-radius:6px;height:34px}.swatch-preview{border:1px solid var(--line);background:var(--bg-sunken);border-radius:7px;align-items:center;gap:10px;padding:8px;display:flex}.big-swatch{border:1px solid var(--swatch-border);border-radius:7px;width:42px;height:42px}.swatch-preview div{flex-direction:column;gap:3px;display:flex}.swatch-preview strong{font-family:var(--mono);letter-spacing:.04em;font-size:12.5px}.swatch-preview span{color:var(--text-faint);font-size:11px}.adjust-head{flex-direction:column;gap:8px;padding-bottom:4px;display:flex}.live-badge{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--live);align-items:center;gap:6px;font-size:11px;display:inline-flex}.live-dot{background:var(--live);width:6px;height:6px;box-shadow:0 0 0 0 color-mix(in srgb, var(--live) 45%, transparent);border-radius:50%;animation:2.2s infinite live-pulse}@keyframes live-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--live) 42%, transparent)}70%{box-shadow:0 0 0 6px color-mix(in srgb, var(--live) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--live) 0%, transparent)}}.channel-tabs{margin-bottom:2px}.curve-shell{border:1px solid var(--line);background:var(--bg-sunken);border-radius:7px;padding:7px}.curve-editor{touch-action:none;cursor:crosshair;width:100%;height:188px;display:block}.curve-bg{fill:var(--curve-bg)}.curve-grid{stroke:var(--curve-grid);stroke-width:1px}.curve-diagonal{stroke:var(--curve-diagonal);stroke-width:1px;stroke-dasharray:3 3}.curve-histogram{fill:var(--curve-histogram);stroke:none;pointer-events:none}.levels-histogram{border:1px solid var(--line);background:var(--bg-sunken);border-bottom:none;border-radius:7px 7px 0 0;margin-bottom:-1px;padding:6px 7px 0}.levels-histogram svg{width:100%;height:58px;display:block}.levels-histogram .hist-r,.levels-histogram .hist-g,.levels-histogram .hist-b{stroke:none;opacity:.42;mix-blend-mode:screen}.levels-histogram .hist-r{fill:#ff5b57}.levels-histogram .hist-g{fill:#58d68d}.levels-histogram .hist-b{fill:#5b8dff}.curve-path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.curve-point{fill:var(--accent);stroke:var(--curve-bg);stroke-width:2px;cursor:grab}.curve-point:active{cursor:grabbing}.stage{background:var(--bg-deepest);min-width:0;min-height:0;transition:background-color .16s var(--ease);flex-direction:column;display:flex;position:relative}.doc-tabs-bar{border-bottom:1px solid var(--line-soft);background:var(--bg-base);flex:none;align-items:stretch;gap:4px;height:34px;padding:0 8px;display:flex;overflow:hidden}.doc-tabs{scrollbar-width:none;flex:1;align-items:stretch;gap:3px;min-width:0;display:flex;overflow:auto hidden}.doc-tabs::-webkit-scrollbar{height:0}.doc-tabs-empty{font-family:var(--mono);color:var(--text-faint);align-self:center;padding-left:4px;font-size:11px}.doc-tab{max-width:220px;height:26px;color:var(--text-dim);transition:background-color .11s var(--ease), color .11s var(--ease), border-color .11s var(--ease);background:0 0;border:1px solid #0000;border-radius:6px;flex:none;align-items:center;gap:7px;margin:4px 0;padding:0 5px 0 10px;font-size:11.5px;display:inline-flex}.doc-tab:hover{background:var(--bg-raised);color:var(--text)}.doc-tab.is-active{background:var(--bg-surface);border-color:var(--line);color:var(--text);box-shadow:var(--shadow-panel)}html.theme-dark .doc-tab.is-active{background:var(--bg-raised);box-shadow:inset 0 1px 0 var(--accent-line), var(--shadow-panel)}.doc-tab-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.doc-tab-meta{font-family:var(--mono);color:var(--text-faint);white-space:nowrap;font-size:10px}.doc-tab-close{width:18px;height:18px;color:var(--text-faint);border-radius:4px;flex:none;place-items:center;display:grid}.doc-tab-close svg{width:11px;height:11px}.doc-tab-close:hover{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.doc-tab-add{width:24px;height:24px;color:var(--text-faint);background:0 0;border:1px solid #0000;border-radius:5px;flex:none;align-self:center;place-items:center;padding:0;display:grid}.doc-tab-add svg{width:13px;height:13px}.doc-tab-add:hover{background:var(--bg-raised);border-color:var(--line);color:var(--text)}.drop-overlay{z-index:150;background:color-mix(in srgb, var(--bg-deepest) 55%, transparent);backdrop-filter:blur(3px);pointer-events:none;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.drop-overlay[hidden]{display:none}.drop-card{border:2px dashed var(--line-strong);background:var(--bg-surface);max-width:520px;box-shadow:var(--shadow-dialog);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:34px 40px;display:flex}.drop-mark{width:64px;height:64px;color:var(--brand-ink);place-items:center;margin-bottom:4px;display:grid}.drop-mark svg{width:100%;height:100%}.drop-card strong{font-size:15px;font-weight:650}.drop-card small{color:var(--text-dim);font-size:11.5px;line-height:1.55}.drop-card em{font-family:var(--mono);color:var(--text-faint);font-size:10.5px;font-style:normal}.viewport{touch-action:none;background-color:var(--bg-deepest);background-image:radial-gradient(ellipse at 50% 0%, var(--stage-glow), transparent 52%), linear-gradient(var(--stage-grid) 1px, transparent 1px), linear-gradient(90deg, var(--stage-grid) 1px, transparent 1px);overscroll-behavior:contain;background-position:top,0 0,0 0;background-size:100% 100%,34px 34px,34px 34px;flex:1;min-height:0;position:relative;overflow:auto}.canvas-pad{box-sizing:border-box;justify-content:center;align-items:center;width:max-content;min-width:100%;min-height:100%;padding:58px;display:flex}.canvas-stack{background-color:var(--checker-a);background-image:linear-gradient(45deg, var(--checker-b) 25%, transparent 25%, transparent 75%, var(--checker-b) 75%), linear-gradient(45deg, var(--checker-b) 25%, transparent 25%, transparent 75%, var(--checker-b) 75%);box-shadow:var(--shadow-canvas);contain:layout style;background-position:0 0,8px 8px;background-size:16px 16px;flex:none;position:relative}#display-canvas{touch-action:none;width:100%;height:100%;cursor:inherit;display:block}.overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.selection-outline{fill:none;stroke:var(--selection);stroke-width:1.4px;stroke-dasharray:5 4;filter:drop-shadow(0 0 1.5px #000000e6)}.selection-feather{fill:none;stroke:var(--selection);opacity:.22;stroke-linejoin:round;filter:blur(1.5px)drop-shadow(0 0 1px #000000b3);pointer-events:none}.selection-preview{fill:color-mix(in srgb, var(--selection) 8%, transparent);stroke:var(--selection);stroke-width:1.4px;stroke-dasharray:4 3;filter:drop-shadow(0 0 1.5px #000c)}.layer-box{fill:none;stroke:var(--text);stroke-width:1px;opacity:.95;filter:drop-shadow(0 0 1.5px #000000e6)drop-shadow(0 0 1px #fff6);pointer-events:none}.layer-box.is-locked{stroke-dasharray:5 4}.layer-handle{fill:var(--bg-surface);stroke:var(--text);stroke-width:1.2px;filter:drop-shadow(0 0 1.5px #000000e6)drop-shadow(0 0 1px #fff6);pointer-events:none}.layer-handle.is-active{fill:var(--text);stroke:var(--bg-surface)}.crop-outline{fill:none;stroke:#fff;stroke-width:1.4px;filter:drop-shadow(0 0 1.5px #000000e6)}.crop-grid{stroke:#ffffff73;stroke-width:1px;stroke-dasharray:2 4;filter:drop-shadow(0 0 1px #000000d9)}.shape-preview{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.4px;stroke-dasharray:5 4}.gradient-line{stroke:#fff;stroke-width:1.5px;stroke-dasharray:6 4;filter:drop-shadow(0 0 1.5px #000000e6)}.gradient-handle{fill:#fff;stroke:#000000d9;stroke-width:1.5px}.path-outline{fill:none;stroke:var(--selection);stroke-width:1.4px;stroke-dasharray:4 3;filter:drop-shadow(0 0 1.5px #000000d9)}.path-handle-line{stroke:color-mix(in srgb, var(--selection) 65%, transparent);stroke-width:1px;filter:drop-shadow(0 0 1px #000c)}.path-handle{fill:var(--selection);stroke:var(--selection-ink);stroke-width:1.4px}.path-anchor{fill:var(--selection-ink);stroke:var(--selection);stroke-width:1.5px}.path-anchor.is-selected,.path-anchor.is-hovered{fill:var(--selection);stroke:var(--selection-ink)}.path-anchor.is-first{fill:var(--selection)}.path-anchor.is-ghost{fill:#0000;stroke-dasharray:2 2;opacity:.75}.path-rubber{stroke:var(--selection);stroke-width:1.2px;stroke-dasharray:5 4;opacity:.75;filter:drop-shadow(0 0 1.5px #000000d9)}.path-close-ring{fill:none;stroke:var(--selection);stroke-width:1.4px;filter:drop-shadow(0 0 2px #000000d9)}.text-bounds{fill:none;stroke:var(--bounds-line);stroke-width:1px;stroke-dasharray:3 3}.spot-preview{mix-blend-mode:screen}.spot-outline{fill:none;stroke:var(--selection);stroke-width:1.2px;stroke-dasharray:6 5;filter:drop-shadow(0 0 1.5px #000000d9)}.canvas-menu{z-index:140;overscroll-behavior:contain;border:1px solid var(--line-strong);background:var(--bg-surface);min-width:236px;max-height:calc(100vh - 16px);box-shadow:var(--shadow-dialog);color:var(--text);animation:menu-in .11s var(--ease);border-radius:9px;padding:5px;position:fixed;overflow-y:auto}@keyframes menu-in{0%{opacity:0;transform:translateY(-3px)scale(.99)}to{opacity:1;transform:none}}.canvas-menu-head{border-bottom:1px solid var(--line-soft);font-family:var(--mono);letter-spacing:.04em;color:var(--text-faint);white-space:nowrap;margin-bottom:3px;padding:6px 9px 7px;font-size:12px}.canvas-menu-item{width:100%;min-height:31px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;padding:0 9px;font-size:13px;display:flex}.canvas-menu-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.canvas-menu-item kbd{font-family:var(--mono);color:var(--text-faint);border:1px solid var(--line);white-space:nowrap;border-radius:3px;padding:1px 4px;font-size:12px}.canvas-menu-item:hover:not(:disabled),.canvas-menu-item:focus-visible{background:var(--accent-soft);outline:none}.canvas-menu-item:disabled{color:var(--text-faint);cursor:default;opacity:.55}.canvas-menu-check{color:var(--accent);margin-left:-6px;font-size:8px;line-height:1}.canvas-menu-sep{background:var(--line-soft);height:1px;margin:4px 6px}.empty-state{z-index:4;text-align:center;background:radial-gradient(ellipse at 50% 37%, var(--hero-glow), transparent 46%), radial-gradient(ellipse at 50% 100%, color-mix(in srgb, var(--text) 6%, transparent), transparent 62%);flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:absolute;inset:0}.empty-mark{width:96px;height:96px;color:var(--brand-ink);place-items:center;margin-bottom:24px;display:grid}.empty-mark svg{width:100%;height:100%;display:block}.empty-kicker{font-family:var(--mono);letter-spacing:.28em;color:var(--accent);margin-bottom:12px;font-size:11px}.empty-state h1{letter-spacing:-.035em;max-width:640px;margin-bottom:14px;font-size:clamp(25px,3.6vw,42px);font-weight:680;line-height:1.08}.empty-state p{max-width:560px;color:var(--text-dim);margin-bottom:26px;font-size:13px;line-height:1.7}.empty-actions{flex-wrap:wrap;justify-content:center;gap:9px;margin-bottom:28px;display:flex}.empty-features{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:10px;font-size:11px;display:flex}.empty-features i{background:var(--text-faint);border-radius:50%;width:3px;height:3px}.statusbar{height:var(--status-h);background:var(--bg-surface);border-top:1px solid var(--line-soft);font-family:var(--mono);letter-spacing:.02em;color:var(--text-faint);contain:layout style;justify-content:space-between;align-items:center;gap:14px;padding:0 14px;font-size:11px;display:flex;overflow:hidden}.status-left,.status-right{align-items:center;gap:8px;min-width:0;display:flex}.status-left{overflow:hidden}.status-right{flex:none}.status-tool{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.status-hint{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11.5px;overflow:hidden}.status-message{text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}.status-autosave{border:1px solid var(--line-soft);color:var(--text-faint);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 6px;display:inline-flex}.status-autosave svg{width:11px;height:11px}.status-autosave[data-state=saved]{color:color-mix(in srgb, var(--accent) 80%, var(--text));border-color:var(--accent-line)}.status-autosave[data-state=saving]{color:var(--text-dim)}.status-autosave[data-state=error]{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.status-autosave[data-state=off]{opacity:.6}.status-dot{background:var(--line-strong);border-radius:50%;flex:none;width:3px;height:3px}.status-zoom{color:var(--accent);text-align:right;min-width:44px}#status-pos{white-space:nowrap;min-width:86px}.modal-backdrop{z-index:100;background:var(--scrim);backdrop-filter:blur(6px)saturate(.95);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s var(--ease), visibility .16s var(--ease);justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}.dialog{background:var(--bg-surface);border:1px solid var(--line-strong);width:min(790px,100vw - 32px);max-height:calc(100dvh - 36px);color:var(--text);box-shadow:var(--shadow-dialog);transition:transform .16s var(--ease);border-radius:12px;flex-direction:column;display:flex;overflow:hidden;transform:translateY(8px)scale(.994)}.modal-backdrop.is-open .dialog{transform:translateY(0)scale(1)}.dialog-head{border-bottom:1px solid var(--line-soft);flex:none;padding:20px 22px 15px;position:relative}.dialog-head.compact{padding-bottom:14px}.dialog-kicker{font-family:var(--mono);letter-spacing:.28em;color:var(--accent);align-items:center;gap:8px;font-size:11px;font-weight:600;display:inline-flex}.kicker-mark{flex:none;width:20px;height:20px;display:inline-flex}.kicker-mark svg{width:100%;height:100%;display:block}.dialog-head h2{letter-spacing:-.025em;margin-top:5px;font-size:21px;font-weight:660;line-height:1.15}.dialog-head p{max-width:560px;color:var(--text-dim);margin-top:6px;font-size:12.5px;line-height:1.55}.dialog-close{border:1px solid var(--line);background:var(--bg-base);width:30px;height:30px;color:var(--text-dim);border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;top:14px;right:14px}.dialog-close svg{width:14px;height:14px}.dialog-close:hover{background:var(--bg-raised);color:var(--text)}.dialog-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;min-height:0;padding:18px 22px 20px;display:flex;overflow-y:auto}.dialog-foot{border-top:1px solid var(--line-soft);background:color-mix(in srgb, var(--text) 3%, transparent);flex:none;align-items:center;gap:8px;padding:13px 22px;display:flex}.foot-spacer{flex:1}.pane-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--text-faint);margin-bottom:9px;font-size:11px;font-weight:600}.pane-label.spaced{margin-top:16px}.new-doc-body{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:start;gap:18px 22px;display:grid}.new-preview-bar{border:1px solid var(--line);background:var(--bg-sunken);border-radius:8px;grid-column:1/-1;grid-template-columns:168px minmax(0,1fr);align-items:center;gap:14px;padding:8px 12px;display:grid}.new-preview-bar .new-preview-stage{min-height:96px;padding:0}.new-preview-info{flex-direction:column;gap:7px;min-width:0;display:flex}.new-preview-info .preset-note{border:0;max-width:46ch;margin-top:0;padding:0}.preset-pane,.settings-pane{min-width:0}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.preset-card{border:1px solid var(--line);background:var(--bg-sunken);color:var(--text-dim);text-align:left;transition:background-color .11s var(--ease), border-color .11s var(--ease);border-radius:6px;grid-template-rows:auto auto;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:1px 7px;padding:6px 7px;display:grid}.preset-icon{background:color-mix(in srgb, var(--text) 4%, transparent);width:22px;height:22px;color:var(--text-faint);border-radius:5px;grid-row:1/span 2;place-items:center;display:grid}.preset-icon svg{width:15px;height:15px}.preset-card strong{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:550;overflow:hidden}.preset-card small{font-family:var(--mono);color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.preset-card small em{font-style:normal}.preset-card:hover{background:var(--bg-raised);border-color:var(--line-strong)}.preset-card:hover strong{color:var(--text)}.preset-card.is-active{background:var(--accent-soft);border-color:var(--accent-line)}.preset-card.is-active .preset-icon,.preset-card.is-active strong{color:var(--accent)}.preset-card.is-active small{color:var(--text-dim)}.preset-note{border:1px dashed var(--line);color:var(--text-faint);border-radius:6px;gap:7px;margin-top:10px;padding:8px 9px;font-size:11px;line-height:1.55;display:flex}.preset-note svg{width:13px;height:13px;color:var(--accent);margin-top:1px}.new-doc-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.new-doc-row{grid-template-columns:minmax(0,118px) minmax(0,1fr);align-items:end;gap:8px;margin-top:8px;display:grid}.new-doc-row .ratio-lock{justify-content:center;height:34px;margin-top:0}.resize-dialog .dialog-body>.new-doc-fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.resize-dialog .ratio-lock{margin-top:12px}.new-doc-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.new-doc-pair .pane-label{margin-bottom:7px}.unit-field{min-width:0;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);flex-direction:column;gap:5px;font-size:11px;display:flex}.unit-input{display:block;position:relative}.unit-input input{border:1px solid var(--line);background:var(--field-bg);width:100%;height:34px;color:var(--text);font-family:var(--mono);letter-spacing:.02em;border-radius:6px;padding:0 34px 0 9px;font-size:13px}.unit-input input:hover{border-color:var(--line-strong)}.unit-input input:focus{border-color:var(--accent-line);background:var(--field-bg-focus);outline:none}.unit-input em{font-family:var(--mono);color:var(--text-faint);pointer-events:none;font-size:11px;font-style:normal;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.ratio-lock{border:1px solid var(--line);height:29px;color:var(--text-faint);cursor:pointer;background:0 0;border-radius:6px;justify-self:start;align-items:center;gap:6px;width:fit-content;margin-top:10px;padding:0 9px;font-size:11.5px;display:inline-flex}.ratio-lock svg{width:13px;height:13px}.ratio-lock:hover{background:var(--bg-raised);color:var(--text-dim)}.ratio-lock.is-active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.new-preview-wrap{border:1px solid var(--line);background:var(--bg-sunken);border-radius:8px;flex-direction:column;align-items:center;gap:8px;margin-top:14px;padding:10px;display:flex}.new-preview-stage{justify-content:center;align-items:center;width:100%;min-height:152px;display:flex}.new-preview-box{border:1px solid var(--swatch-border);background:#f2f2f4;width:120px;max-width:100%;height:90px;max-height:84px;box-shadow:0 6px 16px #14141829}.new-preview-label{font-family:var(--mono);color:var(--text-faint);font-size:11px}.format-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.format-card{border:1px solid var(--line);background:var(--bg-sunken);text-align:left;color:var(--text-dim);border-radius:7px;flex-direction:column;gap:3px;padding:10px;display:flex}.format-card strong{font-size:12px;font-weight:600}.format-card span{color:var(--text-faint);font-size:11px;line-height:1.4}.format-card:hover{background:var(--bg-raised);border-color:var(--line-strong)}.format-card.is-active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--text)}.format-card.is-unavailable,.format-card:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through;text-decoration-color:var(--line-strong)}.format-card.is-active strong{color:var(--accent)}.format-card.is-active span{color:var(--text-dim)}.export-summary{border:1px solid var(--line);background:var(--bg-sunken);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px 10px;display:grid}.export-summary div{flex-direction:column;gap:2px;display:flex}.export-summary span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);font-size:10.5px}.export-summary strong{font-family:var(--mono);color:var(--text-dim);font-size:11.5px;font-weight:500}.dialog-note{color:var(--text-faint);font-size:11px;line-height:1.55}.save-scope{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:12px;display:grid}.save-scope-card{border:1px solid var(--line);background:var(--bg-sunken);text-align:left;color:var(--text-dim);transition:background-color .12s var(--ease), border-color .12s var(--ease);border-radius:8px;grid-template-columns:26px minmax(0,1fr);grid-template-areas:"icon title""icon sub";align-items:center;gap:2px 8px;padding:10px;display:grid}.save-scope-icon{background:color-mix(in srgb, var(--text) 5%, transparent);width:26px;height:26px;color:var(--text-dim);border-radius:6px;grid-area:icon;place-items:center;display:grid}.save-scope-icon svg{width:14px;height:14px}.save-scope-card strong{color:var(--text);grid-area:title;font-size:12.5px;font-weight:600}.save-scope-card small{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;grid-area:sub;font-size:10.5px;line-height:1.4;overflow:hidden}.save-scope-card:hover:not(:disabled){background:var(--bg-raised);border-color:var(--line-strong)}.save-scope-card.is-active{background:var(--accent-soft);border-color:var(--accent-line)}.save-scope-card.is-active strong{color:var(--accent)}.save-scope-card.is-active small{color:var(--text-dim)}.save-scope-card:disabled{opacity:.45;cursor:not-allowed}.save-summary{border:1px solid var(--line);background:var(--bg-sunken);border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;padding:9px 10px;display:grid}.save-summary div{flex-direction:column;gap:2px;min-width:0;display:flex}.save-summary .save-mode-row{grid-column:1/-1}.save-summary span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);font-size:10.5px}.save-summary strong{font-family:var(--mono);color:var(--text-dim);font-size:11.5px;font-weight:500}.placement-choices{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.placement-card{border:1px solid var(--line);background:var(--bg-sunken);text-align:left;color:var(--text-dim);transition:background-color .12s var(--ease), border-color .12s var(--ease);border-radius:8px;align-items:center;gap:10px;padding:11px 12px;display:flex}.placement-card:hover:not(:disabled){background:var(--bg-raised);border-color:var(--line-strong)}.placement-card.is-active{background:var(--accent-soft);border-color:var(--accent-line)}.placement-card.is-disabled,.placement-card:disabled{opacity:.45;cursor:not-allowed}.placement-icon{background:color-mix(in srgb, var(--text) 5%, transparent);border-radius:7px;flex:none;place-items:center;width:30px;height:30px;display:grid}.placement-icon svg{width:15px;height:15px}.placement-text{flex-direction:column;gap:2px;min-width:0;display:flex}.placement-text strong{color:var(--text);font-size:12.5px;font-weight:600}.placement-card.is-active .placement-text strong{color:var(--accent)}.placement-text small{color:var(--text-faint);font-size:11px;line-height:1.45}.mode-switch{border:1px solid var(--line);background:var(--bg-sunken);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-top:2px;padding:2px;display:grid}.mode-btn{height:26px;color:var(--text-faint);font-family:var(--mono);letter-spacing:.06em;transition:background-color .1s var(--ease), color .1s var(--ease);background:0 0;border:0;border-radius:4px;padding:0 4px;font-size:10.5px}.mode-btn:hover:not(:disabled){color:var(--text);background:color-mix(in srgb, var(--text) 4%, transparent)}.mode-btn.is-active{background:var(--bg-surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}html.theme-dark .mode-btn.is-active{background:var(--bg-raised)}.mode-btn:disabled{opacity:.45;cursor:not-allowed}.mode-note{color:var(--text-faint);margin:6px 2px 0;font-size:10.5px;line-height:1.5}.anchor-grid{grid-template-rows:repeat(3,30px);grid-template-columns:repeat(3,30px);gap:4px;display:grid}.anchor-grid button{border:1px solid var(--line);background:var(--bg-sunken);border-radius:5px;width:30px;height:30px;padding:0}.anchor-grid button:hover{background:var(--bg-raised);border-color:var(--line-strong)}.anchor-grid button.is-active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.plugin-sidebar{border-left:1px solid var(--line);width:var(--plugin-w)}.plugin-head{align-items:flex-start}.plugin-head-copy{flex:1;min-width:0}.plugin-head-copy h2{margin-top:3px;font-size:13.5px}.plugin-scroll{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px 12px;display:flex;overflow:auto}.plugin-effects{flex-direction:column;gap:4px;display:flex}.fx-item{border:1px solid var(--line);background:var(--bg-base);transition:border-color .12s var(--ease), background-color .12s var(--ease);border-radius:9px;overflow:hidden}.fx-item.is-open{border-color:var(--line-strong);background:var(--bg-sunken)}.fx-head{width:100%;color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:8px 10px;display:flex}.fx-item:hover .fx-head,.fx-item.is-open .fx-head{color:var(--text)}.fx-caret{width:13px;height:13px;color:var(--text-faint);transition:transform .14s var(--ease), color .12s var(--ease);flex:none;transform:rotate(-90deg)}.fx-item.is-open .fx-caret{color:var(--text-dim);transform:rotate(0)}.fx-name{letter-spacing:-.005em;font-size:12.5px;font-weight:600}.fx-body{padding:1px 10px 10px 30px}.fx-params{flex-direction:column;gap:8px;display:flex}.fx-param{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;display:grid}.fx-param-label{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.fx-param-value{font-family:var(--mono);color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:11px}.fx-param input[type=range]{grid-column:1/-1;width:100%;margin:1px 0 0}.plugin-foot{border-top:1px solid var(--line-soft);background:color-mix(in srgb, var(--text) 3%, transparent);flex:none;align-items:center;gap:6px;padding:9px 12px;display:flex}.plugin-target{min-width:0;color:var(--text-faint);flex:1;align-items:center;gap:6px;font-size:10.5px;display:flex}.plugin-target svg{width:15px;height:15px;color:var(--brand-ink);flex:none}.plugin-target span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plugin-target.is-warning{color:var(--text-dim)}.plugin-target.is-warning span{text-decoration:underline dotted color-mix(in srgb, var(--text) 45%, transparent);text-underline-offset:3px}.plugin-toggle{position:relative}.plugin-toggle.is-active{background:var(--bg-raised);border-color:var(--line-strong);color:var(--text)}.plugin-dot{background:var(--text-dim);width:5px;height:5px;box-shadow:0 0 0 2px var(--bg-base);pointer-events:none;border-radius:50%;position:absolute;top:6px;right:6px}.plugin-list{flex-direction:column;gap:8px;display:flex}.plugin-card{border:1px solid var(--line);background:var(--bg-sunken);border-radius:10px;align-items:center;gap:12px;padding:12px 13px;display:flex}.plugin-card.is-enabled{border-color:var(--line-strong)}.plugin-card-icon{border:1px solid var(--line);background:var(--bg-surface);width:34px;height:34px;color:var(--text-dim);border-radius:8px;flex:none;place-items:center;display:grid}.plugin-card.is-enabled .plugin-card-icon{color:var(--text)}.plugin-card-icon svg{width:18px;height:18px}.plugin-card-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.plugin-card-copy strong{color:var(--text);font-size:12.5px}.plugin-card-copy strong em{font-family:var(--mono);color:var(--text-faint);font-size:10px;font-style:normal;font-weight:500}.plugin-card-copy span{color:var(--text-faint);font-size:11.5px;line-height:1.5}.plugin-card-meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:10px!important}.plugin-toggle-btn{border:1px solid var(--line);background:var(--bg-surface);cursor:pointer;width:42px;height:24px;transition:background-color .14s var(--ease), border-color .14s var(--ease);border-radius:999px;flex:none;padding:2px}.plugin-toggle-btn span{background:var(--text-faint);width:18px;height:18px;transition:transform .16s var(--ease), background-color .16s var(--ease);border-radius:50%;display:block}.plugin-toggle-btn.is-on{border-color:var(--line-strong);background:var(--text)}.plugin-toggle-btn.is-on span{background:var(--bg-base);transform:translate(18px)}@media (prefers-reduced-motion:reduce){.plugin-toggle-btn span{transition:none}}.preferences-dialog{width:min(720px,100vw - 32px)}.prefs-head{align-items:flex-start;gap:12px;display:flex}.prefs-gear{border:1px solid var(--accent-line);background:var(--accent-soft);width:38px;height:38px;color:var(--accent);font-variant-emoji:text;border-radius:9px;flex:none;place-items:center;margin-top:2px;font-size:19px;line-height:1;display:grid}.prefs-head-copy{flex:1;min-width:0;padding-right:34px}.prefs-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;flex:none;display:flex;overflow-x:auto}.prefs-tabs::-webkit-scrollbar{display:none}.prefs-tab{min-width:96px;color:var(--text-faint);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;transition:color .12s var(--ease), border-color .12s var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:11px 12px;font-size:11.5px;font-weight:600}.prefs-tab:hover{color:var(--text);background:color-mix(in srgb, var(--text) 3%, transparent)}.prefs-tab.is-active{color:var(--text);border-bottom-color:var(--accent)}.prefs-body{gap:14px;min-height:294px}.prefs-panel{flex-direction:column;gap:10px;display:flex}.prefs-section{border:1px solid var(--line);background:var(--bg-sunken);border-radius:9px;padding:13px 14px}.prefs-section-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--text-dim);font-size:12px;font-weight:600}.prefs-section-hint{color:var(--text-faint);margin-top:4px;font-size:11.5px;line-height:1.55}.prefs-choice-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:10px;display:grid}.prefs-choice-row.compact{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}.prefs-choice{border:1px solid var(--line);background:var(--bg-surface);height:38px;color:var(--text-dim);transition:background-color .11s var(--ease), border-color .11s var(--ease), color .11s var(--ease);border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 8px;font-size:12px;font-weight:500;display:flex}.prefs-choice svg{width:15px;height:15px;color:var(--text-faint)}.prefs-choice:hover{background:var(--bg-raised);border-color:var(--line-strong);color:var(--text)}.prefs-choice.is-active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--text)}.prefs-choice.is-active svg{color:var(--accent)}.prefs-switch{border-top:1px solid var(--line-soft);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:9px 0;display:flex}.prefs-switch:first-of-type{margin-top:8px}.prefs-switch>span{flex-direction:column;gap:2px;min-width:0;display:flex}.prefs-switch strong{font-size:12px;font-weight:550}.prefs-switch small{color:var(--text-faint);font-size:11px;line-height:1.45}.prefs-switch input[type=checkbox]{appearance:none;border:1px solid var(--line-strong);background:var(--bg-hover);cursor:pointer;width:36px;height:20px;transition:background-color .14s var(--ease), border-color .14s var(--ease);border-radius:999px;flex:none;margin:0;position:relative}.prefs-switch input[type=checkbox]:after{content:"";background:var(--text-faint);width:14px;height:14px;transition:transform .14s var(--ease), background-color .14s var(--ease);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #14141859}.prefs-switch input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.prefs-switch input[type=checkbox]:checked:after{background:var(--accent-contrast);transform:translate(16px)}.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin-top:9px;display:grid}.shortcut-grid span{color:var(--text-dim);align-items:center;gap:7px;font-size:11.5px;display:flex}.shortcut-grid kbd{border:1px solid var(--line);background:var(--bg-surface);min-width:46px;color:var(--text-dim);font-family:var(--mono);text-align:center;white-space:nowrap;border-radius:4px;padding:2px 5px;font-size:11px;display:inline-block}.about-card{border:1px solid var(--line);background:linear-gradient(150deg, var(--accent-soft), transparent 70%);border-radius:9px;padding:16px}.about-brand{align-items:center;gap:12px;display:flex}.about-mark{width:52px;height:52px;color:var(--brand-ink);flex:none;place-items:center;display:grid}.about-mark svg{width:100%;height:100%;display:block}.about-brand strong{letter-spacing:.14em;font-size:13.5px;font-weight:800;display:block}.about-brand small{font-family:var(--mono);letter-spacing:.16em;color:var(--text-faint);margin-top:3px;font-size:11px;display:block}.about-card p{color:var(--text-dim);margin-top:12px;font-size:12px;line-height:1.65}.about-grid{grid-template-columns:auto minmax(0,1fr);gap:5px 16px;margin-top:9px;font-size:11.5px;display:grid}.about-grid span{color:var(--text-faint)}.about-grid strong{color:var(--text-dim);font-weight:500}.prefs-foot{justify-content:flex-end}.toast-host{z-index:200;pointer-events:none;flex-direction:column;gap:7px;display:flex;position:fixed;bottom:42px;right:18px}.toast{border:1px solid var(--line-strong);border-left:2px solid var(--accent);background:var(--toast-bg);max-width:360px;color:var(--toast-text);box-shadow:var(--shadow-toast);animation:toast-in .18s var(--ease) both;border-radius:7px;align-items:center;gap:8px;padding:9px 12px;font-size:12px;line-height:1.4;display:flex}.toast svg{width:14px;height:14px;color:var(--accent)}.toast-success{border-left-color:var(--success)}.toast-success svg{color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-error svg{color:var(--danger)}.toast.is-leaving{opacity:0;transition:opacity .22s var(--ease), transform .22s var(--ease);transform:translate(10px)}@keyframes toast-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.panel-scrim{inset:var(--topbar-h) 0 var(--status-h);z-index:45;backdrop-filter:blur(1.5px);animation:scrim-in .14s var(--ease);background:#0000006b;position:fixed}.panel-scrim[hidden]{display:none}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@media (width<=1180px){.workspace,.app-shell.hide-left .workspace,.app-shell.hide-right .workspace,.app-shell.hide-left.hide-right .workspace,.app-shell.plugins-open .workspace,.app-shell.plugins-open.hide-left .workspace,.app-shell.plugins-open.hide-right .workspace,.app-shell.plugins-open.hide-left.hide-right .workspace{grid-template-columns:minmax(0,1fr);position:relative}.app-shell.hide-left .layers-sidebar,.app-shell.hide-right .tools-sidebar{display:flex}.sidebar{top:var(--topbar-h);bottom:var(--status-h);z-index:50;width:min(88vw,340px);box-shadow:var(--shadow-panel,0 24px 60px #00000052);transition:transform .19s var(--ease), visibility .19s var(--ease);will-change:transform;position:fixed}.layers-sidebar{left:0;transform:translate(0)}.tools-sidebar{right:0;transform:translate(0)}.app-shell.hide-left .layers-sidebar{visibility:hidden;pointer-events:none;transform:translate(-101%)}.app-shell.hide-right .tools-sidebar{visibility:hidden;pointer-events:none;transform:translate(101%)}.plugin-sidebar{width:min(92vw,372px);right:0}.app-shell.plugins-open .tools-sidebar{visibility:hidden;pointer-events:none;display:flex;transform:translate(101%)}}@media (width<=1000px){.canvas-pad{padding:22px}}@media (width<=760px){:root{--topbar-h:50px;--status-h:26px}.topbar{gap:4px;padding:0 8px}.brand-mark{width:30px;height:30px}.topbar-actions{gap:2px}.topbar-tools{gap:2px;margin-left:auto}.topbar-sep,.doc-identity,.theme-toggle,.color-stack{display:none}.tb-btn{width:32px;padding:0}.tb-btn span{display:none}.tb-export{width:auto;padding:0 9px}.tb-export span{font-size:11.5px;display:inline}.statusbar{padding:0 8px;font-size:10px}.sidebar{width:min(94vw,380px)}.plugin-sidebar{width:min(96vw,420px)}.doc-tabs-bar{height:30px;padding:0 6px}.stage-zoom{transform-origin:100% 100%;transform:scale(.92)}.modal-backdrop{align-items:flex-end;padding:10px}.dialog{width:100%;max-height:calc(100dvh - 20px)}.dialog-head{padding:16px 16px 12px}.dialog-head h2{font-size:18px}.dialog-body{padding:14px 16px 16px}.dialog-foot{flex-wrap:wrap;padding:11px 16px}.new-doc-body{grid-template-columns:minmax(0,1fr);gap:14px}.new-preview-bar{grid-template-columns:minmax(0,1fr)}.new-preview-bar .new-preview-stage{min-height:72px}.empty-state{padding:22px 18px}.empty-state h1{font-size:22px}.empty-features{display:none}}@media (height<=480px) and (width<=1000px){.empty-state{display:none}.doc-tabs-bar{height:28px}}@media (width<=1280px){:root{--left-w:262px;--right-w:310px}.tb-btn span{display:none}.tb-btn{width:30px;padding:0}}@media (width<=1050px){.doc-identity{display:none}}@media (width<=900px){:root{--left-w:228px;--right-w:276px}.tool-card span{font-size:11.5px}.canvas-pad{padding:28px}.shortcut-grid{grid-template-columns:minmax(0,1fr)}}
