:root{--accent:#a21caf;--accent-text:#fff;--guide:#d946ef;--danger:#e24b4b;--radius:8px;--radius-lg:8px;--radius-pill:999px;--top:48px;--options:48px;--side:64px;--right:280px;--pad:10px;--gap:8px;--bg:#f3eaf4;--bg-panel:var(--bg);--bg-bar:var(--bg);--bg-input:color-mix(in srgb, var(--text) 6%, var(--bg));--bg-hover:color-mix(in srgb, var(--text) 6%, transparent);--bg-active:color-mix(in srgb, var(--accent) 14%, transparent);--border:color-mix(in srgb, var(--text) 10%, transparent);--border-strong:color-mix(in srgb, var(--text) 16%, transparent);--text:#1a1220;--muted:#4e4158;--checker-a:#f8f1f8;--checker-b:#eadcea;--shadow:0 10px 32px color-mix(in srgb, var(--text) 10%, transparent);--shadow-menu:0 18px 50px color-mix(in srgb, var(--text) 14%, transparent);--inset:inset 0 1px 0 #ffffffe6;color:var(--text);letter-spacing:-.011em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:12.5px}[data-theme=dark]{--bg:#141016;--text:#faf6fb;--muted:#d4c4da;--accent:#f0abfc;--accent-text:#3b0764;--guide:#f0abfc;--border:color-mix(in srgb, var(--text) 22%, transparent);--border-strong:color-mix(in srgb, var(--text) 34%, transparent);--bg-hover:color-mix(in srgb, var(--text) 12%, transparent);--bg-input:color-mix(in srgb, var(--text) 12%, var(--bg));--bg-active:color-mix(in srgb, var(--accent) 22%, transparent);--checker-a:#1e1a21;--checker-b:#141016;--inset:inset 0 1px 0 #ffffff14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{background:var(--bg);width:100vw;height:100dvh;color:var(--text);overscroll-behavior:none;overscroll-behavior-x:none;margin:0;overflow:hidden}::selection{background:color-mix(in srgb, var(--accent) 32%, transparent);color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;transition:background .12s,color .12s,border-color .12s,opacity .12s}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, white);outline-offset:1px}.app{grid-template-columns:var(--side) minmax(0, 1fr) var(--right);grid-template-rows:var(--top) auto minmax(0, 1fr);gap:var(--gap);width:100vw;height:100dvh;padding:var(--pad);background:var(--bg);-webkit-user-select:none;user-select:none;overscroll-behavior:none;overscroll-behavior-x:none;display:grid}.topbar{z-index:20;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);grid-column:1/-1;align-items:center;gap:4px;padding:0 10px 0 12px;display:flex;position:relative}.lang-switch{flex-shrink:0;margin-left:.25rem;font-size:.875rem;font-weight:500;line-height:1.25rem;position:relative}.lang-switch summary{border:1px solid var(--border);background:var(--bg);color:color-mix(in oklab, var(--text) 75%, transparent);cursor:pointer;border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .625rem;list-style:none;display:flex}.lang-switch summary svg{width:1rem;height:1rem}.lang-switch summary::-webkit-details-marker{display:none}.lang-switch summary::marker{content:none}.lang-switch summary:hover{color:var(--text)}.lang-switch summary:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, white);outline-offset:1px}.lang-current{display:none}@media (min-width:1280px){.lang-current{display:inline}}.lang-pop{background:var(--surface);border:1px solid var(--border);z-index:40;transform-origin:top;border-radius:1rem;width:11rem;padding:.5rem;animation:.26s cubic-bezier(.16,1,.3,1) both lang-pop-in;position:absolute;top:calc(100% + 1rem);left:auto;right:0;overflow:hidden;box-shadow:0 2px 6px #1114270f,0 30px 64px -24px #11142766}@keyframes lang-pop-in{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:none}}.lang-pop a{color:var(--text);font-weight:inherit;white-space:nowrap;border-radius:.5rem;padding:.375rem .75rem;text-decoration:none;transition-property:color,background-color,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:block}.lang-pop a:hover{background:color-mix(in oklab, var(--accent) 8%, transparent);color:var(--accent)}.lang-pop a[aria-current=true]{color:var(--accent)}.lang-menu-label{color:var(--muted);letter-spacing:.025em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:600}.lang-menu-list{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.lang-menu-list a{border:1px solid var(--border);color:var(--text);border-radius:9999px;padding:.375rem .875rem;font-size:.875rem;font-weight:500;line-height:1.25rem;text-decoration:none}.lang-menu-list a[aria-current=true]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 8%, transparent);color:var(--accent)}@media (prefers-reduced-motion:reduce){.lang-pop{animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand{letter-spacing:.04em;color:var(--text);align-items:center;gap:8px;margin-right:10px;font-family:Instrument Sans,Inter,sans-serif;font-size:13px;font-weight:580;text-decoration:none;display:flex}.brand:hover{color:var(--text)}.brand-mark{background:linear-gradient(180deg, #e879f9, var(--accent));width:22px;height:22px;color:var(--accent-text);border-radius:7px;place-items:center;display:grid;box-shadow:0 0 0 1px #fff6,0 4px 12px #c026d347}.brand-mark svg,.empty-mark svg{display:block}.empty-mark svg{width:22px;height:22px}.menubar{align-items:center;gap:2px;display:flex}.menu-wrap{position:relative}.menu-trigger{color:var(--muted);border-radius:var(--radius-pill);background:0 0;border:0;padding:6px 10px;font-weight:500}.menu-trigger:hover,.menu-trigger.open{background:var(--bg-hover);color:var(--text)}.menu-trigger:disabled{opacity:.38;pointer-events:none}.menu-pop{background:var(--bg);border:1px solid var(--border-strong);z-index:40;min-width:196px;box-shadow:var(--inset), var(--shadow-menu);border-radius:12px;padding:6px;position:fixed;top:0;left:0}.menu-item{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:7px 10px;display:flex}.menu-item:hover{background:var(--bg-hover)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:color-mix(in srgb, var(--danger) 12%, var(--bg))}.menu-item:disabled{color:var(--muted);pointer-events:none}.menu-sep{background:var(--border);height:1px;margin:5px 8px}.menu-sub{position:relative}.menu-sub>.menu-item{justify-content:space-between;align-items:center;gap:16px;display:flex}.menu-caret{color:var(--muted);font-size:15px;font-weight:400;line-height:1}.menu-flyout{background:var(--bg);border:1px solid var(--border-strong);z-index:26;min-width:208px;box-shadow:var(--inset), var(--shadow-menu);border-radius:12px;padding:6px;display:none;position:absolute;top:-6px;left:calc(100% - 4px)}.menu-sub:hover>.menu-flyout,.menu-sub:focus-within>.menu-flyout{display:block}.menu-pop.layer-context-menu{min-width:216px}.layer-context-menu .menu-fields{padding:6px 8px 4px}.layer-context-menu .menu-fields .field{margin-bottom:6px}.layer-context-menu .menu-fields .field:last-child{margin-bottom:0}.layer-context-menu .menu-flyout{left:auto;right:calc(100% - 4px)}.modal-hint{color:var(--muted);margin:0 0 14px;line-height:1.45}.check-row{color:var(--text);align-items:center;gap:8px;margin:4px 0 8px;display:flex}.check-row input{width:16px;height:16px;accent-color:var(--accent);margin:0}.anchor-grid{grid-template-columns:repeat(3,24px);gap:5px;padding:2px 0;display:grid}.anchor-cell{border:1px solid var(--border-strong);background:var(--bg-input);border-radius:6px;width:24px;height:24px;padding:0}.anchor-cell:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.anchor-cell.active{background:var(--accent);border-color:color-mix(in srgb, var(--accent) 70%, white)}.spacer{flex:1}.doc-name{border-radius:var(--radius-pill);text-align:center;background:0 0;border:1px solid #0000;min-width:96px;padding:5px 12px;font-weight:500}.doc-name:hover,.doc-name:focus{border-color:var(--border);background:var(--bg-input);outline:none}.top-export{flex-shrink:0;margin-left:4px;padding:5px 12px}.zoom-readout{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;min-width:52px;padding-right:6px;font-weight:500}.app:has(>.statusbar){grid-template-rows:var(--top) auto minmax(0, 1fr) auto}:is(.app:has(>.statusbar) .toolbar,.app:has(>.statusbar) .right-col){grid-row:2/5}.statusbar{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;height:36px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:4/2;align-items:center;gap:6px;padding:0 4px 0 12px;font-weight:500;display:flex}.status-item{border-radius:var(--radius-pill);background:var(--bg-input);padding:3px 8px}.status-save{padding:3px 8px}.status-save.is-error{color:var(--danger)}.status-cursor{text-align:center;min-width:76px}.zoom-controls{align-items:center;gap:2px;display:flex}.zoom-pct{border-radius:var(--radius-pill);min-width:56px;color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:0;padding:4px 8px;font-weight:600}.zoom-pct:hover{background:var(--bg-hover)}.zoom-fit{align-items:center;gap:5px;padding:4px 10px 4px 8px;display:inline-flex}.zoom-fit svg{width:15px;height:15px}.history-btns{border-left:1px solid var(--border);align-items:center;gap:2px;margin-left:6px;padding-left:8px;display:flex}.tool-options{min-width:0;height:var(--options);scrollbar-width:thin;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:nowrap;grid-area:2/2;align-items:center;gap:8px 14px;padding:6px 12px;display:flex;overflow:auto hidden}.tool-id{flex-direction:column;flex:0 auto;justify-content:center;min-width:72px;max-width:280px;line-height:1.2;display:flex}.tool-id strong{font-size:12px;font-weight:600}.tool-id span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;overflow:hidden}.toolbar{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);scrollbar-width:thin;flex-direction:column;grid-area:2/1/4;align-self:stretch;align-items:center;gap:4px;padding:8px 6px;display:flex;overflow-y:auto}.tool-grid{flex-direction:column;gap:2px;width:100%;display:flex}.tool-btn{width:100%;color:var(--muted);background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:7px 2px 6px;display:flex}.tool-btn svg{flex-shrink:0;display:block}.tool-btn{position:relative}.tool-key{color:inherit;opacity:.45;font-size:8.5px;font-weight:700;line-height:1;transition:opacity .12s;position:absolute;top:3px;right:5px}.tool-btn:hover .tool-key,.tool-btn.active .tool-key{opacity:.9}.tool-btn:hover{background:var(--bg-hover);color:var(--text)}.tool-btn.active{background:var(--bg-active);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent)}.tool-hint-host{z-index:40;position:fixed}.tool-hint{background:var(--bg);border:1px solid var(--border-strong);width:220px;box-shadow:var(--inset), var(--shadow-menu);border-radius:12px;overflow:hidden}.tool-hint-art{height:108px;color:var(--accent);background:var(--bg-input);place-items:center;display:grid}.tool-hint-copy{padding:10px 12px 12px}.tool-hint-title{color:var(--text);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;font-size:13px;font-weight:600;display:flex}.tool-hint-title kbd{font-size:11px}.tool-hint-copy p{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.tool-hint-modes{flex-direction:column;gap:2px;margin:8px 0 0;padding:0;list-style:none;display:flex}.tool-hint-modes button{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:8px;margin:0;padding:6px 8px;display:grid}.tool-hint-modes button:hover{background:var(--bg-input)}.tool-hint-modes button.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.tool-hint-modes strong{color:var(--text);font-size:12px;font-weight:600;display:block}.tool-hint-modes button.active strong{color:var(--accent)}.tool-hint-modes button>span>span{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.4;display:block}.color-wells{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:auto;padding:12px 0 4px;display:flex}.color-stack{width:44px;height:44px;position:relative}.color-swatch{width:26px;height:26px;box-shadow:inset 0 0 0 1px #ffffff47, 0 0 0 1px color-mix(in srgb, var(--text) 26%, transparent);cursor:pointer;border:0;border-radius:7px;padding:0;position:absolute;overflow:hidden}.color-swatch.bg{z-index:0;bottom:0;right:0}.color-swatch.fg{z-index:1;top:0;left:0}.color-swatch:hover,.color-swatch:focus-visible,.color-swatch[aria-expanded=true]{z-index:3;box-shadow:inset 0 0 0 1px #ffffff47, 0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent)}.color-field-trigger{border:1px solid var(--border);border-radius:8px;width:36px;height:26px;padding:0;box-shadow:inset 0 0 0 1px #ffffff47}.modal.color-modal{width:min(320px,100vw - 24px)}.color-picker{-webkit-user-select:none;user-select:none;grid-template-columns:1fr 16px;gap:10px;height:180px;margin:0 0 14px;display:grid}.color-sv,.color-hue{touch-action:none;min-width:0;min-height:0;box-shadow:inset 0 0 0 1px #ffffff47, 0 0 0 1px color-mix(in srgb, var(--text) 26%, transparent);position:relative}.color-sv{cursor:crosshair;border-radius:10px;overflow:hidden}.color-sv-plane{position:absolute;inset:0}.color-sv-thumb{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000073}.color-hue{cursor:ns-resize;background:linear-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:99px}.color-hue-thumb{pointer-events:none;border:2px solid #fff;border-radius:4px;height:8px;position:absolute;left:-3px;right:-3px;transform:translateY(-50%);box-shadow:0 0 0 1px #00000073}.color-compare-wrap{align-items:stretch;gap:10px;margin:0 0 14px;display:flex}.color-compare{width:72px;height:72px;box-shadow:inset 0 0 0 1px #ffffff47, 0 0 0 1px color-mix(in srgb, var(--text) 26%, transparent);border-radius:10px;overflow:hidden}.color-compare-new,.color-compare-current{height:50%}.color-compare-legend{color:var(--muted);flex-direction:column;justify-content:space-around;font-size:11px;font-weight:500;display:flex}.color-channels{grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:10px;display:grid}.color-channel-col{flex-direction:column;gap:6px;display:flex}.color-channel,.color-hex-row{color:var(--muted);grid-template-columns:2.1em 1fr;align-items:center;gap:6px;margin:0;font-size:11px;font-weight:500;display:grid}.color-hex-row{margin-bottom:2px}.color-hex-row input{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.color-swap{z-index:4;background:var(--bg);width:20px;height:20px;color:var(--muted);box-shadow:0 0 0 1px var(--border-strong);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:-6px;right:-7px}.color-swap:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--bg));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 45%, var(--border))}.color-default-btn{background:0 0;border:0;border-radius:6px;place-items:center;width:22px;height:22px;padding:0;display:grid}.color-default-btn:hover{background:var(--bg-hover)}.color-default{width:11px;height:11px;box-shadow:0 0 0 1px color-mix(in srgb, var(--text) 32%, transparent);background:#fff;border-radius:2px;display:block;position:relative}.color-default:before{content:"";width:8px;height:8px;box-shadow:0 0 0 1px color-mix(in srgb, var(--text) 32%, transparent);background:#111;border-radius:2px;position:absolute;top:-4px;left:-4px}.viewport-wrap{z-index:0;background:var(--bg);overscroll-behavior:none;overscroll-behavior-x:none;touch-action:none;grid-area:3/2;min-width:0;min-height:0;position:relative;overflow:hidden}.viewport-wrap.crop-tool{cursor:crosshair}.crop-commit{z-index:5;border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg) 92%, transparent);width:196px;box-shadow:var(--shadow);gap:6px;padding:4px;display:flex;position:absolute}.crop-commit .btn{flex:1;padding:5px 10px}.viewport-wrap.sample-tool{cursor:crosshair}.seg{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-input);align-items:center;gap:2px;padding:2px;display:flex}.seg button{border-radius:calc(var(--radius) - 2px);width:28px;height:28px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.seg button:hover{background:var(--bg-hover);color:var(--text)}.seg button.active{background:var(--bg-active);color:var(--accent)}.viewport-wrap.over{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 70%, transparent)}.viewport-wrap canvas{touch-action:none;width:100%;height:100%;display:block}.brush-ring{pointer-events:none;border:1.5px solid #ffffffc7;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000073}.picker-preview{pointer-events:none;transform-origin:3px calc(100% - 3px);border:2.5px solid #fff;border-radius:50% 50% 50% 3px;width:28px;height:28px;position:absolute;box-shadow:0 0 0 1px #1a122080,0 6px 16px #1a122038}.picker-preview.is-empty{background-color:#ece6ee;background-image:linear-gradient(45deg,#c9c0cc 25%,#0000 25%),linear-gradient(-45deg,#c9c0cc 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#c9c0cc 75%),linear-gradient(-45deg,#0000 75%,#c9c0cc 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.transform-overlay{border:1px solid var(--guide);pointer-events:none;position:absolute;box-shadow:0 0 0 1px #0006}.handle{pointer-events:auto;cursor:nwse-resize;background:#fff;border:1px solid #a21caf;border-radius:2px;width:8px;height:8px;position:absolute}.handle.nw{cursor:nwse-resize;top:-4px;left:-4px}.handle.ne{cursor:nesw-resize;top:-4px;right:-4px}.handle.se{cursor:nwse-resize;bottom:-4px;right:-4px}.handle.sw{cursor:nesw-resize;bottom:-4px;left:-4px}.handle.rot{cursor:grab;background:var(--guide);border-radius:50%;width:8px;height:8px;margin-left:-4px;top:-22px;left:50%}.distort-overlay{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.distort-overlay polygon{fill:none;stroke:var(--guide);stroke-width:1px}.distort-overlay circle{fill:#fff;stroke:#a21caf;stroke-width:1px}.tool-overlay{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.tool-overlay path{fill:none;stroke:var(--guide);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.tool-overlay path.heal-trail{stroke:#d946ef59}.guides-overlay{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.guides-overlay path{fill:none;stroke-width:1px}.guides-overlay .guide-lines{stroke:#06b6d4}.guides-overlay .snap-lines{stroke:var(--guide);stroke-dasharray:4 3}.ruler{z-index:3;border-color:var(--border);border-style:solid;border-width:0;position:absolute;top:0;left:0}.ruler-top{border-bottom-width:1px}.ruler-left{border-right-width:1px}.status-toggle[aria-pressed=true]{color:var(--text);background:color-mix(in srgb, var(--text) 10%, transparent)}.bg-preview{border-radius:var(--radius-lg);background:repeating-conic-gradient(var(--checker-a) 0 25%, var(--checker-b) 0 50%) 0 0 / 16px 16px;place-items:center;min-height:160px;margin-bottom:12px;display:grid}.bg-preview canvas{max-width:100%;max-height:320px;display:block}.clone-source{pointer-events:none;border:1.5px solid #ffffffd9;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000073}.rot-stem{background:var(--guide);width:1px;height:18px;position:absolute;top:-18px;left:50%}.text-editor,.text-editor:focus{box-sizing:content-box;appearance:none;outline:1px dashed var(--guide);outline-offset:0;box-shadow:none;resize:none;white-space:pre;letter-spacing:0;background:#14141426;border:0;border-radius:0;margin:0;padding:0;line-height:1.25;position:absolute;overflow:hidden}.right-col{gap:var(--gap);flex-direction:column;grid-area:2/3/4;min-height:0;display:flex}.right-panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.panel-section{border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;min-height:0;display:flex}.panel-section:last-child{border-bottom:0}.panel-section.grow{flex:auto;min-height:0}.panel-section.grow.is-collapsed{flex:none}.panel-section.is-collapsed>:not(.panel-title){display:none}.panel-title{text-align:left;letter-spacing:.08em;text-transform:uppercase;width:100%;color:var(--muted);-webkit-user-select:none;user-select:none;background:0 0;border:0;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:10px 12px 8px;font-size:10px;font-weight:600;display:flex}.panel-title:hover{color:var(--text);background:var(--bg-hover)}.panel-section.is-collapsed .panel-title{padding-bottom:10px}.panel-title svg{flex-shrink:0;width:14px;height:14px}.panel-body{padding:4px 12px 12px;overflow:auto}.panel-section.grow .panel-body{flex:auto;min-height:0}.panel-body::-webkit-scrollbar{width:8px}.panel-body::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text) 16%, transparent);border-radius:8px}.row{align-items:center;gap:6px;display:flex}.field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.field label,.lbl{color:var(--muted);font-size:11px;font-weight:500}.field-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tool-options .lbl{white-space:nowrap;margin:0}.tool-options .field{flex-direction:row;flex:none;align-items:center;gap:8px;margin-bottom:0}.tool-options .field label{white-space:nowrap}.tool-options .field-row{display:contents}.tool-options input[type=text],.tool-options input[type=number]{width:4.5rem}.tool-options select{appearance:none;background-color:var(--bg-input);background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 10px) calc(50% + 1px);background-repeat:no-repeat;background-size:4px 4px,4px 4px;flex:none;width:max-content;min-width:max-content;padding-right:22px}.tool-options .color-field-trigger{width:36px}.tool-options input[type=range]{width:7rem}.tool-options .check-row{color:var(--muted);margin:0;font-size:11px;font-weight:500}.tool-options .font-select{flex:none;width:max-content;min-width:max-content}.tool-options .weight-row{flex:none}.option-btn{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-input);color:var(--muted);letter-spacing:.02em;white-space:nowrap;flex:none;align-items:baseline;gap:6px;padding:8px 12px;font-size:11px;font-weight:500;display:inline-flex}.option-btn:hover,.option-btn.open{background:var(--bg-hover);border-color:color-mix(in srgb, var(--text) 22%, var(--border));color:var(--text)}.option-btn strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600}.modal.value-modal{width:min(340px,100vw - 24px)}.value-readout{align-items:center;gap:8px;margin-bottom:16px;display:flex}.value-readout input{font-variant-numeric:tabular-nums;text-align:center;flex:auto;padding:10px 12px;font-size:16px}.value-readout span{color:var(--muted);flex:none}.value-modal input[type=range]{height:34px}.value-modal input[type=range]::-webkit-slider-thumb{width:26px;height:26px;margin-top:-11.5px}.value-modal input[type=range]::-moz-range-thumb{width:26px;height:26px}input[type=text],input[type=number],input[type=range],select,textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);width:100%;padding:6px 8px}input[type=range]{appearance:none;background:0 0;border:0;height:18px;padding:0}input[type=range]::-webkit-slider-runnable-track{background:color-mix(in srgb, var(--text) 14%, transparent);border-radius:99px;height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 1px var(--border);border:0;border-radius:50%;margin-top:-4.5px}input[type=range]::-moz-range-track{background:color-mix(in srgb, var(--text) 14%, transparent);border-radius:99px;height:3px}input[type=range]::-moz-range-thumb{background:var(--accent);border:0;border-radius:50%;width:12px;height:12px}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}input[type=range]:focus,input[type=range]:focus-visible{box-shadow:none;outline:none}input,textarea,select{-webkit-user-select:text;user-select:text}.weight-row{align-items:stretch;gap:4px;display:flex}.weight-row select{flex:none;width:max-content;min-width:max-content}.style-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-input);width:30px;color:var(--text);flex:0 0 30px;padding:0;font-family:Times New Roman,Times,serif;font-size:14px;font-style:italic;font-weight:700}.style-btn:hover{background:var(--bg-hover)}.style-btn.active{background:var(--bg-active);border-color:color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--accent)}.font-select{position:relative}.font-select-trigger{text-align:left;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);white-space:nowrap;width:max-content;min-width:8rem;padding:6px 22px 6px 8px;position:relative}.font-select-trigger:focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}.font-select-trigger:after{content:"";border:4px solid #0000;border-top-color:var(--muted);pointer-events:none;margin-top:-2px;position:absolute;top:50%;right:8px}.font-select-menu{z-index:40;background:var(--bg);border:1px solid var(--border-strong);width:max-content;max-width:min(24rem,100vw - 24px);max-height:320px;box-shadow:var(--inset), var(--shadow-menu);border-radius:12px;margin:0;padding:6px;list-style:none;position:fixed;overflow:auto}.font-select-menu li{margin:0}.font-select-menu button{text-align:left;width:100%;color:var(--text);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:7px 10px;font-size:13px}.font-select-menu button:hover,.font-select-menu button.active{background:var(--bg-hover)}input[type=color]{border:1px solid var(--border);background:var(--bg-input);border-radius:8px;width:36px;height:26px;padding:2px}.btn{border:1px solid var(--border);background:color-mix(in srgb, var(--text) 5%, var(--bg));border-radius:var(--radius-pill);color:var(--text);padding:6px 12px;font-weight:500}.btn:hover{background:color-mix(in srgb, var(--text) 9%, var(--bg))}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:#0000}.btn.primary:hover{background:color-mix(in srgb, var(--accent) 86%, white)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-hover);color:var(--text)}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.45;cursor:default}.btn-row{gap:6px;display:flex}.icon-btn{width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.icon-btn.locked{color:#c08a18}.icon-btn:disabled{opacity:.4}.icon-btn.active{background:var(--bg-active);color:var(--accent)}.panels-btn,.layer-menu-btn,.sheet-backdrop{display:none}.layers{flex-direction:column;gap:3px;display:flex}.layer{border:1px solid #0000;border-radius:10px;grid-template-columns:22px auto 1fr 22px;align-items:center;column-gap:8px;padding:5px 8px 5px 4px;display:grid;position:relative}.layer.active{background:var(--bg-active);border-color:color-mix(in srgb, var(--accent) 28%, transparent)}.layer:hover{background:var(--bg-hover)}.layer.active:hover{background:var(--bg-active)}.layer.dragging{opacity:.5}.layer.depth-1{padding-left:18px}.layer.group-row .layer-name{font-weight:600}.layer.drop-above:before,.layer.drop-below:after,.layer.drop-into:after{content:"";background:var(--accent);pointer-events:none;z-index:2;height:2px;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:1px;position:absolute;left:6px;right:6px}.layer.drop-above:before{top:-3px}.layer.drop-below:after{bottom:-3px}.layer.depth-1.drop-above:before,.layer.depth-1.drop-below:after{left:22px}.layer.drop-into:after{bottom:-3px;left:22px}.layer.drop-into{outline:1px dashed color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-1px}.folder-thumb{color:var(--muted);background:var(--bg-input);place-items:center;display:grid}.layer-name{text-overflow:ellipsis;white-space:nowrap;padding:0 4px;font-weight:500;overflow:hidden}.layer>.icon-btn{width:22px;height:22px}.layer>.icon-btn:first-child{justify-self:start}.layer img,.thumb{object-fit:contain;background:linear-gradient(45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(-45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--checker-b) 75%), linear-gradient(-45deg, transparent 75%, var(--checker-b) 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;background-color:var(--checker-a);border-radius:5px;width:40px;height:28px}.layer-thumbs{gap:4px;display:flex}.thumb-btn{cursor:pointer;background:0 0;border:0;border-radius:5px;padding:0;display:grid}.thumb-btn.target{outline:2px solid var(--accent);outline-offset:1px}.thumb-btn.off img{opacity:.35}.layer-footer{border-top:1px solid var(--border);flex-shrink:0;gap:2px;padding:8px 8px 10px;display:flex}.empty{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);grid-area:2/1/-2/-1;justify-content:center;align-items:center;min-height:0;display:flex}.empty-card{border:1px solid var(--border);text-align:center;background:var(--bg);width:min(520px,100% - 40px);box-shadow:var(--shadow-menu);border-radius:20px;padding:40px 32px 32px}.empty-card.over{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:var(--inset), 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent), var(--shadow-menu)}.empty-mark{background:linear-gradient(180deg, #e879f9, var(--accent));width:44px;height:44px;color:var(--accent-text);border-radius:14px;place-items:center;margin:0 auto 16px;display:grid;box-shadow:0 8px 24px #c026d347}.empty-card h1{letter-spacing:-.03em;margin:0 0 8px;font-family:Instrument Sans,Inter,sans-serif;font-size:26px;font-weight:600}.empty-card p{color:var(--muted);margin:0 0 20px;line-height:1.45}.empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.empty-hint{letter-spacing:.02em;font-size:11px;margin:18px 0 0!important}.modal-backdrop{background:color-mix(in srgb, var(--text) 28%, transparent);z-index:30;-webkit-backdrop-filter:blur(8px);place-items:center;display:grid;position:fixed;inset:0}.color-modal-backdrop{-webkit-backdrop-filter:none;display:block}.color-modal-frame{pointer-events:none;place-items:center;display:grid;position:fixed}.color-modal-frame>.modal{pointer-events:auto}.modal{background:var(--bg);border:1px solid var(--border-strong);width:min(420px,100vw - 24px);box-shadow:var(--inset), var(--shadow-menu);border-radius:18px;padding:20px 20px 16px}.modal:focus{outline:none}.modal h2{letter-spacing:-.02em;margin:0 0 14px;font-family:Instrument Sans,Inter,sans-serif;font-size:16px;font-weight:600}.presets{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.presets .btn{font-variant-numeric:tabular-nums}.modal.new-doc-modal{width:min(520px,100vw - 24px)}.new-doc-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px;display:grid}.new-doc-preset{border:1px solid var(--border);background:color-mix(in srgb, var(--text) 4%, var(--bg));min-width:0;color:var(--text);text-align:left;border-radius:12px;flex-direction:column;align-items:stretch;gap:0;padding:0 0 10px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:flex;overflow:hidden}.new-doc-preset:hover{background:var(--bg-hover)}.new-doc-preset.active{border-color:color-mix(in srgb, var(--accent) 40%, transparent);background:var(--bg-active)}.new-doc-thumb{background:color-mix(in srgb, var(--text) 5%, var(--bg));place-items:center;height:84px;display:grid}.new-doc-thumb span{--cell:#8b7cf6;background:color-mix(in srgb, var(--cell) 78%, var(--bg));width:auto;max-width:84%;height:64px;box-shadow:0 6px 14px color-mix(in srgb, var(--text) 12%, transparent);border-radius:4px;display:block}.new-doc-preset:nth-child(6n+2) .new-doc-thumb span{--cell:#f47c6b}.new-doc-preset:nth-child(6n+3) .new-doc-thumb span{--cell:#f2b544}.new-doc-preset:nth-child(6n+4) .new-doc-thumb span{--cell:#3fbfa0}.new-doc-preset:nth-child(6n+5) .new-doc-thumb span{--cell:#4c9bf0}.new-doc-preset:nth-child(6n+6) .new-doc-thumb span{--cell:#e879f9}.new-doc-preset.active .new-doc-thumb span{background:var(--cell)}.new-doc-preset-text{flex-direction:column;min-width:0;padding:8px 10px 0;line-height:1.3;display:flex}.new-doc-preset-text small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.modal select.new-doc-more{width:auto;color:var(--muted);cursor:pointer;background-color:#0000;border-color:#0000;margin:0 0 14px 4px;padding:6px 8px;font-size:14px}.modal select.new-doc-more:hover{background-color:var(--bg-hover);color:var(--text)}.new-doc-dims{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:6px;display:grid}.new-doc-swap{color:var(--muted);margin-bottom:12px}.new-doc-dims input[aria-invalid=true]{border-color:var(--danger,#dc2626)}.new-doc-error{color:var(--danger,#dc2626);margin:-4px 0 10px;font-size:12px}.new-doc-bg{align-self:flex-start;position:relative}.new-doc-bg-toggle{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:10px;align-items:center;gap:8px;padding:4px 8px 4px 4px;font-size:12px;font-weight:500;display:inline-flex}.new-doc-bg-toggle:hover,.new-doc-bg-toggle[aria-expanded=true]{background:var(--bg-hover)}.new-doc-bg-toggle svg{width:12px;height:12px;color:var(--muted)}.new-doc-bg .swatch{border-color:var(--border-strong);border-radius:6px;flex:none;width:18px;height:18px}.menu-pop.new-doc-bg-menu{min-width:160px;position:absolute;top:calc(100% + 4px);left:0}.new-doc-bg-menu .menu-item{cursor:pointer;justify-content:flex-start;gap:10px;font-size:12px}.new-doc-bg-menu .menu-item.active{background:var(--bg-active)}.new-doc-bg-menu input[type=color]{border:1px solid var(--border-strong);cursor:pointer;border-radius:6px;flex:none;width:18px;height:18px;padding:0;overflow:hidden}.new-doc-bg-menu input[type=color]::-webkit-color-swatch-wrapper{padding:0}.new-doc-bg-menu input[type=color]::-webkit-color-swatch{border:0}.new-doc-actions{align-items:center}.new-doc-summary{min-width:0;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:8px;margin-right:auto;font-size:11px;display:flex}.new-doc-preview{place-items:center;width:36px;height:36px;display:grid}.new-doc-canvas{box-shadow:0 0 0 1px color-mix(in srgb, var(--text) 18%, transparent);border-radius:2px;transition:width .3s cubic-bezier(.2,.8,.2,1),height .3s cubic-bezier(.2,.8,.2,1);display:block}.new-doc-canvas.transparent{background:repeating-conic-gradient(#c9c9c9 0% 25%,#fff 0% 50%) 0 0/6px 6px}@media (max-width:480px){.new-doc-presets{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.new-doc-canvas{transition:none}}.modal.start-modal{width:min(560px,100vw - 24px);max-height:calc(100vh - 48px);overflow:auto}.start-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.start-pick.is-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.start-pick.is-compact .start-pick-stage{height:72px}.start-group-title{color:var(--muted);margin:14px 0 8px;font-size:12px;font-weight:600}.start-group-title:first-of-type{margin-top:0}.start-pick-btn{appearance:none;cursor:pointer;text-align:left;min-width:0;color:inherit;background:color-mix(in srgb, var(--text) 4%, var(--bg));border:1px solid var(--border);border-radius:14px;flex-direction:column;align-items:stretch;padding:0 0 10px;display:flex;overflow:hidden}.start-pick-btn:hover,.start-pick-btn.is-selected{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--bg))}.start-pick-label{letter-spacing:-.02em;padding:10px 10px 0;font-weight:600}.start-pick-detail{color:var(--muted);font-variant-numeric:tabular-nums;padding:3px 10px 0}.start-pick-stage{background:color-mix(in srgb, var(--text) 5%, var(--bg));place-items:center;height:92px;display:grid}.start-pick-frame{width:auto;max-width:72%;height:62px;box-shadow:0 8px 16px color-mix(in srgb, var(--text) 12%, transparent);background:#fff;border-radius:4px;display:block}.start-pick-frame.is-id{--cell:#8b7cf6;background:color-mix(in srgb, var(--cell) 75%, var(--bg));max-width:42%}.start-pick-btn:nth-child(5n+2) .start-pick-frame.is-id{--cell:#f47c6b}.start-pick-btn:nth-child(5n+3) .start-pick-frame.is-id{--cell:#f2b544}.start-pick-btn:nth-child(5n+4) .start-pick-frame.is-id{--cell:#3fbfa0}.start-pick-btn:nth-child(5n+5) .start-pick-frame.is-id{--cell:#4c9bf0}.start-pick-frame.is-dashed{border:1.5px dashed color-mix(in srgb, var(--text) 28%, transparent);box-shadow:none;background:0 0}.start-pick-frame.is-id.is-dashed{border-color:color-mix(in srgb, var(--cell) 75%, var(--bg))}.start-collage-grid{gap:4px;display:grid}.start-collage-grid i{--cell:#8b7cf6;background:color-mix(in srgb, var(--cell) 45%, var(--bg));border-radius:3px;min-width:0;min-height:0;display:block}.start-collage-grid i:nth-child(5n+2){--cell:#f47c6b}.start-collage-grid i:nth-child(5n+3){--cell:#f2b544}.start-collage-grid i:nth-child(5n+4){--cell:#3fbfa0}.start-collage-grid i:nth-child(5n+5){--cell:#4c9bf0}.start-collage-grid i.is-large{background:color-mix(in srgb, var(--cell) 75%, var(--bg))}.start-custom{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.start-pick>.start-custom{border-top:0;grid-column:1/-1;margin-top:0;padding-top:0}.start-pick>.start-custom .field{margin-bottom:0}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}@media (max-width:560px){.start-pick,.start-pick.is-compact{grid-template-columns:1fr 1fr}}.modal.shortcuts-modal{width:min(760px,100vw - 24px);max-height:calc(100vh - 48px);overflow:auto}.shortcut-groups{columns:2 280px;column-gap:28px}.shortcut-group{break-inside:avoid;margin-bottom:18px}.shortcut-group h3{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.shortcut-group dl{margin:0}.shortcut-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:5px 0;display:flex}.shortcut-row:last-child{border-bottom:0}.shortcut-row dt{color:var(--text)}.shortcut-row dd{flex-shrink:0;gap:3px;margin:0;display:flex}.shortcut-row kbd{border:1px solid var(--border-strong);background:var(--bg-input);min-width:22px;color:var(--text);text-align:center;border-bottom-width:2px;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:600}.history-list{max-height:176px;margin:0;padding:2px 8px 10px;list-style:none}.history-step{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:5px 8px;display:flex}.history-step:hover{background:var(--bg-hover)}.history-step.current{background:var(--bg-active);color:var(--accent);font-weight:600}.history-step.undone{color:var(--muted);opacity:.6}.history-index{min-width:18px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:10px}.compare-peek{z-index:5;pointer-events:none;grid-area:3/2;position:relative;overflow:hidden}.compare-peek canvas{background:repeating-conic-gradient(var(--checker-a) 0 25%, var(--checker-b) 0 50%) 0 0 / 16px 16px;position:absolute}.compare-badge{border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow);padding:5px 12px;font-weight:700;position:absolute;top:12px;left:12px}.palette-btn{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-input);min-width:220px;color:var(--muted);align-items:center;gap:8px;margin-right:6px;padding:5px 8px 5px 10px;display:inline-flex}.palette-btn:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--text)}.palette-btn span{text-align:left;flex:1}.palette-btn kbd{border:1px solid var(--border-strong);border-radius:6px;padding:1px 6px}@media (max-width:1100px){.palette-btn{min-width:0}.palette-btn span{display:none}}.modal-backdrop.palette-backdrop{place-items:start center;padding-top:14vh}.modal.command-palette{width:min(560px,100vw - 24px);padding:8px}.palette-input{background:var(--bg-input);border:0;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-size:15px}.palette-results{max-height:min(380px,52vh);margin:8px 0 0;padding:0;list-style:none;overflow:auto}.palette-item{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.palette-item.active{background:var(--accent);color:var(--accent-text)}.palette-label{flex:1;font-weight:500}.palette-group{color:var(--muted);font-size:11px}.palette-item.active .palette-group,.palette-item.active kbd{color:inherit;opacity:.8}.palette-empty{color:var(--muted);text-align:center;padding:18px 12px}.modal.image-size-modal{width:min(440px,100vw - 24px)}.size-presets{border:1px solid var(--border);overscroll-behavior:contain;border-radius:12px;max-height:min(280px,42vh);margin:8px 0 0;padding:4px;overflow:auto}.size-presets-group+.size-presets-group{margin-top:6px}.size-presets-label{color:var(--muted);padding:6px 8px 2px;font-size:11px;font-weight:500}.size-preset{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 10px;font-size:13px;display:flex}.size-preset:hover{background:var(--bg-hover)}.size-preset.active{background:var(--bg-active)}.size-preset span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.modal.export-modal{width:min(680px,100vw - 24px);padding:0;overflow:hidden}.export-layout{grid-template-columns:minmax(0,1.15fr) minmax(248px,280px);align-items:stretch;display:grid}.export-preview{-webkit-user-select:none;user-select:none;background:linear-gradient(45deg, var(--checker-a) 25%, transparent 25%), linear-gradient(-45deg, var(--checker-a) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--checker-a) 75%), linear-gradient(-45deg, transparent 75%, var(--checker-a) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;background-color:var(--checker-b);border-right:1px solid var(--border);place-items:center;min-height:300px;padding:22px 18px 48px;display:grid;position:relative;overflow:hidden}.export-preview img{object-fit:contain;pointer-events:none;max-width:100%;max-height:320px;box-shadow:0 14px 36px color-mix(in srgb, var(--text) 22%, transparent);border-radius:4px;display:block}.export-preview-status{text-align:center;color:var(--muted);margin:0;padding:0 16px;line-height:1.4}.export-preview-meta{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg) 86%, transparent);border:1px solid var(--border);color:var(--muted);font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:10px;padding:6px 12px;font-size:11px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.export-preview-meta span:last-child{text-align:right;margin-left:auto}.export-options{flex-direction:column;min-width:0;max-height:min(88vh,760px);padding:20px 18px 16px;display:flex;overflow:auto}.export-options .modal-actions{margin-top:auto;padding-top:16px}.export-filename{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);align-items:stretch;min-width:0;display:flex}.export-filename:focus-within{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.export-filename input{width:auto;min-width:0;box-shadow:none;background:0 0;border:0;flex:1}.export-filename input:focus,.export-filename input:focus-visible{box-shadow:none;border:0;outline:none}.export-ext{color:var(--muted);font-variant-numeric:tabular-nums;border-left:1px solid var(--border);flex:none;place-items:center;padding:0 10px;display:grid}.export-formats{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.export-format{text-align:left;appearance:none;border:1px solid var(--border);background:var(--bg-input);color:var(--text);border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.export-format:hover{background:color-mix(in srgb, var(--text) 8%, var(--bg))}.export-format.active{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--bg-active);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.export-format-label{letter-spacing:-.01em;font-weight:600}.export-format-hint{color:var(--muted);font-size:10px;line-height:1.25}.export-format-note{color:var(--muted);margin:8px 0 0;line-height:1.4}.export-quality-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.export-quality-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:500}@media (max-width:640px){.export-layout{grid-template-columns:1fr}.export-preview{border-right:0;border-bottom:1px solid var(--border);min-height:200px;padding:18px 16px 44px}.export-preview img{max-height:200px}.export-options .modal-actions{margin-top:8px}}.bg-choices{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.swatch{border:1px solid #555;border-radius:8px;width:24px;height:24px;padding:0}.swatch.active{outline:2px solid var(--accent);outline-offset:2px}.swatch.transparent{background-color:#ddd;background-image:linear-gradient(45deg,#888 25%,#0000 25%),linear-gradient(-45deg,#888 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#888 75%),linear-gradient(-45deg,#0000 75%,#888 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:8px 8px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box}.toasts{z-index:40;flex-direction:column;gap:6px;display:flex;position:fixed;top:68px;left:50%;transform:translate(-50%)}.toast{background:color-mix(in srgb, var(--danger) 14%, var(--bg));border:1px solid color-mix(in srgb, var(--danger) 35%, var(--bg));color:var(--danger);border-radius:var(--radius-pill);text-align:center;min-width:220px;box-shadow:var(--shadow);padding:9px 14px}.toast.info{background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 30%, var(--bg));color:var(--accent)}.curve-wrap{position:relative}.curve-canvas{background:var(--bg);border:1px solid var(--border);cursor:crosshair;border-radius:10px;width:100%;height:160px;display:block}.app.empty-app{grid-template-columns:minmax(0,1fr)}.app.empty-app .toolbar,.app.empty-app .tool-options,.app.empty-app .right-col{display:none}.app.empty-app .topbar,.app.empty-app .empty{grid-column:1}kbd{color:var(--muted);letter-spacing:.02em;font-family:inherit;font-size:10px;font-weight:500}.id-guide{pointer-events:none;z-index:4;position:absolute;box-shadow:0 0 0 9999px #00000061}.id-guide-margin{border:1px dashed color-mix(in srgb, #fff 70%, var(--guide));position:absolute}.id-guide-head{border-top:1px solid color-mix(in srgb, var(--guide) 80%, white);border-bottom:1px solid color-mix(in srgb, var(--guide) 80%, white);background:color-mix(in srgb, var(--guide) 10%, transparent);position:absolute;left:8%;right:8%}.id-guide-eye{border-top:2px solid var(--guide);height:0;position:absolute;left:0;right:0}.id-guide-label{background:color-mix(in srgb, var(--bg) 82%, transparent);color:var(--text);letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:600;position:absolute;left:10px;transform:translateY(-50%)}.id-guide-label-head{left:auto;right:10px}.id-guide-label-margin{top:10px;transform:none}.collage-guide{pointer-events:none;z-index:3;position:absolute;inset:0}.collage-cell{border:1px dashed color-mix(in srgb, var(--guide) 70%, transparent);color:var(--muted);text-align:center;place-items:center;padding:8px;font-size:11px;display:grid;position:absolute}.collage-cell.is-empty{pointer-events:auto;cursor:pointer;background:color-mix(in srgb, var(--text) 4%, transparent)}.collage-cell-file{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mode-panel{flex-direction:column;gap:10px;display:flex}.mode-note,.mode-readout{color:var(--muted);margin:0;line-height:1.4}.palette-panel{flex-direction:column;gap:8px;display:flex}.palette-sample{border:1px solid var(--border);border-radius:8px;width:100%;height:28px}.palette-row{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.palette-row code{text-overflow:ellipsis;font-size:11px;overflow:hidden}.palette-swatches{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.palette-swatch{aspect-ratio:1;border:1px solid var(--border);border-radius:8px;padding:0}.export-presets{margin-top:8px}.export-options a{color:var(--accent)}@media (max-width:640px){.id-guide-label{padding:1px 5px;font-size:9px}.palette-swatches{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:900px){:is(.app,.app:has(>.statusbar)){--pad:6px;--gap:6px;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--top) auto minmax(0, 1fr) auto auto}.topbar{gap:2px;padding:0 6px}.topbar .brand{gap:0;margin-right:4px}.topbar .brand-word{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.shortcuts-btn{display:none}.tool-id{max-width:min(240px,52vw)}.tool-id span{white-space:normal}.doc-name{min-width:0;padding:5px 8px}.tool-options{height:auto;min-height:var(--options);grid-area:2/1;padding:6px 10px}.tool-options:empty{display:none}.viewport-wrap{grid-area:3/1}.toolbar{padding:6px 6px calc(6px + env(safe-area-inset-bottom));overscroll-behavior-x:contain;flex-direction:row;grid-area:4/1;align-items:stretch;gap:2px;overflow:auto hidden}.app:has(>.statusbar) .toolbar{padding:6px 6px calc(6px + env(safe-area-inset-bottom));overscroll-behavior-x:contain;flex-direction:row;grid-area:4/1;align-items:stretch;gap:2px;overflow:auto hidden}.tool-grid{display:contents}.tool-btn{flex:none;justify-content:center;width:auto;min-width:44px;padding:6px 4px 5px}.tool-key{display:none}.color-wells{border-top:0;border-left:1px solid var(--border);flex-direction:row;flex:none;align-items:center;gap:6px;width:auto;margin-top:0;margin-left:auto;padding:0 2px 0 10px}.statusbar{grid-area:5/1;height:34px;padding:0 4px 0 8px}.statusbar .status-cursor{display:none}.menu-pop{max-width:calc(100vw - 16px);max-height:70dvh;overflow-y:auto}.panels-btn{display:grid}.sheet-backdrop{z-index:24;background:color-mix(in srgb, var(--text) 28%, transparent);border:0;padding:0;display:block;position:fixed;inset:0}.right-col{z-index:25;max-height:72dvh;padding:0 var(--pad) calc(var(--pad) + env(safe-area-inset-bottom));visibility:hidden;grid-area:auto;transition:transform .18s,visibility 0s linear .18s;position:fixed;bottom:0;left:0;right:0;transform:translateY(101%)}.app:has(>.statusbar) .right-col{z-index:25;max-height:72dvh;padding:0 var(--pad) calc(var(--pad) + env(safe-area-inset-bottom));visibility:hidden;grid-area:auto;transition:transform .18s,visibility 0s linear .18s;position:fixed;bottom:0;left:0;right:0;transform:translateY(101%)}.right-col.is-open{visibility:visible;transition:transform .18s,visibility;transform:translateY(0)}.right-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-menu)}}@media (max-width:900px) and (prefers-reduced-motion:reduce){.right-col{transition:none}}@media (max-width:900px){.icon-btn{width:40px;height:40px}.seg button{width:36px;height:36px}.menu-item{padding:11px 12px}.menu-trigger{padding:10px 12px}.layer{grid-template-columns:34px auto 1fr 34px 34px;column-gap:4px;padding:4px 4px 4px 2px}.layer>.icon-btn{width:34px;height:34px}.layer-footer .icon-btn{width:38px;height:38px}.layer-menu-btn{display:grid}.handle{border-radius:4px;width:16px;height:16px}.handle.nw{top:-8px;left:-8px}.handle.ne{top:-8px;right:-8px}.handle.se{bottom:-8px;right:-8px}.handle.sw{bottom:-8px;left:-8px}.handle.rot{width:16px;height:16px;margin-left:-8px;top:-30px}.distort-overlay circle{r:9px}.color-swatch{width:32px;height:32px}.color-stack{width:52px;height:52px}.menu-sub>.menu-item{color:var(--muted);letter-spacing:.02em;font-size:11px;font-weight:500}.menu-caret{display:none}.menu-flyout,.layer-context-menu .menu-flyout{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0 0 0 12px;display:block;position:static;top:auto;left:auto;right:auto}}
