*{box-sizing:border-box}[hidden]{display:none!important}:root{--brand-primary:#00e7ff;--brand-primary-dark:#00c4d9;--brand-secondary:#2cffc7;--color-selection:#4a90d9;--color-selection-light:#8ecbff;--color-selection-stroke:#4aa3ff;--color-success:#4caf50;--color-success-dark:#2e7d32;--color-error:#dc2626;--color-error-light:#fee2e2;--color-error-border:#fecaca;--color-warning:#facc15;--color-warning-text:#a16207;--color-warning-bg:#fef9c3;--color-info:#4f46e5;--color-info-bg:#e0e7ff;--color-info-border:#c7d2fe;--neutral-white:#fff;--neutral-50:#fefefe;--neutral-100:#f9fafc;--neutral-150:#f6f7fa;--neutral-200:#f0f3f8;--neutral-250:#e3e8f1;--neutral-300:#c5cad4;--neutral-350:#cbd2dd;--neutral-400:#9aa2af;--neutral-500:#6b7280;--neutral-600:#5a6370;--neutral-700:#384150;--neutral-800:#1b1f24;--neutral-900:#000;--dark-bg-primary:#1f2329;--dark-bg-secondary:#2a2f38;--dark-bg-tertiary:#3a404a;--dark-bg-deep:#1a1d22;--dark-border:#3a404a;--dark-border-subtle:#2a2f38;--dark-text-primary:#fff;--dark-text-secondary:#c7ced8;--dark-text-muted:#888;--dark-text-faint:#aaa;--dark-scrollbar-hover:#4a505a;--default-fill:#000;--default-stroke:#000;--default-canvas-bg:#1f2329;--gradient-handle:#2196f3;--gradient-focal:#e91e63;--gradient-focal-dark:#ad1457;--viewbox-stroke:#d6dbe5;--viewbox-fill:var(--neutral-white);--menu-separator:#d9dee6;--checkerboard-dark:#444;--checkerboard-bg:#666;--element-selected-bg:#e8f1ff;--element-selected-border:#b4d0ff;--element-selected-text:#1f2a44;--element-partial-bg:#f0f6ff;--element-partial-border:#c6d8ff;--app-text:var(--neutral-800);--app-muted:var(--neutral-600);--chrome-border:var(--neutral-300);--titlebar-bg-top:#fdfefe;--titlebar-bg-bottom:#e6e9f0;--menubar-bg-top:#eef1f6;--menubar-bg-bottom:#e3e7ee;--toolbar-bg-top:#f7f9fc;--toolbar-bg-bottom:#edf1f6;--rail-bg-top:var(--neutral-200);--rail-bg-bottom:#e2e7ef;--panel-bg:var(--neutral-150);--panel-border:#c8ced8;--workspace-bg:#dce1e9;--canvas-frame-bg:var(--neutral-50);--canvas-frame-border:#bcc3cf;--workspace-dark:var(--dark-bg-primary);--popout-bg:var(--neutral-150);--popout-bg-secondary:var(--neutral-200);--popout-bg-tertiary:var(--neutral-250);--popout-bg-deep:var(--neutral-100);--popout-border:#c8ced8;--popout-border-subtle:var(--neutral-250);--popout-text-primary:var(--neutral-800);--popout-text-secondary:var(--neutral-600);--popout-text-muted:var(--neutral-400);--popout-text-faint:var(--neutral-500);--popout-scrollbar-hover:var(--neutral-400);--popout-shadow:0 8px 24px rgba(15,23,42,.18);--grid-neon:var(--brand-secondary);--ruler-bg:#232831;--ruler-border:var(--dark-border);--ruler-text:var(--dark-text-secondary);--ruler-size:24px;--accent:var(--brand-primary);--button-bg:var(--neutral-100);--button-border:#b7beca;--button-hover:var(--neutral-250);--button-active:#d6dce8;--menu-hover:#d6dbe5;--shadow:0 8px 24px rgba(15,23,42,.18);--radius:8px;--app-viewport-height:100vh;--app-bottom-overlay:0px}body.theme-dark{--app-text:var(--dark-text-primary);--app-muted:var(--dark-text-secondary);--chrome-border:var(--dark-border);--titlebar-bg-top:var(--dark-bg-secondary);--titlebar-bg-bottom:var(--dark-bg-primary);--menubar-bg-top:var(--dark-bg-secondary);--menubar-bg-bottom:var(--dark-bg-primary);--toolbar-bg-top:var(--dark-bg-secondary);--toolbar-bg-bottom:var(--dark-bg-primary);--rail-bg-top:var(--dark-bg-secondary);--rail-bg-bottom:var(--dark-bg-primary);--panel-bg:var(--dark-bg-secondary);--panel-border:var(--dark-border);--workspace-bg:var(--dark-bg-deep);--canvas-frame-bg:var(--dark-bg-primary);--canvas-frame-border:var(--dark-border);--button-bg:var(--dark-bg-secondary);--button-border:var(--dark-border);--button-hover:var(--dark-bg-tertiary);--button-active:var(--dark-border);--menu-hover:var(--dark-bg-tertiary);--menu-separator:var(--dark-border-subtle);--neutral-white:var(--dark-bg-primary);--neutral-50:var(--dark-bg-primary);--neutral-100:var(--dark-bg-secondary);--neutral-150:var(--dark-bg-secondary);--neutral-200:var(--dark-bg-tertiary);--neutral-250:var(--dark-border);--neutral-300:var(--dark-border);--neutral-350:var(--dark-border);--neutral-400:var(--dark-text-muted);--neutral-500:var(--dark-text-secondary);--neutral-600:var(--dark-text-secondary);--neutral-700:var(--dark-text-primary);--neutral-800:var(--dark-text-primary);--element-selected-bg:rgba(74,144,217,.2);--element-selected-border:rgba(74,144,217,.5);--element-selected-text:var(--dark-text-primary);--element-partial-bg:rgba(74,144,217,.1);--element-partial-border:rgba(74,144,217,.3);--viewbox-stroke:var(--dark-border);--viewbox-fill:var(--dark-bg-primary);--shadow:0 8px 24px rgba(0,0,0,.4);--popout-bg:var(--dark-bg-primary);--popout-bg-secondary:var(--dark-bg-secondary);--popout-bg-tertiary:var(--dark-bg-tertiary);--popout-bg-deep:var(--dark-bg-deep);--popout-border:var(--dark-border);--popout-border-subtle:var(--dark-border-subtle);--popout-text-primary:var(--dark-text-primary);--popout-text-secondary:var(--dark-text-secondary);--popout-text-muted:var(--dark-text-muted);--popout-text-faint:var(--dark-text-faint);--popout-scrollbar-hover:var(--dark-scrollbar-hover);--popout-shadow:0 8px 24px rgba(0,0,0,.4)}body.theme-dark.app-shell{background:radial-gradient(circle at 20% 0,var(--dark-bg-secondary) 0,var(--dark-bg-primary) 45%,var(--dark-bg-deep) 100%)}body.theme-dark .menu-dropdown{background:var(--dark-bg-secondary);border-color:var(--dark-border)}body.theme-dark .menu-action:hover:not(:disabled){background:var(--dark-bg-tertiary)}body.theme-dark .menu-action:disabled{color:var(--dark-text-muted)}body.theme-dark .app-btn{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05)}body.theme-dark .app-btn.active{color:var(--neutral-900)}body.theme-dark .tool-button{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05)}body.theme-dark .toolbar-readout{border-color:var(--dark-border);color:var(--dark-text-secondary)}body.theme-dark .panel-block,body.theme-dark .toolbar-readout{background:var(--dark-bg-secondary)}body.theme-dark .panel-block summary{background:linear-gradient(180deg,var(--dark-bg-tertiary),var(--dark-bg-secondary))}body.theme-dark .panel-block summary:after{color:var(--dark-text-muted)}body.theme-dark .prop-flyout-header{background:linear-gradient(180deg,var(--dark-bg-tertiary),var(--dark-bg-secondary))}body.theme-dark .geometry-field-full input[type=number],body.theme-dark .geometry-grid input[type=number],body.theme-dark .geometry-grid select,body.theme-dark .panel-content input[type=number],body.theme-dark .prop-flyout-content input[type=number],body.theme-dark .prop-flyout-content select{background:var(--dark-bg-primary);border-color:var(--dark-border);color:var(--dark-text-primary)}body.theme-dark .prop-flyout-content select option{background:var(--dark-bg-secondary);color:var(--dark-text-primary)}body.theme-dark .geometry-field-full{border-top-color:var(--dark-border)}body.theme-dark .geometry-slider-row .geometry-slider,body.theme-dark .input-with-slider input[type=range]{background:var(--dark-bg-tertiary)}body.theme-dark .elements-item{background:var(--dark-bg-secondary)}body.theme-dark .elements-item:focus,body.theme-dark .elements-item:hover{background:var(--dark-bg-tertiary)}body.theme-dark .history-item{background:var(--dark-bg-secondary)}body.theme-dark .history-item:focus,body.theme-dark .history-item:hover{background:var(--dark-bg-tertiary)}body.theme-dark .history-list{background:var(--dark-bg-secondary)}body.theme-dark .history-toolbar-btn{background:var(--dark-bg-tertiary);border-color:var(--dark-border)}body.theme-dark .history-slider{background:var(--dark-bg-tertiary)}body.theme-dark .shortcut-row{background:var(--dark-bg-secondary);border-color:var(--dark-border)}body.theme-dark .shortcut-input,body.theme-dark .shortcut-key{background:var(--dark-bg-tertiary);border-color:var(--dark-border);color:var(--dark-text-secondary)}body.theme-dark .shortcut-input:hover{background:var(--dark-border)}body.theme-dark .shortcut-input.editing,body.theme-dark .shortcut-input:focus{background:rgba(250,204,21,.15);border-color:var(--accent)}body.theme-dark .shortcuts-search-input{background:var(--dark-bg-secondary);border-color:var(--dark-border);color:var(--dark-text-primary)}body.theme-dark .shortcuts-category{border-color:var(--dark-border)}body.theme-dark .settings-modal{background:var(--dark-bg-primary)}body.theme-dark .settings-nav{background:var(--dark-bg-secondary)}body.theme-dark .settings-nav-item:hover{background:var(--dark-bg-tertiary)}body.theme-dark .settings-nav-item.active{background:var(--dark-bg-primary)}body.theme-dark .settings-input,body.theme-dark .settings-select{background:var(--dark-bg-secondary);border-color:var(--dark-border);color:var(--dark-text-primary)}body.theme-dark .settings-footer{background:var(--dark-bg-secondary)}body.theme-dark .settings-btn-secondary{background:var(--dark-bg-secondary);border-color:var(--dark-border);color:var(--dark-text-primary)}body.theme-dark .settings-btn-secondary:hover{background:var(--dark-bg-tertiary)}body.theme-dark .about-modal{background:var(--dark-bg-primary);color:var(--dark-text-primary)}body.theme-dark .about-copyright,body.theme-dark .about-description,body.theme-dark .about-license{color:var(--dark-text-secondary)}body.theme-dark .shortcut-conflict-dialog{background:var(--dark-bg-primary)}body.theme-dark .shortcut-conflict-details{background:var(--dark-bg-secondary)}body.theme-dark .shortcut-conflict-details code{background:var(--dark-bg-tertiary)}body.theme-dark .eyedropper-tooltip{background:var(--dark-bg-secondary)}body.theme-dark .eyedropper-hex{color:var(--dark-text-primary)}body.theme-dark .distribute-options-menu{background:var(--dark-bg-secondary)}body.theme-dark .distribute-option:hover{background:var(--dark-bg-tertiary)}body.theme-dark .menu-submenu,body.theme-dark .offset-options-menu{background:var(--dark-bg-secondary)}body.theme-dark .text-toolbar-input,body.theme-dark .text-toolbar-select,body.theme-dark .text-toolbar-weight{background:var(--dark-bg-secondary);border-color:var(--dark-border);color:var(--dark-text-primary)}body.theme-dark .filters-list-items{background:var(--dark-bg-secondary)}body.theme-dark .filter-list-item{background:var(--dark-bg-tertiary)}body.theme-dark .filter-list-item.selected{background:rgba(74,144,217,.2)}body.app-shell{background:radial-gradient(circle at 20% 0,var(--neutral-100) 0,#e4e8f0 45%,#d7dbe3 100%);color:var(--app-text);display:flex;flex-direction:column;font-family:Trebuchet MS,Segoe UI,Tahoma,sans-serif;height:var(--app-viewport-height);margin:0;max-height:var(--app-viewport-height);overflow:hidden;padding-bottom:calc(var(--app-bottom-overlay, 0px) + env(safe-area-inset-bottom, 0px));touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}img{display:block}button{color:inherit;font-family:inherit}p{margin:0}.app-titlebar{background:linear-gradient(180deg,var(--titlebar-bg-top),var(--titlebar-bg-bottom));border-bottom:1px solid var(--chrome-border);justify-content:space-between;padding:.45rem 1rem}.app-titlebar,.title-left{align-items:center;display:flex}.title-left{gap:.75rem}.title-text{display:flex;flex-direction:column;line-height:1.1}.app-name{font-size:1rem;font-weight:700;letter-spacing:.02em}.doc-name{color:var(--app-muted);font-size:.8rem}.app-menubar{background:linear-gradient(180deg,var(--menubar-bg-top),var(--menubar-bg-bottom));border-bottom:1px solid var(--chrome-border);overflow-x:auto;overflow-y:visible;position:relative;z-index:1001;-webkit-overflow-scrolling:touch;scrollbar-width:none}.app-menubar::-webkit-scrollbar{display:none}.menu-list{align-items:center;display:flex;flex-wrap:nowrap;gap:.35rem;list-style:none;margin:0;min-width:max-content;padding:.2rem .75rem}.menu-item{position:relative}.menu-trigger{background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:.85rem;padding:.3rem .6rem}.menu-item.is-open .menu-trigger,.menu-item:not([data-hover-blocked=true]):focus-within .menu-trigger,.menu-item:not([data-hover-blocked=true]):hover .menu-trigger{background:var(--menu-hover);border-color:var(--chrome-border)}.menu-dropdown{background:var(--neutral-white);border:1px solid var(--chrome-border);border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.12);display:none;min-width:180px;padding:calc(.35rem + 4px) 0 .35rem;position:fixed;z-index:1000}.menu-dropdown:before{content:"";height:8px;left:0;position:absolute;right:0;top:-8px}.menu-item.is-open .menu-dropdown,.menu-item:not([data-hover-blocked=true]):focus-within .menu-dropdown,.menu-item:not([data-hover-blocked=true]):hover .menu-dropdown{display:block}.menu-action{background:transparent;border:none;cursor:pointer;display:block;font-size:.85rem;padding:.35rem .85rem;text-align:left;width:100%}.menu-action:hover:not(:disabled){background:var(--neutral-200)}.menu-action:disabled{color:var(--neutral-400);cursor:not-allowed}.menu-separator{background:var(--menu-separator);height:1px;margin:.35rem 0}.menu-shortcut{color:var(--app-muted);float:right;font-size:.75rem;margin-left:1rem}.app-toolbar{align-items:center;background:linear-gradient(180deg,var(--toolbar-bg-top),var(--toolbar-bg-bottom));border-bottom:1px solid var(--chrome-border);display:flex;height:46px;padding:.35rem .75rem}.app-toolbar-scroll{align-items:center;display:flex;flex-wrap:nowrap;gap:1rem;justify-content:space-between;width:100%}.toolbar-group{align-items:center;display:flex;flex-shrink:1;gap:.5rem;min-width:0}.toolbar-btn-group{align-items:center;display:inline-flex;gap:.5rem}.app-btn{background:var(--button-bg);border:1px solid var(--button-border);border-radius:6px;box-shadow:inset 0 1px 0 var(--neutral-white);cursor:pointer;flex-shrink:0;font-size:.8rem;padding:.3rem .6rem;white-space:nowrap}.app-btn:hover:not(:disabled){background:var(--button-hover)}.app-btn:active:not(:disabled){background:var(--button-active)}.app-btn.active{background:var(--accent);border-color:var(--accent);color:var(--dark-text-primary)}.app-btn:disabled{background:var(--neutral-200);border-color:var(--neutral-350);color:var(--neutral-400);cursor:not-allowed}.toolbar-divider{background:var(--chrome-border);flex-shrink:0;height:22px;width:1px}.toolbar-info{align-items:center;display:flex;flex-shrink:0;flex-wrap:nowrap;gap:.5rem;justify-content:flex-end}.toolbar-readout{background:var(--neutral-white);border:1px solid var(--panel-border);border-radius:6px;color:var(--neutral-700);font-size:.75rem;min-width:110px;padding:.25rem .5rem;text-align:center;white-space:nowrap}.app-workspace{display:grid;flex:1;grid-template-areas:"tools canvas props";grid-template-columns:72px 1fr 56px;min-height:0}.tool-rail{background:linear-gradient(180deg,var(--rail-bg-top),var(--rail-bg-bottom));border-right:1px solid var(--chrome-border);flex-direction:column;gap:.45rem;grid-area:tools;overflow-x:hidden;overflow-y:auto;padding:.5rem .4rem}.tool-button,.tool-rail{align-items:center;display:flex}.tool-button{background:var(--button-bg);border:1px solid var(--button-border);border-radius:10px;box-shadow:inset 0 1px 0 var(--neutral-white);cursor:pointer;height:46px;justify-content:center;width:46px}.tool-button:hover{background:var(--button-hover)}.tool-button svg{pointer-events:none}.canvas-area{align-items:center;background-color:var(--workspace-bg);background-image:radial-gradient(circle at 1px 1px,hsla(0,0%,100%,.6) 1px,transparent 0),radial-gradient(circle at 2px 2px,rgba(0,0,0,.04) 1px,transparent 0);background-size:24px 24px,8px 8px;display:flex;grid-area:canvas;justify-content:center;min-height:0;min-width:0;overflow:hidden;padding:.5rem}.canvas-frame{background:var(--canvas-frame-bg);border:1px solid var(--canvas-frame-border);border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;height:100%;max-height:100%;max-width:100%;padding:1.1rem;position:relative;width:100%}.frame-resize-handle{background:transparent;position:absolute;z-index:10}.frame-resize-handle-top{cursor:ns-resize;height:8px;left:12px;right:12px;top:-4px}.frame-resize-handle-bottom{bottom:-4px;cursor:ns-resize;height:8px;left:12px;right:12px}.frame-resize-handle-left{bottom:12px;cursor:ew-resize;left:-4px;top:12px;width:8px}.frame-resize-handle-right{bottom:12px;cursor:ew-resize;right:-4px;top:12px;width:8px}.frame-resize-handle-top-left{cursor:nwse-resize;height:16px;left:-4px;top:-4px;width:16px}.frame-resize-handle-top-right{cursor:nesw-resize;height:16px;right:-4px;top:-4px;width:16px}.frame-resize-handle-bottom-left{bottom:-4px;cursor:nesw-resize;height:16px;left:-4px;width:16px}.frame-resize-handle-bottom-right{bottom:-4px;cursor:nwse-resize;height:16px;right:-4px;width:16px}body.frame-resizing{user-select:none}body.frame-resizing *{cursor:inherit!important}.canvas-frame.is-resizing{transition:none}.canvas-grid{align-items:stretch;display:grid;flex:1;gap:0;grid-template-areas:"corner ruler-x" "ruler-y canvas";grid-template-columns:var(--ruler-size) minmax(0,1fr);grid-template-rows:var(--ruler-size) minmax(0,1fr);justify-items:stretch;min-height:0;min-width:0;overflow:hidden}.ruler-corner{border-bottom:1px solid var(--ruler-border);border-right:1px solid var(--ruler-border);grid-area:corner}.ruler,.ruler-corner{background:var(--ruler-bg)}.ruler{pointer-events:none}.ruler-x{border-bottom:1px solid var(--ruler-border);grid-area:ruler-x}.ruler-y{border-right:1px solid var(--ruler-border);grid-area:ruler-y}.ruler-axis line,.ruler-axis path{shape-rendering:crispEdges;stroke:var(--ruler-border)}.ruler-axis text{fill:var(--ruler-text);font-size:9px;letter-spacing:.02em}.ruler-mouse-indicator{pointer-events:none;stroke:var(--accent);stroke-width:1}.ruler-selection-bounds{fill:var(--accent);opacity:.25;pointer-events:none}.guides-layer{pointer-events:none}.guide{pointer-events:all}.guide-line{cursor:pointer;pointer-events:stroke}.guide-control-point{pointer-events:all;transition:fill-opacity .15s ease}.guide-control-point:hover{fill-opacity:1}.measurement-line{cursor:pointer;pointer-events:stroke}.measurement-control-point{cursor:move;pointer-events:all;transition:fill-opacity .15s ease,transform .1s ease}.measurement-control-point:hover{fill-opacity:1}.measurement-label{font-family:var(--font-family);font-weight:500;user-select:none}.measurement-arc,.measurement-label{pointer-events:none}.animation-mode-disabled{cursor:default!important;opacity:.4!important;pointer-events:none!important}.animation-mode-disabled:hover{opacity:.4!important}.svg-canvas{grid-area:canvas;min-height:0;min-width:0;overflow:hidden;position:relative}.svg-canvas.drag-over{background:color-mix(in srgb,var(--primary-color) 5%,transparent);outline:3px dashed var(--primary-color);outline-offset:-3px}.svg-canvas svg{display:block;height:100%;touch-action:none;width:100%}.svg-canvas svg text{text-rendering:optimizeLegibility}.svg-canvas svg text[text-decoration*=overline],.svg-canvas svg tspan[text-decoration*=overline]{text-decoration-skip-ink:none}.default-border{background:transparent;border:1px solid var(--neutral-300)}.pan-mode{cursor:grab}.pan-mode.pan-mode-dragging{cursor:grabbing}.zoom-mode-in{cursor:zoom-in}.zoom-mode-out{cursor:zoom-out}.workspace-bg{fill:var(--workspace-dark)}.grid-rect{opacity:.7}.viewbox{fill:var(--viewbox-fill);stroke:var(--viewbox-stroke);stroke-width:2}.viewbox-preview,.viewbox.is-selected{stroke:var(--accent)}.viewbox-preview{fill:hsla(0,0%,100%,.06);stroke-dasharray:6 4}.viewbox-handle{fill:var(--neutral-white)}.viewbox-handle,.zoom-selection{stroke:var(--accent);stroke-width:1.5}.zoom-selection{fill:rgba(0,231,255,.12);stroke-dasharray:6 4}.viewbox,.viewbox-preview,.zoom-selection{pointer-events:none}.viewbox-handle,.viewbox-layer.is-interactive .viewbox,.viewbox-layer.is-interactive .viewbox-preview{pointer-events:all}.viewbox-layer.is-interactive .viewbox{cursor:grab}.viewbox-layer.is-interactive.is-grabbing .viewbox{cursor:grabbing}.viewbox-layer.is-interactive .viewbox.is-selected{cursor:grab}.viewbox-layer.is-interactive.is-grabbing .viewbox.is-selected{cursor:grabbing}.viewbox-label{pointer-events:none}.viewbox-label-bg{opacity:.9}.viewbox-label-text{pointer-events:none;user-select:none}.menu-toggle{padding-left:2rem;position:relative}.menu-toggle:before{color:var(--neutral-500);content:"[ ]";font-size:.75rem;left:.65rem;position:absolute;top:.35rem}.menu-toggle.is-active:before{color:var(--accent);content:"[x]"}.properties-rail{align-items:center;background:linear-gradient(180deg,var(--rail-bg-top),var(--rail-bg-bottom));border-left:1px solid var(--chrome-border);display:flex;flex-direction:column;gap:.45rem;grid-area:props;overflow-x:hidden;overflow-y:auto;padding:.5rem .35rem}.prop-button-container{position:relative}.prop-button{align-items:center;background:var(--button-bg);border:1px solid var(--button-border);border-radius:6px;color:var(--app-text);cursor:pointer;display:flex;height:40px;justify-content:center;transition:background .15s,border-color .15s;width:40px}.prop-button:hover{background:var(--button-hover)}.prop-button.active,.prop-button:active{background:var(--button-active)}.prop-button.active{border-color:var(--accent);color:var(--accent)}.prop-button:disabled{cursor:not-allowed;opacity:.35;pointer-events:none}.prop-button:disabled .prop-swatch{background:var(--button-bg)!important;border-color:var(--button-border)!important}.prop-button svg{height:18px;width:18px}.prop-flyout{background:var(--panel-bg);border:1px solid var(--chrome-border);border-radius:8px;box-shadow:var(--shadow);display:none;max-height:calc(var(--app-viewport-height) - 120px);overflow-y:auto;position:fixed;right:60px;width:260px;z-index:1000}.prop-flyout.open{display:block}.prop-flyout-tall{min-height:300px}.prop-flyout-header{background:linear-gradient(180deg,var(--neutral-100),var(--neutral-200));border-bottom:1px solid var(--panel-border);font-size:.9rem;font-weight:600;letter-spacing:.02em;padding:.65rem .85rem}.prop-flyout-content{box-sizing:border-box;display:grid;gap:.6rem;overflow:hidden;padding:.75rem .85rem;width:100%}.prop-flyout-content>*{box-sizing:border-box;max-width:100%}.prop-flyout-content.elements-panel{padding:.5rem}.prop-swatch{border-radius:3px;display:block;height:18px;width:18px}.prop-swatch-fill{background-color:var(--default-fill);border:1px solid rgba(0,0,0,.2)}.prop-swatch-stroke{background-color:transparent;border:2px solid var(--default-stroke)}.prop-label{color:var(--app-muted);font-size:.78rem}.prop-flyout::-webkit-scrollbar{width:6px}.prop-flyout::-webkit-scrollbar-track{background:transparent}.prop-flyout::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:3px}.prop-flyout::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}.properties-panel{display:none}.panel-header{border-bottom:1px solid var(--panel-border);font-size:.9rem;font-weight:600;letter-spacing:.02em;padding:.65rem .75rem}.panel-body{display:flex;flex-direction:column;gap:.7rem;overflow:auto;padding:.75rem}.panel-block{background:var(--neutral-white);border:1px solid var(--panel-border);border-radius:var(--radius);overflow:hidden}.panel-block summary{align-items:center;background:linear-gradient(180deg,var(--neutral-100),var(--neutral-200));cursor:pointer;display:flex;font-size:.85rem;font-weight:600;justify-content:space-between;list-style:none;padding:.45rem .65rem}.panel-block summary::-webkit-details-marker{display:none}.panel-block summary:after{color:var(--neutral-600);content:"+";font-weight:700}.panel-block[open] summary:after{content:"-"}.panel-content{display:grid;gap:.5rem;padding:.65rem .75rem .75rem}.panel-summary-content{align-items:center;display:inline-flex;gap:.4rem}.panel-summary-icon{color:var(--neutral-500)}.panel-label{color:var(--app-muted);font-size:.78rem}.input-with-slider{align-items:center;box-sizing:border-box;display:grid;gap:.5rem;grid-template-columns:1fr 60px;width:100%}.input-with-slider input[type=range]{-webkit-appearance:none;appearance:none;background:var(--neutral-250);border-radius:3px;height:6px;outline:none;width:100%}.input-with-slider input[type=number]{box-sizing:border-box;width:100%}.input-with-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);border-radius:50%;cursor:pointer;height:14px;width:14px}.input-with-slider input[type=range]::-moz-range-thumb{background:var(--accent);border:none;border-radius:50%;cursor:pointer;height:14px;width:14px}.geometry-grid{display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.geometry-grid .geometry-field{display:flex;flex-direction:column;gap:.25rem}.geometry-grid .geometry-field-header{border-bottom:1px solid var(--panel-border);color:var(--app-muted);font-size:.75rem;font-weight:600;margin-top:.5rem;padding-bottom:.25rem}.geometry-grid .geometry-field-header:first-child{margin-top:0}.geometry-grid .geometry-value{color:var(--app-fg);font-size:.9rem;font-weight:500}.measurement-point-section{margin-bottom:.75rem}.measurement-point-label{color:var(--app-muted);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.measurement-result{align-items:center;border-top:1px solid var(--panel-border);display:flex;justify-content:space-between;margin-top:.5rem;padding:.5rem 0}.measurement-result-label{color:var(--app-muted);font-size:.8rem}.measurement-result-value{color:var(--app-fg);font-size:.95rem;font-weight:600}.elements-panel{display:grid;gap:.6rem}.elements-search{border-radius:var(--radius);font-size:.8rem;padding:.35rem .5rem;width:100%}.elements-search,.elements-tree{border:1px solid var(--panel-border)}.elements-tree{background:var(--input-bg,var(--neutral-white));border-radius:6px;max-height:400px;overflow-y:auto}.elements-tree:empty:before{color:var(--app-muted);content:"No elements";display:block;font-size:.8rem;padding:.75rem;text-align:center}.elements-item{align-items:center;background:transparent;border:none;border-bottom:1px solid var(--panel-border);border-radius:0;cursor:pointer;display:flex;font-size:.8rem;gap:.4rem;padding:.4rem .5rem;position:relative;text-align:left;transition:background .15s;user-select:none;width:100%}.elements-item:last-child{border-bottom:none}.elements-item-content{align-items:center;display:flex;flex:1;gap:.4rem;min-width:0}.elements-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elements-item.elements-clip,.elements-item.elements-group{font-weight:600}.elements-item.elements-clip .elements-icon{color:var(--color-warning)}.elements-item.elements-mask{font-weight:600}.elements-item.elements-mask .elements-icon{color:var(--color-info)}.elements-item:focus,.elements-item:hover{background:var(--button-hover)}.elements-item:focus{outline:none}.elements-item.is-selected{background:var(--accent-soft,var(--color-info-bg));border-left:3px solid var(--accent);padding-left:calc(.5rem - 3px)}.elements-item.is-partial{background:var(--element-partial-bg);border-left:3px solid var(--element-partial-border);padding-left:calc(.5rem - 3px)}.elements-item.is-hidden{opacity:.5}.elements-item.is-locked .elements-label{font-style:italic}.elements-controls{align-items:center;display:flex;gap:.25rem;margin-left:auto}.elements-control-btn{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--neutral-500);cursor:pointer;display:inline-flex;height:20px;justify-content:center;opacity:0;padding:0;transition:background .15s,color .15s,opacity .15s ease;width:20px}.elements-item.is-hidden .elements-visibility-btn,.elements-item.is-locked .elements-lock-btn,.elements-item:hover .elements-control-btn{opacity:1}.elements-control-btn:hover{background:rgba(0,0,0,.08);color:var(--neutral-700)}.elements-item.is-hidden .elements-visibility-btn,.elements-item.is-locked .elements-lock-btn{color:var(--accent)}.elements-drag-handle{align-items:center;cursor:grab;display:flex;flex-shrink:0;opacity:.4;padding:0 .1rem;touch-action:none}.elements-drag-handle:hover{opacity:.8}.elements-drag-handle:active{cursor:grabbing}.elements-drag-handle svg{height:12px;width:12px}.elements-delete-btn{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--neutral-500);cursor:pointer;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;opacity:0;padding:0;transition:background .15s,color .15s,opacity .15s;width:20px}.elements-item:hover .elements-delete-btn{opacity:.6}.elements-delete-btn:hover{background:rgba(220,38,38,.1);color:var(--danger,var(--color-error));opacity:1!important}.elements-delete-btn svg{height:14px;width:14px}.elements-tree{position:relative}.elements-item.dragging{background:var(--surface);border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:grabbing}.elements-drag-placeholder{background:var(--accent-soft,rgba(59,130,246,.1));border:1px dashed var(--accent);border-radius:4px;margin:2px 0}.elements-item.drag-over-top{border-top:2px solid var(--accent)}.elements-item.drag-over-bottom{border-bottom:2px solid var(--accent)}.elements-item.drag-over-inside{background:rgba(59,130,246,.1)}.elements-toggle{color:var(--app-muted);text-align:center;width:12px}.elements-toggle.placeholder{visibility:hidden}.elements-icon{align-items:center;color:var(--neutral-500);display:inline-flex;height:16px;justify-content:center;width:16px}.history-panel-content{display:flex;flex-direction:column;gap:.5rem}.history-toolbar{align-items:center;display:flex;gap:.25rem}.history-toolbar-btn{align-items:center;background:var(--button-bg);border:1px solid var(--panel-border);border-radius:4px;color:var(--app-text);cursor:pointer;display:inline-flex;font-size:.75rem;gap:.25rem;padding:.35rem .5rem;transition:background .15s,border-color .15s}.history-toolbar-btn:hover:not(:disabled){background:var(--button-hover)}.history-toolbar-btn:disabled{cursor:not-allowed;opacity:.4}.history-toolbar-btn svg{flex-shrink:0;height:14px;width:14px}.history-clear-btn{color:var(--danger,var(--color-error,#dc2626));margin-left:auto}.history-clear-btn:hover:not(:disabled){background:rgba(220,38,38,.1);border-color:var(--danger,var(--color-error,#dc2626))}.history-info{align-items:center;display:flex;justify-content:space-between;padding:0 .25rem}.history-entry-count{color:var(--app-muted);font-size:.7rem}.history-slider-container{align-items:center;display:flex;gap:.5rem;padding:.25rem}.history-slider{-webkit-appearance:none;appearance:none;background:var(--neutral-200);border-radius:3px;cursor:pointer;flex:1;height:6px}.history-slider:disabled{cursor:not-allowed;opacity:.5}.history-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-primary,#0d6efd);border-radius:50%;cursor:pointer;height:14px;transition:transform .1s ease;width:14px}.history-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.history-slider:disabled::-webkit-slider-thumb{background:var(--neutral-400);cursor:not-allowed}.history-slider::-moz-range-thumb{background:var(--color-primary,#0d6efd);border:none;border-radius:50%;cursor:pointer;height:14px;width:14px}.history-slider:disabled::-moz-range-thumb{background:var(--neutral-400);cursor:not-allowed}.history-slider-value{color:var(--app-muted);font-size:.7rem;font-variant-numeric:tabular-nums;min-width:3.5rem;text-align:right}.history-list{background:var(--input-bg,var(--neutral-white));border:1px solid var(--panel-border);border-radius:6px;max-height:350px;min-height:100px;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}.history-list::-webkit-scrollbar{width:8px}.history-list::-webkit-scrollbar-track{background:var(--neutral-100);border-radius:4px}.history-list::-webkit-scrollbar-thumb{background:var(--neutral-350);border:2px solid var(--neutral-100);border-radius:4px}.history-list::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}.history-placeholder{color:var(--app-muted);font-size:.8rem;padding:1rem;text-align:center}.history-item{align-items:center;background:transparent;border:none;border-bottom:1px solid var(--panel-border);cursor:pointer;display:flex;font-size:.8rem;gap:.4rem;padding:.5rem .6rem;text-align:left;transition:background .15s;width:100%}.history-item:last-child{border-bottom:none}.history-item:focus,.history-item:hover{background:var(--button-hover)}.history-item:focus{outline:none}.history-item-number{color:var(--app-muted);flex-shrink:0;font-size:.7rem;text-align:right;width:20px}.history-item-indicator{background:var(--neutral-350);border-radius:50%;flex-shrink:0;height:8px;transition:background .15s,transform .15s;width:8px}.history-item.is-current .history-item-indicator{background:var(--accent);box-shadow:0 0 0 2px rgba(59,130,246,.3);transform:scale(1.25)}.history-item-label{color:var(--app-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-time{color:var(--app-muted);flex-shrink:0;font-size:.65rem}.history-item.is-current{background:var(--accent-soft,rgba(59,130,246,.1))}.history-item.is-current .history-item-label{color:var(--accent);font-weight:600}.history-item.is-redo{opacity:.5}.history-item.is-redo .history-item-indicator{background:var(--neutral-300);border:1px dashed var(--neutral-400)}.history-item.is-redo:hover{opacity:.8}.geometry-grid .geometry-field.full-width{grid-column:1/-1}.geometry-grid .geometry-label{color:var(--app-muted);font-size:.7rem;letter-spacing:.03em;text-transform:uppercase}.geometry-grid input[type=number],.geometry-grid select{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:6px;font-size:.85rem;padding:.35rem .5rem;width:100%}.geometry-slider-row{align-items:center;box-sizing:border-box;display:grid;gap:.5rem;grid-template-columns:1fr 50px;width:100%}.geometry-slider-row .geometry-slider{-webkit-appearance:none;appearance:none;background:var(--neutral-250);border-radius:3px;cursor:pointer;height:6px;width:100%}.geometry-slider-row .geometry-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);border-radius:50%;cursor:pointer;height:14px;width:14px}.geometry-slider-row .geometry-number{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:6px;box-sizing:border-box;font-size:.85rem;padding:.35rem .5rem;width:100%}.geometry-hint{color:var(--app-muted);display:block;font-size:.7rem;margin-top:.25rem}.geometry-field-full{border-top:1px solid var(--neutral-250);margin-top:.75rem;padding-top:.75rem}.geometry-field-full .geometry-label{color:var(--app-muted);display:block;font-size:.7rem;letter-spacing:.03em;margin-bottom:.25rem;text-transform:uppercase}.geometry-field-full input[type=number]{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:6px;font-size:.85rem;padding:.35rem .5rem;width:100%}.geometry-corner-grid{display:flex;flex-direction:column;gap:1rem;grid-column:1/-1;margin-top:.5rem}.geometry-corner-grid .corner-row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.geometry-corner-grid .corner-item{display:flex;flex-direction:column;gap:.35rem}.geometry-corner-grid .corner-item .geometry-field{display:flex;flex-direction:column;gap:.15rem}.geometry-corner-grid .geometry-label{font-size:.7rem}.geometry-corner-grid input[type=number],.geometry-corner-grid select{font-size:.85rem;padding:.35rem .5rem;width:100%}.geometry-checkbox-field,.geometry-checkbox-label{align-items:center;display:flex}.geometry-checkbox-label{color:var(--app-text);cursor:pointer;font-size:.85rem;gap:.5rem}.geometry-checkbox-label input[type=checkbox]{accent-color:var(--accent);cursor:pointer;height:16px;width:16px}.panel-content input[type=color],.panel-content input[type=number]{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:6px;font-size:.85rem;padding:.35rem .5rem;width:100%}.panel-content input[type=color],.prop-flyout-content input[type=color]{height:36px;padding:.15rem}.geometry-actions{border-top:1px solid var(--neutral-250);display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.geometry-action-btn{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:6px;color:var(--app-text);cursor:pointer;flex:1;font-size:.8rem;padding:.4rem .75rem;transition:background-color .15s ease,border-color .15s ease}.geometry-action-btn:hover{background:var(--neutral-150);border-color:var(--neutral-400)}.geometry-action-btn:active{background:var(--neutral-200)}.prop-flyout-content input[type=number]{background:var(--neutral-white);font-size:.85rem;padding:.35rem .5rem}.prop-flyout-content input[type=color],.prop-flyout-content input[type=number]{border:1px solid var(--neutral-350);border-radius:6px;width:100%}.pattern-color-row{margin-bottom:4px}.pattern-color-input{display:flex;flex:1;flex-direction:column;gap:2px}.pattern-color-input label{color:var(--app-muted);font-size:.7rem}.pattern-color-input input[type=color]{height:28px;padding:2px;width:100%}.panel-placeholder{color:var(--app-muted);font-size:.8rem;padding:.65rem .75rem .75rem}.artistic-options{display:grid;gap:.5rem;margin-top:.25rem}.artistic-option-row{align-items:center;display:flex;gap:.5rem;justify-content:space-between;min-width:0}.artistic-option-row .prop-label{flex-shrink:0}.artistic-option-row .prop-input-sm{flex:1 1 auto;max-width:70px;min-width:0}.artistic-option-row .prop-select{flex:1 1 auto;min-width:0}.artistic-option-row .prop-input-text{background:var(--dark-bg-secondary);border:1px solid var(--dark-border);border-radius:4px;color:var(--dark-text-primary);flex:1 1 auto;font-family:monospace;font-size:.75rem;min-width:0;padding:.25rem .4rem}.artistic-option-row input[type=checkbox]{accent-color:var(--accent);cursor:pointer;height:16px;width:16px}.artistic-preview-wrapper{align-items:center;background:var(--dark-bg-primary);border:1px solid var(--dark-border);border-radius:4px;display:flex;justify-content:center;margin-bottom:.35rem;max-height:140px;min-height:60px;overflow:hidden;position:relative;width:100%}.artistic-preview-wrapper img{display:block;max-height:130px;max-width:100%;object-fit:contain}.artistic-preview-placeholder{color:var(--dark-text-muted);font-size:.72rem;font-style:italic;padding:.5rem;text-align:center}.artistic-preview-spinner{animation:artistic-spin .6s linear infinite;border:2px solid var(--dark-border);border-radius:50%;border-top-color:var(--accent);height:14px;position:absolute;right:4px;top:4px;width:14px}@keyframes artistic-spin{to{transform:rotate(1turn)}}.artistic-apply-btn{background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;margin-top:.25rem;padding:.4rem .5rem;transition:filter .15s,opacity .15s;width:100%}.artistic-apply-btn:hover{filter:brightness(1.1)}.artistic-apply-btn:active{filter:brightness(.95)}.artistic-apply-btn:disabled{cursor:not-allowed;opacity:.5}.artistic-progress{align-items:center;display:flex;gap:.4rem;margin-top:.35rem}.artistic-progress-bar-track{background:var(--chrome-border);border-radius:3px;flex:1 1 auto;height:6px;overflow:hidden}.artistic-progress-bar-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .15s ease}.artistic-cancel-btn{background:transparent;border:1px solid var(--chrome-border);border-radius:3px;color:var(--app-muted);cursor:pointer;flex:0 0 auto;font-size:.7rem;line-height:1;padding:.15rem .45rem;transition:color .15s,border-color .15s}.artistic-cancel-btn:hover{border-color:var(--app-text);color:var(--app-text)}.prop-hint{margin-top:.15rem}.status-bar{background:linear-gradient(180deg,var(--menubar-bg-top),var(--menubar-bg-bottom));border-top:1px solid var(--chrome-border);color:var(--app-muted);font-size:.75rem;gap:.5rem;padding:.35rem .75rem}.status-bar,.status-item{align-items:center;display:flex}.status-item{gap:.35rem;white-space:nowrap}.status-item svg{flex-shrink:0;opacity:.7}.status-divider{background:var(--chrome-border);height:12px;width:1px}.status-tool-icon{align-items:center;display:flex;justify-content:center}.status-tool-icon svg{flex-shrink:0;opacity:.8}#status-tool-name{color:var(--app-fg);font-weight:500}#status-zoom-value{font-variant-numeric:tabular-nums;min-width:3.5em;text-align:right}#status-coords-value{font-family:var(--font-mono,ui-monospace,monospace);font-variant-numeric:tabular-nums;min-width:8em}#status-selection-value{color:var(--app-muted)}@media (max-width:768px){.status-bar{display:none}}@media (max-width:1100px){.app-workspace{grid-template-columns:64px 1fr 56px}.toolbar-readout{min-width:100px}}@media (max-width:900px){.app-workspace{grid-template-areas:"tools canvas props";grid-template-columns:56px 1fr 48px;grid-template-rows:1fr}.tool-rail{border-bottom:none;border-right:1px solid var(--chrome-border);flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.3rem}.tool-rail .tool-button{height:40px;padding:.4rem;width:40px}.properties-rail{border-left:1px solid var(--chrome-border);border-top:none;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;overflow-x:hidden;overflow-y:auto;padding:.3rem;-webkit-overflow-scrolling:touch}.properties-rail .prop-button-container{width:100%}.properties-rail .prop-button{height:36px;padding:.35rem;width:36px}.prop-flyout{bottom:auto;left:auto;margin-right:4px;max-height:80vh;right:100%;top:0;transform:none}.prop-flyout-tall{min-height:0}.app-toolbar{height:auto;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:.35rem .5rem}.app-toolbar-scroll{align-items:center;display:inline-flex;flex:0 0 auto;flex-wrap:nowrap;gap:.5rem;justify-content:flex-start;width:max-content}.toolbar-group{flex-grow:0;flex-shrink:0;flex-wrap:nowrap;width:auto}.toolbar-btn-group{flex-shrink:0}.align-toolbar,.edit-toolbar,.text-toolbar{flex-shrink:0;max-width:none;overflow:visible;width:max-content}.toolbar-info{display:none}}.about-modal-overlay{align-items:center;background:rgba(0,0,0,.5);display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.about-modal-overlay[hidden]{display:none}.about-modal{background:var(--panel-bg);border:1px solid var(--chrome-border);border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.3);max-width:400px;padding:2rem;position:relative;text-align:center;width:90%}.about-close{background:none;border:none;color:var(--app-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem;position:absolute;right:.75rem;top:.75rem}.about-close:hover{color:var(--app-text)}.about-logo{margin:0 auto 1rem}.about-title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.about-version{color:var(--app-muted);font-size:.9rem;margin:0 0 1rem}.about-description{font-size:.85rem;line-height:1.5;margin:0 0 1rem}.about-copyright{margin:0 0 .25rem}.about-copyright,.about-license{color:var(--app-muted);font-size:.8rem}.about-license{margin:0 0 1rem}.about-link{background:var(--accent);border-radius:6px;color:var(--neutral-900);display:inline-block;font-size:.85rem;font-weight:600;padding:.5rem 1rem;text-decoration:none}.about-link:hover{opacity:.9}.tool-button-container{position:relative}.toolbar-item-wrapper{align-items:center;display:flex;flex-direction:column;position:relative}.toolbar-item-wrapper.is-dragging{opacity:.4}.toolbar-item-wrapper.drag-over:before{background:var(--accent);border-radius:2px;content:"";height:3px;left:50%;position:absolute;top:-3px;transform:translateX(-50%);width:36px;z-index:1000}.toolbar-drag-ghost{border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.3);opacity:.9;pointer-events:none;position:fixed;transform:scale(1.05);z-index:10001}.prop-button-wrapper{position:relative}.prop-button-wrapper.is-dragging{opacity:.4}.prop-button-wrapper.drag-over:before{background:var(--accent);border-radius:2px;content:"";height:3px;left:50%;position:absolute;top:-3px;transform:translateX(-50%);width:36px;z-index:1000}.custom-shape-popout{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:8px;box-shadow:var(--popout-shadow);color:var(--popout-text-secondary);display:none;font-size:.8rem;max-height:calc(var(--app-viewport-height) - 80px);overflow-y:auto;position:fixed;width:240px;z-index:10000}.custom-shape-popout:before,.line-tool-popout:before,.shape3d-tool-popout:before,.spline-tool-popout:before,.spray-tool-popout:before,.viewbox-popout:before,.zoom-tool-popout:before{content:"";height:100%;left:-12px;position:absolute;top:0;width:12px}.zoom-tool-popout{width:140px}.zoom-type-grid{display:grid;gap:4px;grid-template-columns:repeat(2,1fr)}.line-tool-popout{width:260px}.scissors-tool-popout,.spray-tool-popout{width:240px}.scissors-mode-selector{display:flex;gap:8px;margin-bottom:8px}.scissors-mode-btn{align-items:center;background:var(--popout-bg-tertiary);border:1px solid transparent;border-radius:6px;color:var(--popout-text-secondary);cursor:pointer;display:flex;flex:1;flex-direction:column;font-size:.75rem;gap:4px;padding:8px 12px;transition:all .15s ease}.scissors-mode-btn:hover{background:var(--popout-bg-secondary);color:var(--popout-text-primary)}.scissors-mode-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.scissors-mode-btn svg{height:20px;width:20px}.spray-preview-circle{pointer-events:none}.custom-shape-popout::-webkit-scrollbar{width:6px}.custom-shape-popout::-webkit-scrollbar-track{background:transparent}.custom-shape-popout::-webkit-scrollbar-thumb{background:var(--popout-bg-tertiary);border-radius:3px}.custom-shape-popout::-webkit-scrollbar-thumb:hover{background:var(--popout-scrollbar-hover)}.custom-shape-popout.open{display:block}.viewbox-popout{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:8px;box-shadow:var(--popout-shadow);color:var(--popout-text-secondary);display:none;font-size:.8rem;position:fixed;width:220px;z-index:10000}.viewbox-popout.open{display:block}.popout-checkbox-label{align-items:center;color:var(--popout-text-primary);cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;user-select:none}.popout-checkbox-label input[type=checkbox]{accent-color:var(--accent);cursor:pointer;height:16px;width:16px}.popout-checkbox-label span{flex:1}.transform-popout{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:8px;box-shadow:var(--popout-shadow);color:var(--popout-text-secondary);display:none;font-size:.8rem;position:fixed;width:220px;z-index:10000}.transform-popout.open{display:block}.transform-popout:before{content:"";height:100%;left:-12px;position:absolute;top:0;width:12px}.popout-toggle-group{background:var(--popout-bg-deep);border-radius:6px;display:flex;gap:4px;padding:3px}.popout-toggle-btn{background:transparent;border:none;border-radius:4px;color:var(--popout-text-muted);cursor:pointer;flex:1;font-size:.75rem;font-weight:500;padding:6px 12px;transition:all .15s ease}.popout-toggle-btn:hover{background:var(--popout-bg-tertiary);color:var(--popout-text-primary)}.popout-toggle-btn.active{background:var(--accent);color:var(--neutral-900)}.popout-hint{color:var(--popout-text-muted);font-size:.7rem;line-height:1.4;margin-top:.5rem}.popout-header{border-bottom:1px solid var(--popout-border);color:var(--popout-text-primary);font-size:1rem;font-weight:600;padding:.75rem 1rem}.popout-section{border-bottom:1px solid var(--popout-border-subtle);padding:.5rem 1rem}.popout-section:last-child{border-bottom:none}.text-popout{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:8px;box-shadow:var(--popout-shadow);color:var(--popout-text-secondary);display:none;font-size:.8rem;position:fixed;width:240px;z-index:10000}.text-popout.open{display:block}.text-popout:before{content:"";height:100%;left:-12px;position:absolute;top:0;width:12px}.popout-text-input{background:var(--popout-bg-deep);border:1px solid var(--popout-border);border-radius:6px;color:var(--popout-text-primary);font-family:inherit;font-size:.85rem;padding:8px 10px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.popout-text-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.2);outline:none}.popout-text-input::placeholder{color:var(--popout-text-muted)}.text-path-popout{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:8px;box-shadow:var(--popout-shadow);color:var(--popout-text-secondary);display:none;font-size:.8rem;position:fixed;width:240px;z-index:10000}.text-path-popout.open{display:block}.text-path-popout:before{content:"";height:100%;left:-12px;position:absolute;top:0;width:12px}.rectangle-popout{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:8px;box-shadow:var(--popout-shadow);color:var(--popout-text-secondary);display:none;font-size:.8rem;position:fixed;width:220px;z-index:10000}.rectangle-popout.open{display:block}.rectangle-popout:before{content:"";height:100%;left:-12px;position:absolute;top:0;width:12px}.rectangle-preview{height:80px}.corner-shape-grid{display:grid;gap:6px;grid-template-columns:repeat(4,1fr)}.corner-shape-btn{align-items:center;background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:background .15s,border-color .15s,color .15s}.corner-shape-btn:hover{background:var(--popout-bg-tertiary);color:var(--popout-text-primary)}.corner-shape-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.corner-shape-btn svg{height:20px;width:20px}.circle-popout{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:8px;box-shadow:var(--popout-shadow);color:var(--popout-text-secondary);display:none;font-size:.8rem;position:fixed;width:220px;z-index:10000}.circle-popout.open{display:block}.circle-popout:before{content:"";height:100%;left:-12px;position:absolute;top:0;width:12px}.popout-label{color:var(--popout-text-primary);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.popout-sublabel{color:var(--popout-text-muted);font-size:.7rem;margin-bottom:.4rem}.shape-type-grid{display:grid;gap:4px;grid-template-columns:repeat(4,1fr);max-height:120px;overflow-y:auto;padding-right:2px}.shape-type-grid::-webkit-scrollbar{width:4px}.shape-type-grid::-webkit-scrollbar-track{background:transparent}.shape-type-grid::-webkit-scrollbar-thumb{background:var(--popout-bg-tertiary);border-radius:2px}.shape-type-grid::-webkit-scrollbar-thumb:hover{background:var(--popout-scrollbar-hover)}.shape-type-btn{align-items:center;background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:6px;color:var(--popout-text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .15s ease;width:36px}.shape-type-btn:hover:not(:disabled){background:var(--popout-bg-tertiary);color:var(--popout-text-primary)}.shape-type-btn.active{background:var(--accent);border-color:var(--accent);color:var(--neutral-900)}.shape-type-btn:disabled{cursor:not-allowed;opacity:.4}.popout-preview{align-items:center;background:var(--popout-bg-deep);border:1px solid var(--popout-border);border-radius:6px;display:flex;height:100px;justify-content:center;overflow:hidden;padding:0}.popout-preview svg{color:var(--popout-text-primary);height:100%;width:100%}.line-preview{height:90px}.line-color-input{background:transparent;border:none;height:32px;padding:0;width:100%}.line-popout-row{margin-top:.5rem}.line-endpoint-select,.line-style-select{background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);font-size:.75rem;padding:.35rem .45rem;width:100%}.line-dash-controls{display:none;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.5rem}.line-dash-controls.is-visible{display:grid}.line-dash-field input[type=number]{background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);font-size:.75rem;padding:.25rem .4rem;text-align:right;width:100%}.line-action-row{display:flex;gap:.5rem}.preview-axis{stroke:var(--popout-border);stroke-width:1}#shape-preview-path{fill:none;stroke:var(--popout-text-primary);stroke-width:1.5}.popout-param-label{color:var(--popout-text-faint);display:block;font-size:.75rem;margin-bottom:.3rem}.popout-param-row{align-items:center;display:flex;gap:.5rem}.popout-param-row input[type=range]{-webkit-appearance:none;appearance:none;background:var(--popout-bg-tertiary);border-radius:2px;flex:1;height:4px}.popout-param-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);border-radius:50%;cursor:pointer;height:12px;width:12px}.popout-param-row input[type=range]::-moz-range-thumb{background:var(--accent);border:none;border-radius:50%;cursor:pointer;height:12px;width:12px}.popout-param-value{align-items:center;display:flex;gap:.15rem;min-width:60px}.popout-param-value input[type=number]{background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);font-size:.75rem;padding:.25rem .4rem;text-align:right;width:45px}.popout-param-value input[type=number]::-webkit-inner-spin-button,.popout-param-value input[type=number]::-webkit-outer-spin-button{opacity:1}.popout-param-value span{color:var(--popout-text-muted);font-size:.7rem}.tool-button.has-popout{position:relative}.popout-indicator{border-bottom:4px solid;border-left:4px solid transparent;bottom:4px;height:0;opacity:.7;position:absolute;right:4px;width:0}.tool-button.has-popout:hover .popout-indicator{opacity:1}.style-controls-row{align-items:center;display:flex;gap:.75rem}.style-swatch-container{border:1px solid var(--popout-border);border-radius:6px;height:48px;overflow:hidden;position:relative;width:48px}.style-swatch-bg{background-color:var(--checkerboard-bg);background-image:linear-gradient(45deg,var(--checkerboard-dark) 25%,transparent 25%),linear-gradient(-45deg,var(--checkerboard-dark) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--checkerboard-dark) 75%),linear-gradient(-45deg,transparent 75%,var(--checkerboard-dark) 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;inset:0;position:absolute}.style-swatch-container .style-color-swatch{background:var(--default-fill);border:none;border-radius:0;height:100%;inset:0;position:absolute;width:100%}.style-buttons{display:flex;flex:1;flex-direction:column;gap:4px}.style-action-btn{align-items:center;background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-secondary);cursor:pointer;display:flex;font-size:.75rem;gap:6px;padding:6px 10px;transition:all .15s ease}.style-action-btn:hover{background:var(--popout-bg-tertiary);color:var(--popout-text-primary)}.style-action-btn.active{background:var(--accent);border-color:var(--accent);color:var(--neutral-900)}.style-action-btn svg{flex-shrink:0}.eyedropper-tooltip{align-items:stretch;background:var(--neutral-white);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.2),0 0 0 1px rgba(0,0,0,.1);display:none;min-width:100px;overflow:hidden;pointer-events:none;position:fixed;z-index:10001}.eyedropper-swatch{background:var(--neutral-900);flex-shrink:0;width:40px}.eyedropper-info{align-items:center;display:flex;justify-content:center;padding:8px 12px}.eyedropper-hex{color:var(--neutral-700);font-family:monospace;font-size:.9rem;font-weight:600;text-transform:uppercase}.menu-item-settings{margin-left:auto}.settings-trigger{align-items:center;display:flex;gap:.4rem}.settings-trigger svg{flex-shrink:0}.settings-modal-overlay{align-items:center;background:rgba(0,0,0,.6);display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.settings-modal-overlay[hidden]{display:none}.settings-modal{background:var(--panel-bg);border:1px solid var(--chrome-border);border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.35);display:flex;flex-direction:column;max-height:85vh;max-width:700px;width:90%}.settings-header{align-items:center;border-bottom:1px solid var(--chrome-border);display:flex;justify-content:space-between;padding:1rem 1.25rem}.settings-title{font-size:1.25rem;font-weight:700;margin:0}.settings-close{background:none;border:none;color:var(--app-muted);cursor:pointer;font-size:1.75rem;line-height:1;padding:.25rem}.settings-close:hover{color:var(--app-text)}.settings-body{display:flex;flex:1;min-height:0;overflow:hidden}.settings-nav{background:var(--neutral-200);border-right:1px solid var(--chrome-border);display:flex;flex-direction:column;flex-shrink:0;padding:.75rem 0;width:180px}.settings-nav-item{background:none;border:none;border-left:3px solid transparent;color:var(--app-text);cursor:pointer;font-size:.85rem;padding:.6rem 1rem;text-align:left;transition:all .15s ease}.settings-nav-item:hover{background:var(--neutral-250)}.settings-nav-item.active{background:var(--neutral-white);border-left-color:var(--accent);font-weight:600}.settings-content{flex:1;overflow-y:auto;padding:1rem 1.25rem}.settings-tab{display:none}.settings-tab.active{display:block}.settings-section{margin-bottom:1.5rem}.settings-section:last-child{margin-bottom:0}.settings-section-title{border-bottom:1px solid var(--chrome-border);color:var(--app-text);font-size:.9rem;font-weight:600;margin:0 0 .75rem;padding-bottom:.5rem}.settings-row{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.settings-row:last-child{margin-bottom:0}.settings-label{color:var(--app-text);flex-shrink:0;font-size:.85rem}.settings-input{background:var(--neutral-white);border:1px solid var(--neutral-300);border-radius:6px;font-size:.85rem;padding:.4rem .6rem;width:120px}.settings-input.settings-input-wide{width:200px}.settings-input:focus{border-color:var(--accent);outline:none}.settings-color-input{border:1px solid var(--neutral-300);border-radius:6px;cursor:pointer;height:32px;padding:.15rem;width:60px}.settings-checkbox{accent-color:var(--accent);cursor:pointer;height:18px;width:18px}.settings-select{background:var(--neutral-white);border:1px solid var(--neutral-300);border-radius:6px;cursor:pointer;font-size:.85rem;padding:.4rem .6rem;width:120px}.settings-select:focus{border-color:var(--accent);outline:none}.settings-range{accent-color:var(--accent);cursor:pointer;width:150px}.settings-range-value{color:var(--app-muted);font-size:.8rem;min-width:2.5rem;text-align:right}.settings-hint{color:var(--app-muted);font-size:.78rem;line-height:1.4;margin:.5rem 0 0}.pwa-update-banner{align-items:center;animation:slideUp .3s ease-out;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);bottom:0;box-shadow:0 -4px 20px rgba(0,0,0,.3);color:#fff;display:flex;font-size:.9rem;font-weight:500;gap:1rem;justify-content:center;left:0;padding:.75rem 1rem;position:fixed;right:0;z-index:10000}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pwa-update-btn{background:#fff;border:none;border-radius:6px;color:var(--color-primary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem 1rem;transition:all .15s ease}.pwa-update-btn:hover{background:var(--neutral-100);transform:scale(1.02)}.pwa-dismiss-btn{background:transparent;border:none;color:#fff;cursor:pointer;font-size:1.4rem;line-height:1;opacity:.7;padding:0 .3rem;transition:opacity .15s ease}.pwa-dismiss-btn:hover{opacity:1}.context-menu{background:var(--neutral-white);border:1px solid var(--chrome-border);border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.15);display:none;min-width:180px;padding:.35rem 0;position:fixed;user-select:none;z-index:2500}.context-menu.visible{display:block}.context-menu-item{align-items:center;background:transparent;border:none;color:var(--app-text);cursor:pointer;display:flex;font-size:.85rem;justify-content:space-between;padding:.5rem .85rem;text-align:left;transition:background-color .1s ease;width:100%}.context-menu-item:hover:not(:disabled){background:var(--neutral-200)}.context-menu-item.disabled,.context-menu-item:disabled{color:var(--neutral-400);cursor:not-allowed}.context-menu-label{flex:1}.context-menu-shortcut{color:var(--app-muted);font-size:.75rem;margin-left:1.5rem;white-space:nowrap}.context-menu-separator{background:var(--menu-separator);height:1px;margin:.35rem 0}body.theme-dark .context-menu{background:var(--dark-bg-secondary);border-color:var(--dark-border);box-shadow:0 10px 24px rgba(0,0,0,.35)}body.theme-dark .context-menu-item{color:var(--dark-text-primary)}body.theme-dark .context-menu-item:hover:not(:disabled){background:var(--dark-bg-tertiary)}body.theme-dark .context-menu-item.disabled,body.theme-dark .context-menu-item:disabled{color:var(--dark-text-muted)}body.theme-dark .context-menu-shortcut{color:var(--dark-text-secondary)}body.theme-dark .context-menu-separator{background:var(--dark-border)}.toast-notification{background:rgba(20,23,30,.95);border-left:4px solid transparent;border-radius:10px;bottom:24px;box-shadow:0 8px 24px rgba(0,0,0,.25);color:#f9fafc;font-size:.85rem;left:50%;max-width:400px;opacity:0;padding:.6rem 1rem;pointer-events:none;position:fixed;text-align:center;transform:translateX(-50%);transition:opacity .2s ease,transform .2s ease;z-index:2000}.toast-notification.show{opacity:1;transform:translateX(-50%) translateY(-6px)}.toast-notification.toast-info{border-left-color:var(--color-primary)}.toast-notification.toast-warning{background:rgba(30,28,20,.95);border-left-color:#f59e0b}.toast-notification.toast-error{background:rgba(35,20,20,.95);border-left-color:#ef4444}.clipboard-toast{background:rgba(20,23,30,.9);border-radius:10px;bottom:24px;box-shadow:0 8px 24px rgba(0,0,0,.25);color:#f9fafc;font-size:.85rem;left:50%;opacity:0;padding:.5rem .9rem;pointer-events:none;position:fixed;transform:translateX(-50%);transition:opacity .2s ease,transform .2s ease;z-index:2000}.clipboard-toast.show{opacity:1;transform:translateX(-50%) translateY(-6px)}.shortcuts-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;margin-top:.5rem}.shortcuts-category{border-bottom:1px solid var(--neutral-250);color:var(--app-text);font-size:.9rem;font-weight:600;margin:1rem 0 .25rem;padding-bottom:.25rem}.shortcuts-category:first-of-type{margin-top:.5rem}.shortcut-row{align-items:center;background:var(--neutral-white);border:1px solid var(--neutral-250);border-radius:6px;display:flex;justify-content:space-between;padding:.5rem .75rem}.shortcut-action{color:var(--app-text);font-size:.85rem}.shortcut-key{background:var(--neutral-200);border:1px solid var(--neutral-350);border-radius:4px;color:var(--app-muted);font-family:monospace;font-size:.8rem;padding:.25rem .5rem}.shortcut-input{cursor:pointer;min-width:80px;text-align:center;transition:all .15s ease}.shortcut-input:hover{background:var(--neutral-250);border-color:var(--neutral-350)}.shortcut-input:focus{outline:none}.shortcut-input.editing,.shortcut-input:focus{background:var(--color-warning-bg);border-color:var(--accent);box-shadow:0 0 0 2px rgba(249,200,68,.3)}.shortcut-input.editing{animation:shortcut-pulse 1s infinite}@keyframes shortcut-pulse{0%,to{box-shadow:0 0 0 3px rgba(249,200,68,.5);opacity:1}50%{box-shadow:0 0 0 6px rgba(249,200,68,.2);opacity:.7}}.shortcuts-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.shortcuts-header .settings-section-title{margin-bottom:.25rem}.shortcuts-header .settings-hint{margin-bottom:0}.shortcuts-search-container{margin-bottom:1rem;position:relative}.shortcuts-search-input{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:6px;font-size:.875rem;padding:.5rem .75rem .5rem 2rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.shortcuts-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(249,200,68,.3);outline:none}.shortcuts-search-input::placeholder{color:var(--neutral-400)}.shortcuts-search-icon{color:var(--neutral-400);font-size:.875rem;left:.6rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.shortcut-controls{align-items:center;display:flex;gap:.25rem}.shortcut-clear-btn,.shortcut-reset-btn{align-items:center;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--neutral-400);cursor:pointer;display:flex;font-size:.75rem;height:24px;justify-content:center;opacity:0;padding:0;transition:all .15s ease;width:24px}.shortcut-row:hover .shortcut-clear-btn,.shortcut-row:hover .shortcut-reset-btn{opacity:1}.shortcut-clear-btn:hover{background:var(--color-error-light);border-color:var(--color-error-border);color:var(--color-error)}.shortcut-reset-btn:hover{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info)}.shortcut-reset-btn.hidden{display:none}.shortcut-input.unbound{background:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-warning-text)}.shortcut-input.unbound:before{content:"⚠";margin-right:.25rem}.shortcut-input.modified{position:relative}.shortcut-input.modified:after{background:var(--accent);border-radius:50%;content:"";height:6px;position:absolute;right:2px;top:2px;width:6px}.shortcut-conflict-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:none;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}.shortcut-conflict-overlay.visible{display:flex}.shortcut-conflict-dialog{background:var(--neutral-white);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:420px;overflow:hidden;padding:1.25rem;width:90%}.shortcut-conflict-title{color:var(--app-text);font-size:1.1rem;font-weight:600;margin:0 0 .75rem}.shortcut-conflict-message{color:var(--app-muted);font-size:.875rem;line-height:1.5;margin:0 0 .75rem}.shortcut-conflict-details{background:var(--neutral-150);border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.shortcut-conflict-details p{color:var(--app-muted);font-size:.875rem;line-height:1.5;margin:0 0 .5rem}.shortcut-conflict-details p:last-child{margin-bottom:0}.shortcut-conflict-details strong{color:var(--app-text)}.shortcut-conflict-details code{background:var(--neutral-250);border-radius:4px;color:var(--app-text);font-family:monospace;font-size:.8rem;padding:.15rem .4rem}.shortcut-conflict-actions{border-top:1px solid var(--chrome-border);display:flex;gap:.5rem;justify-content:flex-end;padding-top:.5rem}@keyframes conflict-flash{0%,to{box-shadow:0 0 0 2px var(--color-error)}50%{box-shadow:0 0 0 4px var(--color-error),0 0 12px rgba(220,38,38,.4)}}.shortcut-input.conflict-flash{animation:conflict-flash .5s ease 3;border-color:var(--color-error)}.shortcut-row.hidden,.shortcuts-category.hidden{display:none}.shortcuts-no-results{color:var(--app-muted);display:none;font-size:.875rem;padding:2rem;text-align:center}.shortcuts-no-results.visible{display:block}@media print{@page{size:landscape;margin:.35in .4in}body>:not(#settings-modal){display:none!important}#settings-modal,#settings-modal.settings-modal-overlay{background:none!important;display:block!important;height:auto!important;overflow:visible!important;position:static!important}#settings-modal[hidden]{display:block!important}.settings-modal{background:#fff!important;border:none!important;border-radius:0!important;box-shadow:none!important;max-height:none!important;max-width:none!important;position:static!important;transform:none!important}.settings-body,.settings-modal{height:auto!important;overflow:visible!important}.settings-body{display:block!important}.settings-content{height:auto!important;overflow:visible!important;padding:0!important}#shortcuts-no-results,.settings-footer,.settings-header,.settings-nav,.settings-tab:not(#settings-shortcuts),.shortcut-clear-btn,.shortcut-conflict-overlay,.shortcut-reset-btn,.shortcuts-header,.shortcuts-search-container{display:none!important}#settings-shortcuts{display:block!important;overflow:visible!important;padding:0!important}.settings-section{margin:0!important;padding:0!important}#settings-shortcuts .settings-section:before{content:"SVGSketch Keyboard Shortcuts";display:block;font-size:16pt;font-weight:700;margin-bottom:.05in}#settings-shortcuts .settings-section:after{border-bottom:1px solid #ccc;color:#666;content:"Quick reference for all keyboard shortcuts. Customize these in Settings > Keyboard Shortcuts.";display:block;font-size:7pt;margin-bottom:.12in;padding-bottom:.08in}.shortcuts-grid{column-count:3!important;column-fill:auto!important;column-gap:.2in!important;display:block!important;font-size:6.5pt!important;height:6.5in!important}.shortcuts-column{display:block!important;width:100%!important}.shortcuts-category{border:none!important;break-after:avoid!important;color:#000!important;font-size:7.5pt!important;font-weight:700!important;margin:.06in 0 .02in!important;padding:0!important}.shortcuts-grid .shortcuts-column:first-child .shortcuts-category:first-of-type{margin-top:0!important}.shortcuts-list{margin:0!important;padding:0!important}.shortcut-row{align-items:center!important;background:#fff!important;display:flex!important;font-size:6pt!important;justify-content:space-between!important;line-height:1.35!important;padding:.5px 2px!important}.shortcut-row,.shortcut-row:nth-child(odd){print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}.shortcut-row:nth-child(odd){background:#efefef!important}.shortcut-action{flex:1!important;overflow:hidden!important;padding-right:.05in!important;text-overflow:ellipsis!important;white-space:nowrap!important}.shortcut-controls{flex-shrink:0!important;text-align:right!important}.shortcut-input,.shortcut-key{background:transparent!important;border:none!important;border-radius:0!important;color:#444!important;font-family:Consolas,Courier New,monospace!important;font-size:6pt!important;padding:0!important}.shortcut-input.modified,.shortcut-input.unbound{background:transparent!important;border:none!important}.shortcut-input.modified:after{display:none!important}}.settings-footer{background:var(--neutral-150);border-radius:0 0 12px 12px;border-top:1px solid var(--chrome-border);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem}.settings-btn{border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .15s ease}.settings-btn-primary{background:var(--accent);border:1px solid var(--accent);color:var(--neutral-900)}.settings-btn-primary:hover{opacity:.9}.settings-btn-secondary{background:var(--neutral-white);border:1px solid var(--neutral-300);color:var(--app-text)}.settings-btn-secondary:hover{background:var(--neutral-200)}@media (max-width:600px){.settings-modal{max-height:90vh}.settings-body{flex-direction:column}.settings-nav{border-bottom:1px solid var(--chrome-border);border-right:none;flex-direction:row;flex-wrap:wrap;padding:.5rem;width:100%}.settings-nav-item{border-bottom:2px solid transparent;border-left:none;padding:.5rem .75rem}.settings-nav-item.active{border-bottom-color:var(--accent);border-left-color:transparent}}.align-toolbar,.edit-toolbar{align-items:center;display:flex;gap:.25rem;max-width:50vw;overflow-x:auto;overflow-y:hidden;scrollbar-color:var(--neutral-400) transparent;scrollbar-width:thin}.align-toolbar::-webkit-scrollbar,.edit-toolbar::-webkit-scrollbar{height:4px}.align-toolbar::-webkit-scrollbar-track,.edit-toolbar::-webkit-scrollbar-track{background:transparent}.align-toolbar::-webkit-scrollbar-thumb,.edit-toolbar::-webkit-scrollbar-thumb{background-color:var(--neutral-400);border-radius:4px}.align-toolbar::-webkit-scrollbar-thumb:hover,.edit-toolbar::-webkit-scrollbar-thumb:hover{background-color:var(--neutral-500)}.text-toolbar{align-items:center;display:flex;gap:.25rem;max-width:50vw;overflow-x:auto;overflow-y:hidden;scrollbar-color:var(--neutral-400) transparent;scrollbar-width:thin}.text-toolbar::-webkit-scrollbar{height:4px}.text-toolbar::-webkit-scrollbar-track{background:transparent}.text-toolbar::-webkit-scrollbar-thumb{background-color:var(--neutral-400);border-radius:4px}.text-toolbar::-webkit-scrollbar-thumb:hover{background-color:var(--neutral-500)}.text-toolbar-select{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;cursor:pointer;font-size:.75rem;max-width:130px;padding:.25rem .35rem}.text-toolbar-select:focus{border-color:var(--accent);outline:none}.text-toolbar-input{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;font-size:.75rem;padding:.25rem .35rem;text-align:center;width:50px}.text-toolbar-input:focus{border-color:var(--accent);outline:none}.text-toolbar-weight{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;cursor:pointer;font-size:.75rem;max-width:110px;padding:.25rem .35rem}.text-toolbar-weight:focus{border-color:var(--accent);outline:none}.mixed-value{font-style:italic;opacity:.5}.mixed-value:focus,.mixed-value:hover{opacity:.8}.text-toolbar-case-btn{font-size:11px;font-weight:600;min-width:26px}.app-btn-icon{align-items:center;display:flex;height:28px;justify-content:center;min-width:28px;padding:.25rem .35rem}.app-btn-icon svg{display:block}.distribute-options-container{position:relative}.distribute-options-menu{background:var(--neutral-white);border:1px solid var(--chrome-border);border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.12);min-width:160px;padding:.5rem;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.distribute-option{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.35rem .5rem}.distribute-option:hover{background:var(--neutral-200)}.distribute-option input[type=radio]{margin:0}.distribute-spacing-input{border-top:1px solid var(--chrome-border);margin-top:.5rem;padding-top:.5rem}.distribute-spacing-input label{align-items:center;display:flex;font-size:.85rem;gap:.5rem}.distribute-spacing-input input[type=number]{border:1px solid var(--chrome-border);border-radius:4px;font-size:.85rem;padding:.25rem .35rem;width:60px}.offset-options-container{position:relative}.offset-options-menu{background:var(--neutral-white);border:1px solid var(--chrome-border);border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.12);min-width:140px;padding:.5rem;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.offset-distance-input label{align-items:center;display:flex;font-size:.85rem;gap:.5rem}.offset-distance-input input[type=number]{border:1px solid var(--chrome-border);border-radius:4px;font-size:.85rem;padding:.25rem .35rem;width:60px}.menu-submenu-item{position:relative}.menu-submenu-trigger{align-items:center;display:flex;justify-content:space-between}.menu-arrow{color:var(--app-muted);font-size:.7rem}.menu-submenu{background:var(--neutral-white);border:1px solid var(--chrome-border);border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.12);display:none;left:100%;min-width:220px;padding:.35rem 0;position:absolute;top:0;z-index:11}.menu-submenu-item:focus-within>.menu-submenu,.menu-submenu-item:hover>.menu-submenu{display:block}.menu-submenu-item.disabled{pointer-events:none}.menu-submenu-item.disabled>.menu-submenu-trigger{color:var(--neutral-400);cursor:not-allowed}.menu-submenu-item.disabled>.menu-submenu{display:none!important}.prop-flyout-wide{width:300px}.text-panel-content{display:flex;flex-direction:column;gap:.5rem}#text-panel-content.text-panel-disabled,.text-panel-disabled{opacity:.5;pointer-events:none}.text-panel-section{border-bottom:1px solid var(--panel-border);padding:.5rem 0}.text-panel-section:last-child{border-bottom:none}.text-panel-section-header{color:var(--app-muted);font-size:.72rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.text-panel-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.4rem}.text-panel-row:last-child{margin-bottom:0}.text-panel-row-split{justify-content:space-between}.text-panel-field{display:flex;flex:1;flex-direction:column;gap:.25rem}.text-panel-label{color:var(--app-muted);font-size:.72rem;min-width:80px}.text-panel-number{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;font-size:.8rem;padding:.35rem .5rem;width:70px}.text-panel-number:focus{border-color:var(--accent);outline:none}.font-picker-container{display:flex;flex:1;flex-direction:column;gap:.25rem}.font-family-search{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;font-size:.8rem;padding:.35rem .5rem}.font-family-search:focus{border-color:var(--accent);outline:none}.font-family-select{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;cursor:pointer;font-size:.8rem;padding:.35rem .5rem}.font-family-select:focus{border-color:var(--accent);outline:none}.font-weight-select{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;cursor:pointer;font-size:.8rem;padding:.35rem .5rem;width:100%}.font-weight-select:focus{border-color:var(--accent);outline:none}.text-panel-button-row{gap:.35rem}.text-panel-toggle-btn{align-items:center;background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;color:var(--app-text);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.text-panel-toggle-btn:hover{background:var(--button-hover)}.text-panel-toggle-btn.active{background:var(--accent);border-color:var(--accent);color:var(--neutral-white)}.text-panel-toggle-btn:disabled{cursor:not-allowed;opacity:.4}.text-panel-toggle-btn-wide{font-size:.75rem;font-weight:600;padding:0 .6rem;width:auto}.text-panel-btn{align-items:center;background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;cursor:pointer;display:flex;font-size:.78rem;gap:.4rem;justify-content:center;padding:.4rem .75rem;transition:all .15s ease}.text-panel-btn:hover:not(:disabled){background:var(--button-hover)}.text-panel-btn:disabled{cursor:not-allowed;opacity:.4}.text-panel-btn-wide{width:100%}.text-options-bar-container{display:none;left:50%;padding:.5rem;position:absolute;top:0;transform:translateX(-50%);z-index:100}.text-options-bar-container.visible{display:block}.text-options-bar{align-items:center;background:linear-gradient(180deg,var(--toolbar-bg-top),var(--toolbar-bg-bottom));border:1px solid var(--chrome-border);border-radius:8px;box-shadow:0 4px 12px rgba(15,23,42,.1);display:flex;gap:.35rem;padding:.4rem .65rem}.text-options-group{align-items:center;display:flex;gap:.25rem}.text-options-divider{background:var(--chrome-border);height:20px;margin:0 .25rem;width:1px}.text-opts-font-select{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;cursor:pointer;font-size:.78rem;padding:.3rem .4rem;width:140px}.text-opts-font-select:focus{border-color:var(--accent);outline:none}.text-opts-font-size{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;font-size:.78rem;padding:.3rem .4rem;text-align:center;width:50px}.text-opts-font-size:focus{border-color:var(--accent);outline:none}.text-opts-btn{align-items:center;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--app-text);cursor:pointer;display:flex;height:26px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.text-opts-btn:hover{background:var(--button-hover);border-color:var(--button-border)}.text-opts-btn.active{background:var(--accent);border-color:var(--accent);color:var(--neutral-white)}.text-opts-btn:disabled{cursor:not-allowed;opacity:.4}.text-opts-btn-text{font-size:.72rem;font-weight:600;padding:0 .5rem;width:auto}@media (max-width:900px){.text-options-bar-container{left:45%}.text-opts-font-select{width:100px}}@media (max-width:700px){.text-options-bar{flex-wrap:wrap;max-width:280px}.text-options-divider{display:none}}.prop-flyout-wide{width:280px}.fill-type-selector,.stroke-type-selector{display:flex;gap:4px;margin-bottom:.5rem}.fill-type-btn,.stroke-type-btn{align-items:center;background:var(--surface);border:1px solid var(--chrome-border);border-radius:4px;color:var(--app-muted);cursor:pointer;display:flex;flex:1;justify-content:center;padding:6px;transition:all .15s ease}.fill-type-btn:hover,.stroke-type-btn:hover{background:var(--hover-bg);border-color:var(--accent)}.fill-type-btn.active,.stroke-type-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.fill-type-btn svg,.stroke-type-btn svg{height:16px;width:16px}.fill-rule-toggle{display:flex;gap:4px}.fill-rule-btn{align-items:center;background:var(--surface);border:1px solid var(--chrome-border);border-radius:4px;color:var(--app-muted);cursor:pointer;display:flex;flex:1;font-size:.75rem;gap:6px;justify-content:center;padding:6px 8px;transition:all .15s ease}.fill-rule-btn:hover{background:var(--hover-bg);border-color:var(--accent)}.fill-rule-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.fill-rule-btn svg{flex-shrink:0;height:18px;width:18px}.fill-type-section,.stroke-type-section{display:grid;gap:.5rem}.gradient-preview{border:1px solid var(--chrome-border);border-radius:4px;margin-bottom:.5rem;overflow:hidden}.gradient-preview svg{display:block}.gradient-stops-header{align-items:center;display:flex;justify-content:space-between}.gradient-stops-header .prop-label{margin-bottom:0}.gradient-swap-btn{align-items:center;background:var(--surface);border:1px solid var(--chrome-border);border-radius:4px;color:var(--app-muted);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .15s ease}.gradient-swap-btn:hover{background:var(--hover-bg);border-color:var(--accent);color:var(--accent)}.gradient-stop-row{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.gradient-stop-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.gradient-stop-label{color:var(--app-muted);font-size:.75rem;min-width:48px}.gradient-opacity-input{box-sizing:border-box;width:56px}.gradient-color-picker-container{width:100%}.pattern-color-row{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.pattern-color-header{align-items:center;display:flex;gap:8px}.pattern-color-label{color:var(--app-muted);font-size:.75rem;min-width:72px}.pattern-color-picker-container{width:100%}.prop-hint{color:var(--app-muted);font-size:.72rem;font-style:italic;line-height:1.4;margin:0;padding:.5rem 0}.prop-select{background:var(--surface);border:1px solid var(--chrome-border);border-radius:4px;color:var(--app-text);cursor:pointer;font-size:.85rem;padding:.4rem .6rem;transition:border-color .15s ease;width:100%}.prop-select:focus,.prop-select:hover{border-color:var(--accent)}.prop-select:focus{box-shadow:0 0 0 2px var(--accent-soft);outline:none}.gradient-edit-handle{cursor:move;transition:transform .1s ease}.gradient-edit-handle:hover{transform:scale(1.1)}.gradient-edit-line{pointer-events:none}.gradient-handle-active{transform:scale(1.15)}.prop-flyout.disabled{opacity:.5;pointer-events:none}.prop-flyout.disabled:after{color:var(--app-muted);content:"Fill not available for lines";font-size:.75rem;left:50%;padding:1rem;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.filters-add-section{margin-bottom:.5rem}.filters-add-section select{background:var(--input-bg,var(--neutral-white));border:1px solid var(--button-border);border-radius:6px;cursor:pointer;font-size:.85rem;padding:.4rem .5rem;width:100%}.filters-add-section select:hover{border-color:var(--accent)}.filter-category-menu{background:var(--input-bg,var(--neutral-white));border:1px solid var(--panel-border);border-radius:6px;max-height:300px;overflow-y:auto}.filter-category{border-bottom:1px solid var(--panel-border)}.filter-category:last-child{border-bottom:none}.filter-category-header{align-items:center;background:var(--button-bg);color:var(--app-dark);cursor:pointer;display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;padding:.5rem .6rem;transition:background .15s;user-select:none}.filter-category-header:hover{background:var(--button-hover)}.filter-category-header .category-icon{font-size:.9rem;margin-right:.4rem}.filter-category-header .expand-icon{font-size:.7rem;transition:transform .2s}.filter-category.expanded .filter-category-header .expand-icon{transform:rotate(90deg)}.filter-category-items{background:var(--input-bg,var(--neutral-white));display:none;padding:.25rem 0}.filter-category.expanded .filter-category-items{display:block}.filter-category-item{align-items:center;color:var(--app-dark);cursor:pointer;display:flex;font-size:.8rem;padding:.4rem .6rem .4rem 1.4rem;transition:background .15s}.filter-category-item:hover{background:var(--button-hover)}.filter-category-item .filter-item-icon{font-size:.85rem;margin-right:.5rem}.filters-list{margin-bottom:.75rem}.filters-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.35rem}.filters-list-items{background:var(--input-bg,var(--neutral-white));border:1px solid var(--panel-border);border-radius:6px;max-height:160px;overflow-y:auto}.filters-list-items:empty:before{color:var(--app-muted);content:"No filters applied";display:block;font-size:.8rem;padding:.75rem;text-align:center}.filter-list-item{align-items:center;border-bottom:1px solid var(--panel-border);cursor:pointer;display:flex;gap:.4rem;padding:.45rem .5rem;transition:background .15s;user-select:none}.filter-list-item:last-child{border-bottom:none}.filter-list-item:hover{background:var(--button-hover)}.filter-list-item.selected{background:var(--accent-soft,var(--color-info-bg));border-left:3px solid var(--accent);padding-left:calc(.5rem - 3px)}.filters-list-items{position:relative}.filter-list-item.dragging{background:var(--surface);border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:grabbing}.filter-drag-placeholder{background:var(--accent-soft,rgba(59,130,246,.1));border:1px dashed var(--accent);border-radius:4px;margin:2px 0}.filter-list-item.drag-over{border-top:2px solid var(--accent)}.filter-drag-handle{align-items:center;cursor:grab;display:flex;opacity:.4;padding:0 .15rem;touch-action:none}.filter-drag-handle:hover{opacity:.8}.filter-drag-handle:active{cursor:grabbing}.filter-drag-handle svg{height:12px;width:12px}.filter-visibility-btn{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;justify-content:center;opacity:.6;padding:.2rem}.filter-visibility-btn:hover{opacity:1}.filter-visibility-btn svg{height:14px;width:14px}.filter-visibility-btn.disabled{opacity:.3}.filter-icon{flex-shrink:0;font-size:.9rem;opacity:.7}.filter-name{flex:1;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-name.disabled{opacity:.5;text-decoration:line-through}.filter-delete-btn{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;opacity:.4;padding:.2rem}.filter-delete-btn:hover{color:var(--danger,var(--color-error));opacity:1}.filter-delete-btn svg{height:14px;width:14px}.filter-controls{border-top:1px solid var(--panel-border);padding-top:.75rem}.filter-controls-header{color:var(--app-text);font-size:.85rem;font-weight:600;margin-bottom:.5rem}.filter-type-controls{display:grid;gap:.45rem}.filter-type-controls .prop-label{margin-top:.2rem}.filter-color-row{align-items:center;display:flex;gap:.5rem}.filter-color-row input[type=color]{flex:1;height:32px}.filter-checkbox-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.filter-checkbox-row input[type=checkbox]{accent-color:var(--app-accent);cursor:pointer;height:16px;width:16px}.filter-checkbox-label{color:var(--app-muted);cursor:pointer;font-size:.75rem}.filter-no-selection{color:var(--app-muted);font-size:.8rem;font-style:italic;padding:.5rem;text-align:center}.filters-list-items::-webkit-scrollbar{width:5px}.filters-list-items::-webkit-scrollbar-track{background:transparent}.filters-list-items::-webkit-scrollbar-thumb{background:var(--neutral-400);border-radius:3px}.filters-list-items::-webkit-scrollbar-thumb:hover{background:var(--neutral-500)}.spline-tool-popout{width:280px}.spline-type-grid{display:grid;gap:4px;grid-template-columns:repeat(3,1fr)}.spline-type-btn{align-items:center;background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:6px;color:var(--neutral-500);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .15s ease;width:100%}.spline-type-btn:hover:not(:disabled){background:var(--popout-bg-tertiary);color:var(--neutral-white)}.spline-type-btn.active{background:var(--accent);border-color:var(--accent);color:var(--neutral-900)}.spline-type-btn:disabled{cursor:not-allowed;opacity:.4}.spline-preview{height:100px}.spline-fill-row{align-items:center;display:flex;gap:.5rem}.spline-fill-row .line-color-input{flex:1}.spline-fill-none-label{align-items:center;color:var(--popout-text-muted);cursor:pointer;display:flex;font-size:.75rem;gap:.3rem;white-space:nowrap}.spline-fill-none-label input[type=checkbox]{cursor:pointer;height:14px;width:14px}.spline-closed-label{align-items:center;color:var(--popout-text-secondary);cursor:pointer;display:flex;font-size:.8rem;gap:.4rem}.spline-closed-label input[type=checkbox]{cursor:pointer;height:16px;width:16px}.spline-arc-flags{display:flex;gap:1rem;margin-top:.5rem}.spline-arc-flag-label{align-items:center;color:var(--popout-text-muted);cursor:pointer;display:flex;font-size:.75rem;gap:.3rem}.spline-arc-flag-label input[type=checkbox]{cursor:pointer;height:14px;width:14px}.spline-instructions{padding-bottom:.75rem}.spline-help-list{color:var(--neutral-500);font-size:.7rem;line-height:1.6;margin:0;padding:0 0 0 1rem}.spline-help-list li{margin-bottom:.15rem}.spline-help-list strong{color:var(--popout-text-muted)}.spline-anchor-point{cursor:move;fill:var(--neutral-white);stroke:var(--neutral-700);stroke-width:1.5}.spline-anchor-point.selected,.spline-anchor-point:hover{fill:var(--accent);stroke:var(--neutral-900)}.spline-anchor-point.selected{stroke-width:2}.spline-handle-point{cursor:move;fill:none;stroke:var(--neutral-500);stroke-width:1.5}.spline-handle-point:hover{fill:var(--accent-soft);stroke:var(--accent)}.spline-handle-line{pointer-events:none;stroke:var(--neutral-600);stroke-dasharray:3 2;stroke-width:1}.spline-preview-point{fill:hsla(0,0%,100%,.5);stroke:var(--neutral-white);stroke-width:1}.spline-drawing-preview{pointer-events:none}.spline-drawing-preview path{fill:none;opacity:.7;stroke:var(--neutral-white);stroke-dasharray:5 3;stroke-width:2}.spline-close-indicator{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2}.canvas-spline-drawing{cursor:crosshair}.canvas-spline-close{cursor:pointer}.canvas-spline-edit{cursor:default}.geometry-value{color:var(--app-muted);font-family:var(--font-mono);font-size:.85rem}.panel-button{background:var(--surface);border:1px solid var(--chrome-border);border-radius:4px;color:var(--app-text);cursor:pointer;font-size:.85rem;margin-top:.5rem;padding:.5rem .75rem;transition:background-color .15s ease,border-color .15s ease;width:100%}.panel-button:hover{background:var(--hover-bg);border-color:var(--accent)}.panel-button:active{background:var(--active-bg)}.panel-button:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.vectorize-modal-overlay{align-items:center;background:rgba(0,0,0,.6);display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.vectorize-modal-overlay[hidden]{display:none}.vectorize-modal{background:var(--panel-bg);border:1px solid var(--chrome-border);border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.35);display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:90%}.vectorize-header{align-items:center;border-bottom:1px solid var(--chrome-border);display:flex;justify-content:space-between;padding:1rem 1.25rem}.vectorize-title{font-size:1.25rem;font-weight:700;margin:0}.vectorize-close{background:none;border:none;color:var(--app-muted);cursor:pointer;font-size:1.75rem;line-height:1;padding:.25rem}.vectorize-close:hover{color:var(--app-text)}.vectorize-body{display:flex;flex:1;min-height:0;overflow:hidden}.vectorize-preview-section{background:var(--neutral-200);border-right:1px solid var(--chrome-border);display:flex;flex:1;flex-direction:column;min-width:0;padding:1rem}.vectorize-preview-container{display:flex;flex:1;gap:1rem;min-height:0}.vectorize-preview-pane{background:var(--neutral-300);border-radius:8px;display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.vectorize-preview-label{background:var(--neutral-250);border-bottom:1px solid var(--chrome-border);color:var(--app-muted);font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.5rem .75rem;text-transform:uppercase}.vectorize-preview-content{align-items:center;display:flex;flex:1;justify-content:center;min-height:200px;overflow:hidden;padding:1rem}.vectorize-preview-content img,.vectorize-preview-content svg{max-height:100%;max-width:100%;object-fit:contain}.vectorize-preview-error,.vectorize-preview-loading{align-items:center;color:var(--dark-text-muted);display:flex;flex-direction:column;font-size:.85rem;justify-content:center;min-height:100px;padding:2rem;text-align:center}.vectorize-spinner{animation:vectorize-spin .8s linear infinite;border:4px solid var(--dark-border);border-radius:50%;border-top-color:var(--brand-primary);display:block;height:40px;margin-bottom:.75rem;width:40px}@keyframes vectorize-spin{to{transform:rotate(1turn)}}.vectorize-processing,.vectorize-processing *{cursor:wait!important}.vectorize-preview-error{color:var(--error-500)}.vectorize-preview-quality{align-items:center;display:flex;gap:.5rem;margin-top:auto;padding-top:.75rem}.vectorize-preview-quality-label{color:var(--app-muted);font-size:.8rem}.vectorize-settings-section{flex-shrink:0;overflow-y:auto;padding:1rem;width:280px}.vectorize-setting-group{margin-bottom:1rem}.vectorize-setting-label{align-items:center;color:var(--app-text);display:flex;font-size:.85rem;font-weight:500;justify-content:space-between;margin-bottom:.5rem}.vectorize-value-display{color:var(--accent);font-family:var(--font-mono);font-size:.8rem;font-weight:600}.vectorize-mode-toggle{display:flex;gap:.25rem}.vectorize-toggle-btn{background:var(--surface);border:1px solid var(--chrome-border);color:var(--app-muted);cursor:pointer;flex:1;font-size:.85rem;padding:.5rem .75rem;transition:all .15s ease}.vectorize-toggle-btn:first-child{border-radius:4px 0 0 4px}.vectorize-toggle-btn:last-child{border-radius:0 4px 4px 0}.vectorize-toggle-btn:hover:not(.active){background:var(--hover-bg)}.vectorize-toggle-btn.active{background:var(--accent);border-color:var(--accent);color:var(--neutral-white);font-weight:500}.vectorize-slider{appearance:none;background:var(--neutral-300);border-radius:3px;cursor:pointer;height:6px;width:100%}.vectorize-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--neutral-white);border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2);cursor:pointer;height:16px;width:16px}.vectorize-slider::-moz-range-thumb{background:var(--accent);border:2px solid var(--neutral-white);border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2);cursor:pointer;height:16px;width:16px}.vectorize-slider-labels{color:var(--app-muted);display:flex;font-size:.7rem;justify-content:space-between;margin-top:.25rem}.vectorize-select{background:var(--surface);border:1px solid var(--chrome-border);border-radius:4px;color:var(--app-text);cursor:pointer;font-size:.85rem;padding:.5rem .75rem;width:100%}.vectorize-select:focus{border-color:var(--accent);outline:none}.vectorize-advanced{border-top:1px solid var(--chrome-border);margin-top:1rem;padding-top:1rem}.vectorize-advanced-btn{align-items:center;background:none;border:none;color:var(--app-muted);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 0;transition:color .15s ease;width:100%}.vectorize-advanced-btn:hover{color:var(--app-text)}.vectorize-chevron{transition:transform .2s ease}.vectorize-advanced-btn.expanded .vectorize-chevron{transform:rotate(90deg)}.vectorize-advanced-content{padding-top:.75rem}.vectorize-progress-container{border-top:1px solid var(--chrome-border);margin-top:1rem;padding-top:1rem}.vectorize-progress-bar-bg{background:var(--neutral-300);border-radius:4px;height:8px;overflow:hidden}.vectorize-progress-bar{background:var(--accent);border-radius:4px;height:100%;transition:width .3s ease;width:0}.vectorize-progress-text{color:var(--app-muted);display:block;font-size:.75rem;margin-top:.5rem;text-align:center}.vectorize-footer{border-top:1px solid var(--chrome-border);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem}.vectorize-btn{border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.25rem;transition:all .15s ease}.vectorize-btn-secondary{background:var(--surface);border:1px solid var(--chrome-border);color:var(--app-text)}.vectorize-btn-secondary:hover{background:var(--hover-bg)}.vectorize-btn-primary{background:var(--accent);border:1px solid var(--accent);color:var(--neutral-white)}.vectorize-btn-primary:hover{background:var(--accent-hover)}.vectorize-btn-primary:disabled{background:var(--neutral-400);border-color:var(--neutral-400);cursor:not-allowed}body.theme-dark .vectorize-modal{background:var(--panel-bg)}body.theme-dark .vectorize-preview-section{background:var(--dark-neutral-200)}body.theme-dark .vectorize-preview-pane{background:var(--dark-neutral-300)}body.theme-dark .vectorize-preview-label{background:var(--dark-neutral-250)}.pdf-pages-section{border-top:1px solid var(--button-border);margin-top:.5rem;max-width:100%;min-width:0;overflow:hidden;padding-top:.5rem}.pdf-pages-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.35rem}.pdf-pages-label{color:var(--app-muted);font-size:.7rem;font-weight:500}.pdf-add-page-select{background:var(--panel-bg);border:1px solid var(--button-border);border-radius:3px;color:var(--app-text);cursor:pointer;font-size:.65rem;padding:.1rem .2rem}.pdf-pages-list{border:1px solid var(--button-border);border-radius:4px;max-height:120px;min-width:0;overflow-x:hidden;overflow-y:auto;position:relative}.pdf-pages-empty{color:var(--app-muted);font-size:.7rem;font-style:italic;padding:.5rem;text-align:center}.pdf-page-row{align-items:center;background:var(--panel-bg);border-bottom:1px solid var(--button-border);display:flex;gap:.3rem;max-width:100%;min-width:0;overflow:hidden;padding:.3rem .4rem;width:100%}.pdf-page-row:last-child{border-bottom:none}.pdf-page-row.dragging{background:var(--surface);border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:grabbing;position:absolute;z-index:1000}.pdf-page-drag-placeholder{background:var(--accent-soft,rgba(59,130,246,.1));border:1px dashed var(--accent);border-radius:4px}.pdf-page-row.drag-over{border-top:2px solid var(--accent)}.pdf-page-drag-handle{align-items:center;cursor:grab;display:flex;opacity:.4;padding:0 .1rem;touch-action:none}.pdf-page-drag-handle:hover{opacity:.8}.pdf-page-drag-handle:active{cursor:grabbing}.pdf-page-number{color:var(--app-muted);font-size:.65rem;font-weight:500;min-width:16px}.pdf-page-source{color:var(--app-text);flex:1;font-size:.68rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-page-delete{align-items:center;background:none;border:none;color:var(--app-muted);cursor:pointer;display:flex;flex-shrink:0;opacity:0;padding:.15rem;transition:opacity .15s}.pdf-page-row:hover .pdf-page-delete{opacity:1}.pdf-page-delete:hover{color:var(--danger,#dc3545)}.pdf-page-row.pdf-page-warning{background:rgba(240,173,78,.08)}.pdf-page-row.pdf-page-error{background:rgba(220,53,69,.08)}.pdf-page-warning-icon{color:var(--warning,#f0ad4e);cursor:help;flex-shrink:0;font-size:.65rem}.pdf-page-row.pdf-page-error .pdf-page-warning-icon{color:var(--danger,#dc3545)}.export-settings-btn-group{display:flex;gap:0}.export-settings-btn{background:var(--panel-bg);border:1px solid var(--button-border);color:var(--app-text);cursor:pointer;font-size:.75rem;padding:.25rem .6rem}.export-settings-btn:first-child{border-radius:4px 0 0 4px}.export-settings-btn:last-child{border-left:none;border-radius:0 4px 4px 0}.export-settings-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.export-settings-btn:hover:not(.active){background:var(--button-hover-bg)}.pdf-page-nav{background:var(--panel-bg);border-bottom:1px solid var(--button-border);gap:.5rem;padding:.35rem .5rem}.pdf-page-nav,.pdf-page-nav-btn{align-items:center;display:flex;justify-content:center}.pdf-page-nav-btn{background:var(--surface);border:1px solid var(--button-border);border-radius:4px;color:var(--app-text);cursor:pointer;height:24px;transition:background .15s,opacity .15s;width:24px}.pdf-page-nav-btn:hover:not(:disabled){background:var(--button-hover-bg)}.pdf-page-nav-btn:disabled{cursor:not-allowed;opacity:.4}.pdf-page-indicator{color:var(--app-text);font-size:.75rem;font-weight:500;min-width:50px;text-align:center}@media (max-width:768px){.vectorize-body{flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.vectorize-modal{max-height:calc(var(--app-viewport-height) - 24px)}.vectorize-preview-section{border-bottom:1px solid var(--chrome-border);border-right:none}.vectorize-settings-section{width:100%}.vectorize-preview-container{flex-direction:column}}.metadata-panel-content{display:flex;flex-direction:column;gap:.5rem}.metadata-content-wrapper{display:flex;flex-direction:column;gap:.25rem}.metadata-panel-section{border-bottom:1px solid var(--panel-border);padding:.5rem 0}.metadata-panel-section:last-child{border-bottom:none}.metadata-panel-section-header{color:var(--app-muted);font-size:.72rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.metadata-panel-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.metadata-panel-row:last-child{margin-bottom:0}.metadata-panel-label{color:var(--app-muted);font-size:.72rem}.metadata-panel-input,.metadata-panel-select,.metadata-panel-textarea{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;box-sizing:border-box;color:inherit;font-size:.8rem;padding:.35rem .5rem;width:100%}.metadata-panel-input:focus,.metadata-panel-select:focus,.metadata-panel-textarea:focus{border-color:var(--accent);outline:none}.metadata-panel-input:disabled{cursor:not-allowed;opacity:.5}.metadata-panel-textarea{font-family:inherit;min-height:50px;resize:vertical}.metadata-panel-select{cursor:pointer}.metadata-classes-container{display:flex;flex-direction:column;gap:.25rem}.metadata-class-tags{display:flex;flex-wrap:wrap;gap:.25rem;min-height:0}.metadata-class-tag{align-items:center;background:var(--accent);border-radius:3px;color:#fff;display:inline-flex;font-size:.72rem;gap:.25rem;padding:.15rem .4rem}.metadata-class-remove{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:flex;font-size:.85rem;height:14px;justify-content:center;line-height:1;opacity:.7;padding:0;width:14px}.metadata-class-remove:hover{opacity:1}.metadata-classes-input{flex:1}.metadata-custom-data-container{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.metadata-custom-data-row{align-items:center;display:flex;gap:.25rem}.metadata-data-key{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;color:inherit;flex:1;font-family:monospace;font-size:.75rem;padding:.3rem .4rem}.metadata-data-equals{color:var(--app-muted);font-size:.75rem}.metadata-data-value{background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;color:inherit;flex:1.5;font-size:.75rem;padding:.3rem .4rem}.metadata-data-key:focus,.metadata-data-value:focus{border-color:var(--accent);outline:none}.metadata-data-remove{align-items:center;background:transparent;border:none;color:var(--app-muted);cursor:pointer;display:flex;font-size:1rem;height:20px;justify-content:center;line-height:1;padding:0;width:20px}.metadata-data-remove:hover{color:var(--danger)}.metadata-add-data-btn{align-items:center;background:transparent;border:1px dashed var(--button-border);border-radius:4px;color:var(--app-muted);cursor:pointer;display:flex;font-size:.72rem;gap:.35rem;justify-content:center;padding:.35rem .5rem;transition:all .15s ease}.metadata-add-data-btn:hover{border-color:var(--accent);color:var(--accent)}.metadata-add-data-btn svg{flex-shrink:0}.metadata-multi-notice{align-items:center;background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;color:var(--app-muted);display:flex;font-size:.72rem;gap:.5rem;margin-top:.5rem;padding:.5rem}.metadata-multi-notice-icon{font-size:.85rem}.metadata-document-wrapper,.metadata-shape-wrapper{display:flex;flex-direction:column;gap:.5rem}.metadata-document-wrapper.hidden,.metadata-shape-wrapper.hidden{display:none}.metadata-document-header{align-items:center;border-bottom:1px solid var(--panel-border);display:flex;gap:.5rem;margin-bottom:.25rem;padding-bottom:.5rem}.metadata-document-header-icon{align-items:center;background:var(--accent);border-radius:4px;color:#fff;display:flex;height:24px;justify-content:center;width:24px}.metadata-document-header-icon svg{height:14px;width:14px}.metadata-document-header-text h4{font-size:.85rem;font-weight:600;margin:0}.metadata-document-header-text small{color:var(--app-muted);font-size:.7rem}.metadata-keyword-tags{display:flex;flex-wrap:wrap;gap:.25rem;min-height:0}.metadata-keyword-tag{align-items:center;background:var(--accent);border-radius:3px;color:#fff;display:inline-flex;font-size:.72rem;gap:.25rem;padding:.15rem .4rem}.metadata-keyword-remove{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:flex;font-size:.85rem;height:14px;justify-content:center;line-height:1;opacity:.7;padding:0;width:14px}.metadata-keyword-remove:hover{opacity:1}.metadata-license-url-row.hidden{display:none}.export-content-wrapper,.export-items-list,.export-panel-content{display:flex;flex-direction:column;gap:.5rem;min-width:0}.export-items-list{max-height:300px;overflow-y:auto}.export-item{align-items:stretch;background:var(--button-bg);border:1px solid var(--button-border);border-radius:6px;cursor:pointer;display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem;min-width:0;padding:.5rem;transition:border-color .15s ease}.export-item:hover{border-color:var(--accent)}.export-item.export-item-warning{background:rgba(240,173,78,.05);border-color:var(--warning,#f0ad4e)}.export-item.export-item-error{background:rgba(220,53,69,.05);border-color:var(--danger,#dc3545)}.export-item-warning-icon{color:var(--warning,#f0ad4e);cursor:help;font-size:.7rem}.export-item.export-item-error .export-item-warning-icon{color:var(--danger,#dc3545)}.export-item-preview{align-items:center;background:#fff;border:1px solid var(--button-border);border-radius:4px;display:flex;flex-shrink:0;height:48px;justify-content:center;overflow:hidden;width:48px}.export-item-preview img{max-height:100%;max-width:100%;object-fit:contain}.export-item-preview-placeholder{color:var(--app-muted);font-size:.75rem}.export-item-details{display:flex;flex:1;flex-direction:column;gap:.25rem;min-width:0}.export-item-header{align-items:center;display:flex;gap:.25rem}.export-item-filename{color:var(--app-text);font-size:.78rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-item-filename-input{background:var(--panel-bg);border:1px solid var(--accent);border-radius:3px;color:var(--app-text);flex:1;font-size:.78rem;outline:none;padding:.15rem .3rem}.export-item-edit-name{align-items:center;background:transparent;border:none;border-radius:2px;color:var(--app-muted);cursor:pointer;display:flex;justify-content:center;opacity:.6;padding:2px;transition:opacity .15s}.export-item:hover .export-item-edit-name{opacity:1}.export-item-edit-name:hover{color:var(--accent)}.export-item-info{align-items:center;display:flex;font-size:.68rem;gap:.35rem}.export-item-source{color:var(--app-muted)}.export-item-format-badge{border-radius:3px;font-size:.6rem;font-weight:600;padding:.1rem .3rem;text-transform:uppercase}.export-item-format-badge.svg{background:#e3f2fd;color:#1565c0}.export-item-format-badge.png{background:#fff3e0;color:#e65100}.export-item-format-badge.jpeg{background:#fce4ec;color:#c2185b}.export-item-format-badge.webp{background:#e8f5e9;color:#2e7d32}.export-item-format-badge.gif{background:#f3e5f5;color:#7b1fa2}.export-item-format-badge.html{background:#fff3e0;color:#e65100}.export-item-format-badge.pdf{background:#ffebee;color:#c62828}body.theme-dark .export-item-format-badge.svg{background:#1565c0;color:#e3f2fd}body.theme-dark .export-item-format-badge.png{background:#e65100;color:#fff3e0}body.theme-dark .export-item-format-badge.jpeg{background:#c2185b;color:#fce4ec}body.theme-dark .export-item-format-badge.webp{background:#2e7d32;color:#e8f5e9}body.theme-dark .export-item-format-badge.gif{background:#7b1fa2;color:#f3e5f5}body.theme-dark .export-item-format-badge.html{background:#e65100;color:#fff3e0}body.theme-dark .export-item-format-badge.pdf{background:#c62828;color:#ffebee}.export-item-scale{color:var(--app-muted);font-size:.65rem}.export-item-controls{display:flex;gap:.25rem}.export-item-format-select,.export-item-source-select{background:var(--panel-bg);border:1px solid var(--button-border);border-radius:3px;color:var(--app-text);cursor:pointer;font-size:.68rem;padding:.15rem .25rem}.export-item-source-select{flex:1;min-width:0}.export-item-source-select:disabled{background:var(--button-bg);cursor:not-allowed;opacity:.5}.export-item-format-select{width:50px}.export-item-actions{display:flex;flex-direction:column;gap:.25rem;justify-content:center}.export-item-download,.export-item-remove{align-items:center;background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;color:var(--app-text);cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;transition:all .15s ease;width:24px}.export-item-download:hover{background:var(--accent);border-color:var(--accent);color:#fff}.export-item-remove:hover{background:var(--danger);border-color:var(--danger);color:#fff}.export-add-btn{align-items:center;background:transparent;border:1px dashed var(--button-border);border-radius:4px;color:var(--app-muted);cursor:pointer;display:flex;font-size:.72rem;gap:.35rem;justify-content:center;padding:.4rem .5rem;transition:all .15s ease}.export-add-btn:hover{border-color:var(--accent);color:var(--accent)}.export-all-btn{align-items:center;background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.78rem;font-weight:500;gap:.4rem;justify-content:center;padding:.5rem .75rem;transition:background .15s ease}.export-all-btn:hover{background:var(--accent-hover)}.export-all-btn:disabled{cursor:not-allowed;opacity:.5}.export-settings-overlay{align-items:center;background:rgba(0,0,0,.5);display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.export-settings-modal{background:var(--panel-bg);border-radius:8px;box-shadow:var(--shadow);max-width:90vw;overflow:hidden;width:380px}.export-settings-header{align-items:center;border-bottom:1px solid var(--panel-border);display:flex;justify-content:space-between;padding:.75rem 1rem}.export-settings-modal-title{color:var(--app-text);font-size:.95rem;font-weight:600;margin:0}.export-settings-close{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--app-muted);cursor:pointer;display:flex;font-size:1.25rem;height:28px;justify-content:center;transition:background .15s;width:28px}.export-settings-close:hover{background:var(--button-hover);color:var(--app-text)}.export-settings-preview{background:var(--input-bg);border-bottom:1px solid var(--panel-border);flex-direction:column;min-height:180px;padding:1rem}.export-preview-container,.export-settings-preview{align-items:center;display:flex;justify-content:center;position:relative}.export-preview-container{cursor:grab;flex:1;overflow:hidden;width:100%}.export-preview-container.panning{cursor:grabbing}.export-preview-container.panning .export-preview-image-wrapper{transition:none}.export-preview-image-wrapper{align-items:center;display:flex;justify-content:center;pointer-events:none;transform-origin:center center;transition:transform .15s ease;user-select:none}.export-preview-image-wrapper img{pointer-events:none;user-select:none;-webkit-user-drag:none}.export-settings-preview img{border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.15);max-height:160px;max-width:100%;object-fit:contain}.export-preview-zoom-controls{display:flex;gap:.25rem;margin-top:.5rem}.export-preview-zoom-btn{align-items:center;background:var(--panel-bg);border:1px solid var(--button-border);border-radius:4px;color:var(--app-text);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:background .15s,border-color .15s;width:28px}.export-preview-zoom-btn:hover{background:var(--button-hover);border-color:var(--accent)}.export-preview-zoom-btn:active{background:var(--button-active)}.export-preview-transparent-wrapper{background-color:#fff;background-image:linear-gradient(45deg,#ccc 25%,transparent 0),linear-gradient(-45deg,#ccc 25%,transparent 0),linear-gradient(45deg,transparent 75%,#ccc 0),linear-gradient(-45deg,transparent 75%,#ccc 0);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border-radius:4px;display:inline-block;padding:4px}.export-preview-transparent-wrapper img{border-radius:2px;display:block;max-height:152px;max-width:100%;object-fit:contain}.export-settings-preview-placeholder{color:var(--app-muted);font-size:.8rem;font-style:italic}.export-settings-body{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.export-settings-row{align-items:center;display:flex;gap:.5rem}.export-settings-label{align-items:center;color:var(--app-text);display:flex;font-size:.8rem;gap:.4rem}.export-settings-label input[type=checkbox]{cursor:pointer;height:14px;width:14px}.export-settings-select{background:var(--panel-bg);border:1px solid var(--button-border);border-radius:4px;color:var(--app-text);flex:1;font-size:.8rem;padding:.35rem .5rem}.export-settings-footer{border-top:1px solid var(--panel-border);display:flex;justify-content:flex-end;padding:.75rem 1rem}.export-settings-done-btn{background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:.4rem 1rem;transition:background .15s ease}.export-settings-done-btn:hover{background:var(--accent-hover)}.export-settings-input{background:var(--panel-bg);border:1px solid var(--button-border);border-radius:4px;color:var(--app-text);flex:1;font-size:.8rem;padding:.35rem .5rem}.export-settings-input:focus{border-color:var(--accent);outline:none}.export-settings-filename-row{align-items:center;border-bottom:1px solid var(--panel-border);display:flex;gap:.5rem;margin-bottom:.25rem;padding-bottom:.5rem}.export-settings-filename-label{color:var(--app-muted);font-size:.75rem;min-width:55px}.export-settings-dimensions-row{align-items:center;display:flex;gap:.5rem}.export-settings-dimension-input{background:var(--panel-bg);border:1px solid var(--button-border);border-radius:4px;color:var(--app-text);font-size:.8rem;padding:.35rem .5rem;text-align:center;width:70px}.export-settings-dimension-input:focus{border-color:var(--accent);outline:none}.export-settings-dimension-input:disabled{cursor:not-allowed;opacity:.5}.export-settings-dimension-x{color:var(--app-muted);font-size:.75rem}.export-settings-lock-btn{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--app-muted);cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;transition:background .15s,color .15s;width:24px}.export-settings-lock-btn:hover{background:var(--button-hover)}.export-settings-lock-btn.locked{color:var(--accent)}.export-settings-section-label{color:var(--app-muted);font-size:.7rem;letter-spacing:.5px;margin-top:.25rem;text-transform:uppercase}.export-settings-hint{color:var(--app-muted);font-size:.7rem;font-style:italic;margin-left:auto}.export-settings-quality-row{align-items:center;display:flex;gap:.5rem}.export-settings-range{-webkit-appearance:none;appearance:none;background:var(--button-border);border-radius:2px;cursor:pointer;flex:1;height:4px}.export-settings-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);border:none;border-radius:50%;cursor:pointer;height:14px;width:14px}.export-settings-range::-moz-range-thumb{background:var(--accent);border:none;border-radius:50%;cursor:pointer;height:14px;width:14px}.export-settings-quality-value{color:var(--app-muted);font-size:.75rem;min-width:35px;text-align:right}@media (max-width:900px),(pointer:coarse){.export-item{align-items:stretch!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important}.export-item-preview{flex-shrink:0;height:44px;width:44px}.export-item-details{display:flex;flex:1;flex-direction:column;min-width:0}.export-item-actions{align-items:center;display:flex;flex-direction:row;gap:.25rem}.export-item-controls{flex-wrap:wrap}.export-item-source-select{flex:1 1 auto;min-width:70px}.export-item-format-select{flex:0 0 auto;width:auto}.export-panel-content{min-width:200px}}.svgo-options-container{background:var(--panel-bg);border:1px solid var(--button-border);border-radius:4px;margin-top:.25rem;padding:.5rem}.svgo-options-container.hidden{display:none}.svgo-options-grid{display:grid;gap:.35rem .75rem;grid-template-columns:repeat(2,1fr);margin-top:.5rem}.svgo-option{align-items:center;cursor:pointer;display:flex;font-size:.7rem;gap:.35rem}.svgo-option input[type=checkbox]{cursor:pointer;margin:0}.export-settings-input-small{background:var(--panel-bg);border:1px solid var(--button-border);border-radius:4px;color:var(--app-text);font-size:.75rem;padding:.25rem .4rem;width:60px}.export-settings-input-small:focus{border-color:var(--accent);outline:none}.ico-sizes-grid{display:grid;gap:.35rem .5rem;grid-template-columns:repeat(3,1fr);margin-top:.5rem}.ico-size-option{align-items:center;cursor:pointer;display:flex;font-size:.75rem;gap:.35rem}.ico-size-option input[type=checkbox]{cursor:pointer;margin:0}.ico-selected-sizes{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.ico-size-badge{background:var(--accent);border-radius:3px;color:#fff;display:inline-block;font-size:.7rem;padding:.2rem .5rem}.ico-no-sizes{color:var(--tool-icon);font-size:.7rem;font-style:italic}.command-palette-overlay{align-items:flex-start;background:rgba(0,0,0,.5);display:flex;inset:0;justify-content:center;padding-top:15vh;position:fixed;z-index:10001}.command-palette-overlay[hidden]{display:none}.command-palette{background:var(--panel-bg);border:1px solid var(--chrome-border);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.4);display:flex;flex-direction:column;max-height:60vh;max-width:600px;overflow:hidden;width:90%}.command-palette-header{border-bottom:1px solid var(--chrome-border);padding:.75rem}.command-palette-input{background:var(--canvas-bg);border:1px solid var(--chrome-border);border-radius:6px;color:var(--app-text);font-size:1rem;outline:none;padding:.65rem 1rem;width:100%}.command-palette-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.2)}.command-palette-input::placeholder{color:var(--app-muted)}.command-palette-results{flex:1;overflow-y:auto;padding:.5rem}.command-palette-header+.command-palette-results:empty:after{content:"Type to search commands...";display:block}.command-palette-empty,.command-palette-header+.command-palette-results:empty:after{color:var(--app-muted);font-size:.875rem;padding:1rem;text-align:center}.command-palette-header.command-palette-header{color:var(--app-muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;margin-top:.25rem;padding:.5rem .75rem .35rem;text-transform:uppercase}.command-palette-header:first-child{margin-top:0}.command-palette-item{align-items:center;background:transparent;border:none;border-radius:6px;color:var(--app-text);cursor:pointer;display:flex;font-size:.875rem;justify-content:space-between;margin:2px 0;padding:.6rem .75rem;text-align:left;transition:background-color .1s;width:100%}.command-palette-item.selected,.command-palette-item:hover{background:var(--menu-hover)}.command-palette-item.selected{background:var(--accent);color:#fff}.command-palette-item-content{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette-category{color:var(--app-muted);font-weight:500}.command-palette-item.selected .command-palette-category{color:hsla(0,0%,100%,.8)}.command-palette-name{font-weight:400}.command-palette-shortcut{background:var(--chrome-border);border-radius:4px;color:var(--app-muted);flex-shrink:0;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.75rem;margin-left:1rem;padding:.2rem .5rem}.command-palette-item.selected .command-palette-shortcut{background:hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.9)}body.theme-dark .command-palette{box-shadow:0 8px 32px rgba(0,0,0,.6)}body.theme-dark .command-palette-input{background:var(--canvas-bg)}@media (max-width:640px){.command-palette-overlay{padding-top:10vh}.command-palette{max-height:70vh}.command-palette-input{font-size:16px}}.chart-tool-popout{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:8px;box-shadow:var(--popout-shadow);color:var(--popout-text-secondary);display:none;font-size:.8rem;max-height:calc(var(--app-viewport-height) - 80px);overflow-y:auto;position:fixed;width:280px;z-index:10000}.chart-tool-popout.open{display:block}.chart-tool-popout:before{content:"";height:100%;left:-12px;position:absolute;top:0;width:12px}.chart-tool-popout::-webkit-scrollbar{width:6px}.chart-tool-popout::-webkit-scrollbar-track{background:transparent}.chart-tool-popout::-webkit-scrollbar-thumb{background:var(--popout-bg-tertiary);border-radius:3px}.chart-tool-popout::-webkit-scrollbar-thumb:hover{background:var(--popout-scrollbar-hover)}.chart-preview-container{align-items:center;background:var(--popout-bg-deep);border:1px solid var(--popout-border);border-radius:6px;display:flex;justify-content:center;min-height:100px;padding:8px}.chart-preview-svg{background:var(--popout-bg-secondary);border-radius:4px;height:100px;width:100%}.chart-type-select-wrapper{width:100%}.chart-type-select{appearance:none;background:var(--popout-bg-secondary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='m2 4 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;border:1px solid var(--popout-border);border-radius:6px;color:var(--popout-text-primary);cursor:pointer;font-size:.8rem;padding:8px 12px;width:100%}.chart-type-select:hover{background-color:var(--popout-bg-tertiary);border-color:var(--popout-border-subtle)}.chart-type-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,231,255,.2);outline:none}.chart-type-select option{background:var(--popout-bg-secondary);color:var(--popout-text-primary);padding:8px}.chart-type-select option:active,.chart-type-select option:checked{background:var(--color-selection);color:#fff}.chart-type-select[size] option:hover{background:var(--popout-bg-tertiary);color:var(--popout-text-primary)}.chart-type-grid{display:grid;gap:6px;grid-template-columns:repeat(3,1fr)}.chart-type-btn{align-items:center;aspect-ratio:1;background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:6px;color:var(--popout-text-muted);cursor:pointer;display:flex;flex-direction:column;gap:4px;justify-content:center;padding:8px;transition:all .15s ease;width:100%}.chart-type-btn:hover{background:var(--popout-bg-tertiary);border-color:var(--popout-border-subtle);color:var(--popout-text-secondary)}.chart-type-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.chart-type-btn svg{height:24px;width:24px}.chart-type-btn span{font-size:.65rem;letter-spacing:.03em;text-transform:uppercase}.chart-data-table{border-collapse:collapse;width:100%}.chart-data-table th{border-bottom:1px solid var(--popout-border-subtle);color:var(--popout-text-muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:.25rem .5rem;text-align:left;text-transform:uppercase}.chart-data-table td{padding:.25rem;vertical-align:middle}.chart-data-table .form-control-sm{font-size:.75rem;height:auto;padding:.25rem .5rem}.chart-data-table .chart-label-input{width:100%}.chart-data-table .chart-value-input{width:80px}.chart-data-table .btn-outline-danger{border-color:var(--popout-border);color:var(--popout-text-muted);font-size:.7rem;padding:.125rem .375rem}.chart-data-table .btn-outline-danger:hover{background:var(--danger-color,#dc3545);border-color:var(--danger-color,#dc3545);color:#fff}.chart-options-grid{display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.chart-options-grid .form-check{margin-bottom:0}.chart-options-grid .form-check-label{color:var(--popout-text-secondary);font-size:.75rem}.chart-options{display:flex;flex-direction:column;gap:.5rem}.chart-option-row{align-items:center;color:var(--popout-text-secondary);display:flex;font-size:.8rem;gap:.5rem}.chart-option-row input[type=checkbox]{margin:0}.chart-option-label{color:var(--popout-text-muted);font-size:.75rem;min-width:50px}.chart-select{background:var(--popout-bg-deep);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);flex:1;font-size:.75rem;padding:.25rem .5rem}.chart-select option{background:var(--popout-bg-secondary);color:var(--popout-text-primary)}.chart-select:focus{border-color:var(--primary-color);outline:none}#chart-titles-section{display:none}#chart-titles-section.show{display:block}.chart-titles-grid{display:flex;flex-direction:column;gap:.4rem}.chart-title-row{align-items:center;display:flex;gap:.5rem}.chart-title-label{color:var(--popout-text-muted);flex-shrink:0;font-size:.7rem;min-width:70px}.chart-title-input{background:var(--popout-bg-deep);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);flex:1;font-size:.75rem;padding:.25rem .5rem}.chart-title-input:focus{border-color:var(--primary-color);outline:none}.chart-title-input::placeholder{color:var(--popout-text-muted);opacity:.6}.math-tool-popout{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:8px;box-shadow:var(--popout-shadow);color:var(--popout-text-secondary);display:none;font-size:.8rem;max-height:calc(var(--app-viewport-height) - 80px);overflow-y:auto;position:fixed;width:280px;z-index:10000}.math-tool-popout.open{display:block}.math-tool-popout:before{content:"";height:100%;left:-12px;position:absolute;top:0;width:12px}.math-tool-popout::-webkit-scrollbar{width:6px}.math-tool-popout::-webkit-scrollbar-track{background:transparent}.math-tool-popout::-webkit-scrollbar-thumb{background:var(--popout-bg-tertiary);border-radius:3px}.math-tool-popout::-webkit-scrollbar-thumb:hover{background:var(--popout-scrollbar-hover)}.math-preview-container{background:var(--popout-bg-deep);border:1px solid var(--popout-border);border-radius:6px;min-height:80px;padding:12px}.math-preview,.math-preview-container{align-items:center;display:flex;justify-content:center}.math-preview{color:var(--popout-text-primary);font-size:1.2rem;min-height:60px;width:100%}.math-preview svg{fill:currentColor;max-height:100px;max-width:100%}.math-preview .math-error{color:var(--error-color,#e74c3c);font-size:.75rem;text-align:center}.math-preview .math-placeholder{color:var(--popout-text-muted);font-size:.8rem;font-style:italic}.math-latex-input{background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:6px;color:var(--popout-text-primary);font-family:Consolas,Monaco,Courier New,monospace;font-size:.85rem;min-height:60px;padding:10px 12px;resize:vertical;width:100%}.math-latex-input:hover{background-color:var(--popout-bg-tertiary);border-color:var(--popout-border-subtle)}.math-latex-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,231,255,.2);outline:none}.math-latex-input::placeholder{color:var(--popout-text-muted);font-style:italic}.math-template-select{appearance:none;background:var(--popout-bg-secondary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='m2 4 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;border:1px solid var(--popout-border);border-radius:6px;color:var(--popout-text-primary);cursor:pointer;font-size:.8rem;padding:8px 12px;width:100%}.math-template-select:hover{background-color:var(--popout-bg-tertiary);border-color:var(--popout-border-subtle)}.math-template-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,231,255,.2);outline:none}.math-template-select optgroup,.math-template-select option{background:var(--popout-bg-secondary);color:var(--popout-text-primary)}.barcode-tool-popout{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:8px;box-shadow:var(--popout-shadow);color:var(--popout-text-secondary);display:none;font-size:.8rem;max-height:calc(var(--app-viewport-height) - 80px);overflow-y:auto;position:fixed;width:300px;z-index:10000}.barcode-tool-popout.open{display:block}.barcode-tool-popout:before{content:"";height:100%;left:-12px;position:absolute;top:0;width:12px}.barcode-tool-popout::-webkit-scrollbar{width:6px}.barcode-tool-popout::-webkit-scrollbar-track{background:transparent}.barcode-tool-popout::-webkit-scrollbar-thumb{background:var(--popout-bg-tertiary);border-radius:3px}.barcode-tool-popout::-webkit-scrollbar-thumb:hover{background:var(--popout-scrollbar-hover)}.barcode-preview-container{align-items:center;background:#fff;border:1px solid var(--popout-border);border-radius:6px;display:flex;justify-content:center;min-height:100px;padding:12px}.barcode-preview-svg{height:auto;max-height:100px;width:100%}.barcode-type-toggle{background:var(--popout-bg-deep);border-radius:6px;display:flex;gap:4px;padding:3px}.barcode-type-btn{background:transparent;border:none;border-radius:4px;color:var(--popout-text-secondary);cursor:pointer;flex:1;font-size:.8rem;padding:8px 12px;transition:all .15s ease}.barcode-type-btn:hover{background:var(--popout-bg-tertiary);color:var(--popout-text-primary)}.barcode-type-btn.active{background:var(--accent);color:#fff}.barcode-options-section{display:block}.barcode-options-section[hidden]{display:none}.barcode-value-input{background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:6px;color:var(--popout-text-primary);font-family:Consolas,Monaco,Courier New,monospace;font-size:.85rem;padding:10px 12px;resize:vertical;width:100%}textarea.barcode-value-input{min-height:50px}.barcode-value-input:hover{background-color:var(--popout-bg-tertiary);border-color:var(--popout-border-subtle)}.barcode-value-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,231,255,.2);outline:none}.barcode-value-input::placeholder{color:var(--popout-text-muted);font-style:italic}.barcode-select{appearance:none;background:var(--popout-bg-secondary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='m2 4 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;border:1px solid var(--popout-border);border-radius:6px;color:var(--popout-text-primary);cursor:pointer;font-size:.8rem;padding:8px 12px;width:100%}.barcode-select:hover{background-color:var(--popout-bg-tertiary);border-color:var(--popout-border-subtle)}.barcode-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,231,255,.2);outline:none}.barcode-select optgroup,.barcode-select option{background:var(--popout-bg-secondary);color:var(--popout-text-primary)}.barcode-label-options{align-items:center;display:flex;gap:12px}.barcode-checkbox-label{align-items:center;color:var(--popout-text-secondary);cursor:pointer;display:flex;font-size:.8rem;gap:6px}.barcode-checkbox-label input[type=checkbox]{accent-color:var(--accent);height:14px;width:14px}.barcode-label-pos-select{min-width:80px;width:auto}.barcode-color-options{display:flex;flex-direction:column;gap:8px}.barcode-color-row{align-items:center;display:flex;gap:8px}.barcode-color-row label{color:var(--popout-text-secondary);font-size:.8rem;min-width:80px}.barcode-color-input{background:none;border:1px solid var(--popout-border);border-radius:4px;cursor:pointer;height:24px;padding:0;width:32px}.barcode-color-input::-webkit-color-swatch-wrapper{padding:2px}.barcode-color-input::-webkit-color-swatch{border:none;border-radius:2px}.barcode-transparent-check{margin-left:auto}.popout-color-row{align-items:center;display:flex;gap:8px}.popout-color-input{background:none;border:1px solid var(--popout-border);border-radius:4px;cursor:pointer;flex-shrink:0;height:24px;padding:0;width:32px}.popout-color-input::-webkit-color-swatch-wrapper{padding:2px}.popout-color-input::-webkit-color-swatch{border:none;border-radius:2px}.popout-color-text{background:var(--popout-bg-deep);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);font-family:monospace;font-size:.75rem;padding:2px 6px;width:72px}.popout-color-text:focus{border-color:var(--primary);outline:none}#chart-panel{bottom:auto;max-height:calc(var(--app-viewport-height, 100vh) - 120px);overflow-y:auto;top:80px}#chart-panel-editor{display:flex;flex-direction:column;gap:.75rem}.chart-panel-section{margin-bottom:.25rem}.chart-panel-section .prop-label{color:var(--neutral-500,#6b7280);display:block;font-size:.7rem;font-weight:600;letter-spacing:.03em;margin-bottom:.35rem;text-transform:uppercase}#chart-data-panel{display:none}#chart-data-panel .prop-flyout-content{padding:.75rem}#chart-data-panel .form-select-sm{font-size:.8rem;padding:.375rem .75rem}#chart-data-panel .chart-data-table-wrapper{margin-bottom:.5rem;max-height:200px;overflow-y:auto}#chart-data-panel .btn-primary{background:var(--accent);border-color:var(--accent)}#chart-data-panel .btn-primary:hover{background:var(--brand-primary-dark);border-color:var(--brand-primary-dark)}.chart-data-quick{max-height:200px;overflow-y:auto}.chart-data-header{border-bottom:1px solid var(--popout-border-subtle);color:var(--popout-text-muted);display:grid;font-size:.7rem;font-weight:600;gap:.25rem;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.chart-data-header,.chart-data-header.scatter-mode{grid-template-columns:1fr 1fr 24px}.chart-data-header .chart-header-col1,.chart-data-header .chart-header-col2{text-align:left}.chart-data-row{align-items:center;display:grid;gap:.25rem;padding:.25rem .5rem}.chart-data-row,.chart-data-row.scatter-mode{grid-template-columns:1fr 1fr 24px}.chart-data-row input{background:var(--popout-bg-tertiary);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);font-size:.75rem;padding:.25rem .5rem;width:100%}.chart-data-row input:focus{border-color:var(--accent);outline:none}.chart-data-row input[type=number]{-moz-appearance:textfield;appearance:textfield}.chart-data-row input[type=number]::-webkit-inner-spin-button,.chart-data-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.chart-row-delete{align-items:center;background:transparent;border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-muted);cursor:pointer;display:flex;font-size:1rem;height:24px;justify-content:center;line-height:1;padding:0;width:24px}.chart-row-delete:hover{background:var(--danger-color,#dc3545);border-color:var(--danger-color,#dc3545);color:#fff}.chart-add-row-btn{background:transparent;border:1px dashed var(--popout-border);border-radius:4px;color:var(--popout-text-muted);cursor:pointer;font-size:.75rem;margin-top:.5rem;padding:.375rem;width:100%}.chart-add-row-btn:hover{border-color:var(--accent);color:var(--accent)}.chart-update-btn{background:#4a90d9;border:1px solid #4a90d9;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;margin-top:.5rem;padding:.5rem .75rem;transition:background-color .2s,border-color .2s;width:100%}.chart-update-btn:hover{background:#3a7bc9;border-color:#3a7bc9}.chart-update-btn:active{transform:translateY(1px)}.chart-panel-data-table .chart-data-row{grid-template-columns:1fr 80px 24px}.chart-panel-data-table .chart-data-header{grid-template-columns:1fr 80px 24px;padding:.25rem .5rem}.chart-panel-data-table .chart-data-row input{background:#f9fafc;border:1px solid #c5cad4;color:#384150}.chart-panel-data-table .chart-data-row input:focus{border-color:#4a90d9;outline:none}.chart-panel-data-table{overflow:visible}.chart-axes-table{border-collapse:collapse;font-size:.75rem;width:100%}.chart-axes-table th{border-bottom:1px solid var(--popout-border);color:var(--popout-text-muted);font-size:.65rem;font-weight:500;letter-spacing:.03em;padding:.25rem .5rem;text-align:center;text-transform:uppercase}.chart-axes-table th:first-child{padding-left:0;text-align:left}.chart-axes-table td{border-bottom:1px solid var(--popout-border-subtle);padding:.35rem .5rem;text-align:center}.chart-axes-table td:first-child{padding-left:0;text-align:left}.chart-axes-table tr:last-child td{border-bottom:none}.chart-axes-table .axis-name{color:var(--popout-text-secondary);font-weight:500}.chart-axes-table input[type=checkbox]{accent-color:var(--accent);cursor:pointer;height:14px;margin:0;width:14px}#chart-axes-section{display:none}#chart-axes-section.show{display:block}#chart-line-options-section{display:none}#chart-line-options-section.show{display:block}.chart-import-zone{margin-bottom:.75rem}.chart-import-dropzone{align-items:center;background:var(--popout-bg-tertiary);border:2px dashed var(--popout-border);border-radius:6px;color:var(--popout-text-muted);cursor:pointer;display:flex;flex-direction:column;font-size:.75rem;gap:.5rem;justify-content:center;padding:1rem;transition:border-color .2s,background-color .2s}.chart-import-dropzone.drag-over,.chart-import-dropzone:hover{background:rgba(0,231,255,.1);border-color:var(--accent)}.chart-import-dropzone svg{opacity:.5}.chart-import-browse{color:var(--accent);cursor:pointer;text-decoration:underline}.chart-import-browse:hover{color:var(--brand-primary-dark)}.chart-import-config,.chart-import-schema{background:var(--popout-bg-tertiary);border-radius:6px;margin-bottom:.75rem;padding:.75rem}.chart-import-section{border-bottom:1px solid var(--popout-border);margin-bottom:.75rem;padding-bottom:.5rem}.chart-import-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.chart-import-section-header{color:var(--popout-text-muted);font-size:.65rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.chart-import-filename{background:var(--popout-bg-secondary);border-radius:4px;color:var(--popout-text-muted);font-size:.7rem;margin-bottom:.5rem;overflow:hidden;padding:.25rem .5rem;text-overflow:ellipsis;white-space:nowrap}.chart-import-row{margin-bottom:.5rem}.chart-import-row label{color:var(--popout-text-secondary);display:block;font-size:.7rem;margin-bottom:.25rem}.chart-import-select{border:1px solid var(--popout-border);color:var(--popout-text-primary);font-size:.75rem;padding:.35rem .5rem;width:100%}.chart-import-select,.chart-import-y-columns{background:var(--popout-bg-secondary);border-radius:4px}.chart-import-y-columns{display:flex;flex-wrap:wrap;gap:.5rem;max-height:100px;overflow-y:auto;padding:.25rem}.chart-import-y-option{align-items:center;color:var(--popout-text-secondary);display:flex;font-size:.7rem;gap:.25rem}.chart-import-y-option.disabled{opacity:.4;pointer-events:none}.chart-import-y-option input[type=checkbox]{accent-color:var(--accent);height:12px;width:12px}.chart-import-y-option input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.chart-import-y-option .column-type{color:var(--popout-text-muted);font-size:.6rem;opacity:.7}.chart-import-actions{display:flex;gap:.5rem;margin-top:.75rem}.chart-import-btn{background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-secondary);cursor:pointer;flex:1;font-size:.75rem;padding:.4rem .75rem;transition:background-color .2s}.chart-import-btn:hover{background:var(--popout-bg)}.chart-import-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.chart-import-btn-primary:hover{background:var(--brand-primary-dark)}.chart-import-binding-range{align-items:center;display:flex;gap:.35rem;margin-left:30%;margin-top:-.25rem}.chart-import-binding-range label{flex-shrink:0;font-size:.7rem;min-width:auto;width:auto}.chart-import-input-sm,.prop-input-sm{background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);flex-shrink:0;font-size:.7rem;padding:.25rem;text-align:center;width:45px}.chart-import-row>.chart-import-select+.chart-import-input-sm{margin-top:.35rem}.chart-import-binding-range span{color:var(--popout-text-secondary);flex-shrink:0;font-size:.65rem}.marker-toggle{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:.5rem}.marker-toggle input[type=checkbox]{cursor:pointer;height:14px;margin:0;width:14px}.chart-import-color-picker{background:transparent;border:1px solid var(--popout-border);border-radius:4px;cursor:pointer;height:24px;padding:0;width:60px}.chart-import-color-picker::-webkit-color-swatch-wrapper{padding:2px}.chart-import-color-picker::-webkit-color-swatch{border:none;border-radius:2px}.chart-import-range-inputs{align-items:center;display:flex;gap:.35rem}.chart-import-range-inputs span{color:var(--popout-text-secondary);font-size:.65rem}.chart-import-date-format-group{display:flex;flex-direction:column;gap:.5rem}.chart-import-date-format-group select{width:100%}.chart-import-input{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:4px;box-sizing:border-box;color:var(--popout-text-primary);font-size:.8rem;padding:.4rem .5rem;width:100%}.chart-import-input::placeholder{color:var(--popout-text-muted);opacity:.7}.date-format-preview{border-radius:3px;font-size:.7rem;margin-top:.25rem;padding:.15rem .35rem}.date-format-preview.valid{background:rgba(74,222,128,.1);color:var(--color-success)}.date-format-preview.invalid{background:hsla(0,91%,71%,.1);color:var(--color-error)}.aggregation-toggle{align-items:center;cursor:pointer;display:flex;gap:.5rem}.aggregation-toggle input[type=checkbox]{accent-color:var(--accent);height:12px;width:12px}.aggregation-toggle span{color:var(--popout-text-muted);font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.aggregation-controls{margin-top:.5rem}.aggregation-controls[hidden]{display:none}.chart-panel-import-section{border-top:1px solid var(--popout-border-subtle);margin-top:.5rem;padding-top:.5rem}.chart-panel-import-section .chart-import-btn{align-items:center;display:flex;flex:none;gap:.35rem;justify-content:center;width:100%}.chart-panel-import-config,.chart-panel-import-schema{background:#f0f3f8;border:1px solid #c5cad4;border-radius:4px;margin-top:.5rem;padding:.5rem}.chart-import-config-header{border-bottom:1px solid #e3e8f1;color:#384150;font-size:.7rem;font-weight:600;margin-bottom:.5rem;padding-bottom:.35rem}.chart-import-config-section{border-bottom:1px solid #e3e8f1;margin-bottom:.5rem;padding-bottom:.5rem}.chart-import-config-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.chart-import-config-section-header{color:#6b7280;font-size:.6rem;font-weight:600;letter-spacing:.05em;margin-bottom:.4rem;text-transform:uppercase}.chart-import-config-field{margin-bottom:.5rem}.chart-import-config-field:last-of-type{margin-bottom:0}.chart-import-config-field .prop-label{color:#6b7280;font-size:.65rem;margin-bottom:.25rem}.chart-import-config-field input[type=text]{background:#fff;border:1px solid #c5cad4;border-radius:4px;box-sizing:border-box;color:#1f2937;font-size:.8rem;margin-top:.35rem;padding:.4rem .5rem;width:100%}.chart-import-config-field input[type=text]::placeholder{color:#9ca3af}.chart-panel-import-config .chart-import-select,.chart-panel-import-schema .chart-import-select{background:#fff;border:1px solid #c5cad4;color:#384150}.chart-panel-import-config .chart-import-y-columns,.chart-panel-import-schema .chart-import-y-columns{background:#fff;border:1px solid #c5cad4}.chart-panel-import-config .chart-import-y-option,.chart-panel-import-schema .chart-import-y-option{color:#384150}.chart-panel-import-config .chart-import-y-option .column-type,.chart-panel-import-schema .chart-import-y-option .column-type{color:#6b7280}.chart-import-config-actions{border-top:1px solid #e3e8f1;display:flex;gap:.35rem;margin-top:.5rem;padding-top:.5rem}.chart-import-config-actions .chart-import-btn{background:#f9fafc;border:1px solid #c5cad4;color:#384150;flex:1;font-size:.7rem;padding:.35rem .5rem}.chart-import-config-actions .chart-import-btn:hover{background:#e3e8f1}.chart-import-config-actions .chart-import-btn-primary{background:#4a90d9;border-color:#4a90d9;color:#fff}.chart-import-config-actions .chart-import-btn-primary:hover{background:#3a7bc9;border-color:#3a7bc9}.chart-import-config-actions .chart-import-btn-secondary{background:transparent;border-color:#c5cad4;color:#6b7280}.chart-import-config-actions .chart-import-btn-secondary:hover{background:#e3e8f1;color:#384150}.chart-data-tabs{border:1px solid var(--popout-border);border-radius:4px;display:flex;margin-bottom:.75rem;overflow:hidden}.chart-data-tab{background:var(--popout-bg-secondary);border:none;color:var(--popout-text-secondary);cursor:pointer;flex:1;font-size:.75rem;font-weight:500;padding:.5rem .75rem;text-align:center;transition:background-color .2s,color .2s}.chart-data-tab:first-child{border-right:1px solid var(--popout-border)}.chart-data-tab:hover{background:var(--popout-bg-tertiary)}.chart-data-tab.active{background:var(--accent);color:#fff}.chart-panel-import-section .chart-data-tabs{border-color:#c5cad4}.chart-panel-import-section .chart-data-tab{background:#f9fafc;color:#6b7280}.chart-panel-import-section .chart-data-tab:first-child{border-right-color:#c5cad4}.chart-panel-import-section .chart-data-tab:hover{background:#f0f3f8}.chart-panel-import-section .chart-data-tab.active{background:#4a90d9;color:#fff}.random-data-generator{display:flex;flex-direction:column;gap:.75rem}.random-data-row-count{align-items:center;display:flex;gap:.5rem}.random-data-row-count label{color:var(--popout-text-secondary);font-size:.75rem}.random-row-count-input{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);font-size:.8rem;padding:.35rem .5rem;width:80px}.chart-panel-import-section .random-data-row-count label{color:#6b7280}.chart-panel-import-section .random-row-count-input{background:#fff;border-color:#c5cad4;color:#384150}.random-data-seed{align-items:center;display:flex;gap:.5rem}.random-data-seed label{color:var(--popout-text-secondary);font-size:.75rem}.random-seed-input{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);font-size:.8rem;padding:.35rem .5rem;width:100px}.random-seed-input::placeholder{color:var(--popout-text-muted);font-style:italic}.random-seed-random-btn{background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-secondary);cursor:pointer;font-size:.9rem;height:28px;line-height:1;padding:0;transition:background-color .2s;width:28px}.random-seed-random-btn:hover{background:var(--accent);border-color:var(--accent)}.random-seed-clear-btn{background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-secondary);cursor:pointer;font-size:.85rem;height:28px;line-height:1;padding:0;transition:background-color .2s;width:28px}.random-seed-clear-btn:hover:not(:disabled){background:#dc3545;border-color:#dc3545;color:#fff}.random-seed-clear-btn:disabled{cursor:not-allowed;opacity:.4}.chart-panel-import-section .random-data-seed label{color:#6b7280}.chart-panel-import-section .random-seed-input{background:#fff;border-color:#c5cad4;color:#384150}.chart-panel-import-section .random-seed-input::placeholder{color:#9ba3af}.chart-panel-import-section .random-seed-random-btn{background:#f3f4f6;border-color:#c5cad4;color:#384150}.chart-panel-import-section .random-seed-random-btn:hover{background:#e5e7eb}.chart-panel-import-section .random-seed-clear-btn{background:#f3f4f6;border-color:#c5cad4;color:#384150}.chart-panel-import-section .random-seed-clear-btn:hover:not(:disabled){background:#dc3545;border-color:#dc3545;color:#fff}.random-data-columns-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.random-data-columns-header span{color:var(--popout-text-muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.random-add-column-btn{background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-secondary);cursor:pointer;font-size:1rem;font-weight:700;height:22px;line-height:1;padding:0;transition:background-color .2s;width:22px}.random-add-column-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.chart-panel-import-section .random-data-columns-header span{color:#6b7280}.chart-panel-import-section .random-add-column-btn{background:#f9fafc;border-color:#c5cad4;color:#6b7280}.chart-panel-import-section .random-add-column-btn:hover{background:#4a90d9;border-color:#4a90d9;color:#fff}.random-column-list{display:flex;flex-direction:column;gap:.5rem}.random-column{background:var(--popout-bg-secondary);border:1px solid var(--popout-border);border-radius:6px;padding:.5rem;transition:border-color .2s,box-shadow .2s}.random-column.dragging{opacity:.5}.random-column.drag-over{box-shadow:0 0 0 2px rgba(74,144,217,.2)}.chart-panel-import-section .random-column{background:#f9fafc;border-color:#c5cad4}.chart-panel-import-section .random-column.drag-over{border-color:#4a90d9}.random-column-header{align-items:center;display:flex;gap:.35rem;margin-bottom:.5rem}.random-column-drag-handle{color:var(--popout-text-muted);cursor:grab;font-size:.8rem;padding:0 .15rem;user-select:none}.random-column-drag-handle:active{cursor:grabbing}.chart-panel-import-section .random-column-drag-handle{color:#9ca3af}.random-column-name{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);flex:1;font-size:.8rem;padding:.3rem .5rem}.chart-panel-import-section .random-column-name{background:#fff;border-color:#c5cad4;color:#384150}.random-column-delete{background:transparent;border:none;border-radius:4px;color:var(--popout-text-muted);cursor:pointer;font-size:.9rem;height:20px;line-height:1;padding:0;transition:color .2s,background-color .2s;width:20px}.random-column-delete:hover{background:rgba(220,38,38,.1);color:#dc2626}.random-operations-list{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.35rem}.random-operation{align-items:center;background:var(--popout-bg-tertiary);border-radius:4px;display:flex;flex-wrap:wrap;gap:.35rem;padding:.35rem;transition:background-color .2s}.random-operation.dragging{opacity:.5}.random-operation.drag-over{background:rgba(74,144,217,.15)}.chart-panel-import-section .random-operation{background:#e3e8f1}.chart-panel-import-section .random-operation.drag-over{background:rgba(74,144,217,.15)}.random-operation-operator{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);font-size:.85rem;font-weight:700;padding:.25rem;text-align:center;width:36px}.chart-panel-import-section .random-operation-operator{background:#fff;border-color:#c5cad4;color:#384150}.random-operation-drag-handle{color:var(--popout-text-muted);cursor:grab;font-size:.7rem;padding:0 .15rem;user-select:none}.random-operation-drag-handle:active{cursor:grabbing}.chart-panel-import-section .random-operation-drag-handle{color:#9ca3af}.random-operation-type{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:4px;color:var(--popout-text-primary);flex-shrink:0;font-size:.7rem;max-width:90px;min-width:75px;padding:.2rem .25rem}.chart-panel-import-section .random-operation-type{background:#fff;border-color:#c5cad4;color:#384150}.random-operation-params{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:.35rem;min-width:0}.random-operation-params label{align-items:center;color:var(--popout-text-secondary);display:flex;font-size:.7rem;gap:.25rem;white-space:nowrap}.random-operation-params input{background:var(--popout-bg);border:1px solid var(--popout-border);border-radius:3px;color:var(--popout-text-primary);font-size:.7rem;min-width:40px;padding:.2rem .3rem;width:45px}.chart-panel-import-section .random-operation-params label{color:#6b7280}.chart-panel-import-section .random-operation-params input{background:#fff;border-color:#c5cad4;color:#384150}.random-operation-delete{background:transparent;border:none;border-radius:3px;color:var(--popout-text-muted);cursor:pointer;font-size:.8rem;height:18px;line-height:1;padding:0;transition:color .2s,background-color .2s;width:18px}.random-operation-delete:hover{background:rgba(220,38,38,.1);color:#dc2626}.random-add-operation-btn{background:transparent;border:1px dashed var(--popout-border);border-radius:4px;color:var(--popout-text-muted);cursor:pointer;font-size:.7rem;padding:.3rem;transition:border-color .2s,color .2s;width:100%}.random-add-operation-btn:hover{border-color:var(--accent);color:var(--accent)}.chart-panel-import-section .random-add-operation-btn{border-color:#c5cad4;color:#9ca3af}.chart-panel-import-section .random-add-operation-btn:hover{border-color:#4a90d9;color:#4a90d9}.random-generate-btn{background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.random-generate-btn:hover{background:var(--brand-primary-dark)}.chart-panel-import-section .random-generate-btn{background:#4a90d9}.chart-panel-import-section .random-generate-btn:hover{background:#3a7bc9}.random-column-drag-placeholder{background:var(--accent-soft,rgba(74,144,217,.1));border:1px dashed var(--accent);border-radius:6px;margin:.25rem 0}.random-operation-drag-placeholder{background:var(--accent-soft,rgba(74,144,217,.1));border:1px dashed var(--accent);border-radius:4px;margin:.175rem 0}.chart-panel-import-section .random-column-drag-placeholder,.chart-panel-import-section .random-operation-drag-placeholder{background:rgba(74,144,217,.1);border-color:#4a90d9}.random-column.dragging{background:var(--popout-bg-secondary)}.random-column.dragging,.random-operation.dragging{box-shadow:0 2px 8px rgba(0,0,0,.3);cursor:grabbing;opacity:1;pointer-events:none}.random-operation.dragging{background:var(--popout-bg-tertiary)}.chart-panel-import-section .random-column.dragging{background:#f9fafc;box-shadow:0 2px 8px rgba(0,0,0,.15)}.chart-panel-import-section .random-operation.dragging{background:#e3e8f1;box-shadow:0 2px 8px rgba(0,0,0,.15)}.random-column.drag-over{border-color:var(--accent);border-top:2px solid var(--accent)}.random-operation.drag-over{background:rgba(74,144,217,.2);border-top:2px solid var(--accent)}.random-column-list,.random-operations-list{position:relative}.color-picker-component{display:flex;flex-direction:column;gap:8px;width:100%}.color-picker-tabs{background:var(--neutral-200);border-radius:6px;display:flex;gap:2px;padding:2px}.color-picker-tab{background:transparent;border:none;border-radius:4px;color:var(--neutral-500);cursor:pointer;flex:1;font-size:.75rem;font-weight:500;padding:4px 8px;transition:all .15s ease}.color-picker-tab:hover{background:var(--neutral-150);color:var(--neutral-700)}.color-picker-tab.active{background:var(--neutral-white);box-shadow:0 1px 2px rgba(0,0,0,.1);color:var(--neutral-700)}.color-picker-content{display:flex;flex-direction:column;gap:8px}.color-picker-mode-row{display:flex;gap:4px}.color-picker-mode-btn{background:var(--neutral-white);border:1px solid var(--neutral-300);border-radius:4px;color:var(--neutral-600);cursor:pointer;flex:1;font-size:.8rem;font-weight:500;padding:5px 10px;transition:all .15s ease}.color-picker-mode-btn:hover{background:var(--neutral-150);border-color:var(--neutral-400)}.color-picker-mode-btn.active{background:var(--accent);border-color:var(--accent);color:var(--neutral-800)}.color-picker-input-row{align-items:center;display:flex;gap:8px}.color-picker-native{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:6px;cursor:pointer;height:36px;padding:2px;width:42px}.color-picker-native::-webkit-color-swatch-wrapper{padding:2px}.color-picker-native::-webkit-color-swatch{border:none;border-radius:3px}.color-picker-hex{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:6px;color:var(--neutral-700);flex:1;font-family:Monaco,Menlo,Consolas,monospace;font-size:.85rem;height:36px;padding:0 10px}.color-picker-hex:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,231,255,.15);outline:none}.color-picker-adjust-row{display:flex;gap:8px;margin-top:8px}.color-picker-adjust-btn{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:4px;color:var(--neutral-700);cursor:pointer;flex:1;font-size:.8rem;font-weight:500;padding:6px 10px;transition:all .15s ease}.color-picker-adjust-btn:hover{background:var(--neutral-150);border-color:var(--neutral-400)}.color-picker-adjust-btn:active{background:var(--neutral-200)}.color-picker-slider-mode-row{display:flex;gap:4px;margin-bottom:4px}.color-picker-slider-mode-btn{background:var(--neutral-white);border:1px solid var(--neutral-300);border-radius:4px;color:var(--neutral-600);cursor:pointer;flex:1;font-size:.75rem;font-weight:500;padding:4px 8px;transition:all .15s ease}.color-picker-slider-mode-btn:hover{background:var(--neutral-150)}.color-picker-slider-mode-btn.active{background:var(--neutral-700);border-color:var(--neutral-700);color:var(--neutral-white)}.color-picker-preview-row{display:flex;justify-content:center;margin-bottom:4px}.color-picker-color-preview{border:1px solid var(--neutral-300);border-radius:4px;height:28px;width:100%}.color-picker-sliders{display:flex;flex-direction:column;gap:6px}.color-picker-slider-row{align-items:center;display:flex;gap:8px}.color-picker-slider-label{font-size:.75rem;font-weight:600;text-align:center;width:16px}.color-picker-component-slider{-webkit-appearance:none;appearance:none;background:var(--neutral-200);border-radius:3px;cursor:pointer;flex:1;height:6px}.color-picker-component-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--slider-color,var(--neutral-600));border:2px solid var(--neutral-white);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);cursor:pointer;height:14px;width:14px}.color-picker-component-slider::-moz-range-thumb{background:var(--slider-color,var(--neutral-600));border:2px solid var(--neutral-white);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);cursor:pointer;height:14px;width:14px}.color-picker-component-slider.hue-slider{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.color-picker-slider-value{background:var(--neutral-white);border:1px solid var(--neutral-300);border-radius:4px;color:var(--neutral-700);font-family:Monaco,Menlo,Consolas,monospace;font-size:.75rem;height:24px;padding:0 4px;text-align:center;width:42px}.color-picker-slider-value:focus{border-color:var(--accent);outline:none}.color-picker-slider-value::-webkit-inner-spin-button,.color-picker-slider-value::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.color-picker-slider-value[type=number]{-moz-appearance:textfield;appearance:textfield}.color-picker-format-row{align-items:center;display:flex;gap:8px;margin-top:8px}.color-picker-format-label{color:var(--neutral-600);font-size:.8rem;font-weight:500;white-space:nowrap}.color-picker-format-select{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:4px;color:var(--neutral-700);cursor:pointer;flex:1;font-size:.8rem;height:30px;padding:0 8px}.color-picker-format-select:focus{border-color:var(--accent);outline:none}.color-picker-copy-row{display:flex;gap:6px;margin-top:6px}.color-picker-format-display{background:var(--neutral-100);flex:1;font-family:Monaco,Menlo,Consolas,monospace;font-size:.8rem;padding:0 8px}.color-picker-copy-btn,.color-picker-format-display{border:1px solid var(--neutral-350);border-radius:4px;color:var(--neutral-600);height:30px}.color-picker-copy-btn{align-items:center;background:var(--neutral-white);cursor:pointer;display:flex;justify-content:center;transition:all .15s ease;width:30px}.color-picker-copy-btn:hover{background:var(--neutral-150);border-color:var(--neutral-400);color:var(--neutral-700)}.color-picker-copy-btn:active{background:var(--neutral-200)}.color-picker-copy-btn.copied{background:var(--green-100);border-color:var(--green-500);color:var(--green-700)}.color-picker-category-row{display:flex;flex-wrap:wrap;gap:2px}.color-picker-category-btn{background:var(--neutral-white);border:1px solid var(--neutral-300);border-radius:4px;color:var(--neutral-600);cursor:pointer;flex:0 1 auto;font-size:.7rem;font-weight:500;padding:4px 8px;transition:all .15s ease;white-space:nowrap}.color-picker-category-btn:hover{background:var(--neutral-150);border-color:var(--neutral-400)}.color-picker-category-btn.active{background:var(--accent);border-color:var(--accent);color:var(--neutral-800)}.color-picker-select-row{align-items:center;display:flex;gap:8px}.color-picker-label{color:var(--neutral-600);font-size:.75rem;font-weight:500;white-space:nowrap}.color-picker-select{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:4px;color:var(--neutral-700);cursor:pointer;flex:1;font-size:.8rem;height:28px;padding:0 8px}.color-picker-select:focus{border-color:var(--accent);outline:none}.color-picker-swatches{display:flex;flex-wrap:wrap;gap:4px}.color-picker-swatch{border:1px solid var(--neutral-300);border-radius:4px;cursor:pointer;height:24px;transition:transform .1s ease,box-shadow .1s ease;width:24px}.color-picker-swatch:hover{box-shadow:0 2px 8px rgba(0,0,0,.2);transform:scale(1.15);z-index:1}.color-picker-swatch:active{transform:scale(1.05)}.color-picker-gradient-container{display:flex;flex-direction:column;gap:4px;margin-top:4px}.color-picker-gradient-svg{border:1px solid var(--neutral-300);border-radius:4px}.color-picker-gradient-slider{accent-color:var(--accent);cursor:pointer;height:18px;margin:0;width:100%}.color-picker-colors-row{align-items:flex-end;display:flex;gap:8px}.color-picker-color-group{display:flex;flex:1;flex-direction:column;gap:2px}.color-picker-color-input{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:4px;cursor:pointer;height:32px;padding:2px;width:100%}.color-picker-color-input::-webkit-color-swatch-wrapper{padding:2px}.color-picker-color-input::-webkit-color-swatch{border:none;border-radius:2px}.color-picker-swap-btn{background:var(--neutral-white);border:1px solid var(--neutral-350);border-radius:4px;color:var(--neutral-600);cursor:pointer;flex-shrink:0;font-size:1rem;height:32px;line-height:1;padding:0;transition:all .15s ease;width:28px}.color-picker-swap-btn:hover{background:var(--neutral-150);border-color:var(--neutral-400);color:var(--neutral-700)}#xml-inspector-container{flex-shrink:0}.xml-inspector-panel{background:var(--dark-bg-primary);border-top:1px solid var(--dark-border);display:flex;flex-direction:column;transition:box-shadow .2s}.xml-inspector-panel:not(.xml-panel-collapsed){box-shadow:0 -4px 12px rgba(0,0,0,.2)}.xml-panel-collapsed{height:auto!important}.xml-panel-collapsed .animation-inspector-content,.xml-panel-collapsed .xml-inspector-content{display:none!important}.xml-panel-collapsed .xml-tree-btn{display:none}.xml-inspector-header{align-items:center;background:linear-gradient(180deg,var(--menubar-bg-top),var(--menubar-bg-bottom));border-bottom:1px solid var(--dark-border);cursor:ns-resize;display:flex;flex-shrink:0;justify-content:space-between;padding:.35rem .75rem;touch-action:none;user-select:none}.xml-panel-collapsed .xml-inspector-header{border-bottom:none;cursor:ns-resize}.xml-inspector-status-items{align-items:center;color:var(--app-muted);display:flex;font-size:.75rem;gap:.5rem}.xml-inspector-status-items .status-item{align-items:center;display:flex;gap:.35rem;white-space:nowrap}.xml-inspector-status-items .status-item svg{flex-shrink:0;opacity:.7}.xml-inspector-status-items .status-divider{background:var(--chrome-border);height:12px;width:1px}.xml-inspector-status-items .status-tool-icon{align-items:center;display:flex;justify-content:center}.xml-inspector-status-items .status-tool-icon svg{flex-shrink:0;opacity:.8}#panel-status-tool-name{color:var(--app-fg);font-weight:500}#panel-status-zoom-value{font-variant-numeric:tabular-nums;min-width:3.5em;text-align:right}#panel-status-coords-value{font-family:var(--font-mono,ui-monospace,monospace);font-variant-numeric:tabular-nums;min-width:8em}#panel-status-selection-value{color:var(--app-muted)}.xml-inspector-header-right{align-items:center;display:flex;gap:.5rem}.xml-inspector-btn{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--dark-text-secondary);cursor:pointer;display:flex;height:26px;justify-content:center;padding:0;transition:background .15s,color .15s;width:26px}.xml-inspector-btn:hover{background:var(--dark-bg-tertiary);color:var(--dark-text-primary)}#anim-toggle,#xml-toggle{font-size:.7rem;font-weight:500;gap:.3rem;padding:0 .5rem;width:auto}#anim-toggle span,#xml-toggle span{margin-top:1px}.xml-panel-collapsed #anim-toggle,.xml-panel-collapsed #xml-toggle{color:var(--app-muted)}#anim-toggle.active,#xml-toggle.active{background:var(--brand-primary);color:#fff}.xml-inspector-content{display:flex;flex:1;flex-direction:column;overflow:hidden}.xml-inspector-tree{flex:1;font-family:SF Mono,Monaco,Consolas,Liberation Mono,monospace;font-size:.75rem;line-height:1.5;overflow:auto;padding:.5rem}.xml-empty{color:var(--dark-text-muted);padding:2rem;text-align:center}.xml-node{align-items:center;border-radius:3px;cursor:pointer;display:flex;min-width:100%;padding:2px 4px;transition:background .1s;white-space:nowrap;width:fit-content}.xml-node:hover{background:var(--dark-bg-tertiary)}.xml-node-selected,.xml-node-selected:hover{background:rgba(74,144,217,.25);outline:1px solid var(--color-selection)}.xml-node-shape .xml-tag{color:#7ee787}.xml-node-closing{color:var(--dark-text-muted);cursor:default}.xml-node-closing:hover{background:transparent}.xml-node-content{gap:2px}.xml-node-content,.xml-toggle{align-items:center;display:inline-flex}.xml-toggle{color:var(--dark-text-muted);cursor:pointer;flex-shrink:0;height:16px;justify-content:center;width:16px}.xml-toggle:hover{color:var(--dark-text-primary)}.xml-toggle-placeholder{display:inline-block;flex-shrink:0;width:16px}.xml-bracket{color:var(--dark-text-muted)}.xml-tag{color:#79c0ff}.xml-attr-name{color:#ffa657}.xml-attr-eq{color:var(--dark-text-muted)}.xml-attr-value{border-radius:2px;color:#a5d6ff;cursor:text;padding:0 1px}.xml-attr-value:hover{background:var(--dark-bg-tertiary)}.xml-attr-value.editing{background:transparent;padding:0}.xml-text{color:var(--dark-text-secondary);font-style:italic}.xml-attr-more{color:var(--dark-text-muted);cursor:pointer;font-size:.7rem;padding:0 4px}.xml-attr-more:hover{color:var(--dark-text-secondary)}.xml-attr-input{background:var(--dark-bg-primary);border:1px solid var(--brand-primary);border-radius:2px;color:#a5d6ff;font-family:inherit;font-size:inherit;line-height:1.4;outline:none;padding:1px 4px}.xml-attr-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px rgba(0,231,255,.2)}.xml-attr-input.error{border-color:var(--color-error);box-shadow:0 0 0 2px rgba(220,38,38,.2)}.xml-inspector-toggle{align-items:center;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--app-muted);cursor:pointer;display:inline-flex;font-size:.7rem;gap:.3rem;margin-left:auto;padding:.15rem .5rem;transition:all .15s}.xml-inspector-toggle:hover{background:var(--button-hover);color:var(--app-text)}.xml-inspector-toggle.active{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--dark-bg-primary)}.xml-inspector-toggle svg{opacity:.8}.panel-tab-btn{position:relative}.panel-tab-btn.active{background:var(--brand-primary);color:#fff}.xml-tree-btns{display:flex;gap:2px}.animation-inspector-content{background:var(--dark-bg-secondary);display:flex;flex:1;flex-direction:column;overflow:hidden}.animation-controls-bar{align-items:center;background:var(--dark-bg-tertiary);border-bottom:1px solid var(--chrome-border);display:flex;gap:4px;padding:6px 8px}.animation-btn{border:none;height:28px;transition:all .15s;width:28px}.animation-btn:hover{background:var(--button-hover);color:var(--app-text)}.animation-btn.active{background:var(--brand-primary);color:#fff}.animation-play-btn{background:var(--brand-primary);height:32px;width:32px}.animation-play-btn:hover{background:var(--brand-hover)}.animation-time-display{color:var(--app-text);font-family:SF Mono,Monaco,Consolas,monospace;text-align:center}.animation-separator{margin:0 2px}.animation-duration-input{background:var(--dark-bg-primary);border:1px solid var(--chrome-border);border-radius:3px;color:var(--app-text);font-family:SF Mono,Monaco,Consolas,monospace;padding:2px 4px;text-align:center}.animation-duration-input:focus{border-color:var(--brand-primary)}.animation-unit{font-size:.75rem}.animation-tracks-sidebar{background:var(--dark-bg-secondary);box-sizing:border-box;flex-shrink:0;max-width:350px;min-width:120px;position:relative}.animation-tracks-header{background:var(--dark-bg-tertiary);font-weight:500;letter-spacing:.5px;padding:0 8px}.animation-tracks-scroll{display:flex;flex:1;flex-direction:column;overflow-x:hidden;overflow-y:auto}.animation-tracks-list{overflow-x:hidden}.animation-shape-header{align-items:center;background:var(--dark-bg-quaternary);border-bottom:1px solid var(--chrome-border);box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;font-weight:500;height:32px;justify-content:space-between;padding:0 8px}.animation-shape-name{color:var(--app-text);flex:1;font-size:.75rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.animation-shape-name.is-group{color:var(--brand-primary)}.animation-shape-name.is-group:before{content:"⊞ ";opacity:.7}.animation-shape-header .animation-add-track-btn{flex-shrink:0;font-size:.65rem;padding:2px 6px}.animation-track-label{align-items:center;border-bottom:1px solid var(--chrome-border);box-sizing:border-box;cursor:pointer;display:flex;gap:4px;height:24px;justify-content:space-between;padding:0 8px 0 20px;transition:background .15s}.animation-track-label:hover{background:var(--dark-bg-tertiary)}.animation-track-label.selected{background:rgba(74,144,217,.2);border-left:2px solid var(--brand-primary);padding-left:18px}.animation-track-label.disabled{opacity:.5}.animation-track-label.disabled .track-property{text-decoration:line-through}.animation-track-label.locked .animation-track-delete{opacity:.3!important;pointer-events:none}.animation-track-controls{align-items:center;display:flex;flex-shrink:0;gap:2px}.animation-track-btn{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--neutral-500);cursor:pointer;display:flex;flex-shrink:0;height:18px;justify-content:center;opacity:0;padding:0;transition:background .15s,color .15s,opacity .15s;width:18px}.animation-track-label:hover .animation-track-btn{opacity:.6}.animation-track-btn:hover{background:rgba(0,0,0,.08);color:var(--neutral-700);opacity:1}.animation-track-delete:hover{background:rgba(220,38,38,.1);color:var(--danger,var(--color-error));opacity:1!important}.animation-track-label.disabled .animation-track-visibility,.animation-track-label.locked .animation-track-lock{color:var(--accent);opacity:1}.track-property{color:var(--app-muted);font-size:.7rem}.animation-time-ruler{background:var(--dark-bg-tertiary);min-height:24px}.time-ruler-tick{border-left:1px solid var(--chrome-border);color:var(--app-muted);font-size:.6rem;height:100%;padding:2px 4px;position:absolute;top:0}.time-ruler-tick.major{border-left-color:var(--app-muted);font-weight:500}.animation-keyframes-area{background:var(--dark-bg-secondary);cursor:crosshair;overflow-x:auto;overflow-y:auto}.animation-keyframes-width-spacer{height:0;pointer-events:none}.animation-track-row{height:24px;position:relative}.animation-track-row.disabled{opacity:.4}.animation-track-row.disabled .animation-keyframe,.animation-track-row.disabled .animation-keyframe-segment{pointer-events:none}.animation-track-row.locked .animation-keyframe,.animation-track-row.locked .animation-keyframe-segment{cursor:not-allowed;pointer-events:none}.animation-shape-header-row{background:var(--dark-bg-quaternary);border-bottom:1px solid var(--chrome-border);height:32px;position:relative}.animation-keyframe{background:var(--brand-primary);border:2px solid var(--brand-hover);transition:all .15s}.animation-keyframe:hover{background:var(--brand-hover)}.animation-keyframe.selected{background:#fff;border-color:var(--brand-primary);box-shadow:0 0 8px var(--brand-primary)}.animation-playhead{background:#f55}.animation-playhead:before{border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #f55;height:0;left:-5px;top:-4px;width:0}.animation-empty-state{align-items:center;color:var(--app-muted);display:flex;flex-direction:column;height:100%;justify-content:center;padding:1rem;text-align:center}.animation-empty-state p{margin:.25rem 0}.animation-empty-state .hint{font-size:.7rem;opacity:.7}.animation-properties-sidebar{background:var(--dark-bg-secondary);border-left:1px solid var(--chrome-border);box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;max-width:350px;min-width:150px;overflow:hidden;position:relative;width:200px}.animation-resize-handle{background:transparent;bottom:0;cursor:col-resize;position:absolute;top:0;transition:background-color .15s ease;width:5px;z-index:10}.animation-resize-handle:active,.animation-resize-handle:hover{background:var(--brand-primary);opacity:.5}.animation-resize-handle-right{right:0}.animation-resize-handle-left{left:0}.animation-properties-header{align-items:center;background:var(--dark-bg-tertiary);border-bottom:1px solid var(--chrome-border);box-sizing:border-box;color:var(--app-muted);display:flex;font-size:.7rem;font-weight:500;height:24px;letter-spacing:.5px;min-height:24px;padding:0 8px;text-transform:uppercase}.animation-properties-content{box-sizing:border-box;flex:1;overflow-x:hidden;overflow-y:auto;padding:8px}.animation-properties-empty{align-items:center;color:var(--app-muted);display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.animation-properties-empty p{margin:.25rem 0}.animation-properties-empty .hint{font-size:.7rem;opacity:.7}.animation-properties-section{margin-bottom:12px;max-width:100%;overflow:hidden}.animation-properties-title{border-bottom:1px solid var(--chrome-border);color:var(--app-text);font-size:.7rem;font-weight:600;letter-spacing:.5px;margin-bottom:8px;padding-bottom:4px;text-transform:uppercase}.animation-property-row{align-items:center;box-sizing:border-box;display:flex;gap:8px;justify-content:space-between;margin-bottom:6px;max-width:100%}.animation-property-row label{color:var(--app-muted);flex-shrink:0;font-size:.7rem}.animation-property-row input,.animation-property-row select{background:var(--dark-bg-tertiary);border:1px solid var(--chrome-border);border-radius:3px;box-sizing:border-box;color:var(--app-text);flex:1;font-size:.75rem;max-width:100%;min-width:0;padding:4px 6px}.animation-property-row input:focus,.animation-property-row select:focus{border-color:var(--brand-primary);outline:none}.animation-property-row input:disabled{cursor:not-allowed;opacity:.6}.animation-property-input-group{align-items:center;display:flex;flex:1;gap:4px;max-width:100%;min-width:0}.animation-property-input-group input{flex:1}.animation-checkbox-label{align-items:center;color:var(--app-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:.7rem;gap:4px;white-space:nowrap}.animation-checkbox-label input[type=checkbox]{accent-color:var(--app-accent);cursor:pointer;height:14px;margin:0;width:14px}.animation-checkbox-label:hover{color:var(--app-text)}.animation-property-color-group{align-items:center;display:flex;flex:1;gap:6px;max-width:100%;min-width:0}.animation-property-color-group input[type=color]{background:var(--dark-bg-tertiary);border:1px solid var(--chrome-border);border-radius:4px;cursor:pointer;flex-shrink:0;height:28px;padding:2px;width:28px}.animation-property-color-group input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.animation-property-color-group input[type=color]::-webkit-color-swatch{border:none;border-radius:2px}.animation-property-color-group input[type=text]{flex:1;min-width:0}.animation-property-unit{color:var(--app-muted);font-size:.7rem}.animation-property-value{color:var(--app-text);font-size:.75rem}.animation-properties-hint{color:var(--app-muted);font-size:.7rem;font-style:italic;margin-top:12px;text-align:center}.animation-add-track-btn{align-items:center;background:var(--brand-primary);border:none;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:.7rem;gap:4px;padding:2px 8px;transition:background .15s,transform .1s}.animation-add-track-btn:hover{background:var(--brand-primary-hover)}.animation-add-track-btn:active{transform:scale(.97)}.animation-add-track-btn svg{flex-shrink:0}.animation-property-dropdown{background:var(--panel-bg);border:1px solid var(--chrome-border);border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.3);max-height:200px;min-width:150px;overflow-y:auto;padding:4px 0;z-index:10000}.animation-property-option{color:var(--app-fg);cursor:pointer;font-size:.75rem;padding:6px 12px;transition:background .1s}.animation-property-option:hover{background:var(--brand-primary);color:#fff}body:not(.theme-dark) .xml-inspector-panel{background:var(--neutral-100);border-top-color:var(--chrome-border);box-shadow:0 -4px 12px rgba(0,0,0,.1)}body:not(.theme-dark) .xml-inspector-header{background:var(--neutral-150);border-bottom-color:var(--chrome-border)}body:not(.theme-dark) .xml-inspector-title{color:var(--app-text)}body:not(.theme-dark) .xml-inspector-btn{color:var(--app-muted)}body:not(.theme-dark) .xml-inspector-btn:hover{background:var(--neutral-250);color:var(--app-text)}body:not(.theme-dark) .xml-inspector-tree{background:var(--neutral-white)}body:not(.theme-dark) .xml-node:hover{background:var(--neutral-200)}body:not(.theme-dark) .xml-node-selected,body:not(.theme-dark) .xml-node-selected:hover{background:rgba(74,144,217,.15)}body:not(.theme-dark) .xml-bracket{color:var(--neutral-500)}body:not(.theme-dark) .xml-tag{color:#0550ae}body:not(.theme-dark) .xml-node-shape .xml-tag{color:#116329}body:not(.theme-dark) .xml-attr-name{color:#953800}body:not(.theme-dark) .xml-attr-eq{color:var(--neutral-500)}body:not(.theme-dark) .xml-attr-value{color:#0a3069}body:not(.theme-dark) .xml-attr-value:hover{background:var(--neutral-200)}body:not(.theme-dark) .xml-text{color:var(--neutral-600)}body:not(.theme-dark) .xml-attr-input{background:var(--neutral-white);color:#0a3069}body:not(.theme-dark) .xml-toggle{color:var(--neutral-500)}body:not(.theme-dark) .xml-toggle:hover{color:var(--neutral-700)}body:not(.theme-dark) .xml-attr-more,body:not(.theme-dark) .xml-empty,body:not(.theme-dark) .xml-node-closing{color:var(--neutral-500)}@media (max-width:768px){.xml-inspector-toggle{display:none}.xml-inspector-panel{height:150px}}#animation-timeline-container{flex-shrink:0}.animation-timeline-panel{background:var(--panel-bg);border-top:1px solid var(--chrome-border);display:flex;flex-direction:column;transition:box-shadow .2s}.animation-timeline-panel:not(.animation-panel-collapsed){box-shadow:0 -4px 12px rgba(0,0,0,.2)}.animation-panel-collapsed{height:auto!important}.animation-panel-collapsed .animation-timeline-content{display:none}.animation-timeline-header{align-items:center;background:linear-gradient(180deg,var(--menubar-bg-top),var(--menubar-bg-bottom));border-bottom:1px solid var(--dark-border);cursor:ns-resize;display:flex;flex-shrink:0;gap:1rem;justify-content:space-between;padding:.35rem .75rem;touch-action:none;user-select:none}.animation-panel-collapsed .animation-timeline-header{border-bottom:none}.animation-timeline-actions,.animation-timeline-controls{align-items:center;display:flex;gap:.5rem}.animation-btn{align-items:center;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--app-muted);cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .15s ease;width:24px}.animation-btn:hover{background:var(--chrome-hover);color:var(--text-primary)}.animation-btn.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.animation-play-btn{background:var(--accent);border-radius:50%;color:#fff;height:28px;width:28px}.animation-play-btn:hover{background:var(--accent-hover);color:#fff}.animation-time-display{color:var(--text-secondary);font-family:SF Mono,Consolas,monospace;font-size:.75rem;min-width:60px}.animation-separator{color:var(--app-muted);font-size:.75rem}.animation-duration-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:4px;color:var(--text-primary);font-family:SF Mono,Consolas,monospace;font-size:.75rem;height:22px;padding:0 .35rem;text-align:right;width:60px}.animation-duration-input:focus{border-color:var(--accent);outline:none}.animation-unit{color:var(--app-muted);font-size:.7rem}.animation-toggle-btn{font-size:.75rem;gap:.35rem;padding:0 .5rem;width:auto}.animation-toggle-btn span{white-space:nowrap}.animation-timeline-content{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.animation-timeline-body{display:flex;flex:1;min-height:0;overflow:hidden}.animation-tracks-sidebar{background:var(--panel-bg);border-right:1px solid var(--chrome-border);display:flex;flex-direction:column;min-width:180px;overflow:hidden;width:180px}.animation-tracks-header{align-items:center;background:var(--button-hover);border-bottom:1px solid var(--chrome-border);box-sizing:border-box;color:var(--app-muted);display:flex;font-size:.7rem;font-weight:600;height:24px;letter-spacing:.05em;min-height:24px;padding:0 .75rem;text-transform:uppercase}.animation-tracks-list{flex:1;overflow-y:auto}.animation-no-tracks{color:var(--app-muted);font-size:.75rem;font-style:italic;padding:1rem;text-align:center}.animation-track-row{align-items:center;border-bottom:1px solid var(--chrome-border);cursor:pointer;display:flex;font-size:.75rem;gap:.35rem;height:28px;padding:.35rem .5rem;transition:background .1s ease}.animation-track-row:hover{background:var(--chrome-hover)}.animation-track-row.selected{background:var(--accent-subtle)}.animation-track-shape{color:var(--text-primary);font-weight:500;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.animation-track-separator{color:var(--app-muted)}.animation-track-property{color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.animation-timeline-area{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.animation-time-ruler{background:var(--button-hover);border-bottom:1px solid var(--chrome-border);cursor:pointer;height:24px;overflow:hidden;position:relative}.animation-ruler-tick{background:var(--chrome-border);height:8px;position:absolute;top:0;width:1px}.animation-ruler-tick.major{background:var(--text-muted);height:12px}.animation-ruler-label{color:var(--app-muted);font-size:.65rem;left:4px;position:absolute;top:12px;white-space:nowrap}.animation-keyframes-area{background:var(--canvas-frame-bg);flex:1;overflow:auto;position:relative}.animation-keyframe-row{border-bottom:1px solid var(--chrome-border);height:28px;position:relative}.animation-keyframe-row.selected{background:var(--accent-subtle)}.animation-keyframe{background:var(--accent);border:2px solid var(--accent-hover);cursor:pointer;height:10px;position:absolute;top:50%;touch-action:none;transform:translate(-50%,-50%) rotate(45deg);transition:all .1s ease;width:10px}.animation-keyframe:hover{background:var(--accent-hover);transform:translate(-50%,-50%) rotate(45deg) scale(1.2)}.animation-playhead{background:var(--danger);bottom:0;pointer-events:none;position:absolute;top:0;width:2px;z-index:10}.animation-timeline-panel .animation-playhead{background:transparent;cursor:ew-resize;margin-left:-5px;pointer-events:all;touch-action:none;width:12px}.animation-timeline-panel .animation-playhead:after{background:var(--danger);bottom:0;content:"";left:5px;position:absolute;top:0;width:2px}.animation-playhead:before{background:var(--danger);border-radius:50% 50% 50% 0;content:"";height:10px;left:-4px;position:absolute;top:0;transform:rotate(-45deg);width:10px}.animation-keyframe-menu{background:var(--panel-bg);border:1px solid var(--chrome-border);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.3);max-height:300px;min-width:150px;overflow-y:auto;padding:.25rem 0}.animation-keyframe-menu-item{color:var(--text-primary);cursor:pointer;font-size:.75rem;padding:.4rem .75rem;transition:background .1s ease}.animation-keyframe-menu-item:hover{background:var(--chrome-hover)}.animation-keyframe-menu-item.selected{background:var(--accent-subtle);color:var(--accent)}.animation-keyframe-menu-item.delete{border-top:1px solid var(--chrome-border);color:var(--danger);margin-top:.25rem;padding-top:.5rem}.animation-keyframe-menu-item.delete:hover{background:rgba(239,68,68,.1)}body:not(.theme-dark) .animation-inspector-content{background:var(--panel-bg)}body:not(.theme-dark) .animation-controls-bar{background:linear-gradient(180deg,var(--menubar-bg-top),var(--menubar-bg-bottom))}body:not(.theme-dark) .animation-duration-input{background:var(--neutral-white)}body:not(.theme-dark) .animation-tracks-sidebar{background:var(--neutral-100)}body:not(.theme-dark) .animation-track-label:hover,body:not(.theme-dark) .animation-tracks-header{background:var(--neutral-200)}body:not(.theme-dark) .animation-shape-header{background:var(--neutral-150)}body:not(.theme-dark) .animation-time-ruler{background:var(--neutral-200)}body:not(.theme-dark) .animation-keyframes-area{background:var(--neutral-white)}body:not(.theme-dark) .animation-shape-header-row{background:var(--neutral-150)}body:not(.theme-dark) .animation-timeline-header{border-bottom-color:var(--chrome-border)}body:not(.theme-dark) .animation-properties-sidebar{background:var(--neutral-100)}body:not(.theme-dark) .animation-properties-header{background:var(--neutral-200)}.xml-inspector-panel .animation-inspector-content{min-height:0}.xml-inspector-panel .animation-timeline-body{flex:1;min-height:0;overflow:hidden}.xml-inspector-panel .animation-timeline-area,.xml-inspector-panel .animation-tracks-sidebar{min-height:0}.xml-inspector-panel .animation-keyframes-scroll,.xml-inspector-panel .animation-tracks-scroll{flex:1;min-height:0;overflow-y:auto}.xml-inspector-panel .animation-tracks-scroll{overflow-x:hidden}.xml-inspector-panel .animation-tracks-list{flex:0 0 auto;min-height:100%}.xml-inspector-panel .animation-keyframes-scroll{overflow-x:hidden}.xml-inspector-panel .animation-keyframes-area{flex:0 0 auto;min-height:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.xml-inspector-panel .animation-keyframes-area::-webkit-scrollbar{display:none;height:0;width:0}.xml-inspector-panel .animation-time-ruler{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}.xml-inspector-panel .animation-time-ruler::-webkit-scrollbar{display:none;height:0;width:0}.xml-inspector-panel .animation-time-ruler-content{height:100%;min-width:100%;position:relative}.xml-inspector-panel .animation-ruler-playhead{background:transparent;bottom:0;cursor:ew-resize;margin-left:-5px;pointer-events:all;position:absolute;top:0;touch-action:none;width:12px;z-index:20}.xml-inspector-panel .animation-ruler-playhead:before{background:#f55;bottom:0;content:"";left:5px;position:absolute;top:0;width:2px}.xml-inspector-panel .animation-ruler-playhead:after{background:#f55;border-radius:50% 50% 50% 0;content:"";height:10px;left:1px;position:absolute;top:0;transform:rotate(-45deg);width:10px}.xml-inspector-panel .animation-playhead{pointer-events:none;z-index:20}.xml-inspector-panel .animation-keyframes-area:active,.xml-inspector-panel .animation-time-ruler:active{cursor:grabbing}.xml-inspector-panel .animation-keyframes-area{cursor:grab}.xml-inspector-panel .animation-keyframe-segment{background:var(--brand-primary);border-radius:1px;cursor:ew-resize;height:12px;opacity:.42;position:absolute;top:50%;touch-action:none;transform:translateY(-50%);transition:opacity .15s,box-shadow .15s;z-index:1}.xml-inspector-panel .animation-keyframe-segment.dragging,.xml-inspector-panel .animation-keyframe-segment:hover{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.28);opacity:.62}.xml-inspector-panel .animation-keyframe{background:var(--brand-primary);border:2px solid hsla(0,0%,100%,.55);border-radius:2px;cursor:pointer;height:10px;touch-action:none;transform:translate(-50%,-50%);transition:border-color .15s,box-shadow .15s;width:10px;z-index:2}.xml-inspector-panel .animation-keyframe:not(.selected).dragging,.xml-inspector-panel .animation-keyframe:not(.selected):hover{background:var(--brand-primary)}.xml-inspector-panel .animation-keyframe.selected.dragging,.xml-inspector-panel .animation-keyframe.selected:hover{background:#fff}.xml-inspector-panel .animation-keyframe.dragging,.xml-inspector-panel .animation-keyframe:hover{border-color:#fff;box-shadow:0 0 0 2px rgba(0,231,255,.28);transform:translate(-50%,-50%)}.path-panel-wrapper{display:flex;flex-direction:column;gap:.5rem}.path-data-textarea{background:var(--panel-bg);border:1px solid var(--chrome-border);border-radius:4px;box-sizing:border-box;color:var(--text-color);font-family:Consolas,Monaco,Courier New,monospace;font-size:.75rem;line-height:1.4;max-height:200px;min-height:80px;padding:.4rem .5rem;resize:vertical;tab-size:2;white-space:pre-wrap;width:100%;word-break:break-all}.path-data-textarea:focus{border-color:var(--accent,#0d6efd);box-shadow:0 0 0 2px rgba(13,110,253,.15);outline:none}.path-data-textarea.path-textarea-error{border-color:#dc3545;box-shadow:0 0 0 2px rgba(220,53,69,.15)}.path-error{color:#dc3545;font-size:.7rem;margin-top:.15rem}.path-summary{background:var(--panel-bg);border:1px solid var(--chrome-border);border-radius:4px;color:var(--text-muted);display:flex;font-size:.72rem;gap:1rem;padding:.3rem .5rem}.path-summary-item strong{color:var(--text-color);font-weight:600}.path-cmd-table{display:flex;flex-direction:column;gap:0;max-height:400px;overflow-y:auto}.path-cmd-row{align-items:flex-start;border-bottom:1px solid var(--chrome-border);display:flex;flex-wrap:wrap;gap:.35rem;padding:.35rem .25rem}.path-cmd-row:hover{background:hsla(0,0%,50%,.08)}.path-cmd-badge-wrapper{position:relative}.path-cmd-badge{align-items:center;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-family:Consolas,Monaco,Courier New,monospace;font-size:.72rem;font-weight:700;height:22px;justify-content:center;line-height:1;text-shadow:0 1px 1px rgba(0,0,0,.3);transition:filter .12s;width:22px}.path-cmd-badge:hover{filter:brightness(1.15)}.path-cmd-picker{background:var(--panel-bg);border:1px solid var(--chrome-border);border-radius:5px;box-shadow:0 4px 12px rgba(0,0,0,.25);display:grid;gap:3px;grid-template-columns:repeat(5,1fr);left:0;margin-top:2px;padding:4px;position:absolute;top:100%;z-index:400}.path-cmd-picker-cell{align-items:center;border:2px solid transparent;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-family:Consolas,Monaco,Courier New,monospace;font-size:.72rem;font-weight:700;height:26px;justify-content:center;line-height:1;text-shadow:0 1px 1px rgba(0,0,0,.3);transition:transform .1s,filter .1s;width:26px}.path-cmd-picker-cell:hover{filter:brightness(1.2);transform:scale(1.12)}.path-cmd-picker-cell.path-cmd-picker-active{border-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.4)}.path-cmd-params{display:flex;flex:1;flex-wrap:wrap;gap:.25rem;min-width:0}.path-cmd-param-wrapper{align-items:center;display:flex;font-size:.68rem;gap:2px}.path-cmd-param-label{color:var(--text-muted);font-size:.62rem;min-width:14px;text-transform:lowercase}.path-cmd-param-input{appearance:textfield;-moz-appearance:textfield;background:var(--panel-bg);border:1px solid var(--chrome-border);border-radius:3px;color:var(--text-color);font-family:Consolas,Monaco,Courier New,monospace;font-size:.7rem;padding:1px 3px;width:48px}.path-cmd-param-input::-webkit-inner-spin-button,.path-cmd-param-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.path-cmd-param-input:focus{border-color:var(--accent,#0d6efd);outline:none}.path-cmd-flag-input{accent-color:var(--accent,#0d6efd);cursor:pointer}.path-cmd-delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;margin-top:1px;opacity:.5;padding:0 2px;transition:opacity .15s,color .15s}.path-cmd-delete-btn:hover{color:#dc3545;opacity:1}.path-cmd-insert-row{display:flex;justify-content:center;opacity:0;padding:1px 0;transition:opacity .15s}.path-cmd-table:hover .path-cmd-insert-row{opacity:.4}.path-cmd-insert-row:hover{opacity:1!important}.path-cmd-insert-btn{background:none;border:1px dashed var(--chrome-border);border-radius:3px;color:var(--text-muted);cursor:pointer;font-size:.72rem;line-height:1.4;padding:0 6px;transition:background .15s,color .15s}.path-cmd-insert-btn:hover{background:rgba(13,110,253,.1);border-color:var(--accent,#0d6efd);color:var(--accent,#0d6efd)}.path-cmd-empty{color:var(--text-muted);font-size:.75rem;font-style:italic;padding:1rem;text-align:center}