:root{color-scheme:dark;--design-area-background: #dce2dd;--design-area-grid: rgba(76, 96, 87, .1);--ui-shadow-rgb: 0, 0, 0;--ui-shadow-strength: 1;--ui-surface-base: #1a1a1a;--ui-canvas-label: #172321;--ui-surface: #1e2422;--ui-surface-raised: #293331;--ui-surface-hover: #35413d;--ui-border: #394440;--ui-text-primary: #dce5e2;--ui-text-secondary: #aebcb9;--ui-text-muted: #73817c;--ui-accent: #6ed0bb;--ui-success: #8cc7a1;--ui-warning: #f2a27e;--ui-danger: #ef9999;--ui-info: #5a9fd4}:root[data-theme=light]{color-scheme:light;--design-area-background: #f4f6f4;--design-area-grid: rgba(76, 96, 87, .07);--theme-accent-rgb: 42, 162, 136;--ui-shadow-rgb: 43, 67, 91;--ui-shadow-strength: 1.28;--ui-surface-base: #f4f5f5;--ui-canvas-label: #3e4240;--ui-surface: #e5e6e6;--ui-surface-raised: #e5e6e6;--ui-surface-hover: #cfd3d2;--ui-border: #c3cfcb;--ui-text-primary: #3e4240;--ui-text-secondary: #767f7c;--ui-text-muted: #7a7a7a;--ui-accent: #2aa288;--ui-success: #388050;--ui-warning: #b66416;--ui-danger: #b61616;--ui-info: #1c77b0}:root[data-theme=dark]{color-scheme:dark;--design-area-background: #dce2dd;--design-area-grid: rgba(76, 96, 87, .1);--theme-accent-rgb: 110, 208, 187;--ui-shadow-rgb: 0, 0, 0;--ui-shadow-strength: 1}:root[data-theme=solarized]{color-scheme:light;--design-area-background: #fdf6e3;--design-area-grid: rgba(101, 123, 131, .14);--theme-accent-rgb: 42, 161, 152;--ui-shadow-rgb: 71, 82, 99;--ui-shadow-strength: 1.22;--ui-surface-base: #fdf6e3;--ui-canvas-label: #073642;--ui-surface: #eee8d5;--ui-surface-raised: #eee8d5;--ui-surface-hover: #d6d0bd;--ui-border: #c8c1ae;--ui-text-primary: #073642;--ui-text-secondary: #657b83;--ui-text-muted: #657b83;--ui-accent: #2aa198;--ui-success: #859900;--ui-warning: #cb4b16;--ui-danger: #dc322f;--ui-info: #268bd2}:root[data-theme=solarized-dark]{color-scheme:dark;--design-area-background: #eee8d5;--design-area-grid: rgba(101, 123, 131, .18);--theme-accent-rgb: 42, 161, 152;--ui-shadow-rgb: 0, 0, 0;--ui-shadow-strength: 1.22;--ui-surface-base: #002b36;--ui-canvas-label: #073642;--ui-surface: #073642;--ui-surface-raised: #164b56;--ui-surface-hover: #164b56;--ui-border: #586e75;--ui-text-primary: #eee8d5;--ui-text-secondary: #93a1a1;--ui-text-muted: #586e75;--ui-accent: #2aa198;--ui-success: #859900;--ui-warning: #cb4b16;--ui-danger: #dc322f;--ui-info: #268bd2}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden;font-family:sans-serif}body{display:flex;flex-direction:row}#render-view{flex:1 1 0;min-width:0;min-height:0;background-color:var(--design-area-background);background-image:linear-gradient(var(--design-area-grid) 1px,transparent 1px),linear-gradient(90deg,var(--design-area-grid) 1px,transparent 1px);background-size:24px 24px;overflow:hidden}#render-view>svg{display:block;width:100%;height:100%;touch-action:none;background:transparent}.reference-point-label{font-family:var(--element-label-font-family, sans-serif);font-size:var(--element-label-font-size, 3mm);fill:var(--element-label-color, var(--ui-canvas-label))}.reference-point-label[data-reference-point-label]{cursor:move;-webkit-user-select:none;user-select:none}.reference-point-leader{pointer-events:none}#app{flex:0 0 350px;width:350px;min-width:350px;height:100%}.app-shell{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;background:var(--ui-surface-base)}.app-navigation{display:flex;flex:0 0 42px;align-items:stretch;justify-content:flex-end;gap:4px;padding:5px 8px;border-bottom:1px solid var(--ui-surface-raised);background:var(--ui-surface)}.app-navigation a{display:inline-flex;align-items:center;padding:0 10px;border-bottom:2px solid transparent;color:var(--ui-text-secondary);font-size:11px;font-weight:600;text-decoration:none}.app-navigation a:hover{color:var(--ui-text-primary)}.app-navigation a.active{border-color:var(--ui-accent);color:var(--ui-text-primary)}.file-menu{position:relative;display:flex;align-items:center}.file-menu-trigger{display:grid;width:32px;height:32px;align-content:center;justify-items:center;gap:4px;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;cursor:pointer}.file-menu-trigger span{display:block;width:15px;height:1.5px;border-radius:1px;background:var(--ui-text-primary)}.file-menu-trigger:hover,.file-menu-trigger[aria-expanded=true]{border-color:var(--ui-surface-hover);background:var(--ui-surface-raised)}.file-menu-trigger:focus-visible{outline:2px solid var(--ui-accent);outline-offset:1px}.file-menu-popup{position:absolute;z-index:100;top:calc(100% + 5px);right:0;display:grid;width:180px;padding:4px;border:1px solid var(--ui-surface-hover);border-radius:4px;background:var(--ui-surface);box-shadow:0 8px 24px rgba(var(--ui-shadow-rgb),calc(.4 * var(--ui-shadow-strength)))}.file-menu-popup button,.file-menu-popup a{display:block;padding:9px 10px;border:0;border-radius:2px;background:transparent;color:var(--ui-text-primary);font:inherit;font-size:11px;text-align:left;cursor:pointer;text-decoration:none}.file-menu-popup button:hover,.file-menu-popup button:focus-visible,.file-menu-popup a:hover,.file-menu-popup a:focus-visible{outline:none;background:var(--ui-surface-raised)}.app-route-content{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}body.parameters-page-active #render-view,body.design-setup-page-active #render-view,body.pattern-print-page-active #render-view,body.assembly-instructions-page-active #render-view{display:none}body.pattern-pieces-page-active #render-view{background-color:var(--design-area-background)}body.parameters-page-active #app,body.design-setup-page-active #app,body.pattern-print-page-active #app,body.assembly-instructions-page-active #app{flex:1 1 auto;width:100%;min-width:0}.sidebar-right{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;background:var(--ui-surface-base);border-left:1px solid var(--ui-surface-raised);overflow:hidden}.pattern-pieces-page{display:flex;width:100%;height:100%;min-height:0;flex-direction:column;overflow-y:auto;background:var(--ui-surface-base);color:var(--ui-text-primary);font-size:11px}.pattern-print-page,.assembly-instructions-page{display:flex;width:100%;height:100%;min-height:0;flex-direction:column;overflow:auto;background:var(--ui-surface-base);color:var(--ui-text-primary);font-size:11px}.assembly-instructions-header{flex:0 0 auto;padding:18px 22px;border-bottom:1px solid var(--ui-surface-raised)}.assembly-instructions-header h1{margin:2px 0 5px;font-size:18px;font-weight:600}.assembly-instructions-header p{margin:0;color:var(--ui-text-secondary)}.assembly-instructions-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-content:start;align-items:start;gap:20px;padding:18px 22px 28px}.assembly-instructions-editor{display:grid;min-width:0;align-content:start;gap:18px}.assembly-piece-reference{position:sticky;top:16px;display:grid;max-height:calc(100vh - 150px);gap:10px;overflow-y:auto;padding:12px;border:1px solid var(--ui-surface-raised);border-radius:4px;background:var(--ui-surface)}.assembly-piece-reference ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.assembly-piece-reference li{display:grid;gap:3px;padding:8px;border:1px solid var(--ui-surface-raised);border-radius:3px;background:var(--ui-surface-base)}.assembly-piece-reference strong{overflow-wrap:anywhere;font-size:11px;font-weight:600}.assembly-piece-reference li>span,.assembly-piece-reference small{color:var(--ui-text-secondary);font-size:10px}.assembly-piece-reference-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.assembly-piece-reference-heading h2{margin:0;font-size:12px}.assembly-piece-reference-heading span{color:var(--ui-text-secondary);font-variant-numeric:tabular-nums}.assembly-piece-reference>p{margin:0;color:var(--ui-text-secondary);line-height:1.5}.assembly-instructions-section{display:grid;gap:10px}.assembly-instructions-section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.assembly-instructions-section-heading h2,.assembly-instructions-section-heading p{margin:0}.assembly-instructions-section-heading h2{font-size:13px}.assembly-instructions-section-heading p{margin-top:3px;color:var(--ui-text-secondary);font-size:12px}.assembly-instruction-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.assembly-instruction-list li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px;border:1px solid var(--ui-surface-raised);border-radius:4px;background:var(--ui-surface)}.assembly-instruction-list textarea{width:100%;min-width:0;min-height:52px;padding:7px;resize:vertical;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font:inherit;line-height:1.45}.assembly-instruction-number{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--ui-surface-raised);color:var(--ui-text-secondary);font-variant-numeric:tabular-nums}.assembly-instruction-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.assembly-notes-field{display:grid;gap:7px;font-size:12px;font-weight:600}.assembly-notes-field textarea{width:100%;min-height:120px;padding:8px;resize:vertical;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface);color:var(--ui-text-primary);font:inherit;font-size:11px;font-weight:400;line-height:1.5}.assembly-instructions-empty{margin:0;color:var(--ui-text-secondary)}@media(max-width:760px){.assembly-instructions-layout{grid-template-columns:minmax(0,1fr)}.assembly-piece-reference{position:static;max-height:none}}@media(max-width:520px){.assembly-instruction-list li{grid-template-columns:24px minmax(0,1fr)}.assembly-instruction-actions{grid-column:2;justify-content:flex-start}}.pattern-print-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--ui-surface-raised)}.pattern-print-header h1{margin:2px 0 0;font-size:18px;font-weight:600}.pattern-print-summary{display:flex;flex-wrap:wrap;gap:8px 22px;padding:12px 20px;border-bottom:1px solid var(--ui-surface-raised);color:var(--ui-text-primary);font-variant-numeric:tabular-nums}.pattern-print-comparison{flex:0 0 auto;padding:14px 20px;border-bottom:1px solid var(--ui-surface-raised)}.pattern-print-comparison-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:10px}.pattern-print-comparison-heading h2{margin:0;color:var(--ui-text-primary);font-size:13px;font-weight:600}.pattern-print-comparison-heading span{color:var(--ui-text-secondary);font-size:10px}.pattern-print-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pattern-print-comparison-item{display:grid;min-width:0;grid-template-rows:auto auto auto;gap:8px;padding:10px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface)}.pattern-print-comparison-item.is-selected{border-color:var(--ui-accent);background:var(--ui-surface)}.pattern-print-comparison-item-header{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.pattern-print-comparison-item-header h3{margin:0;color:var(--ui-text-primary);font-size:12px;font-weight:600}.pattern-print-comparison-item-header span{color:var(--ui-accent);font-size:9px;white-space:nowrap}.pattern-print-comparison-metrics{display:flex;flex-wrap:wrap;gap:5px 14px;margin:0;color:var(--ui-text-secondary);font-size:9px;font-variant-numeric:tabular-nums}.pattern-print-comparison-metrics div{display:flex;gap:4px}.pattern-print-comparison-metrics dt{color:var(--ui-text-muted)}.pattern-print-comparison-metrics dd{margin:0;color:var(--ui-text-primary)}.pattern-print-comparison-empty,.pattern-print-comparison-error{align-self:center;margin:0;color:var(--ui-text-secondary);font-size:10px}.pattern-print-comparison-error{color:var(--ui-danger)}.pattern-print-select-layout{min-height:28px;padding:5px 8px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-raised);color:var(--ui-text-primary);font:inherit;font-size:10px;cursor:pointer}.pattern-print-select-layout:hover:not(:disabled){background:var(--ui-surface-raised)}.pattern-print-select-layout:disabled{opacity:.6;cursor:default}.pattern-print-error,.pattern-print-validation{margin:12px 20px;color:var(--ui-danger)}.pattern-print-validation h2{margin:0 0 8px;color:var(--ui-warning);font-size:13px}.pattern-print-invalid-piece{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0;border-bottom:1px solid var(--ui-surface-raised)}.pattern-print-invalid-piece strong{color:var(--ui-text-primary)}.pattern-print-preview{display:grid;min-height:0;flex:1 1 auto;grid-template-rows:auto minmax(0,1fr);justify-items:center;gap:10px;padding:16px;background:var(--ui-surface)}.pattern-print-sheet-controls{display:flex;align-items:center;gap:12px;color:var(--ui-text-primary);font-variant-numeric:tabular-nums}.pattern-print-sheet-controls button{min-height:30px;padding:5px 9px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-raised);color:var(--ui-text-primary);font:inherit;cursor:pointer}.pattern-print-sheet-controls button:disabled{opacity:.45;cursor:not-allowed}.pattern-print-sheet-image{display:block;width:auto;max-width:100%;height:auto;max-height:100%;border:1px solid var(--ui-text-muted);background:#fff;box-shadow:0 6px 22px rgba(var(--ui-shadow-rgb),calc(.32 * var(--ui-shadow-strength)))}@media(max-width:900px){.pattern-print-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.pattern-print-comparison-grid{grid-template-columns:minmax(0,1fr)}.pattern-print-comparison{padding-right:14px;padding-left:14px}}.pattern-print-empty{display:grid;flex:1 1 auto;align-content:center;justify-items:center;color:var(--ui-text-secondary)}.pattern-print-empty h2{margin:0 0 6px;color:var(--ui-text-primary);font-size:15px}.pattern-print-empty p{margin:0}.pattern-pieces-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px;padding:14px 12px;border-bottom:1px solid var(--ui-surface-raised)}.pattern-pieces-header h1{margin:2px 0 0;font-size:16px;font-weight:600}.pattern-design-opacity-control{display:grid;flex:0 1 150px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 7px;color:var(--ui-text-primary);font-size:10px}.pattern-design-opacity-control input{grid-column:1;width:100%;min-width:72px;margin:0;accent-color:var(--ui-accent)}.pattern-design-opacity-control output{grid-column:2;grid-row:2;color:var(--ui-text-primary);font-variant-numeric:tabular-nums}.pattern-piece-navigation-sections{display:grid;flex:0 0 auto}.pattern-piece-navigation-sections>.sidebar-section{flex:0 0 auto}.pattern-piece-navigation-sections>.sidebar-section>.sidebar-section-content{flex:0 0 auto}.pattern-piece-navigation-sections>.sidebar-section[open]::details-content{flex:0 0 auto}.pattern-primary-button,.pattern-piece-actions button,.pattern-piece-feature-controls button,.pattern-boundary-actions button,.pattern-feature-list button,.design-elements-parameter-actions button,.pattern-piece-delete,.pattern-layout-button,.pattern-export-button{min-height:28px;padding:5px 7px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-raised);color:var(--ui-text-primary);font:inherit;font-size:10px;cursor:pointer}.pattern-primary-button:hover:not(:disabled),.pattern-piece-actions button:hover:not(:disabled),.pattern-piece-feature-controls button:hover:not(:disabled),.pattern-boundary-actions button:hover:not(:disabled),.pattern-feature-list button:hover:not(:disabled),.design-elements-parameter-actions button:hover:not(:disabled),.pattern-piece-delete:hover:not(:disabled),.pattern-layout-button:hover:not(:disabled),.pattern-export-button:hover:not(:disabled){background:var(--ui-surface-raised)}.pattern-primary-button:disabled,.pattern-piece-actions button:disabled,.pattern-piece-feature-controls button:disabled,.pattern-boundary-actions button:disabled,.pattern-feature-list button:disabled,.design-elements-parameter-actions button:disabled,.pattern-piece-delete:disabled,.pattern-layout-button:disabled,.pattern-export-button:disabled{opacity:.45;cursor:not-allowed}.pattern-primary-button,.pattern-export-button{border-color:var(--ui-accent);background:var(--ui-accent)}.pattern-primary-button:hover:not(:disabled),.pattern-export-button:hover:not(:disabled){background:var(--ui-accent)}.pattern-piece-list{flex:0 0 auto;border-bottom:1px solid var(--ui-surface-raised)}.pattern-piece-list-row{display:flex;min-width:0;align-items:center;gap:6px;padding:5px 10px;border-bottom:1px solid var(--ui-surface-raised)}.pattern-piece-list-row.is-active{background:var(--ui-surface)}.pattern-piece-select{display:flex;min-width:0;flex:1 1 auto;align-items:center;justify-content:space-between;gap:8px;padding:5px 2px;border:0;background:transparent;color:var(--ui-text-primary);font:inherit;text-align:left;cursor:pointer}.pattern-piece-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pattern-piece-select small{flex:0 0 auto;color:var(--ui-text-secondary);font-size:9px}.pattern-piece-delete{border-color:var(--ui-danger);background:var(--ui-surface-raised)}.pattern-piece-empty{margin:0;padding:9px 12px;color:var(--ui-text-secondary);font-size:10px}.pattern-piece-editor{display:grid;align-content:start;gap:10px;padding:12px}.pattern-piece-field{display:grid;grid-template-columns:minmax(82px,.75fr) minmax(0,1fr);align-items:center;gap:8px;color:var(--ui-text-primary);font-size:10px}.pattern-piece-field input,.pattern-piece-field select{width:100%;min-width:0;min-height:30px;padding:5px 7px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font:inherit}.pattern-piece-visibility{display:flex;align-items:center;gap:8px;color:var(--ui-text-primary);font-size:10px}.pattern-piece-visibility input{width:15px;height:15px;margin:0;accent-color:var(--ui-accent)}.pattern-piece-section{display:grid;gap:7px;padding-top:10px;border-top:1px solid var(--ui-surface-raised)}.pattern-piece-section-heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:6px}.pattern-piece-section-heading h2{margin:0;color:var(--ui-text-primary);font-size:12px;font-weight:600}.pattern-piece-actions,.pattern-piece-feature-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px}.pattern-piece-feature-controls select{min-height:28px;max-width:82px;padding:4px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font:inherit;font-size:10px}.pattern-piece-prompt{margin:0;color:var(--ui-text-secondary);font-size:9px}.pattern-boundary-list,.pattern-feature-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.pattern-boundary-list li,.pattern-feature-list>li{display:grid;min-width:0;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:4px;padding:5px;border:1px solid var(--ui-surface-raised);border-radius:3px;background:var(--ui-surface)}.pattern-boundary-list li.is-selected,.pattern-feature-list>li.is-selected{border-color:var(--ui-accent)}.pattern-boundary-list li.is-hovered,.pattern-feature-list>li.is-hovered{background:var(--ui-surface-raised);border-color:var(--ui-warning)}.pattern-boundary-index{color:var(--ui-text-secondary);font-variant-numeric:tabular-nums}.pattern-boundary-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pattern-boundary-direction{color:var(--ui-warning);font-size:9px}.pattern-boundary-actions{display:flex;grid-column:2/-1;flex-wrap:wrap;gap:3px}.pattern-boundary-actions button{min-height:24px;padding:3px 5px;font-size:9px}.pattern-boundary-status{display:grid;gap:3px;color:var(--ui-danger);font-size:9px;line-height:1.35}.pattern-boundary-status.is-valid{color:var(--ui-accent)}.pattern-feature-list>li{grid-template-columns:minmax(0,1fr) auto}.pattern-piece-section-title{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.pattern-feature-select{min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;overflow-wrap:anywhere}.pattern-feature-editor{display:grid;grid-column:1/-1;gap:6px;padding-top:4px}.pattern-feature-path-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.pattern-feature-path-list li{display:grid;min-width:0;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:4px;padding:5px;border:1px solid var(--ui-surface-raised);border-radius:3px;background:var(--ui-surface)}.pattern-piece-message{margin:0;color:var(--ui-warning);font-size:10px}.pattern-export-button{min-height:34px;justify-self:stretch}.parameters-page{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--ui-surface-base);color:var(--ui-text-primary)}.design-setup-page{overflow:hidden}.design-setup-layout{display:grid;flex:1 1 auto;grid-template-columns:minmax(88px,30%) minmax(0,1fr);min-height:0;overflow:hidden}.design-setup-index{display:flex;min-width:0;flex-direction:column;gap:2px;overflow-y:auto;padding:10px 6px;border-right:1px solid var(--ui-surface-raised);background:var(--ui-surface)}.design-setup-index h2{margin:0 0 6px;padding:0 5px;color:var(--ui-text-secondary);font-size:10px;font-weight:700;text-transform:uppercase}.design-setup-index a{padding:6px 5px;border-radius:3px;color:var(--ui-text-secondary);font-size:10px;line-height:1.3;text-decoration:none}.design-setup-index a:hover,.design-setup-index a:focus-visible{outline:none;background:var(--ui-surface-raised);color:var(--ui-text-primary)}.design-setup-content{min-width:0;min-height:0;overflow-y:auto;scroll-behavior:smooth}.design-setup-disclosure{scroll-margin-top:8px}.design-setup-disclosure{flex:0 0 auto;border-bottom:1px solid var(--ui-surface-raised)}.design-setup-disclosure>summary{padding:12px 20px;cursor:pointer}.design-setup-disclosure>summary h2{display:inline;margin:0;color:var(--ui-text-primary);font-size:14px;font-weight:600}.design-setup-disclosure>section{border-bottom:0}.parameters-page-header{display:flex;flex-wrap:wrap;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--ui-surface-raised);background:var(--ui-surface)}.parameters-page-header h1{margin:2px 0 0;font-size:18px;font-weight:600}.parameters-page-title{flex:0 0 auto}.parameter-search{display:flex;flex:1 1 260px;align-items:center;gap:8px;max-width:480px;color:var(--ui-text-secondary);font-size:11px}.parameter-search input{flex:1 1 auto;min-width:120px;padding:7px 8px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font:inherit}.parameter-search input:focus{outline:2px solid rgba(var(--theme-accent-rgb),.55);outline-offset:1px}.parameters-eyebrow{color:var(--ui-text-secondary);font-size:10px;font-weight:700}.add-parameter-button,.parameter-save-button,.parameter-graph-button,.parameter-delete-button,.parameter-order-button{min-height:30px;padding:5px 10px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-raised);color:var(--ui-text-primary);font:inherit;font-size:11px;cursor:pointer}.add-parameter-button:hover:not(:disabled),.parameter-save-button:hover:not(:disabled),.parameter-graph-button:hover:not(:disabled),.parameter-delete-button:hover:not(:disabled),.parameter-order-button:hover:not(:disabled){background:var(--ui-surface-raised)}.add-parameter-button:disabled,.parameter-save-button:disabled,.parameter-graph-button:disabled,.parameter-delete-button:disabled,.parameter-order-button:disabled{opacity:.5;cursor:not-allowed}.add-parameter-button,.parameter-save-button{border-color:var(--ui-accent);background:var(--ui-accent)}.add-parameter-button:hover:not(:disabled),.parameter-save-button:hover:not(:disabled){background:var(--ui-accent)}.parameter-delete-button{border-color:var(--ui-danger);background:var(--ui-surface-raised)}.parameter-delete-button:hover:not(:disabled){background:var(--ui-surface-hover)}.design-font-settings{flex:0 0 auto;padding:16px 20px 18px;border-bottom:1px solid var(--ui-surface-raised)}.design-font-settings h2{margin:0;color:var(--ui-text-primary);font-size:14px;font-weight:600}.autosave-settings{flex:0 0 auto;padding:16px 20px 18px;border-bottom:1px solid var(--ui-surface-raised)}.autosave-settings h2{margin:0;color:var(--ui-text-primary);font-size:14px;font-weight:600}.autosave-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.7fr);gap:10px;margin-top:12px}.autosave-fields input{min-width:0}.autosave-device-toggle{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--ui-text-primary);font-size:12px}.autosave-device-toggle input{accent-color:var(--ui-accent)}.browser-agent-opt-in{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--ui-surface-raised)}.browser-agent-opt-in h2{margin:0;color:var(--ui-text-primary);font-size:14px;font-weight:600}.browser-agent-opt-in label{display:flex;align-items:center;gap:8px;color:var(--ui-text-primary);font-size:12px}.browser-agent-opt-in input{accent-color:var(--ui-accent)}.ui-theme-settings{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid var(--ui-surface-raised)}.ui-theme-settings h2{margin:0;color:var(--ui-text-primary);font-size:14px;font-weight:600}.ui-theme-field{display:grid;min-width:220px;grid-template-columns:auto minmax(140px,1fr);align-items:center;gap:10px;color:var(--ui-text-primary);font-size:12px}.ui-theme-field select{width:100%;min-height:32px;padding:5px 8px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font:inherit}.ui-theme-field select:focus-visible{outline:2px solid var(--ui-accent);outline-offset:1px}.printed-output-settings{flex:0 0 auto;padding:16px 20px 18px;border-bottom:1px solid var(--ui-surface-raised)}.printed-output-settings>h2{margin:0 0 12px;color:var(--ui-text-primary);font-size:14px;font-weight:600}.printed-output-sections{display:grid;grid-template-columns:minmax(300px,1.4fr) repeat(2,minmax(190px,1fr));gap:12px;max-width:1100px}.printed-output-group{display:grid;align-content:start;gap:10px;min-width:0;margin:0;padding:10px;border:1px solid var(--ui-surface-hover);border-radius:3px}.printed-output-group legend{padding:0 5px;color:var(--ui-text-primary);font-size:12px;font-weight:600}.printed-output-field{display:grid;min-width:0;grid-template-columns:minmax(90px,1fr) minmax(72px,1.1fr);align-items:center;gap:8px;color:var(--ui-text-secondary);font-size:12px}.printed-output-field input,.printed-output-field select{width:100%;min-width:0;min-height:30px;padding:5px 7px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font:inherit}.printed-output-field input:focus,.printed-output-field select:focus{outline:2px solid rgba(var(--theme-accent-rgb),.55);outline-offset:1px}.printed-page-size-field{grid-template-columns:70px minmax(0,1fr)}.printed-output-toggle{display:flex;align-items:center;gap:8px;color:var(--ui-text-primary);font-size:12px}.printed-output-toggle input{width:15px;height:15px;margin:0;accent-color:var(--ui-accent)}.printed-output-note{margin:-5px 0 0 23px;color:var(--ui-text-secondary);font-size:9px;line-height:1.4}.printed-margin-grid,.printed-custom-size-grid{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}@media(max-width:1050px){.printed-output-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.printed-output-group:first-child{grid-column:1/-1}}@media(max-width:680px){.printed-output-settings{padding-right:14px;padding-left:14px}.printed-output-sections{grid-template-columns:minmax(0,1fr)}.printed-output-group:first-child{grid-column:auto}}.design-font-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1050px}.design-font-format{padding-top:14px}.design-font-format h3{margin:0 0 10px;color:var(--ui-text-primary);font-size:11px;font-weight:600}.design-font-fields{display:grid;grid-template-columns:minmax(130px,1fr) minmax(130px,.8fr) 90px;gap:12px}.design-font-field{display:flex;min-width:0;flex-direction:column;gap:6px;color:var(--ui-text-secondary);font-size:12px}.design-font-field input,.design-font-field select{width:100%;min-width:0;min-height:32px;padding:6px 8px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font:inherit}.design-font-field input:focus,.design-font-field select:focus{outline:2px solid rgba(var(--theme-accent-rgb),.55);outline-offset:1px}.design-font-field input[type=color]{padding:3px}.design-font-field-new-row{grid-column:1}@media(max-width:900px){.design-font-format-grid{grid-template-columns:minmax(0,1fr);gap:0}}@media(max-width:540px){.design-font-settings{padding-right:14px;padding-left:14px}.design-font-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.autosave-settings{padding-right:14px;padding-left:14px}}.parameter-table-scroll{flex:1 1 auto;min-height:0;overflow:auto}.parameter-table{width:100%;min-width:860px;border-collapse:collapse;font-size:12px}.parameter-table th{position:sticky;z-index:1;top:0;padding:10px 12px;border-bottom:1px solid var(--ui-surface-hover);background:var(--ui-surface);color:var(--ui-text-primary);font-size:10px;font-weight:700;text-align:left}.parameter-table td{padding:10px 12px;border-bottom:1px solid var(--ui-surface-raised);vertical-align:top}.parameter-table input{width:100%;min-width:120px;padding:7px 8px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font:inherit}.parameter-table input:focus{outline:2px solid rgba(var(--theme-accent-rgb),.55);outline-offset:1px}.parameter-row.has-error{background:#8437371f}.parameter-id{display:block;padding-top:7px;color:var(--ui-text-primary);font-size:11px}.parameter-name-note{display:block;padding-top:1px;color:var(--ui-text-muted);font-size:9px}.parameter-name-fields{display:flex;flex-direction:column;gap:4px}.parameter-description-input{padding:5px 8px!important;color:var(--ui-text-secondary)!important;font-size:10px!important}.parameter-expression-input{flex:1 1 auto;min-width:0;min-height:82px;padding:7px 8px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:11px!important;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere}.parameter-expression-input:focus{outline:2px solid rgba(var(--theme-accent-rgb),.55);outline-offset:1px}.parameter-expression-control{display:flex;align-items:flex-start;gap:8px;min-height:82px}.parameter-expression-control .expression-builder-trigger{flex:0 0 auto;padding-top:4px}.parameter-current-value{display:inline-block;padding-top:7px;color:var(--ui-text-primary);font-variant-numeric:tabular-nums}.parameter-row-error{max-width:300px;padding-top:5px;color:var(--ui-danger);font-size:10px;line-height:1.35}.parameter-row-actions{display:flex;align-items:center;gap:5px}.parameter-order-actions{display:flex;flex-direction:column;gap:3px}.parameter-order-button{width:28px;min-height:24px;padding:2px;font-size:13px;line-height:1}.parameter-list-empty{display:grid;min-height:220px;align-content:center;justify-items:center;color:var(--ui-text-secondary)}.parameter-list-empty h2{margin:0 0 6px;color:var(--ui-text-primary);font-size:15px}.parameter-list-empty p{margin:0;font-size:12px}.design-style-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}.design-style-list-header h2{margin:0}.design-style-list{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:16px 20px 18px}@media(max-width:540px){.design-style-list{padding-right:14px;padding-left:14px}}.design-control-toolbar{position:fixed;z-index:21;display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 24px);min-height:42px;padding:5px;box-sizing:border-box;overflow:hidden;border:1px solid var(--ui-surface-raised);border-radius:4px;background:var(--ui-surface-base);box-shadow:0 8px 24px rgba(var(--ui-shadow-rgb),calc(.35 * var(--ui-shadow-strength)))}.design-control-toolbar.is-collapsed{width:42px;height:42px;padding:2px}.design-control-toolbar-icon{display:inline-grid;flex:0 0 32px;width:32px;height:32px;place-items:center;padding:0;border:1px solid var(--ui-border);border-radius:3px;background:var(--ui-surface-raised);color:var(--ui-text-primary);cursor:pointer;touch-action:none}.design-control-toolbar-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.design-control-toolbar-icon:hover{background:var(--ui-surface-hover)}.design-control-toolbar-icon:focus-visible{outline:2px solid var(--ui-accent);outline-offset:1px}.design-control-toolbar-handle{cursor:grab}.design-control-toolbar.is-dragging .design-control-toolbar-handle{cursor:grabbing}.design-control-toolbar-setting{display:flex;align-items:center;gap:4px;min-width:0;color:var(--ui-text-secondary);font-size:11px;white-space:nowrap}.design-control-toolbar-setting select{width:110px;min-width:0;height:30px;padding:3px 6px;border:1px solid var(--ui-border);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font:inherit}.design-control-toolbar-preset{display:flex;align-items:center;gap:8px}.design-control-toolbar-preset-label{color:var(--ui-text-secondary);font-size:10px;font-weight:700;white-space:nowrap}.design-control-toolbar-setting-icon{display:inline-grid;flex:0 0 18px;width:18px;height:18px;place-items:center;color:var(--ui-text-secondary)}.design-control-toolbar-setting-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.design-control-toolbar-board-prefix select{width:64px}.floating-tool-palette{position:fixed;z-index:20;width:168px;max-height:calc(100vh - 24px);overflow:hidden;border:1px solid var(--ui-surface-raised);border-radius:4px;background:var(--ui-surface-base);box-shadow:0 8px 24px rgba(var(--ui-shadow-rgb),calc(.35 * var(--ui-shadow-strength)))}.floating-tool-palette-header{display:flex;align-items:stretch;min-height:34px;border-bottom:1px solid var(--ui-surface-raised);background:var(--ui-surface)}.floating-tool-palette-handle{display:block;flex:1 1 auto;min-width:0;min-height:34px;padding:8px 10px;border:0;background:transparent;color:var(--ui-text-primary);font:inherit;font-size:12px;font-weight:600;text-align:left;cursor:grab;touch-action:none}.floating-tool-palette-handle:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-2px}.floating-tool-palette-toggle{display:grid;flex:0 0 34px;place-items:center;border:0;background:transparent;color:var(--ui-text-secondary);cursor:pointer}.floating-tool-palette-toggle:hover{background:var(--ui-surface-hover);color:var(--ui-text-primary)}.floating-tool-palette-toggle:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-2px}.floating-tool-palette-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.floating-tool-palette.is-dragging .floating-tool-palette-handle{cursor:grabbing}.floating-tool-palette.is-collapsed .floating-tool-palette-content{display:none}.floating-tool-palette-content{max-height:calc(100vh - 32px);overflow-y:auto;padding:10px}.tool-creation-prompt{margin-bottom:10px;padding:8px;border-left:2px solid var(--ui-accent);background:var(--ui-surface);color:var(--ui-text-primary);font-size:11px;line-height:1.4}.tool-creation-value{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:6px;margin-bottom:6px}.tool-creation-value input{width:100%;min-width:0;box-sizing:border-box}.design-elements-parameter-control{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.design-element-parameter-value{display:flex;align-items:center;min-height:28px;color:var(--ui-text-primary);font-size:11px;overflow-wrap:anywhere}.design-elements-parameter-list{width:100%;margin:0;padding:0;color:var(--ui-text-primary);font-size:11px;line-height:1.5}.design-elements-parameter-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;list-style:none}.design-elements-parameter-list li>span{min-width:0;overflow-wrap:anywhere}.design-elements-parameter-actions{display:flex;flex-wrap:wrap;gap:3px}.design-elements-parameter-actions button{min-height:24px;padding:3px 5px;font-size:9px}.design-elements-parameter-empty{color:var(--ui-text-secondary);font-size:11px}.design-elements-select-button{padding:5px 8px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface);color:var(--ui-text-primary);font:inherit;font-size:11px;cursor:pointer}.design-elements-select-button:hover{background:var(--ui-surface-raised)}.panel{flex:1;display:flex;flex-direction:column;min-height:0;border-bottom:1px solid var(--ui-surface-raised)}.panel>h2{margin:0;padding:12px 16px;font-size:13px;font-weight:600;color:var(--ui-text-primary);border-bottom:1px solid var(--ui-surface-raised);background:var(--ui-surface)}.panel>div:not(h2){flex:1;overflow-y:auto;padding:12px}.sidebar-section:not([open]){flex:0 0 auto}.sidebar-section>summary{display:list-item;flex:0 0 auto;padding:12px 16px;border-bottom:1px solid var(--ui-surface-raised);background:var(--ui-surface);color:var(--ui-text-primary);font-size:13px;font-weight:600;cursor:pointer}.sidebar-section[open]{flex:1 1 0;min-height:0;overflow:hidden}.sidebar-section[open]::details-content{display:flex;flex:1 1 0;min-height:0;flex-direction:column}.sidebar-section>.sidebar-section-content{flex:1 1 auto;min-height:0;overflow-y:auto}.layers-panel{display:grid;gap:0;padding:0 8px}.layers-panel-layer{border-bottom:1px solid var(--ui-surface-raised)}.layers-panel-layer>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 26px;align-items:center;gap:8px;min-height:30px;padding:4px 0;color:var(--ui-text-secondary);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer}.layers-panel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layers-panel-count{color:var(--ui-text-secondary);font-size:10px;font-variant-numeric:tabular-nums}.layers-panel-visibility{display:grid;width:24px;height:24px;place-items:center;padding:3px;border:0;border-radius:3px;background:transparent;color:var(--ui-text-primary);cursor:pointer}.layers-panel-visibility:hover,.layers-panel-visibility:focus-visible{background:var(--ui-surface-raised)}.layers-panel-visibility svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.layers-panel-elements{display:grid;gap:2px;margin:0;padding:3px 5px 6px 20px;list-style:none}.layers-panel-elements button{display:grid;width:100%;gap:2px;padding:5px 6px;border:0;border-radius:3px;background:transparent;color:var(--ui-text-primary);text-align:left;cursor:pointer}.layers-panel-elements button:hover,.layers-panel-elements button:focus-visible,.layers-panel-elements button.is-selected{background:var(--ui-surface-raised)}.layers-panel-elements button:disabled{color:var(--ui-text-secondary);cursor:default}.layers-panel-elements code{color:var(--ui-text-secondary);font-size:9px}.layers-panel-empty{margin:5px;color:var(--ui-text-secondary);font-size:11px}.tool-palette-root{display:flex;flex-direction:column;gap:12px}.tool-category{display:flex;flex-direction:column;gap:8px}.category-header{display:list-item;font-size:11px;font-weight:700;color:var(--ui-text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:4px 0;cursor:pointer}.tools-in-category{display:grid;justify-content:start;gap:6px}.tool-card{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:3px;background:var(--ui-surface);border:1px solid var(--ui-surface-raised);border-radius:4px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;overflow:hidden}.tool-card:hover{background:var(--ui-surface-raised);border-color:var(--ui-surface-hover)}.tool-card:active{background:var(--ui-surface-base)}.tool-card .tool-icon{display:block}.property-inspector-root{display:flex;min-height:0;flex-direction:column;gap:12px}.element-search{display:flex;flex:0 0 auto;flex-direction:column;gap:9px}.element-search-controls{display:grid;gap:12px}.element-search-field{display:grid;gap:5px;color:var(--ui-text-secondary);font-size:11px}.element-search-field input{min-width:0;padding:7px 8px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font:inherit}.element-search-field input:focus-visible{outline:2px solid var(--ui-accent);outline-offset:1px}.element-search-results{display:grid;max-height:220px;gap:3px;overflow-y:auto;margin:0;padding:0;list-style:none}.element-search-results button{display:flex;width:100%;min-width:0;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 8px;border:1px solid transparent;border-radius:3px;background:var(--ui-surface);color:var(--ui-text-primary);font:inherit;text-align:left;cursor:pointer}.element-search-results button:hover,.element-search-results button:focus-visible{border-color:var(--ui-border);background:var(--ui-surface-raised);outline:none}.element-search-results button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.element-search-results button code{flex:0 0 auto;color:var(--ui-text-secondary);font-size:10px}.element-search-empty{margin:0;color:var(--ui-text-secondary);font-size:11px}.zoom-to-fit-button{display:flex;width:100%;min-height:40px;align-items:center;justify-content:center;gap:9px;padding:7px 10px;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-raised);color:var(--ui-text-primary);font:inherit;font-size:11px;cursor:pointer}.zoom-to-fit-button img{width:22px;height:22px}.zoom-to-fit-button:hover{border-color:var(--ui-accent);background:var(--ui-surface-raised)}.zoom-to-fit-button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.inspector-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 12px;color:var(--ui-text-secondary);text-align:center}.inspector-empty p{margin:0;font-size:12px}.inspector-empty .inspector-hint{font-size:11px;color:var(--ui-text-muted)}.inspector-header{padding:0 0 8px;border-bottom:1px solid var(--ui-surface-raised)}.inspector-header .element-id{margin:0;font-size:13px;color:var(--ui-text-primary);word-break:break-all}.inspector-section{display:flex;flex-direction:column;gap:8px}.element-local-error{margin:0;padding:8px;border-left:2px solid var(--ui-danger);background:var(--ui-surface);color:var(--ui-danger);font-size:11px}.section-header{font-size:11px;font-weight:700;color:var(--ui-text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:4px 0}.section-content{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--ui-surface);border-radius:4px}.element-style-controls select,.element-style-controls input:not([type=color]){width:100%;min-width:0;padding:6px 8px;border:1px solid var(--ui-surface-raised);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font-size:11px}.element-style-controls input[type=color]{width:36px;height:28px;padding:2px;border:1px solid var(--ui-surface-raised);border-radius:3px;background:var(--ui-surface-base);cursor:pointer}.info-row{display:grid;grid-template-columns:80px 1fr;gap:8px;align-items:center}.info-row label{font-size:11px;color:var(--ui-text-secondary);font-weight:500}.info-row span{font-size:11px;color:var(--ui-text-primary);word-break:break-all}.info-row span.description{grid-column:1/-1;color:var(--ui-text-secondary);font-size:10px;line-height:1.4}.param-row{display:flex;flex-direction:column;gap:4px}.param-label{font-size:11px;color:var(--ui-text-secondary);font-weight:500;display:flex;align-items:center;gap:4px}.param-label .required{color:var(--ui-danger)}.param-input{display:flex;flex-direction:column;gap:4px}.param-input input,.param-input select{padding:6px 8px;background:var(--ui-surface-base);border:1px solid var(--ui-surface-raised);color:var(--ui-text-primary);font-size:11px;border-radius:3px;transition:all .2s ease}.param-input input:hover,.param-input select:hover{border-color:var(--ui-surface-hover)}.param-input input:focus,.param-input select:focus{outline:none;border-color:var(--ui-info);box-shadow:0 0 0 2px #5a9fd41a}.param-input input.input-error,.param-input select.input-error{border-color:var(--ui-danger);box-shadow:0 0 0 1px #e45d5d40}.param-input select{cursor:pointer}.param-input .reference-point-picker{position:relative;flex:1 1 auto;min-width:0;border:1px solid var(--ui-surface-raised);border-radius:3px;background:var(--ui-surface-base)}.param-input .reference-point-picker.input-error{border-color:var(--ui-danger);box-shadow:0 0 0 1px #e45d5d40}.param-input .reference-point-picker>summary{padding:8px;color:var(--ui-text-primary);font-size:11px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.param-input .reference-point-picker[open]>summary{border-bottom:1px solid var(--ui-surface-raised)}.param-input .reference-point-picker-options{position:absolute;z-index:30;top:100%;left:-1px;right:-1px;max-height:180px;overflow-y:auto;border:1px solid var(--ui-surface-raised);border-radius:0 0 3px 3px;background:var(--ui-surface-base);box-shadow:0 6px 14px rgba(var(--ui-shadow-rgb),calc(.35 * var(--ui-shadow-strength)))}.param-input .reference-point-picker-options button{display:block;width:100%;padding:8px;border:0;background:transparent;color:var(--ui-text-primary);font:inherit;font-size:11px;text-align:left;cursor:pointer}.param-input .reference-point-picker-options button:hover,.param-input .reference-point-picker-options button[aria-selected=true]{background:var(--ui-surface-raised)}.param-input .reference-point-picker-empty{padding:8px;color:var(--ui-text-secondary);font-size:11px}.boolean-parameter-control{display:flex;align-items:center;min-height:30px;gap:8px}.boolean-parameter-control input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:var(--ui-accent);cursor:pointer}.param-hint{font-size:9px;color:var(--ui-text-muted);font-style:italic}.expression-result{flex:0 0 auto;color:var(--ui-success);font-size:10px;line-height:1.4;white-space:nowrap}.expression-input-row{display:flex;align-items:center;gap:8px}.expression-input-row input{flex:1 1 auto;min-width:0}.number-expression-control{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.expression-builder-trigger{padding:0;border:0;background:transparent;color:var(--ui-accent);font:inherit;font-size:10px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.expression-builder-trigger:hover,.expression-builder-trigger:focus-visible{color:var(--ui-accent)}.expression-builder-trigger:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.param-control-row{display:flex;align-items:center;gap:8px}.param-control-row input,.param-control-row select,.param-control-row .reference-point-input{flex:1 1 auto;min-width:0}.param-error-icon{display:inline-flex;flex:0 0 18px;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--ui-danger);border-radius:50%;color:var(--ui-danger);font-size:12px;font-weight:700;line-height:1;cursor:help}.toast-notification{position:fixed;right:16px;bottom:16px;z-index:1200;max-width:min(340px,100vw - 32px);padding:10px 12px;border:1px solid var(--ui-info);border-radius:4px;background:var(--ui-surface);color:var(--ui-text-primary);font-size:12px;line-height:1.4;box-shadow:0 4px 14px rgba(var(--ui-shadow-rgb),calc(.28 * var(--ui-shadow-strength)));pointer-events:none;animation:toast-enter .14s ease-out}.toast-success{border-color:var(--ui-success);background:var(--ui-surface)}.toast-error{border-color:var(--ui-danger);background:var(--ui-surface-raised)}@keyframes toast-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.inspector-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.apply-parameters{padding:6px 12px;border:1px solid var(--ui-info);border-radius:3px;background:var(--ui-info);color:var(--ui-text-primary);font-size:11px;cursor:pointer}.apply-parameters:hover{background:var(--ui-info)}.dependency-dialog-button,.modal-dialog-header button{padding:6px 12px;border:1px solid var(--ui-border);border-radius:3px;background:var(--ui-surface-raised);color:var(--ui-text-primary);font-size:11px;cursor:pointer}.dependency-dialog-button:hover,.modal-dialog-header button:hover{background:var(--ui-surface-raised)}.delete-element-control{display:inline-flex}.delete-element-button{padding:6px 12px;border:1px solid var(--ui-danger);border-radius:3px;background:var(--ui-surface-raised);color:var(--ui-text-primary);font-size:11px;cursor:pointer}.delete-element-button:hover:not(:disabled){background:var(--ui-danger)}.delete-element-button:disabled{opacity:.55;cursor:not-allowed}.modal-backdrop{position:fixed;z-index:1100;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#080c0bb8}.modal-dialog{display:flex;flex-direction:column;max-height:min(80vh,720px);border:1px solid var(--ui-surface-hover);border-radius:4px;background:var(--ui-surface);color:var(--ui-text-primary);box-shadow:0 18px 48px rgba(var(--ui-shadow-rgb),calc(.48 * var(--ui-shadow-strength)));outline:none}.modal-dialog.modal-small{width:min(360px,100%)}.modal-dialog.modal-medium{width:min(560px,100%)}.modal-dialog.modal-large{width:min(820px,100%)}.modal-dialog-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--ui-surface-hover)}.modal-dialog-header h2{margin:0;font-size:14px;font-weight:600}.modal-dialog-body{min-height:0;overflow:auto;padding:16px}.autosave-manager{display:grid;gap:10px}.autosave-manager-intro,.autosave-manager-empty,.autosave-manager-error{margin:0;color:var(--ui-text-secondary);font-size:12px;line-height:1.5}.autosave-manager-error{color:var(--ui-danger)}.autosave-manager-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--ui-border)}.autosave-manager-details{display:grid;min-width:0;gap:4px}.autosave-manager-details strong{overflow-wrap:anywhere;color:var(--ui-text-primary);font-size:12px}.autosave-manager-details span{color:var(--ui-text-secondary);font-size:10px}.autosave-manager-actions{display:flex;flex:0 0 auto;gap:6px}.autosave-manager-actions button,.autosave-manager-confirm button,.autosave-manager-clear{min-height:30px;padding:5px 9px;border:1px solid var(--ui-border);border-radius:3px;background:var(--ui-surface-raised);color:var(--ui-text-primary);font:inherit;font-size:11px;cursor:pointer}.autosave-manager-actions button:hover:not(:disabled),.autosave-manager-confirm button:hover:not(:disabled),.autosave-manager-clear:hover:not(:disabled){background:var(--ui-surface-hover)}.autosave-manager-actions button:disabled,.autosave-manager-confirm button:disabled,.autosave-manager-clear:disabled{opacity:.55;cursor:default}.autosave-manager-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border:1px solid var(--ui-warning);background:var(--ui-surface)}.autosave-manager-confirm p{flex:1 1 100%;margin:0;color:var(--ui-text-primary);font-size:12px;line-height:1.5}.autosave-manager-clear{justify-self:start}@media(max-width:540px){.autosave-manager-row{align-items:flex-start;flex-direction:column}.autosave-manager-actions{width:100%}}.expression-builder{display:flex;flex-direction:column;gap:14px}.expression-builder-search,.expression-builder-expression{display:flex;flex-direction:column;gap:6px;color:var(--ui-text-primary);font-size:11px}.expression-builder-search input,.expression-builder-expression textarea{width:100%;border:1px solid var(--ui-surface-hover);border-radius:3px;background:var(--ui-surface-base);color:var(--ui-text-primary);font:inherit;font-size:12px}.expression-builder-search input{min-height:32px;padding:6px 8px}.expression-builder-expression textarea{min-height:150px;padding:9px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.expression-builder-search input:focus,.expression-builder-expression textarea:focus{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 2px rgba(var(--theme-accent-rgb),.14)}.expression-builder-workspace{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:16px;min-height:0}.expression-builder-items{max-height:min(48vh,430px);overflow:auto;border-right:1px solid var(--ui-surface-raised);padding-right:12px}.expression-builder-group+.expression-builder-group{margin-top:14px}.expression-builder-group h3{margin:0 0 6px;color:var(--ui-text-primary);font-size:11px;font-weight:600}.expression-builder-item{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:3px;padding:7px 8px;border:0;border-radius:2px;background:transparent;color:var(--ui-text-primary);text-align:left;cursor:pointer}.expression-builder-item:hover,.expression-builder-item:focus-visible{outline:none;background:var(--ui-surface-raised)}.expression-builder-item code{max-width:100%;overflow-wrap:anywhere;color:var(--ui-text-secondary);font-size:10px}.expression-builder-empty{margin:0;padding:4px 2px;color:var(--ui-text-secondary);font-size:10px}.expression-builder-editor{display:flex;min-width:0;flex-direction:column;gap:10px}.expression-builder-preview{display:flex;flex-direction:column;gap:4px;min-height:48px;padding:8px 10px;border-left:2px solid var(--ui-text-muted);background:var(--ui-surface-base);color:var(--ui-text-primary);font-size:10px}.expression-builder-preview strong{overflow-wrap:anywhere;color:var(--ui-text-primary);font-size:11px;font-weight:500}.expression-builder-preview.is-valid{border-color:var(--ui-accent)}.expression-builder-preview.is-invalid{border-color:var(--ui-danger)}.expression-builder-preview.is-invalid strong{color:var(--ui-danger)}.expression-builder-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid var(--ui-surface-raised)}.expression-builder-actions button{min-height:30px;padding:0 12px;border:1px solid var(--ui-border);border-radius:3px;background:var(--ui-surface-raised);color:var(--ui-text-primary);font:inherit;font-size:11px;cursor:pointer}.expression-builder-actions .expression-builder-save{border-color:var(--ui-accent);background:var(--ui-accent);color:var(--ui-text-primary)}.expression-builder-actions button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:620px){.expression-builder-workspace{grid-template-columns:minmax(0,1fr)}.expression-builder-items{max-height:24vh;border-right:0;border-bottom:1px solid var(--ui-surface-raised);padding:0 0 10px}}.dependency-dialog-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.dependency-dialog-lists h3{margin:0 0 10px;color:var(--ui-text-primary);font-size:12px;font-weight:600}.dependency-dialog-lists ul{display:grid;gap:6px;margin:0;padding-left:18px;font-size:12px}.dependency-empty{margin:0;color:var(--ui-text-secondary);font-size:12px}.json-file-dropzone{display:grid;min-height:190px;align-content:center;justify-items:center;gap:10px;padding:24px;border:1px dashed var(--ui-text-muted);border-radius:4px;background:var(--ui-surface);color:var(--ui-text-primary);text-align:center;transition:background-color .12s ease,border-color .12s ease}.json-file-dropzone.is-active{border-color:var(--ui-accent);background:var(--ui-surface-raised)}.json-file-dropzone p{margin:0;font-size:13px;font-weight:600}.json-file-dropzone>span{color:var(--ui-text-secondary);font-size:11px}.json-file-picker{min-height:32px;padding:7px 12px;border:1px solid var(--ui-accent);border-radius:3px;background:var(--ui-accent);color:var(--ui-text-primary);font:inherit;font-size:11px;cursor:pointer}.json-file-picker:hover{background:var(--ui-accent)}.json-file-picker:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.json-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}@media(max-width:560px){.modal-backdrop{padding:12px}.dependency-dialog-lists{grid-template-columns:1fr;gap:18px}}.design-element{cursor:pointer;transition:filter .12s ease}.design-element-selectable{cursor:pointer;filter:drop-shadow(0 0 2px rgba(var(--theme-accent-rgb),.8))}.design-element-hovered{filter:drop-shadow(0 0 3px rgba(240,164,60,.9))}.design-element-hovered circle{fill:var(--ui-warning)}.design-element-hovered text{fill:var(--ui-warning)}.design-element-selected{filter:drop-shadow(0 0 4px rgba(77,163,217,.95))}.design-element-selected circle[data-design-element-selection-target=true]{fill:var(--ui-info);stroke:var(--ui-text-primary);stroke-width:1.5px}.design-element-selected line:not(.reference-point-leader),.design-element-selected path:not([data-design-element-selection-target]),.design-element-selected circle:not([data-design-element-selection-target]){stroke:var(--ui-info);stroke-width:1.5px}.design-element-selected text{fill:var(--ui-info);font-weight:700}.splash-screen{--ui-surface-base: #1a1a1a;--ui-canvas-label: #172321;--ui-surface: #1e2422;--ui-surface-raised: #293331;--ui-surface-hover: #35413d;--ui-border: #394440;--ui-text-primary: #dce5e2;--ui-text-secondary: #aebcb9;--ui-text-muted: #73817c;--ui-accent: #6ed0bb;--ui-success: #8cc7a1;--ui-warning: #f2a27e;--ui-danger: #ef9999;--ui-info: #5a9fd4;--ui-shadow-rgb: 0, 0, 0;--ui-shadow-strength: 1;--theme-accent-rgb: 110, 208, 187;position:fixed;z-index:2000;top:0;right:0;bottom:0;left:0;display:flex;min-width:320px;min-height:100vh;flex-direction:column;overflow:auto;padding:25px clamp(22px,5vw,76px) 18px;background-color:var(--ui-surface-base);background-image:linear-gradient(rgba(193,220,204,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(193,220,204,.035) 1px,transparent 1px);background-size:48px 48px;color:var(--ui-text-primary);font-family:Avenir Next,Segoe UI,sans-serif;animation:splash-enter .36s ease-out both}.splash-screen:before{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#111d1833,#111d18c7);content:"";pointer-events:none}.splash-brand,.splash-layout,.splash-footer{position:relative;z-index:1;width:min(100%,1280px);margin-right:auto;margin-left:auto}.splash-brand{display:flex;min-height:38px;align-items:center;gap:12px;color:var(--ui-text-primary);font-size:13px;font-weight:650}.splash-logomark{position:relative;display:block;width:24px;height:24px;border:1px solid var(--ui-success)}.splash-logomark i{position:absolute;display:block;width:9px;height:9px;border:1px solid var(--ui-warning)}.splash-logomark i:first-child{top:4px;left:4px}.splash-logomark i:last-child{right:4px;bottom:4px}.splash-brand-divider{width:1px;height:18px;margin:0 2px;background:var(--ui-border)}.splash-brand-note,.splash-eyebrow,.splash-specimen-meta,.splash-specimen-caption,.splash-footer{font-size:9px;font-weight:650}.splash-brand-note,.splash-footer{color:var(--ui-text-secondary)}.splash-layout{display:grid;flex:1 0 auto;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);align-items:center;gap:clamp(36px,7vw,100px);padding:38px 0 46px}.splash-intro{max-width:570px;animation:splash-copy-enter .48s 70ms ease-out both}.splash-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 22px;color:var(--ui-text-primary)}.splash-eyebrow>span{width:7px;height:7px;border-radius:50%;background:var(--ui-warning)}.splash-intro h1{margin:0;color:var(--ui-text-primary);font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:64px;font-weight:400;line-height:1.03}.splash-intro h1 em{color:var(--ui-success);font-weight:400}.splash-description{max-width:410px;margin:20px 0 28px;color:var(--ui-text-primary);font-size:14px;line-height:1.65}.splash-actions{display:grid;max-width:460px;border-top:1px solid var(--ui-surface-hover)}.splash-action{display:grid;min-height:58px;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:0 12px;border:0;border-bottom:1px solid var(--ui-surface-hover);background:transparent;color:var(--ui-text-primary);font:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease,color .15s ease}.splash-action:hover,.splash-action:focus-visible{outline:none;background:#b7dbc314;color:var(--ui-text-primary)}.splash-action:focus-visible{box-shadow:inset 0 0 0 2px var(--ui-success)}.splash-action-primary{border-left:2px solid var(--ui-warning);background:#b7dbc30e}.splash-action-index{color:var(--ui-text-secondary);font-size:10px;font-variant-numeric:tabular-nums}.splash-action-label{font-size:13px;font-weight:550}.splash-action-arrow{color:var(--ui-warning);font-size:17px;text-align:right}.splash-guide-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--ui-text-primary);font-size:11px;text-decoration-color:#b6d9c273;text-underline-offset:4px}.splash-guide-link:hover,.splash-guide-link:focus-visible{color:var(--ui-text-primary)}.splash-legal-link{display:inline-flex;margin:12px 0 0 16px;color:var(--ui-text-secondary);font-size:11px;text-decoration-color:var(--ui-border);text-underline-offset:4px}.splash-legal-link:hover,.splash-legal-link:focus-visible{color:var(--ui-text-primary)}.splash-autosave-setting{display:flex;width:fit-content;align-items:center;gap:8px;margin-top:18px;color:var(--ui-text-secondary);font-size:11px}.splash-autosave-setting input{accent-color:var(--ui-success)}.legal-page{width:min(100%,900px);height:100%;margin:0 auto;padding:36px clamp(20px,5vw,64px) 56px;overflow-y:auto;background:var(--ui-surface-base);color:var(--ui-text-primary)}body.standalone-legal-page{display:block;overflow:hidden;background:var(--ui-surface-base)}body.standalone-legal-page #app{width:100%;min-width:0;height:100%}.legal-page-header{display:flex;flex-direction:column;gap:22px;padding-bottom:26px;border-bottom:1px solid var(--ui-border)}.legal-page-topline{display:flex;align-items:center;justify-content:space-between;gap:16px}.legal-back-link,.legal-document-links a{color:var(--ui-text-secondary);font-size:12px;text-underline-offset:4px}.legal-back-link:hover,.legal-back-link:focus-visible,.legal-document-links a:hover,.legal-document-links a:focus-visible{color:var(--ui-accent)}.legal-back-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.legal-back-link span{color:var(--ui-accent);font-size:16px}.legal-page-eyebrow{margin:0;color:var(--ui-accent);font-size:10px;font-weight:700}.legal-document-links{display:flex;flex-wrap:wrap;gap:22px;border-bottom:1px solid var(--ui-border)}.legal-document-links a{padding:0 0 10px;border-bottom:2px solid transparent;text-decoration:none}.legal-document-links a[aria-current=page]{border-color:var(--ui-accent);color:var(--ui-text-primary)}.legal-page-title-block h1{margin:0;color:var(--ui-text-primary);font-size:30px;font-weight:600}.legal-page-title-block p{margin:8px 0 0;color:var(--ui-text-muted);font-size:12px}.legal-document-section{padding:26px 0 48px;color:var(--ui-text-secondary);font-size:14px;line-height:1.75}.legal-document-section h2{margin:28px 0 10px;color:var(--ui-text-primary);font-size:17px;font-weight:600;line-height:1.4}.legal-document-section p{margin:0 0 16px}.legal-document-section .legal-license-text{margin:0;color:var(--ui-text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:520px){.legal-page-title-block h1{font-size:25px}.legal-document-links{gap:16px}}.splash-footnote{margin:23px 0 0;color:var(--ui-text-secondary);font-size:10px;line-height:1.5}.splash-error{margin:12px 0 0;color:var(--ui-danger);font-size:11px;line-height:1.5}.splash-specimen{display:flex;width:100%;max-width:470px;flex-direction:column;justify-self:end;padding:18px 0 12px 25px;border-left:1px solid var(--ui-surface-hover);color:var(--ui-text-primary);animation:splash-copy-enter .56s .12s ease-out both}.splash-specimen-meta,.splash-specimen-caption{display:flex;justify-content:space-between;color:var(--ui-text-secondary)}.splash-specimen svg{display:block;width:100%;max-height:480px;margin:6px 0;overflow:visible}.splash-drawing-shadow{fill:#82b1930b;stroke:none}.splash-drawing-outline,.splash-drawing-detail,.splash-drawing-mark,.splash-dimension{fill:none;stroke-linecap:round;stroke-linejoin:round}.splash-drawing-outline{stroke:var(--ui-success);stroke-width:2}.splash-drawing-detail{stroke:var(--ui-text-secondary);stroke-dasharray:4 5;stroke-width:1}.splash-drawing-mark{stroke:var(--ui-warning);stroke-width:1.5}.splash-drawing-node{fill:var(--ui-surface-base);stroke:var(--ui-warning);stroke-width:1.5}.splash-dimension{stroke:var(--ui-warning);stroke-width:1}.splash-specimen svg text{fill:var(--ui-text-secondary);font-family:Avenir Next,Segoe UI,sans-serif;font-size:9px}.splash-footer{display:flex;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid rgba(139,160,145,.25)}@keyframes splash-enter{0%{opacity:0}to{opacity:1}}@keyframes splash-copy-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.splash-layout{grid-template-columns:minmax(0,1fr);gap:0}.splash-intro{margin:0 auto}.splash-specimen{display:none}}@media(max-width:520px){.splash-screen{padding:16px 22px 14px}.splash-layout{padding:34px 0}.splash-intro h1{font-size:48px}.splash-description{font-size:13px}.splash-footer{font-size:8px}}@media(prefers-reduced-motion:reduce){.splash-screen,.splash-intro,.splash-specimen{animation:none}}:root[data-theme=solarized]{--theme-control-border: #657b83;--theme-section-border: #657b83}:root[data-theme=solarized-dark]{--theme-control-border: #93a1a1;--theme-section-border: #93a1a1}:root[data-theme^=solarized] :is(button,select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file])):not(:focus-visible){border-color:var(--theme-control-border);box-shadow:0 0 0 1px var(--theme-control-border),0 2px 5px rgba(var(--ui-shadow-rgb),calc(.18 * var(--ui-shadow-strength)))}:root[data-theme^=solarized] :is(fieldset,.ui-theme-settings,.browser-agent-opt-in,.design-font-settings,.autosave-settings,.printed-output-settings,.parameters-page-header,.pattern-print-header,.pattern-print-summary,.pattern-print-comparison,.expression-builder-actions){border-color:var(--theme-section-border);box-shadow:0 1px rgba(var(--ui-shadow-rgb),calc(.2 * var(--ui-shadow-strength)))}.color-swatch-picker{position:relative;display:inline-block}.color-swatch-trigger{box-sizing:border-box;width:32px;height:24px;margin:0;padding:0;border:1px solid rgba(0,0,0,.3);border-radius:3px;background:var(--swatch-color);cursor:pointer}.color-swatch-trigger[aria-expanded=true],.color-swatch-trigger:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.color-swatch-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:max-content;padding:8px;border:1px solid var(--ui-surface-hover);border-radius:4px;background:var(--ui-surface-base);box-shadow:0 6px 16px #00000040}.color-swatch-grid{display:grid;grid-template-columns:repeat(8,20px);gap:4px}.color-swatch{box-sizing:border-box;width:20px;height:20px;margin:0;padding:0;border:1px solid rgba(0,0,0,.3);border-radius:3px;background:var(--swatch-color);cursor:pointer}.color-swatch{-webkit-appearance:none;-moz-appearance:none;appearance:none}.color-swatch[aria-checked=true],.color-swatch:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.custom-color-picker{display:flex;flex-direction:column;gap:6px;width:190px;padding-left:8px;border-left:1px solid var(--ui-surface-hover)}.custom-color-picker.is-selected{outline:2px solid var(--ui-accent);outline-offset:3px}.custom-color-preview{height:20px;border:1px solid rgba(0,0,0,.3);border-radius:3px;background:var(--swatch-color)}.custom-color-control{display:grid;grid-template-columns:68px minmax(0,1fr) 32px;align-items:center;gap:4px;font-size:12px}.custom-color-control output{text-align:right;font-variant-numeric:tabular-nums}.custom-color-slider{width:100%;height:16px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.custom-color-slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--range-background, linear-gradient(to right, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00))}.custom-color-slider::-moz-range-track{height:6px;border-radius:3px;background:var(--range-background, linear-gradient(to right, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00))}.custom-color-slider::-webkit-slider-thumb{width:12px;height:12px;margin-top:-3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #444;border-radius:50%;background:#fff}.custom-color-slider::-moz-range-thumb{width:10px;height:10px;border:1px solid #444;border-radius:50%;background:#fff}.custom-color-slider:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}
