:root{color-scheme:dark;--bg: #1a1a1f;--bg-2: #22222a;--bg-3: #2c2c36;--fg: #e6e6ea;--fg-dim: #9a9aa8;--border: #3a3a44;--accent: #7aa2ff;--danger: #ff6680;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;background:var(--bg);color:var(--fg);overflow:hidden}html,body{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable=true],[contenteditable=""]{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}button{font:inherit;color:var(--fg);background:var(--bg-3);border:1px solid var(--border);border-radius:4px;padding:4px 8px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{color:var(--fg-dim);cursor:default;opacity:.5}input[type=range]{accent-color:var(--accent)}input[type=number],input[type=text],select{background:var(--bg-2);color:var(--fg);border:1px solid var(--border);padding:3px 6px;border-radius:3px}.app{display:flex;flex-direction:column;height:100%}.workspace>.main{position:absolute;top:0;right:0;bottom:0;left:0}.app-header{background:linear-gradient(180deg,#2a2a36,#1a1a22);display:flex;align-items:center;padding:0 12px;gap:12px;border-bottom:1px solid var(--border);min-height:36px;flex:0 0 auto}.brand{font-weight:600;letter-spacing:.5px}.brand-sub{color:var(--fg-dim);font-size:11px}.header-spacer{flex:1}.locale-switcher{display:flex;align-items:center;gap:4px;color:var(--fg-dim)}.locale-switcher select{background:var(--bg-2);color:var(--fg);border:1px solid var(--border);padding:2px 4px;font-size:11px;border-radius:3px}.autosave-indicator{display:inline-flex;align-items:center;gap:4px;color:var(--fg-dim);font-size:11px;margin-right:8px}.export-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:5000}.export-dialog{width:360px;max-width:calc(100vw - 32px);background:var(--bg-2);border:1px solid var(--border);border-radius:6px;box-shadow:0 16px 40px #0000008c;display:flex;flex-direction:column}.export-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600}.export-dialog-header .close{background:transparent;border:0;color:var(--fg-dim);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}.export-dialog-header .close:hover{color:var(--fg)}.export-dialog-body{padding:12px;display:flex;flex-direction:column;gap:12px}.export-section{display:flex;flex-direction:column;gap:6px}.export-label{font-size:11px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.scale-checkboxes{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.scale-check{display:inline-flex;align-items:center;gap:4px;font-size:12px}.scale-check.custom{gap:4px}.export-summary{font-size:11px;color:var(--fg-dim)}.export-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:8px 12px;border-top:1px solid var(--border)}.export-dialog-actions .primary{background:var(--accent);color:#0b1a3a;border-color:var(--accent)}.export-dialog-actions button:disabled{opacity:.5}.header-icon-btn{background:transparent;border:1px solid var(--border);border-radius:3px;color:var(--fg-dim);padding:4px 6px;cursor:pointer;margin-right:6px;display:inline-flex;align-items:center}.header-icon-btn:hover{color:var(--fg);border-color:var(--accent)}.shortcuts-dialog{width:460px;max-width:calc(100vw - 32px)}.shortcuts-table{width:100%;border-collapse:collapse}.shortcuts-table tr{border-bottom:1px dashed var(--border)}.shortcuts-table tr:last-child{border-bottom:0}.shortcuts-table td{padding:4px 6px;vertical-align:middle}.shortcuts-table .action-label{font-size:12px;color:var(--fg)}.shortcuts-table .binding-btn{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;padding:3px 8px;min-width:90px;text-align:center}.shortcuts-table .binding-btn.recording{background:var(--accent);color:#0b1a3a;border-color:var(--accent)}.shortcuts-table .binding-btn.conflict{color:var(--danger);border-color:var(--danger)}.shortcuts-table .reset-one{padding:3px 6px}.shortcuts-table .reset-one:disabled{opacity:.3}.shortcuts-footer-note{font-size:11px;color:var(--fg-dim);margin-top:12px;line-height:1.4}.artboard-edit-row{background:var(--bg-3);padding:6px 8px;margin-top:2px;margin-bottom:4px;border-radius:3px;border:1px solid var(--border)}.ab-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 6px}.ab-edit-grid label{display:grid;grid-template-columns:14px 1fr;align-items:center;gap:4px;font-size:11px;color:var(--fg-dim)}.ab-edit-grid input{width:100%}.ab-edit-stacked{display:flex;flex-direction:column;gap:6px}.ab-edit-actions{display:flex;justify-content:flex-end;gap:4px;margin-top:6px}.ab-edit-actions button{font-size:11px;padding:3px 8px}.ab-edit-actions .primary{background:var(--accent);color:#0b1a3a;border-color:var(--accent)}.new-artboard-popover{background:var(--bg-3);padding:8px;margin-bottom:6px;border:1px solid var(--border);border-radius:3px}.new-project-dialog{width:400px;max-width:calc(100vw - 32px)}.preset-row{display:flex;flex-wrap:wrap;gap:6px}.preset-btn{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;padding:4px 10px}.preset-btn.active{background:var(--accent);color:#0b1a3a;border-color:var(--accent)}.autosave-indicator .lbl{white-space:nowrap}.autosave-indicator .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-actions{display:flex;align-items:center;gap:6px;margin-right:12px}.file-actions button{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:4px 8px}.file-actions .lbl{display:inline-block}.workspace{position:relative;flex:1;min-height:0;overflow:hidden}.dock-zone{position:absolute;top:0;bottom:0;z-index:10;background:var(--bg-2);border-left:1px solid var(--border);overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column}.dock-zone-left{left:0;border-left:0;border-right:1px solid var(--border)}.dock-zone-right{right:0}.workspace.tool-left .dock-zone-left{left:38px}.workspace.tool-right .dock-zone-right{right:38px}.workspace.tool-left.tool-labels .dock-zone-left{left:110px}.workspace.tool-right.tool-labels .dock-zone-right{right:110px}.dock-zone.empty{display:none}.dock-zone.drop-target{background:#7aa2ff0a}.dock-zone.dropping{background:#7aa2ff1f}.dock-zone-drop-highlight{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:2px dashed var(--accent);background:#7aa2ff14;z-index:5}.dock-drop-indicator{flex:0 0 auto;height:3px;background:var(--accent);box-shadow:0 0 6px #7aa2ff99;margin:-1px 0;z-index:4}.dock-slot{position:relative;display:flex;flex-direction:column;min-height:32px;overflow:hidden}.dock-splitter{flex:0 0 auto;background:var(--border)}.dock-splitter-h{height:4px;cursor:row-resize}.dock-splitter-h:hover{background:var(--accent)}.dock-edge-resize{position:absolute;top:0;bottom:0;width:4px;cursor:col-resize;z-index:4}.dock-edge-resize-left{right:-2px}.dock-edge-resize-right{left:-2px}.dock-edge-resize:hover{background:var(--accent)}.docked-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-2);border-bottom:1px solid var(--border);overflow:hidden}.docked-panel .fp-title{cursor:grab}.docked-panel .fp-title:active{cursor:grabbing}.docked-panel .fp-body{flex:1;min-height:0;overflow-y:auto}.docked-panel.collapsed{height:auto}.docked-panel.collapsed .fp-body{display:none}.fp-lock{background:transparent;color:var(--fg-dim);border:0;padding:0 4px;cursor:pointer;display:inline-flex;align-items:center}.fp-lock:hover{color:var(--fg)}.fp-lock.on{color:var(--accent)}.docked-panel.locked .fp-title{cursor:default}.tool-palette{position:absolute;left:0;top:0;bottom:0;z-index:11;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:4px;background:var(--bg-2);border-right:1px solid var(--border);width:38px}.tool-palette.with-labels{width:110px}.tool-palette.right-anchor{left:auto;right:0;border-right:0;border-left:1px solid var(--border)}.tool-palette.horizontal{position:static;width:auto;height:auto;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--border)}.tool-palette-spacer{flex:1}.tool-palette-btn{position:relative;height:30px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--fg);border:1px solid transparent;border-radius:3px;cursor:pointer;padding:0 4px;font:inherit;font-size:12px}.tool-palette:not(.with-labels) .tool-palette-btn{width:30px;align-self:center;padding:0}.tool-palette.with-labels .tool-palette-btn,.tool-palette.with-labels .tool-palette-shape{width:100%;align-self:stretch;justify-content:flex-start;box-sizing:border-box}.tool-palette.horizontal.with-labels .tool-palette-btn,.tool-palette.horizontal.with-labels .tool-palette-shape{width:auto;align-self:center;justify-content:flex-start}.tool-palette-label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-palette-btn:hover{background:#ffffff0f;border-color:var(--border)}.tool-palette-btn.active{background:var(--accent);color:#0b1a3a;border-color:var(--accent)}.tool-palette-toggle{color:var(--fg-dim)}.tool-palette-toggle:hover{color:var(--fg)}.tool-palette-top-bar{flex:0 0 auto;background:var(--bg-2);border-bottom:1px solid var(--border)}.tool-palette-top-bar .tool-palette{border-bottom:0}.float-toolbar{position:absolute;z-index:1000;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0006;display:flex;-webkit-user-select:none;user-select:none}.float-toolbar-vertical,.float-toolbar-horizontal{flex-direction:column}.float-toolbar .tool-palette{position:static;inset:auto;z-index:auto;border:0;background:transparent}.float-toolbar-horizontal .tool-palette{flex-direction:row;width:auto;height:auto}.float-toolbar-title{display:flex;align-items:center;justify-content:space-between;padding:2px 4px;background:#ffffff0a;cursor:grab;border-bottom:1px solid var(--border)}.float-toolbar-title:active{cursor:grabbing}.float-toolbar-handle{color:var(--fg-dim);font-size:9px;line-height:1}.float-toolbar-action{background:transparent;color:var(--fg-dim);border:0;padding:2px 4px;cursor:pointer;display:inline-flex;align-items:center}.float-toolbar-action:hover{color:var(--fg)}.tool-palette-btn .shape-chevron{position:absolute;bottom:1px;right:1px;display:inline-flex;align-items:center;justify-content:center;width:11px;height:11px;opacity:.7;border-radius:2px;cursor:pointer}.tool-palette-btn .shape-chevron:hover{opacity:1;background:#ffffff26}.tool-palette-shape{position:relative}.tool-palette-flyout{position:absolute;left:calc(100% + 8px);top:0;z-index:50;display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0006;min-width:140px;padding:4px 0}.tool-palette-flyout-item{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;background:transparent;color:var(--fg);border:0;font:inherit;font-size:12px;text-align:left;cursor:pointer}.tool-palette-flyout-item:hover{background:#ffffff0f}.tool-palette-flyout-item.active{color:var(--accent)}.tool-palette-flyout-item .tool-shape-hotkey{margin-left:auto;color:var(--fg-dim);font-size:10px}.toolbar{background:var(--bg-2);display:flex;align-items:center;gap:16px;padding:0 12px;border-bottom:1px solid var(--border);min-height:44px;flex:0 0 auto}.tool-active-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:#ffffff0a;border:1px solid var(--border);border-radius:3px;color:var(--accent);font-size:12px;font-weight:500;white-space:nowrap}.tool-active-badge .tool-active-label{color:var(--fg)}.tool-buttons{display:flex;gap:4px}.tool-btn{padding:4px 8px;display:inline-flex;align-items:center;gap:6px;line-height:1}.tool-btn.active{background:var(--accent);color:#0b1a3a;border-color:var(--accent)}.tool-btn svg{display:inline-block;flex-shrink:0}.tool-icon{display:inline-flex;align-items:center}.tool-shape-group{position:relative;display:inline-flex;gap:0}.tool-shape-main{border-top-right-radius:0;border-bottom-right-radius:0}.tool-shape-chevron{padding:4px;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.tool-shape-popover{position:absolute;top:100%;left:0;z-index:50;margin-top:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0006;display:flex;flex-direction:column;min-width:140px;padding:4px}.tool-shape-item{display:flex;align-items:center;gap:8px;padding:6px 8px;line-height:1;background:transparent;border:none;border-radius:3px;color:inherit;text-align:left;cursor:pointer}.tool-shape-item:hover{background:var(--bg-3, rgba(255,255,255,.06))}.tool-shape-item.active{background:var(--accent);color:#0b1a3a}.tool-shape-hotkey{margin-left:auto;opacity:.6;font-size:11px}.num-slider{display:inline-flex;align-items:center;gap:4px}.num-slider .num-slider-label{white-space:nowrap}.num-slider .num-slider-num{width:56px;text-align:right}.num-slider .num-slider-unit{color:var(--fg-dim);font-size:11px}.num-slider .num-slider-range{flex:1;min-width:60px;height:16px;cursor:pointer}.num-slider.slider-first .num-slider-range{order:0}.num-slider.slider-first .num-slider-num{order:1;width:48px;flex:0 0 auto}.num-slider.slider-first .num-slider-unit{order:2}.num-slider.stacked{flex-direction:column;align-items:stretch;gap:2px}.num-slider.stacked .num-slider-label{font-size:11px;color:var(--fg-dim)}.num-slider.stacked>.num-slider-num,.num-slider.stacked>.num-slider-range{width:auto}.color-chip{display:inline-block;padding:0;border:1px solid rgba(0,0,0,.5);border-radius:3px;cursor:pointer;background-image:linear-gradient(45deg,#444 25%,transparent 25%),linear-gradient(-45deg,#444 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#444 75%),linear-gradient(-45deg,transparent 75%,#444 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;background-color:#777;position:relative;overflow:hidden}.color-chip:hover{outline:1px solid var(--accent);outline-offset:1px}.color-chip-fill{position:absolute;top:0;right:0;bottom:0;left:0}.color-popover{position:fixed;z-index:200;padding:8px;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;box-shadow:0 6px 18px #00000073}.color-popover-tabs{display:flex;gap:2px;margin-bottom:6px;border-bottom:1px solid var(--border)}.color-popover-tab{background:transparent;color:var(--fg-dim);border:0;border-bottom:2px solid transparent;padding:4px 10px;font-size:11px;cursor:pointer}.color-popover-tab:hover{color:var(--fg)}.color-popover-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.color-popover-quick{background:transparent;color:var(--fg-dim);border:1px solid transparent;border-radius:3px;padding:2px 6px;font-size:11px;font-weight:500;cursor:pointer;margin-left:2px}.color-popover-quick:hover{color:var(--fg);border-color:var(--border)}.color-popover-style-row{display:flex;align-items:center;margin-bottom:6px}.color-popover-style-row select{flex:1;background:var(--bg-3, #1f1f25);color:var(--fg);border:1px solid var(--border);border-radius:3px;padding:2px 4px;font-size:11px}.color-popover-palette{display:flex;flex-direction:column;gap:6px}.color-popover-palette .palette-grid{max-height:220px;overflow-y:auto}.offset-inline{display:grid;grid-template-columns:auto 1fr 1fr;gap:4px;align-items:center}.offset-trigger{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:var(--bg-3, #1f1f25);color:inherit;border:1px solid var(--border);border-radius:3px;cursor:pointer}.offset-trigger.active,.offset-trigger:hover{border-color:var(--accent);color:var(--accent)}.offset-num{width:100%;text-align:right;background:var(--bg-3, #1f1f25);color:inherit;border:1px solid var(--border);border-radius:3px;padding:2px 6px;font-variant-numeric:tabular-nums}.offset-pad-popover{position:fixed;z-index:200;padding:8px;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;box-shadow:0 6px 18px #00000073}.offset-pad-stage{position:relative;background:var(--bg-3, #2a2a30);border:1px solid var(--border);border-radius:4px;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;align-self:center;overflow:hidden}.offset-pad-axis-x,.offset-pad-axis-y{position:absolute;background:#ffffff14;pointer-events:none}.offset-pad-axis-x{left:0;right:0;top:50%;height:1px;transform:translateY(-.5px)}.offset-pad-axis-y{top:0;bottom:0;left:50%;width:1px;transform:translate(-.5px)}.offset-pad-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.7);transform:translate(-50%,-50%);pointer-events:none}.effect-presets{display:flex;align-items:center;gap:4px;padding:4px 0 6px}.effect-presets-list{flex:1;min-width:0;display:flex;align-items:center;gap:4px;overflow-x:auto;flex-wrap:nowrap}.effect-preset-chip{flex:0 0 auto;padding:2px 8px;background:var(--bg-3, #1f1f25);color:inherit;border:1px solid var(--border);border-radius:12px;font-size:11px;cursor:pointer;white-space:nowrap}.effect-preset-chip:hover{border-color:var(--accent);color:var(--accent)}.effect-preset-save{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:var(--bg-3, #1f1f25);color:var(--fg-dim);border:1px solid var(--border);border-radius:3px;cursor:pointer}.effect-preset-save:hover{color:var(--accent);border-color:var(--accent)}.ctx-menu{position:fixed;z-index:300;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;box-shadow:0 6px 18px #00000073;padding:4px;display:flex;flex-direction:column;font-size:12px;-webkit-user-select:none;user-select:none}.ctx-item{display:flex;align-items:center;padding:4px 8px;background:transparent;color:inherit;border:0;border-radius:3px;cursor:pointer;text-align:left;font:inherit;gap:12px}.ctx-item:hover:not(:disabled){background:var(--bg-3, rgba(255,255,255,.06))}.ctx-item:disabled{color:var(--fg-dim);cursor:default}.ctx-item.danger{color:#ff7a7a}.ctx-item.danger:hover:not(:disabled){background:#ff50501f}.ctx-label{flex:1}.ctx-shortcut{color:var(--fg-dim);font-size:11px}.ctx-submenu-indicator{color:var(--fg-dim);font-size:11px;line-height:1}.ctx-item.sub-open{background:var(--bg-3, rgba(255,255,255,.06))}.ctx-divider{height:1px;background:var(--border);margin:4px 2px}.artboard-title-bar{position:absolute;display:inline-flex;align-items:center;gap:2px;padding:0 2px;pointer-events:auto;-webkit-user-select:none;user-select:none;z-index:5;background:#23232ad9;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border:1px solid var(--border);border-bottom:none;border-top-left-radius:3px;border-top-right-radius:3px;font-size:11px;color:var(--fg);white-space:nowrap}.artboard-title-bar.active{border-color:var(--accent);color:var(--accent)}.artboard-title-bar .ab-title-name{display:inline-flex;align-items:center;background:transparent;color:inherit;border:0;padding:0 6px;height:18px;font:inherit;cursor:grab;border-radius:2px}.artboard-title-bar .ab-title-name:hover{background:#ffffff14}.artboard-title-bar .ab-title-name:active{cursor:grabbing}.artboard-title-bar .ab-title-name-input{background:var(--bg-3, #1f1f25);color:var(--fg);border:1px solid var(--accent);border-radius:2px;font:inherit;padding:0 4px;height:18px;min-width:80px;max-width:200px}.artboard-title-bar .ab-title-action{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;color:var(--fg-dim);border:1px solid transparent;border-radius:2px;cursor:pointer}.artboard-title-bar .ab-title-action:hover{color:var(--fg);border-color:var(--border);background:#ffffff0f}.selection-popup{position:absolute;transform:translate(-50%);display:inline-flex;align-items:center;gap:2px;padding:2px;pointer-events:auto;-webkit-user-select:none;user-select:none;z-index:6;background:#23232ae6;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--fg);white-space:nowrap;box-shadow:0 2px 6px #0006}.selection-popup-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;background:transparent;color:var(--fg);border:1px solid transparent;border-radius:3px;cursor:pointer;font:inherit}.selection-popup-btn:hover{border-color:var(--border);background:#ffffff0f}.menu-bar{display:inline-flex;align-items:center;gap:2px;-webkit-user-select:none;user-select:none}.menu-bar-btn{background:transparent;color:var(--fg);border:1px solid transparent;padding:3px 10px;border-radius:3px;font-size:12px;cursor:pointer}.menu-bar-btn:hover{background:#ffffff0f}.menu-bar-btn.active{background:#7aa2ff1f;color:var(--accent)}.status-bar{flex:0 0 auto;height:26px;display:flex;align-items:center;gap:12px;padding:0 8px;background:#141418e6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-top:1px solid var(--border);font-size:11px;color:var(--fg-dim);z-index:10;-webkit-user-select:none;user-select:none}.status-bar .status-section{display:inline-flex;align-items:center;gap:4px}.status-bar .status-spacer{flex:1}.status-bar .status-info{color:var(--fg)}.status-bar .status-tool{color:var(--accent);gap:4px}.status-bar .status-tool-icon{display:inline-flex}.status-bar .status-tool-name{color:var(--fg);font-weight:500}.status-bar .status-tool-hotkey{color:var(--fg-dim)}.status-bar .status-hints{gap:10px;color:var(--fg-dim)}.status-bar .status-hint{white-space:nowrap}.status-bar .status-cursor{color:var(--accent);font-variant-numeric:tabular-nums}.status-bar .status-toggle{display:inline-flex;align-items:center;background:transparent;color:var(--fg-dim);border:1px solid transparent;padding:2px 8px;border-radius:3px;font:inherit;cursor:pointer}.status-bar .status-toggle:hover{color:var(--fg);border-color:var(--border)}.status-bar .status-toggle.active{color:var(--accent);border-color:var(--accent);background:#7aa2ff1a}.status-bar .status-toggle-icon{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px}.status-bar button{background:transparent;color:var(--fg-dim);border:1px solid transparent;padding:2px 6px;border-radius:3px;font:inherit;cursor:pointer;min-width:22px}.status-bar button:hover{color:var(--fg);border-color:var(--border)}.status-bar .num{min-width:38px;text-align:center;color:var(--fg)}.history-panel{display:flex;flex-direction:column;height:100%}.history-list{list-style:none;margin:0;padding:4px 0;overflow-y:auto;flex:1}.history-entry{padding:4px 10px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;border-left:2px solid transparent;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-entry:hover{background:#ffffff0d}.history-entry.active{background:#ffffff14;border-left-color:var(--accent);color:var(--accent)}.history-entry.future{color:var(--fg-dim);font-style:italic}.history-entry.initial{font-style:italic;color:var(--fg-dim)}.history-entry.initial.active{color:var(--accent);font-style:normal}.move-actions{display:inline-flex;gap:2px}.move-actions button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:24px;padding:0;background:var(--bg-3, #1f1f25);border:1px solid var(--border);border-radius:3px;color:inherit;cursor:pointer}.move-actions button:hover{border-color:var(--accent);color:var(--accent)}.picker-style-row{display:flex;align-items:center;gap:6px;padding:4px 0 6px;font-size:11px;color:var(--fg-dim)}.picker-style-row select{flex:1;min-width:0;background:var(--bg-3, #1f1f25);color:inherit;border:1px solid var(--border);border-radius:3px;padding:2px 4px;font-size:12px}.wheel-picker{display:flex;flex-direction:column;gap:6px;align-items:center}.wheel-canvas-wrap{position:relative;line-height:0}.wheel-picker canvas{display:block;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.wheel-lock-btn{position:absolute;top:4px;right:4px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:#0000008c;color:#ddd;border:1px solid rgba(255,255,255,.2);border-radius:3px;cursor:pointer}.wheel-lock-btn:hover{color:#fff;border-color:var(--accent)}.wheel-lock-btn.active{background:var(--accent);color:#0b1a3a;border-color:var(--accent)}.wheel-picker .alpha-strip,.wheel-picker .color-picker-bottom{width:100%}.pattern-panel{display:flex;flex-direction:column;gap:6px;height:100%}.pattern-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;align-content:start;overflow-y:auto}.pattern-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px;border:1px solid var(--border);border-radius:3px;background:var(--bg-3, #1f1f25);cursor:pointer;-webkit-user-select:none;user-select:none}.pattern-tile:hover{border-color:#7aa2ff99}.pattern-tile.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.pattern-thumb{display:block;border-radius:2px;background:#1a1a1f}.pattern-name{font-size:10px;color:var(--fg-dim);max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pattern-name-input{width:60px;min-width:0;padding:0 2px;background:var(--bg-3, #1f1f25);color:inherit;border:1px solid var(--accent);border-radius:2px;font-size:10px;text-align:center}.pattern-delete{position:absolute;top:2px;right:2px;display:none;padding:1px 2px;font-size:10px;background:#0009;color:#fff;border:1px solid var(--border);border-radius:2px;cursor:pointer}.pattern-tile:hover .pattern-delete{display:inline-flex}.palette-panel{display:flex;flex-direction:column;gap:6px;height:100%}.palette-controls{display:flex;gap:4px}.palette-select{flex:1;min-width:0;background:var(--bg-3, #1f1f25);color:inherit;border:1px solid var(--border);border-radius:3px;padding:2px 4px;font-size:12px}.palette-grid{display:flex;flex-wrap:wrap;gap:2px;align-content:start;overflow-y:auto}.palette-swatch{flex:0 0 auto;width:22px;height:22px;padding:0;border:1px solid rgba(0,0,0,.4);border-radius:2px;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff0f}.palette-swatch:hover{outline:1px solid var(--accent);outline-offset:1px}.palette-controls{display:flex;align-items:center;gap:4px;padding:0 0 6px}.palette-controls .palette-select{flex:1;min-width:0}.palette-action-btn{display:inline-flex;align-items:center;gap:1px;padding:3px 6px;background:transparent;color:var(--fg-dim);border:1px solid var(--border);border-radius:3px;cursor:pointer;font-size:11px}.palette-action-btn:hover{color:var(--fg);border-color:var(--accent)}.palette-custom{display:flex;flex-direction:column;gap:8px}.palette-custom-actions{display:flex;gap:4px;flex-wrap:wrap}.palette-custom-actions button{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-3, #1f1f25);color:var(--fg);border:1px solid var(--border);border-radius:3px;font-size:11px;cursor:pointer}.palette-custom-actions button:hover{border-color:var(--accent)}.palette-custom-actions button.danger{color:#e0726a}.palette-custom-actions button.danger:hover{border-color:#e0726a}.palette-group{display:flex;flex-direction:column;gap:4px}.palette-group-header{display:flex;align-items:center;gap:4px}.palette-group-name{flex:1;min-width:0;background:transparent;color:var(--fg-dim);border:1px solid transparent;border-radius:3px;padding:2px 4px;font-size:11px;font:inherit}.palette-group-name:hover,.palette-group-name:focus{border-color:var(--border);color:var(--fg)}.palette-group-add,.palette-group-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;color:var(--fg-dim);border:1px solid var(--border);border-radius:3px;cursor:pointer}.palette-group-add:hover{color:var(--accent);border-color:var(--accent)}.palette-group-remove:hover{color:#e0726a;border-color:#e0726a}.harmony-rows{display:flex;flex-direction:column;gap:4px;padding:6px 8px 8px}.harmony-rows-header{display:flex;justify-content:flex-end;margin-bottom:2px}.harmony-rows-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:20px;padding:0;background:transparent;color:var(--fg-dim);border:1px solid transparent;border-radius:3px;cursor:pointer}.harmony-rows-menu-btn:hover{color:var(--fg);border-color:var(--border)}.harmony-source-row{display:flex;flex-direction:column;gap:4px;padding:0 2px 4px}.harmony-mode-toggle{display:inline-flex;gap:0}.harmony-mode-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;border:1px solid var(--border);background:var(--bg-3, #1f1f25);color:inherit;cursor:pointer}.harmony-mode-btn:first-child{border-radius:3px 0 0 3px}.harmony-mode-btn:last-child{border-radius:0 3px 3px 0;margin-left:-1px}.harmony-mode-btn.active{background:var(--accent);color:#0b1a3a;border-color:var(--accent);z-index:1}.harmony-lock-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px 4px;line-height:1;background:transparent;color:var(--fg-dim);border:1px solid var(--border);border-radius:3px;cursor:pointer}.harmony-lock-btn:hover{color:var(--fg);border-color:var(--accent)}.harmony-source{display:flex;align-items:center;gap:6px;padding:0 2px 4px;font-size:11px;color:var(--fg-dim)}.harmony-source-label{flex:1}.harmony-source-swatch{width:18px;height:18px;border:1px solid rgba(0,0,0,.4);border-radius:2px;box-shadow:inset 0 0 0 1px #ffffff14}.harmony-row{display:flex;flex-direction:column;gap:2px}.harmony-label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-dim);padding:0 2px}.harmony-swatches{display:flex;gap:2px;flex-wrap:wrap}.harmony-swatch{flex:0 0 auto;width:22px;height:22px;padding:0;border:1px solid rgba(0,0,0,.35);border-radius:2px;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff14}.harmony-swatch:hover{outline:1px solid var(--accent);outline-offset:1px}.minimap-panel{display:flex;flex-direction:column;height:100%;gap:4px}.minimap-controls{display:flex;align-items:center;gap:4px;padding:0 2px}.minimap-mode,.minimap-view{flex:1;min-width:0;background:var(--bg-3, #1f1f25);color:inherit;border:1px solid var(--border);border-radius:3px;padding:2px 4px;font-size:12px}.minimap-remove{display:inline-flex;align-items:center;justify-content:center;padding:2px 4px;line-height:1}.minimap-stage{flex:1;min-height:0;position:relative;border:1px solid var(--border);border-radius:3px;background:#1a1a1f;overflow:hidden}.minimap-stage canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.panel-actions button,.history button{display:inline-flex;align-items:center;gap:4px}.tool-options{display:flex;align-items:center;gap:12px;color:var(--fg-dim)}.tool-options label{display:flex;align-items:center;gap:4px}.tool-options input[type=number]{width:56px}.tool-options .checkbox{gap:6px}.toolbar-spacer{flex:1}.history{display:flex;gap:4px}.main{position:relative;height:100%;min-height:0;overflow:hidden}.rulers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.ruler{position:absolute;display:block;pointer-events:auto}.ruler-top{cursor:ns-resize}.ruler-left{cursor:ew-resize}.guide-preview{position:absolute;pointer-events:none;background:#00c8ffd9;z-index:6}.guide-preview-horizontal{left:0;right:0;height:1px}.guide-preview-vertical{top:0;bottom:0;width:1px}.ruler-top{top:0;left:var(--canvas-l-safe, var(--canvas-l, 0));height:18px;width:calc(100% - var(--canvas-l-safe, var(--canvas-l, 0px)) - var(--canvas-r-safe, var(--canvas-r, 0px)))}.ruler-left{top:18px;left:var(--canvas-l-safe, var(--canvas-l, 0));bottom:0;width:18px;height:calc(100% - 18px)}.ruler-corner{position:absolute;top:0;left:var(--canvas-l-safe, var(--canvas-l, 0));width:18px;height:18px;background:#1f1f25;color:var(--fg-dim);font-size:9px;line-height:18px;text-align:center;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.main-floating{display:block}.manage-guides-dialog{width:420px;max-width:calc(100vw - 32px)}.guides-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guide-col{display:flex;flex-direction:column;background:#00000040;border:1px solid var(--border);border-radius:4px;height:220px}.guide-col-title{padding:4px 8px;font-size:11px;color:var(--fg-dim);border-bottom:1px solid var(--border)}.guide-list{flex:1;list-style:none;margin:0;padding:4px 0;overflow-y:auto}.guide-row{padding:3px 10px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px}.guide-row:hover{background:#ffffff0d}.guide-row.selected{background:#7aa2ff2e;color:var(--accent)}.guide-row-input{width:60px;background:var(--bg-3, #1f1f25);color:var(--fg);border:1px solid var(--accent);border-radius:2px;padding:1px 4px;font:inherit}.guide-row-unit{color:var(--fg-dim);font-size:11px}.guide-col-actions{display:flex;gap:4px;padding:4px 6px;border-top:1px solid var(--border)}.guide-col-actions button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;color:var(--fg-dim);border:1px solid var(--border);border-radius:3px;cursor:pointer}.guide-col-actions button:hover:not(:disabled){color:var(--fg);border-color:var(--accent)}.guide-col-actions button:disabled{opacity:.4;cursor:default}.sidebar{background:var(--bg-2);overflow-y:auto;display:flex;flex-direction:column}.canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg);min-width:0;min-height:0;overflow:hidden}.canvas-wrap canvas{display:block;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.floating-panel{position:fixed;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #00000073,0 1px #ffffff0a inset;display:flex;flex-direction:column;max-height:calc(100vh - 100px);overflow:hidden}.floating-panel.collapsed{max-height:none}.fp-title{display:flex;align-items:center;gap:4px;padding:4px 6px;background:linear-gradient(180deg,#2c2c36,#25252e);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;font-size:11px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.fp-title:active{cursor:grabbing}.floating-panel.collapsed .fp-title{border-bottom:0}.fp-collapse,.fp-close{background:transparent;border:0;padding:0;margin:0;width:16px;height:16px;cursor:pointer;color:var(--fg-dim);display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1}.fp-collapse:hover,.fp-close:hover{color:var(--fg)}.fp-title-text{flex:1}.fp-body{overflow-y:auto;flex:1;min-height:0}.fp-body>.panel:first-child>.panel-header:first-child>span:first-of-type{display:none}.fp-body>.panel:first-child>.panel-header:first-child{justify-content:flex-end;min-height:0;margin-bottom:6px}.fp-body>.panel:first-child>.panel-header:first-child:not(:has(.panel-actions)){display:none}.fp-body>.panel{border-bottom:0;padding:6px 8px 8px}.fp-resize{position:absolute;touch-action:none}.fp-resize-n{top:-3px;left:8px;right:8px;height:6px;cursor:ns-resize}.fp-resize-s{bottom:-3px;left:8px;right:8px;height:6px;cursor:ns-resize}.fp-resize-w{left:-3px;top:8px;bottom:8px;width:6px;cursor:ew-resize}.fp-resize-e{right:-3px;top:8px;bottom:8px;width:6px;cursor:ew-resize}.fp-resize-nw{top:-3px;left:-3px;width:12px;height:12px;cursor:nwse-resize}.fp-resize-ne{top:-3px;right:-3px;width:12px;height:12px;cursor:nesw-resize}.fp-resize-sw{bottom:-3px;left:-3px;width:12px;height:12px;cursor:nesw-resize}.fp-resize-se{bottom:-3px;right:-3px;width:12px;height:12px;cursor:nwse-resize}.panel-menu{position:relative;margin-right:8px}.panel-menu-trigger{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:4px 8px}.panel-menu-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;box-shadow:0 8px 24px #00000073;list-style:none;padding:4px 0;margin-bottom:0;min-width:160px;z-index:1000}.panel-menu-dropdown li{display:grid;grid-template-columns:20px 1fr;align-items:center;padding:6px 8px;cursor:pointer;font-size:12px}.panel-menu-dropdown li:hover{background:var(--bg-3)}.panel-menu-dropdown .check{color:var(--accent);display:inline-flex;justify-content:center}.panel{padding:8px 10px;border-bottom:1px solid var(--border)}.panel-header{display:flex;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;color:var(--fg-dim);letter-spacing:.5px;margin-bottom:6px}.panel-actions{display:flex;gap:4px;align-items:center}.panel-actions button{padding:2px 8px;font-size:12px}.panel-actions .create-btn{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;background:var(--accent);color:#0b1a3a;border-color:var(--accent);font-weight:600}.panel-actions .create-btn:hover{filter:brightness(1.1)}.layer-list{list-style:none;padding:0;margin:0;min-height:8px}.layer-row{position:relative;display:grid;grid-template-columns:16px 14px 22px 22px 22px 36px 1fr auto;gap:4px;align-items:center;padding:4px 6px;border-radius:3px;cursor:pointer;-webkit-user-select:none;user-select:none}.layer-row.is-group{background:#ffffff05}.layer-row.co-selected{background:#7aa2ff1a}.layer-row .group-toggle{background:transparent;border:0;padding:0;width:14px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-dim);cursor:pointer}.layer-row .group-toggle:hover{color:var(--fg)}.layer-row .group-toggle-spacer{display:inline-block;width:14px;height:16px}.layer-row .group-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:28px;color:var(--fg-dim);background:var(--bg)}.layer-thumbnail{display:block;border:1px solid var(--border);border-radius:2px;background:var(--bg)}.layer-row .drag-handle{color:var(--fg-dim);cursor:grab;display:inline-flex;align-items:center;justify-content:center}.layer-row .alpha-lock{background:transparent;border:1px solid transparent;padding:0;width:22px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-dim);cursor:pointer;border-radius:3px}.layer-row .alpha-lock:hover{color:var(--fg);border-color:var(--border)}.layer-row .alpha-lock.active{color:#0b1a3a;background:var(--accent);border-color:var(--accent)}.layer-row .alpha-lock .alpha-glyph{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700;font-size:12px;line-height:1}.layer-row .alpha-lock-spacer{display:inline-block;width:22px;height:20px}.layer-row[data-dragging]{opacity:.4}.layer-row[data-drop-above]:before{content:"";position:absolute;left:4px;right:4px;top:-1px;height:2px;background:var(--accent);border-radius:1px;pointer-events:none}.layer-row[data-drop-below]:after{content:"";position:absolute;left:4px;right:4px;bottom:-1px;height:2px;background:var(--accent);border-radius:1px;pointer-events:none}.layer-row[data-drop-into]{outline:2px solid var(--accent);outline-offset:-2px;background:#7aa2ff2e}.layer-row:hover{background:var(--bg-3)}.layer-row.active{background:#7aa2ff26;border:1px solid rgba(122,162,255,.5)}.layer-row .visibility,.layer-row .lock{background:transparent;border:0;padding:0;cursor:pointer;color:inherit}.layer-row .layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text}.layer-row .layer-name-input{width:100%;min-width:0;padding:1px 4px;background:var(--bg-3, #1f1f25);color:inherit;border:1px solid var(--accent);border-radius:2px;font:inherit}.layer-row .layer-type{font-size:10px;color:var(--fg-dim)}.layer-row .rasterize-btn{font-size:10px;padding:1px 4px;margin-left:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:3px;color:var(--fg-dim);cursor:pointer}.layer-row .rasterize-btn:hover{color:var(--fg);border-color:var(--accent)}.layer-props{display:grid;grid-template-columns:1fr;gap:6px;padding:6px 0 10px;border-bottom:1px dashed var(--border);margin-bottom:8px}.layer-props label{display:grid;grid-template-columns:60px 1fr 36px;align-items:center;gap:6px}.layer-props label.checkbox{grid-template-columns:auto auto;gap:6px}.layer-props .num{color:var(--fg-dim);font-size:11px;text-align:right}.color-panel .primary-secondary{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.color-swatch{position:relative;background-image:linear-gradient(45deg,#555 25%,transparent 25%),linear-gradient(-45deg,#555 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#555 75%),linear-gradient(-45deg,transparent 75%,#555 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;background-color:#777;border:1px solid var(--border);border-radius:3px;cursor:pointer;height:28px;min-width:28px;overflow:hidden;padding:0}.color-swatch:hover{border-color:var(--accent)}.color-swatch.active-pick{border-color:var(--accent);box-shadow:0 0 0 2px #7aa2ff4d}.color-swatch-fill{position:absolute;top:0;right:0;bottom:0;left:0}.color-swatch.large{height:48px;display:flex;align-items:flex-end;justify-content:flex-end}.color-swatch.large .lbl{position:relative;background:#000000b3;color:#fff;font-size:10px;padding:1px 4px;border-radius:2px;margin:2px;z-index:1}.color-swatch.inline{width:32px;height:22px;display:flex;align-items:flex-end;justify-content:flex-end}.color-swatch.inline .lbl{position:relative;background:#000000b3;color:#fff;font-size:9px;padding:0 3px;border-radius:2px;margin:1px;z-index:1}.color-header-actions{display:flex;flex:1;align-items:center;gap:4px}.color-header-spacer{flex:1}.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.swap-btn{padding:0 8px;font-size:14px;line-height:1}.rgb-sliders{display:grid;gap:4px;margin-bottom:8px}.slider-row{display:grid;grid-template-columns:14px 1fr 32px;align-items:center;gap:6px}.slider-label{color:var(--fg-dim);font-size:11px}.slider-num{color:var(--fg-dim);font-size:11px;text-align:right}.hex-input{width:100%}.artboard-list{list-style:none;padding:0;margin:0 0 8px}.artboard-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:6px;align-items:center;padding:4px 6px;border-radius:3px;cursor:pointer}.artboard-row:hover{background:var(--bg-3)}.artboard-row.active{background:#7aa2ff26}.ab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text}.ab-name-input{width:100%;min-width:0;padding:1px 4px;background:var(--bg-3, #1f1f25);color:inherit;border:1px solid var(--accent);border-radius:2px;font:inherit}.ab-size{color:var(--fg-dim);font-size:11px;cursor:pointer}.artboard-row button{padding:1px 6px;font-size:11px}.artboard-thumbnail{display:block;border:1px solid var(--border);border-radius:2px;background:#1a1a1f}.ab-export-split{display:inline-flex;align-items:stretch;gap:0}.ab-export-split .ab-quick-export{display:inline-flex;align-items:center;gap:4px;border-top-right-radius:0;border-bottom-right-radius:0}.ab-export-cfg{font-size:10px;color:var(--fg-dim);font-variant-numeric:tabular-nums}.ab-export-split .ab-export-config{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;padding:1px 3px}.view-controls{display:grid;gap:4px}.view-controls button{text-align:left}.zoom-row{display:flex;align-items:center;gap:6px}.zoom-row span{color:var(--fg-dim);font-size:11px}.zoom-row .num{min-width:38px;text-align:center;color:var(--fg)}.muted{color:var(--fg-dim);font-size:11px}.small{font-size:11px}.sym-controls,.sel-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sym-controls label{display:flex;align-items:center;gap:6px}.sel-controls button{font-size:11px;padding:3px 6px}.effect-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.effect-row{background:var(--bg-3);border:1px solid var(--border);border-radius:4px;padding:6px}.effect-row.collapsed{padding-bottom:6px}.effect-row-header{display:grid;grid-template-columns:18px 14px 1fr auto;align-items:center;gap:6px;cursor:pointer}.effect-row-header .visibility,.effect-row-header .effect-toggle{background:transparent;border:0;cursor:pointer;color:inherit;padding:0;display:inline-flex;align-items:center;justify-content:center}.effect-row-header .effect-toggle{color:var(--fg-dim)}.effect-row-header .effect-toggle:hover{color:var(--fg)}.effect-row-header .effect-name{font-size:12px;font-weight:500;-webkit-user-select:none;user-select:none}.effect-fields{display:grid;grid-template-columns:60px 1fr;gap:6px 8px;align-items:center;margin-top:6px}.effect-fields .effect-label{font-size:11px;color:var(--fg-dim)}.effect-fields .num{color:var(--fg-dim);font-size:11px;text-align:right}.effect-fields .offset-pad{width:100%}.effect-color{display:grid;grid-template-columns:16px 1fr 16px 1fr 16px 1fr;gap:4px;align-items:center;font-size:10px;color:var(--fg-dim)}.color-picker{display:flex;flex-direction:column;gap:6px;padding:6px 0}.color-picker.compact{gap:4px}.sv-box{position:relative;width:100%;aspect-ratio:1.6 / 1;border-radius:4px;overflow:hidden;cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none}.sv-box .sv-overlay-white{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#fff,#fff0);pointer-events:none}.sv-box .sv-overlay-black{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000,#0000);pointer-events:none}.sv-box .sv-handle{position:absolute;width:12px;height:12px;margin-left:-6px;margin-top:-6px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000080;pointer-events:none}.color-picker.compact .sv-box{aspect-ratio:2 / 1}.hue-strip{position:relative;height:12px;border-radius:3px;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.hue-handle{position:absolute;top:-2px;bottom:-2px;width:4px;margin-left:-2px;background:#fff;border:1px solid rgba(0,0,0,.5);border-radius:2px;pointer-events:none}.alpha-strip{position:relative;height:10px;border-radius:3px;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background-image:linear-gradient(45deg,#555 25%,transparent 25%),linear-gradient(-45deg,#555 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#555 75%),linear-gradient(-45deg,transparent 75%,#555 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;background-color:#777;overflow:hidden}.alpha-fg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.color-picker-bottom{display:flex;align-items:center;gap:6px}.swatch-preview{position:relative;width:28px;height:22px;border-radius:3px;border:1px solid var(--border);overflow:hidden;background-image:linear-gradient(45deg,#555 25%,transparent 25%),linear-gradient(-45deg,#555 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#555 75%),linear-gradient(-45deg,transparent 75%,#555 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;background-color:#777}.swatch-preview .swatch-fill{position:absolute;top:0;right:0;bottom:0;left:0}.color-picker-bottom .hex-input{flex:1;font-family:ui-monospace,monospace;font-size:11px}
