@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--brand-dark-base: #080F1B;--brand-dark-raised: #131E2E;--brand-dark-panel: #131E2E;--brand-dark-panel-solid: #131E2E;--brand-dark-inset: #0D1726;--brand-cyan: #3B82F6;--brand-cyan-dim: rgba(59, 130, 246, .16);--brand-cyan-glow: rgba(59, 130, 246, .35);--accent-cyan: #22D3EE;--accent-cyan-dim: rgba(34, 211, 238, .14);--brand-purple: #8B5CF6;--brand-purple-dim: rgba(139, 92, 246, .16);--brand-purple-glow: rgba(139, 92, 246, .4);--text-primary: #F1F5F9;--text-secondary: #A3B3C8;--text-muted: #71839B;--text-accent: var(--brand-cyan);--status-valid: #22C55E;--status-valid-glow: rgba(34, 197, 94, .35);--status-warning: #F59E0B;--status-warning-glow: rgba(245, 158, 11, .35);--status-error: #EF4444;--status-error-glow: rgba(239, 68, 68, .35);--status-ready: var(--brand-cyan);--status-ready-glow: var(--brand-cyan-glow);--border-hairline: rgba(148, 163, 184, .12);--border-subtle: #26364A;--border-strong: #34495F;--border-accent: rgba(59, 130, 246, .6);--border-purple: rgba(139, 92, 246, .5);--surface-app: var(--brand-dark-base);--surface-panel: #131E2E;--surface-card: #19263A;--surface-card-hover: #203048;--surface-input: #0D1726;--surface-overlay: rgba(19, 30, 46, .97);--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 18px;--text-xl: 22px;--tracking-wide: 0;--tracking-wider: 0;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.2;--leading-normal: 1.5;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--blur-xl: 0px;--blur-2xl: 0px;--shadow-panel: 0 8px 24px rgba(0, 0, 0, .35);--shadow-card: 0 2px 8px rgba(0, 0, 0, .25);--shadow-inner: none;--glow-cyan: 0 0 0 1px rgba(59, 130, 246, .7);--glow-cyan-strong: 0 0 0 2px rgba(59, 130, 246, .8);--glow-purple: 0 0 0 1px rgba(139, 92, 246, .45), 0 0 16px rgba(139, 92, 246, .3);--focus-ring: 0 0 0 3px rgba(59, 130, 246, .35);--motion-enter: cubic-bezier(.23, 1, .32, 1);--motion-leave: ease-out;--motion-dim: .2s;--motion-rise: .26s;--motion-pop: .16s;--motion-exit: .17s;--duration-fast: .15s;--duration-base: .18s;--ease-out: cubic-bezier(.22, 1, .36, 1)}:root[data-theme=light]{--brand-dark-base: #E9EDF2;--brand-dark-raised: #FFFFFF;--brand-dark-panel: #FFFFFF;--brand-dark-panel-solid: #FFFFFF;--brand-dark-inset: #F4F6F9;--brand-cyan: #2563EB;--brand-cyan-dim: rgba(37, 99, 235, .1);--brand-cyan-glow: rgba(37, 99, 235, .22);--accent-cyan: #0891B2;--accent-cyan-dim: rgba(8, 145, 178, .1);--brand-purple: #7C3AED;--brand-purple-dim: rgba(124, 58, 237, .1);--brand-purple-glow: rgba(124, 58, 237, .25);--text-primary: #0F1B2D;--text-secondary: #475569;--text-muted: #7B8798;--status-valid: #16A34A;--status-valid-glow: rgba(22, 163, 74, .22);--status-warning: #D97706;--status-warning-glow: rgba(217, 119, 6, .22);--status-error: #DC2626;--status-error-glow: rgba(220, 38, 38, .22);--border-hairline: rgba(15, 27, 45, .09);--border-subtle: #D8DFE8;--border-strong: #BCC6D3;--border-accent: rgba(37, 99, 235, .55);--border-purple: rgba(124, 58, 237, .45);--surface-app: #E9EDF2;--surface-panel: #FFFFFF;--surface-card: #F3F5F8;--surface-card-hover: #E9EEF4;--surface-input: #F6F8FA;--surface-overlay: rgba(255, 255, 255, .97);--shadow-panel: 0 1px 2px rgba(15, 27, 45, .06), 0 8px 24px rgba(15, 27, 45, .07);--shadow-card: 0 1px 3px rgba(15, 27, 45, .08);--glow-cyan: 0 0 0 1px rgba(37, 99, 235, .7);--glow-cyan-strong: 0 0 0 2px rgba(37, 99, 235, .8);--glow-purple: 0 0 0 1px rgba(124, 58, 237, .4), 0 0 12px rgba(124, 58, 237, .18);--focus-ring: 0 0 0 3px rgba(37, 99, 235, .22)}::selection{background:#3b82f64d}:root[data-theme=light] ::selection{background:#2563eb2e}a{color:var(--brand-cyan);text-decoration:none;transition:opacity var(--duration-base) var(--ease-out)}a:hover{opacity:.8;text-decoration:underline}.glass-panel{background:var(--surface-panel);backdrop-filter:blur(var(--blur-2xl));-webkit-backdrop-filter:blur(var(--blur-2xl));border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.section-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:none;color:var(--text-primary)}.mono-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary)}*{box-sizing:border-box;margin:0}html,body,#root{height:100%;overflow:hidden;font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);background:var(--surface-app);color:var(--text-primary);-webkit-font-smoothing:antialiased}button{font-family:var(--font-ui)}.app{display:flex;flex-direction:column;height:100dvh}.main{flex:1;min-height:0;display:grid;grid-template-columns:320px minmax(0,1fr) 312px;gap:var(--space-3);padding:0 var(--space-4) var(--space-4)}@media(max-width:1280px){.main{grid-template-columns:280px minmax(0,1fr) 272px}}.main.hw-hidden{grid-template-columns:320px minmax(0,1fr)}@media(max-width:1280px){.main.hw-hidden{grid-template-columns:280px minmax(0,1fr)}}@media(max-width:1024px){.main{grid-template-columns:260px minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,34vh)}.panel.right{grid-column:1 / -1}.main.hw-hidden{grid-template-columns:260px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}}@media(max-width:720px){.main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,30vh) minmax(0,1fr) minmax(0,30vh)}.panel.left{grid-row:2}.center{grid-row:1}.panel.right{grid-column:auto;grid-row:3}.main.hw-hidden{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,30vh)}}.hw-hide{margin-left:auto;font-size:var(--text-xs);padding:3px 9px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.hw-hide:hover{color:var(--text-primary);border-color:var(--border-strong)}.panel-title{display:flex;align-items:center;gap:var(--space-2);margin-bottom:-10px}.hw-show{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:800;writing-mode:vertical-rl;padding:14px 6px;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:none;border:1px solid var(--border-hairline);border-right:none;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--surface-panel);backdrop-filter:blur(var(--blur-2xl));-webkit-backdrop-filter:blur(var(--blur-2xl));color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.hw-show:hover{color:var(--brand-cyan);border-color:var(--border-accent)}.topbar{display:flex;align-items:center;gap:var(--space-4);padding:10px var(--space-4);flex:none}.brand{display:flex;flex-direction:column;min-width:190px}.topbar h1{font-size:19px;font-weight:var(--weight-bold);line-height:var(--leading-tight);white-space:nowrap}.topbar h1 span{color:var(--brand-cyan);text-shadow:0 0 14px var(--brand-cyan-glow)}.brand-sub{font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:.05em}.projectbar{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-3);padding:7px var(--space-4);background:var(--surface-panel);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));border:1px solid var(--border-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.project-name{width:190px;background:var(--surface-input);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);box-shadow:var(--shadow-inner);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:6px 8px;transition:border-color var(--duration-base) var(--ease-out)}.ghost-btn{font-size:var(--text-sm);font-weight:var(--weight-medium);padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.ghost-btn:hover{background:var(--surface-card-hover);border-color:var(--border-strong);color:var(--text-primary)}.ghost-btn:active{transform:scale(.97)}.open-btn input,.file-btn input{display:none}.topbar .stats{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:7px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-accent);background:var(--brand-cyan-dim);color:var(--brand-cyan);box-shadow:var(--glow-cyan);cursor:pointer;white-space:nowrap;transition:all var(--duration-base) var(--ease-out)}.export:hover{background:#3b82f638;box-shadow:var(--glow-cyan-strong)}.export:active{transform:scale(.97)}.shortcut-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:#030810b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.shortcut-backdrop.cup-notice{z-index:1000}.shortcut-dialog{width:min(720px,100%);max-height:min(760px,90vh);overflow:auto;padding:22px;background:var(--surface-panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel),var(--glow-cyan)}.screen-dialog{width:min(560px,100%)}.screen-dialog .screen-dims{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.screen-dialog .screen-dims label{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--text-secondary);font-size:var(--text-sm)}.screen-dialog .screen-dims input{width:100%;box-sizing:border-box;background:var(--surface-input);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);box-shadow:var(--shadow-inner);color:var(--text-primary);padding:7px 8px;font-family:var(--font-mono);font-size:var(--text-sm)}.screen-dialog .screen-dims input:focus{outline:none;border-color:var(--border-strong)}.screen-dialog .row.buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.screen-dialog .row.buttons button{width:auto;min-width:96px}.shortcut-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.shortcut-header h2{color:var(--text-primary);font-size:18px}.shortcut-header p{margin-top:5px;color:var(--text-secondary);font-size:var(--text-sm)}.shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.shortcut-row{display:flex;align-items:center;gap:12px;min-height:42px;border-bottom:1px solid var(--border-hairline)}.shortcut-row kbd,.shortcut-header kbd{flex:none;padding:3px 7px;border:1px solid var(--border-subtle);border-bottom-color:var(--border-strong);border-radius:4px;background:var(--surface-input);color:var(--brand-cyan);font-family:var(--font-mono);font-size:11px;white-space:nowrap}.shortcut-row strong,.shortcut-row small{display:block}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:24px;background:#030810c2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.settings-dialog{width:min(820px,100%);max-height:min(820px,92vh);display:flex;flex-direction:column;background:var(--surface-panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel),var(--glow-cyan)}.settings-header,.settings-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px}.settings-header{border-bottom:1px solid var(--border-hairline)}.settings-header h2{font-size:20px}.settings-header p,.settings-help{color:var(--text-secondary);font-size:var(--text-xs)}.settings-header p{margin-top:5px}.settings-scroll{overflow:auto;padding:4px 22px 18px}.settings-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:10px 22px;border-bottom:1px solid var(--border-hairline)}.settings-tab{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);padding:5px 10px;cursor:pointer;white-space:nowrap}.settings-tab:hover{color:var(--text-primary)}.settings-tab.active{background:var(--brand-cyan-dim);border-color:var(--border-accent);color:var(--brand-cyan)}.settings-section[hidden]{display:none}.settings-scroll>.settings-section{border-bottom:none}.settings-section{padding:18px 0;border-bottom:1px solid var(--border-hairline)}.settings-section h3{margin-bottom:8px;color:var(--brand-cyan);font-size:var(--text-sm);text-transform:none;letter-spacing:.08em}.settings-check{display:flex;align-items:center;gap:9px;min-height:34px;color:var(--text-primary);font-size:var(--text-sm)}.settings-check input{accent-color:var(--brand-cyan)}.settings-check select{margin-left:auto}.settings-check.stacked{align-items:flex-start;padding:7px 0}.settings-check.stacked input{margin-top:2px}.settings-check.stacked small{display:block;margin-top:2px;color:var(--text-secondary);font-size:var(--text-xs)}.settings-layer{display:grid;grid-template-columns:1fr 190px;align-items:start;gap:12px;padding:7px 0;color:var(--text-primary);font-size:var(--text-sm)}.settings-layer small{display:block;margin-top:2px;color:var(--text-secondary);font-size:var(--text-xs)}.settings-layer input{padding:6px 9px;border:1px solid var(--border-subtle);border-radius:4px;background:var(--surface-input);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs)}.settings-section code{color:var(--brand-cyan);font-family:var(--font-mono)}.rack-pattern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 12px;margin-top:8px}.rack-pattern-row{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:6px;color:var(--text-primary);font-size:var(--text-xs)}.rack-pattern-row span{color:var(--text-secondary);text-align:right}.rack-pattern-row input{min-width:0;padding:4px 7px;border:1px solid var(--border-subtle);border-radius:4px;background:var(--surface-input);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs)}.rack-pattern-row input::placeholder{color:var(--text-secondary);opacity:.55}.rack-pattern-row.invalid input,.inspector label.invalid input{border-color:#ff6464b3;color:#ff9b9b}@media(max-width:640px){.rack-pattern-grid{grid-template-columns:repeat(2,1fr)}}.settings-shortcut{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:48px;border-bottom:1px solid var(--border-hairline)}.settings-shortcut strong,.settings-shortcut small{display:block}.settings-shortcut strong{font-size:var(--text-sm)}.settings-shortcut small{margin-top:2px;color:var(--text-secondary);font-size:var(--text-xs)}.shortcut-key,.shortcut-recording{min-width:116px;padding:6px 9px;border:1px solid var(--border-subtle);border-radius:4px;background:var(--surface-input);color:var(--brand-cyan);font-family:var(--font-mono);cursor:pointer}.shortcut-recording{border-color:var(--brand-cyan);box-shadow:var(--glow-cyan)}.shortcut-capture{position:absolute;width:1px;height:1px;opacity:0}.settings-error{margin:10px 0;padding:8px 10px;border:1px solid rgba(255,100,100,.5);border-radius:4px;color:#ff9b9b;font-size:var(--text-xs)}.settings-footer{border-top:1px solid var(--border-hairline)}.castors-window .row>.edit-board{align-self:flex-end;flex:0 0 auto}.cb-save-to{align-items:flex-end}.cb-save-choice{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0;font-size:var(--text-sm)}.cb-save-choice legend{margin-bottom:6px;color:var(--text-secondary)}.cb-save-choice label{display:flex;align-items:baseline;gap:6px}.cb-save-choice input[type=radio]{flex:0 0 auto}.shortcut-row strong{color:var(--text-primary);font-size:var(--text-sm)}.shortcut-row small{color:var(--text-secondary);font-size:var(--text-xs)}@media(max-width:700px){.shortcut-grid{grid-template-columns:1fr}}.panel{min-height:0;overflow-y:auto;background:var(--surface-panel);backdrop-filter:blur(var(--blur-2xl));-webkit-backdrop-filter:blur(var(--blur-2xl));border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.panel section{display:flex;flex-direction:column;gap:10px}.panel h2{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:none;letter-spacing:var(--tracking-wider);color:var(--text-secondary)}.panel label{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);color:var(--text-secondary);min-width:0}.panel input,.panel select,.search{width:100%;background:var(--surface-input);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);box-shadow:var(--shadow-inner);color:var(--text-primary);padding:7px 8px;font-family:var(--font-ui);font-size:var(--text-sm);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.panel input[type=number],.panel input.num-field,.panel input[type=text]:disabled{font-family:var(--font-mono)}.panel select{text-overflow:ellipsis}.panel select option{background:var(--brand-dark-panel-solid)}.panel input:focus,.panel select:focus,.project-name:focus,.search:focus{outline:none;border-color:var(--border-accent);box-shadow:var(--focus-ring)}.panel input:disabled{opacity:.55}.search-select{width:100%;display:flex;align-items:center;gap:6px;background:var(--surface-input);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);box-shadow:var(--shadow-inner);color:var(--text-primary);padding:7px 8px;font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.search-select:focus-visible,.search-select[aria-expanded=true]{outline:none;border-color:var(--border-accent);box-shadow:var(--focus-ring)}.search-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-select-caret{color:var(--text-secondary);font-size:13px;line-height:1}.search-select-pop{position:fixed;z-index:1200;display:flex;flex-direction:column;background:var(--brand-dark-panel-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:0 12px 36px #0000008c;overflow:hidden}.search-select-input{margin:6px;padding:6px 8px;background:var(--surface-input);border:1px solid var(--border-accent);border-radius:var(--radius-xs);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-sm);outline:none}.search-select-list{overflow-y:auto;padding-bottom:4px}.search-select-group{position:sticky;top:0;padding:5px 10px 3px;background:var(--brand-dark-panel-solid);border-top:1px solid var(--border-hairline);color:var(--text-accent);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.search-select-option{padding:5px 10px 5px 16px;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-select-option.active{background:var(--brand-cyan-dim)}.search-select-option.selected{color:var(--text-accent)}.search-select-empty{padding:8px 10px;color:var(--text-muted);font-size:var(--text-sm)}.panel input[type=number].pending,.panel input[type=number].pending:focus,.panel input.num-field.pending,.panel input.num-field.pending:focus{border-color:var(--status-warning);box-shadow:0 0 0 2px color-mix(in srgb,var(--status-warning) 28%,transparent)}.row{display:flex;gap:var(--space-2)}.board-insets{display:flex;flex-direction:column;gap:4px}.edit-boards{align-self:flex-start;white-space:nowrap}.castor-boards .settings-section>label,.castor-boards .settings-section .row>label{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:var(--text-sm)}.castor-boards .settings-section .row>label{margin-top:0}.castor-boards .settings-section .row{display:flex;gap:var(--space-2);margin-top:10px}.castor-boards .settings-section .row>label{flex:1}.castor-boards .settings-section input,.castor-boards .settings-section select{width:100%}.castor-boards .settings-section>.hint{display:block;margin-top:12px}.castor-boards .board-axis>label{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:var(--text-sm)}.castor-boards .board-position{display:flex;gap:var(--space-2)}.castor-boards .board-position>select{flex:1 1 auto;min-width:0}.castor-boards .board-position>input{flex:0 0 5.5em;width:5.5em}.settings-dialog.castor-boards{width:min(1180px,100%);max-height:min(880px,94vh)}.cb-panes{flex:1;min-height:0;display:grid;grid-template-columns:1fr 360px;gap:0}.cb-canvas{display:flex;flex-direction:column;min-height:420px;padding:14px 0 14px 22px;border-right:1px solid var(--border-hairline)}.cb-canvas>.hint{margin-top:8px;padding-right:12px}.cb2d-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.cb-canvas .panel2d{flex:1;min-height:0;border:1px solid var(--border-hairline);border-radius:var(--radius-sm, 4px)}.cb-toolbar{display:flex;gap:6px;align-items:center;margin-bottom:10px;padding-right:12px}.cb-toolbar .ghost-btn{margin-left:auto}.cb-form{padding:4px 22px 18px}.cb2d.cb2d-placing{cursor:crosshair}.cb2d-empty{flex:1;display:grid;place-items:center;padding:24px;color:var(--text-secondary);font-size:var(--text-sm);border:1px dashed var(--border-hairline);border-radius:var(--radius-sm, 4px);text-align:center}.cb2d-board{fill:#966e3238;stroke:#c8a568;stroke-width:1.4}.cb2d-neighbour rect{fill:#ffffff09;stroke:var(--text-muted);stroke-width:1;stroke-dasharray:4 4;opacity:.6}.cb2d-neighbour-label{fill:var(--text-secondary);opacity:.5;font-family:var(--font-mono);letter-spacing:.18em}.cb2d-seam{stroke:var(--brand-amber, #e8b64a);stroke-width:1.4;stroke-dasharray:8 4}.cb2d-seam-label{fill:var(--brand-amber, #e8b64a);font-family:var(--font-mono);letter-spacing:.18em}.cb2d-point{cursor:pointer}.cb2d-point line{stroke:var(--text-secondary)}.p2d-space{fill:#3ddc841a;stroke:#3ddc84a6;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.p2d-space.rack{fill:#efb0401a;stroke:#efb040b3}.p2d-rack-strip{fill:#efb0408c;stroke:#efb040e6;vector-effect:non-scaling-stroke}.space-axis h3{margin:6px 0 2px;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:none;color:var(--text-secondary)}.space-axis .drawer-item{border:1px solid var(--border-hairline);border-radius:var(--radius-sm);padding:6px 8px 2px;margin:6px 0 8px}.joiner-list{display:flex;flex-direction:column;gap:8px;margin:6px 0 8px}.joiner-item{border:1px solid var(--border-hairline);border-radius:var(--radius-sm);padding:6px 6px 8px}.joiner-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.joiner-panel{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);min-width:0}.joiner-actions{display:flex;gap:4px;flex:none}.joiner-item-fields{display:grid;grid-template-columns:minmax(0,82fr) 74px minmax(0,90fr);gap:4px}.joiner-not-made{margin:6px 0 0;font-size:var(--text-xs);color:var(--status-warning)}.p2d-hw-boundary{cursor:grab}.cb2d-point.ghosted{opacity:.45}.cb2d-point.ghosted .p2d-hw-boundary{stroke-dasharray:5 4}.cb2d-arrow line{stroke:var(--brand-cyan);stroke-width:1.6}.cb2d-arrow path{fill:var(--brand-cyan)}.cb2d-point.selected .cb2d-arrow line{stroke-width:2.2}.cb2d-plate{fill:#c8cdd629;stroke:#9aa1ad;stroke-width:1.2}.cb2d-point.selected .cb2d-plate{stroke:var(--brand-cyan)}.cb2d-extent{fill:none;stroke:#9aa1ad;stroke-width:1;stroke-dasharray:3 3;opacity:.85}.cb2d-extent.warn{fill:#ffb0201a;stroke:#ffb020;stroke-width:1.6;stroke-dasharray:none;opacity:1}.cb2d-cup rect{fill:#7ed3a824;stroke:#7ed3a8;stroke-width:1.4;stroke-dasharray:5 3;cursor:pointer}.cb2d-cup.warn rect{fill:#ffb0202e;stroke:#ffb020;stroke-dasharray:none;stroke-width:2}.cb2d-cup.follow rect{fill:#7ed3a812;stroke-dasharray:2 3;cursor:default}.cb2d-cup.follow.warn rect{fill:#ffb0202e;stroke-dasharray:none}.cb2d-point.selected .cb2d-cup rect{stroke-width:2.2}.cb2d-cup.selected rect{stroke:var(--brand-cyan);fill:#3b82f61a}.cb2d-drill-warn{stroke:#ffb020;stroke-width:2;fill:#ffb02040}.cb2d-bolt{cursor:pointer}.cb2d-bolt-ring{fill:#ffffff08;stroke:var(--text-muted);stroke-width:1}.cb2d-bolt.selected .cb2d-bolt-ring{stroke:var(--brand-cyan);stroke-width:2}.cb-selected .ghost-btn{margin-top:12px}@media(max-width:1000px){.cb-panes{grid-template-columns:1fr}.cb-canvas{border-right:none;padding-right:22px}}.template-list{display:flex;flex-direction:column;gap:4px}.template-row{display:flex;align-items:center;gap:var(--space-2)}.template-pick{flex:1;display:flex;justify-content:space-between;gap:12px;text-align:left}.row>label{flex:1}.restore-removed{align-self:flex-start;min-height:30px;margin:2px 0 6px;padding:4px 12px;border:1px solid var(--status-valid);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--status-valid) 14%,transparent);color:var(--status-valid);font-size:var(--text-sm);font-weight:var(--weight-medium);text-transform:capitalize;cursor:pointer;transition:background var(--duration-base) var(--ease-out)}.restore-removed:hover{background:color-mix(in srgb,var(--status-valid) 26%,transparent)}.restore-removed:active{transform:scale(.97)}.restore-removed:focus-visible{outline:2px solid var(--status-valid);outline-offset:2px}.case-type{display:grid;grid-template-columns:1fr 1fr;gap:6px}.case-type button{font-size:var(--text-xs);font-weight:var(--weight-medium);padding:9px 6px;border-radius:var(--radius-sm);border:1px solid var(--border-hairline);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;line-height:1.25;transition:all var(--duration-base) var(--ease-out)}.case-type button:hover{background:var(--surface-card-hover);color:var(--text-primary)}.case-type button:active{transform:scale(.97)}.case-type button.active{border-color:var(--border-accent);color:var(--brand-cyan);background:var(--brand-cyan-dim);box-shadow:var(--glow-cyan)}.thumb{width:52px;height:52px;object-fit:contain;border-radius:var(--radius-sm);background:#fff;align-self:flex-end;flex:none}.center{min-width:0;min-height:0;display:flex;flex-direction:column;gap:var(--space-3)}.canvas-wrap{position:relative;flex:1;min-width:0;min-height:0;border:1px solid var(--border-hairline);border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#172840,#101b2c 45%,#080f1b);box-shadow:var(--shadow-inner)}.canvas-wrap.light{background:radial-gradient(ellipse at 50% 42%,#f7f9fc,#ebeff4 45%,#dce2ea)}.canvas-wrap canvas{display:block}.view-toggle{position:absolute;top:132px;right:41px;width:58px;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);padding:6px 0;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-overlay);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.view-toggle:hover{border-color:var(--border-accent);color:var(--brand-cyan);box-shadow:var(--glow-cyan)}.view-home{position:absolute;z-index:6;top:12px;right:138px;width:26px;height:26px;display:grid;place-items:center;font-size:15px;line-height:1;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-overlay);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.zoom-home{right:12px}.panel2d.panning{cursor:grabbing}.view-home:hover{border-color:var(--border-accent);color:var(--brand-cyan);box-shadow:var(--glow-cyan)}.section-control{position:absolute;top:12px;left:12px;z-index:5;display:flex;align-items:center;flex-wrap:wrap;max-width:calc(100% - 148px);row-gap:5px;gap:6px;padding:5px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-overlay);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl))}.section-control .tab{padding:3px 9px;font-size:var(--text-xs)}.section-control .tab.tool-tab{flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:center;gap:3px;padding:4px 10px 3px;white-space:nowrap;line-height:1.2}.section-control .tool-icon{width:16px;height:16px;flex:none}.section-control.collapsed{max-width:none}.section-control .tools-toggle{white-space:nowrap}.section-control input[type=range]{width:130px;accent-color:var(--brand-cyan);cursor:pointer}.placing-banner{position:absolute;bottom:78px;left:50%;transform:translate(-50%);z-index:6;max-width:calc(100% - 32px);width:max-content;display:flex;align-items:center;gap:10px;background:var(--surface-overlay);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));border:1px solid var(--border-accent);border-radius:var(--radius-md);box-shadow:var(--glow-cyan);padding:8px 14px;font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap}.placing-banner strong{font-family:var(--font-mono);color:var(--brand-cyan)}.box-pick-banner{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:6;max-width:calc(100% - 32px);display:flex;flex-direction:column;gap:4px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid rgba(57,217,138,.55);background:var(--surface-overlay);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));color:var(--text-secondary);font-size:var(--text-xs)}.box-pick-banner .box-pick-set{color:#39d98a}.box-pick-banner .box-pick-sensed{color:var(--brand-cyan);font-weight:400}.box-pick-banner .box-pick-default{color:var(--text-secondary);font-weight:400}.box-pick-banner .box-pick-note{opacity:.7}.box-pick-banner .box-pick-actions{display:flex;gap:6px}.placing-banner button{font-size:var(--text-xs);padding:4px 8px;border-radius:var(--radius-xs);border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.placing-banner button:hover{color:var(--text-primary);border-color:var(--border-strong)}.status-pill{position:absolute;bottom:14px;left:14px;display:flex;align-items:center;gap:7px;padding:6px 14px;border-radius:var(--radius-pill);background:var(--surface-overlay);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));border:1px solid var(--border-hairline);box-shadow:var(--shadow-panel);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:none;font-family:inherit;cursor:pointer}.status-pill:disabled{cursor:default}.warnings-pop{position:absolute;bottom:64px;right:14px;z-index:30;width:min(420px,calc(100% - 28px));max-width:min(480px,calc(100% - 28px));max-height:min(50vh,420px);overflow-y:auto;background:var(--surface-overlay);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));box-shadow:var(--shadow-panel)}.warnings-pop.closed{display:none}.status-pill.hidden-pill{left:auto;right:14px;bottom:64px;max-width:min(420px,calc(100% - 220px));color:var(--text-secondary)}.status-pill.hidden-pill .dot{background:var(--text-secondary)}.status-pill.hidden-pill{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-pill.measure-pill{left:auto;right:14px;bottom:64px;max-width:min(520px,calc(100% - 220px));color:var(--text-secondary);line-height:1.5}.status-pill.measure-pill.above-hidden{bottom:102px}.status-pill.measure-pill .dot{background:var(--brand-cyan)}.status-pill.measure-pill.has-value{color:var(--text-primary)}.status-pill.divide-pill{left:auto;right:14px;max-width:min(560px,calc(100% - 220px));color:var(--text-primary)}.status-pill.divide-pill.above-hidden{bottom:52px}.status-pill.divide-pill .dot{background:#f3b14a}.status-pill.stack-pill{left:50%;transform:translate(-50%);color:var(--text-primary);cursor:default}.status-pill.stack-pill .dot{background:#39d98a}.divide-ghost-tag{padding:1px 7px;border-radius:var(--radius-pill);background:#2e2310eb;border:1px solid #7a5a22;color:#f3b14a;font-size:12px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.divide-chip{position:absolute;transform:translate(14px,14px);padding:3px 8px;border-radius:6px;background:#2e2310eb;border:1px solid #7a5a22;color:#f3b14a;font-size:11.5px;font-weight:600;white-space:nowrap;pointer-events:none;z-index:5}.divide-ring{position:absolute;width:34px;height:34px;transform:translate(-50%,-50%);pointer-events:none;z-index:5}.divide-ring .divide-ring-arc{stroke:#f3b14a}.dim3-html,.dim3-html>div,.dim3-html>div>div{pointer-events:none}.dim3-num,.dim3-dot,.dim3-chip{pointer-events:auto}.dim3-num{padding:1px 7px;border-radius:var(--radius-pill);background:var(--surface-overlay);border:1px solid #56627a;color:#c3cbe0;font:600 12px/1.4 var(--font-mono);white-space:nowrap;cursor:text}.dim3-num.lit{border-color:#2fd3ea;color:#2fd3ea}.dim3-num.info{border-color:#3b4763;color:#8a97b0;font-weight:500}.dim3-num:disabled{cursor:default}.dim3-num:not(:disabled):hover{background:#1b2436}input.dim3-num.editing{width:74px;cursor:text;color:var(--text-primary);border-color:#2fd3ea;outline:none}.dim3-suffix{margin-left:4px;font-weight:400;opacity:.8}.dim3-dot{display:block;width:16px;height:16px;padding:0;border-radius:50%;border:2px solid #8a97b0;background:var(--surface-overlay);cursor:pointer;transition:transform .1s}.dim3-dot.on{border-color:#2fd3ea;background:#2fd3ea;box-shadow:0 0 0 3px #2fd3ea38}.dim3-dot:disabled{cursor:default}.dim3-dot:not(:disabled):hover{transform:scale(1.25);border-color:#2fd3ea}.dim3-chip{padding:2px 9px;border-radius:var(--radius-pill);background:var(--surface-overlay);border:1px solid #56627a;color:#c3cbe0;font-size:11.5px;white-space:nowrap;cursor:pointer}.dim3-chip.on{border-color:#2fd3ea;color:#2fd3ea}.dim3-chip:disabled{cursor:default}.dim3-chip:not(:disabled):hover{background:#1b2436}.measure-tag{padding:2px 8px;border-radius:var(--radius-pill);background:var(--surface-overlay);border:1px solid var(--brand-cyan);color:var(--text-primary);font-size:12px;font-weight:600;white-space:nowrap}.hidden-pop{position:absolute;bottom:102px;right:14px;z-index:30;min-width:200px;max-height:min(50vh,420px);overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:var(--space-2);background:var(--surface-overlay);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));border:1px solid var(--border-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.drawer-editor{width:400px;max-width:calc(100vw - 24px)}.drawer-editor .floating-body{padding:12px;overflow-y:auto;max-height:min(70vh,560px)}.drawer-editor .row{flex-wrap:wrap}.drawer-editor .row label{flex:1 1 160px;min-width:0}.drawer-editor .row select{width:100%}.inspector-warning{color:var(--status-warning);font-size:12px;line-height:1.4;margin:4px 0 8px}.frame-summary{margin:6px 0}.frame-summary-head{font-weight:var(--weight-medium);color:var(--text-primary);margin-bottom:2px}.frame-facts{display:grid;grid-template-columns:max-content 1fr;column-gap:10px;row-gap:1px;margin:0}.frame-facts dt{color:var(--text-secondary)}.frame-facts dd{margin:0;color:var(--text-primary);font-variant-numeric:tabular-nums}.frame-fixes{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px}.frame-fixes .ghost-btn{padding:4px 10px}.row>label.frame-turn{flex:0 0 34%}.status-pill .dot{width:7px;height:7px;border-radius:50%;flex:none}.status-pill.valid{color:var(--status-valid)}.status-pill.valid .dot{background:var(--status-valid);box-shadow:0 0 8px var(--status-valid-glow)}.status-pill.warning{color:var(--status-warning)}.status-pill.warning .dot{background:var(--status-warning);box-shadow:0 0 8px var(--status-warning-glow)}.cutlist-open{flex:none;white-space:nowrap}.cutlist-window{position:fixed;z-index:900;width:min(680px,52vw);height:min(420px,62vh);min-width:320px;min-height:140px;max-width:98vw;resize:both;overflow:hidden;background:var(--surface-panel);backdrop-filter:blur(var(--blur-2xl));-webkit-backdrop-filter:blur(var(--blur-2xl));border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel),0 18px 60px #0000008c;display:flex;flex-direction:column}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:6px var(--space-3);flex:none;border-bottom:1px solid var(--border-hairline)}.floating-window{position:fixed;z-index:900;background:var(--surface-panel);backdrop-filter:blur(var(--blur-2xl));-webkit-backdrop-filter:blur(var(--blur-2xl));border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel),0 18px 60px #0000008c;display:flex;flex-direction:column;overflow:hidden}.floating-window .drawer-head{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.floating-window .drawer-head button{cursor:pointer}.floating-title{margin-right:auto;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:none;color:var(--text-secondary)}.floating-body{overflow-y:auto;padding:var(--space-3)}.construction-window{width:300px;max-height:min(72vh,640px);resize:both;min-width:260px;min-height:180px;max-width:96vw;z-index:910}.construction-window .floating-body{display:flex;flex-direction:column;gap:var(--space-4);flex:1;min-height:0}.construction-window:not(.castors-window){width:620px;max-height:min(80vh,720px)}.construction-window .row{flex-wrap:wrap}.construction-window .row>label{min-width:190px}.construction-window fieldset.panel{border:none;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;padding:0;margin:0;min-height:auto;overflow:visible;display:flex;flex-direction:column;gap:var(--space-4)}.wheel-list{display:flex;flex-direction:column;gap:4px}.wheel-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:5px 8px;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--surface-overlay);font-size:var(--text-xs);color:var(--text-secondary)}.wheel-row strong{color:var(--text-primary);flex:none}.construction-open{width:100%;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--border-hairline);background:var(--surface-overlay);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-align:left;cursor:pointer}.construction-open:hover{border-color:var(--brand-cyan)}.cutlist-window .drawer-head{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.cutlist-window .drawer-head button{cursor:pointer}.cutlist-grip{flex:none;padding:4px 8px;color:var(--text-muted);font-size:var(--text-sm)}.cutlist-window .drawer-tabs{margin-right:auto}.drawer-tabs{display:flex;gap:4px}.drawer-tab{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:none;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.drawer-tab:hover{color:var(--text-primary)}.drawer-tab.active{color:var(--brand-cyan);background:var(--brand-cyan-dim);border-color:var(--border-accent)}.drawer-toggle{font-size:var(--text-xs);padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.drawer-toggle:hover{color:var(--text-primary);border-color:var(--border-strong)}.drawer-body{flex:1;overflow:auto;min-height:0}.drawer-empty{margin:0;padding:14px 12px;font-size:var(--text-sm);opacity:.72}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th{text-align:left;padding:6px 12px;color:var(--text-secondary);font-weight:var(--weight-semibold);background:var(--surface-input);border-bottom:1px solid var(--border-hairline);white-space:nowrap;position:sticky;top:0}.data-table td{padding:6px 12px;border-bottom:1px solid var(--border-hairline);color:var(--text-secondary);transition:background var(--duration-base)}.data-table td:first-child{color:var(--text-primary)}.data-table td.num{font-family:var(--font-mono)}.data-table.metal-table td{white-space:nowrap}.cutlist-notes{margin:8px 12px;padding-left:0;list-style:none}.data-table tbody tr:hover td{background:var(--surface-card-hover)}.tabs{display:flex;flex-wrap:wrap;gap:4px}.tab{flex:1;font-size:var(--text-sm);font-weight:var(--weight-medium);padding:7px 4px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--brand-cyan-dim);border-color:var(--border-accent);color:var(--brand-cyan)}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);max-height:296px;overflow-y:auto;padding-right:2px}.catalog-item{position:relative;height:96px;border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:#fff;padding:4px 4px 16px;cursor:pointer;overflow:hidden;transition:all var(--duration-base) var(--ease-out)}.catalog-item:hover{border-color:var(--border-accent);box-shadow:var(--glow-cyan)}.catalog-item:active{transform:scale(.97)}.catalog-item img{width:100%;height:calc(100% - 14px);object-fit:contain}.catalog-item span{font-family:var(--font-mono);font-size:9px;color:#333;word-break:break-all}.catalog-item .cap{position:absolute;left:0;right:0;bottom:0;font-family:var(--font-mono);font-size:9px;padding:2px 3px;background:#eceff3;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-item em{position:absolute;top:3px;right:3px;font-size:8px;font-style:normal;background:var(--status-warning);color:#0b0f19;border-radius:3px;padding:0 3px}.catalog-item.placing{border-color:var(--border-accent);box-shadow:var(--glow-cyan-strong)}.auto-place{width:100%;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:7px;border-radius:var(--radius-sm);border:1px dashed var(--border-subtle);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.auto-place:hover{border-color:var(--border-accent);color:var(--brand-cyan)}.catalog-elsewhere{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--space-2);margin:6px 0}.catalog-elsewhere .ghost-btn{padding:2px 8px;font-size:var(--text-xs)}.hint.catalog-switched{margin:6px 0;color:var(--brand-cyan)}.cap-rim{display:block;margin-top:4px;padding:7px 9px;border:1px solid var(--border-hairline);border-radius:6px;color:var(--text-muted);font-size:var(--text-xs)}.placed-row{display:flex;align-items:center;gap:var(--space-2);padding:7px 9px;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--surface-card);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.placed-group{display:flex;flex-direction:column;gap:var(--space-1)}.placed-group+.placed-group{margin-top:var(--space-3)}.placed-group-head{display:flex;align-items:center;gap:var(--space-2);width:100%;height:28px;padding:0 2px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;cursor:pointer}.placed-group-head:hover{color:var(--text-primary)}.placed-group-head .hw-pane-count{margin-left:auto}.placed-thumb{flex:none;width:36px;height:36px;padding:2px;border-radius:var(--radius-sm);background:#fff}.placed-thumb img{display:block;width:100%;height:100%;object-fit:contain}.placed-text{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.placed-text strong{overflow:hidden;color:var(--text-primary);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap}.placed-sku{font-family:var(--font-mono)}.placed-row:hover{background:var(--surface-card-hover);border-color:var(--border-subtle)}.placed-row.active{border-color:var(--border-accent);background:var(--brand-cyan-dim);box-shadow:var(--glow-cyan)}.placed-row small{overflow:hidden;color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.row-delete{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);padding:2px 4px;transition:color var(--duration-base) var(--ease-out)}.row-delete:hover{color:var(--status-error)}.inspector{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-card);padding:var(--space-3)}.inspector h2{text-transform:none;letter-spacing:0;font-size:13px;font-weight:var(--weight-semibold);color:var(--text-primary)}.inspector h2 .inspector-sku{display:block;margin-bottom:2px;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.02em;color:var(--brand-cyan);-webkit-user-select:text;user-select:text}.inspector h2 small{display:block;font-weight:var(--weight-regular);color:var(--text-muted);font-size:var(--text-xs);margin-top:2px}.check{flex-direction:row!important;align-items:center;gap:6px;font-size:var(--text-sm)}.check input{width:auto;box-shadow:none;accent-color:var(--brand-cyan)}.check-row{flex-direction:row-reverse!important;justify-content:flex-end;align-items:center;gap:8px;font-size:var(--text-sm)}.check-row input{flex:none;width:auto;margin:0;padding:0;background:none;border:none;box-shadow:none;accent-color:var(--brand-cyan)}.row.checks .row-label{align-self:center;font-size:var(--text-sm);color:var(--text-muted)}.construction-window .row.checks>label.check{min-width:0}.buttons{flex-wrap:wrap}.buttons button{flex:1;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:7px 4px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-primary);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.buttons button:hover{background:var(--surface-card-hover);border-color:var(--border-strong)}.buttons button:active{transform:scale(.97)}.buttons button.danger{border-color:#ff4d6d80;color:var(--status-error)}.buttons button.danger:hover{background:#ff4d6d1f;box-shadow:0 0 0 1px #ff4d6d66,0 0 16px #ff4d6d33}.gallery{display:flex;flex-direction:column;height:100dvh}.gallery-canvas{flex:1;min-height:0}.gallery-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-primary);background:var(--surface-overlay);border:1px solid var(--border-hairline);border-radius:var(--radius-xs);padding:2px 7px;white-space:nowrap}.gallery-list{flex:none;max-height:220px;overflow-y:auto;border-top:1px solid var(--border-hairline);background:var(--brand-dark-raised);padding:10px var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.gallery-row{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.gallery-row img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:var(--radius-xs);flex:none}.gallery-row .no-thumb{width:46px;height:46px;border:1px dashed var(--border-subtle);border-radius:var(--radius-xs);font-size:9px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;flex:none}.gallery-row strong{font-family:var(--font-mono);font-weight:var(--weight-medium)}.gallery-row small{display:block;color:var(--text-muted)}.review{display:flex;flex-direction:column;height:100dvh}.review-main{flex:1;min-height:0;display:grid;grid-template-columns:320px minmax(0,1fr);gap:var(--space-3);padding:0 var(--space-4) var(--space-4)}.review-list-pane{min-height:0;display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface-panel);backdrop-filter:blur(var(--blur-2xl));-webkit-backdrop-filter:blur(var(--blur-2xl));border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);padding:var(--space-3)}.review-filters{display:flex;gap:var(--space-2)}.review-filters select{flex:1;min-width:0;background:var(--surface-input);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);padding:6px 8px;font-family:var(--font-ui);font-size:var(--text-xs)}.review-filters select option{background:var(--brand-dark-panel-solid)}.review-count{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.review-count .bulk{font-size:var(--text-xs);padding:4px 8px}.review-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.review-row{display:flex;align-items:center;gap:var(--space-2);padding:6px 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.review-row:hover{background:var(--surface-card-hover);color:var(--text-primary)}.review-row.active{border-color:var(--border-accent);background:var(--brand-cyan-dim);color:var(--text-primary)}.review-row .sku{font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-row small{margin-left:auto;color:var(--text-muted);font-size:10px}.review-row .dot,.status-chip{flex:none}.review-row .dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.review-row .dot.approved{background:var(--status-valid);box-shadow:0 0 6px var(--status-valid-glow)}.review-row .dot.flagged{background:var(--status-error);box-shadow:0 0 6px var(--status-error-glow)}.review-row .dot.unmapped{background:transparent;border:1px dashed var(--text-muted)}.review-detail{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);background:var(--surface-panel);backdrop-filter:blur(var(--blur-2xl));-webkit-backdrop-filter:blur(var(--blur-2xl));border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);padding:var(--space-4)}.review-head{display:flex;align-items:center;gap:var(--space-3)}.review-thumb{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:var(--radius-sm);flex:none}.review-thumb.no-thumb{background:transparent;border:1px dashed var(--border-subtle);color:var(--text-muted);font-size:10px;display:flex;align-items:center;justify-content:center}.review-title{display:flex;flex-direction:column;gap:2px;min-width:0}.review-title strong{font-family:var(--font-mono);font-size:var(--text-lg)}.review-title span{color:var(--text-secondary);font-size:var(--text-sm)}.review-title small{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.status-chip{margin-left:auto;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:none;letter-spacing:var(--tracking-wide);padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);color:var(--text-secondary)}.status-chip.approved{color:var(--status-valid);border-color:var(--status-valid);box-shadow:0 0 10px var(--status-valid-glow)}.status-chip.flagged{color:var(--status-error);border-color:var(--status-error);box-shadow:0 0 10px var(--status-error-glow)}.status-chip.unreviewed{color:var(--status-warning);border-color:var(--status-warning)}.review-drawing{flex:1 0 auto;min-height:260px;display:flex;flex-direction:column;border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:radial-gradient(ellipse at 50% 40%,#141c2e,#0b0f19 80%);box-shadow:var(--shadow-inner);padding:var(--space-3)}.fp-svg{flex:1;min-height:0;width:100%}.fp-axis{stroke:#ffffff14;stroke-width:1}.fp-seam{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:6 4}.fp-label{fill:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em}.fp-cutout{stroke:var(--brand-cyan);stroke-width:1.4;fill:#3b82f60f}.fp-pocket{stroke:#b48cff;stroke-width:1.2;stroke-dasharray:4 3;fill:#b48cff1a}.fp-engrave{stroke:#2dd4bf;stroke-width:.8;fill:none}.fp-drill{stroke:var(--status-warning);stroke-width:1.2;fill:#ffb02024}.fp-drill-center{fill:var(--status-warning)}.fp-edge{stroke:var(--text-secondary);stroke-width:2}.fp-ball{stroke:var(--brand-cyan);stroke-width:1.4;fill:#3b82f60f}.fp-tick{stroke:var(--text-secondary);stroke-width:1}.view-tabs{display:flex;gap:var(--space-1);padding:var(--space-1) var(--space-2)}.view-tabs .tab{padding:2px 10px;font-size:var(--text-xs)}.panel2d{width:100%;height:100%;display:block;background:radial-gradient(circle at 50% 40%,#101827,#0a1018 70%);touch-action:none}.p2d-bg{fill:#ffffff05;stroke:var(--text-muted);stroke-width:1;stroke-dasharray:6 4}.p2d-panel{fill:#785a282e;stroke:#a98d5f;stroke-width:1.2}.p2d-body{fill:none;stroke:var(--brand-cyan);stroke-width:1;stroke-dasharray:10 6}.p2d-split rect{fill:#e8b64a40;stroke:var(--brand-amber, #e8b64a);stroke-width:1}.p2d-split line{stroke:var(--brand-amber, #e8b64a);stroke-width:1}.p2d-split-name{fill:var(--text-secondary)}.inspector .split-edge select{max-width:100%}.p2d-hw{cursor:grab}.p2d-hw line{stroke:var(--text-secondary)}.p2d-hw-boundary{fill:#7dd97b0f;stroke:#7dd97b;stroke-width:1.2}.p2d-hw.selected .p2d-hw-boundary{stroke:var(--brand-cyan);stroke-width:2;fill:#3b82f614}.p2d-hw.derived{cursor:default;opacity:.55}.p2d-hw-label{fill:var(--text-secondary);font-family:var(--font-mono);font-size:11px}.p2d-face-tag{fill:var(--text-secondary);opacity:.55;font-family:var(--font-mono);letter-spacing:.18em}.p2d-dim line{stroke:var(--text-secondary);stroke-width:1;opacity:.45;stroke-dasharray:5 4}.p2d-dim.active line{stroke:var(--brand-cyan);opacity:1;stroke-dasharray:none}.p2d-dim line.p2d-dim-leader{stroke-dasharray:none}.p2d-dim .p2d-dim-label{fill:var(--text-secondary);font-family:var(--font-mono);opacity:.6}.p2d-dim.active .p2d-dim-label{fill:var(--brand-cyan);opacity:1}.p2d-dim-anchor{fill:var(--bg-elevated, #12161d);stroke:var(--text-secondary);stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer;opacity:.7}.p2d-dim-anchor.cross{stroke:#d8b476}.p2d-dim-anchor:hover,.p2d-dim.active .p2d-dim-anchor{stroke:var(--brand-cyan);opacity:1}.p2d-dim-pin{fill:var(--brand-cyan);opacity:.28;pointer-events:none}.p2d-dim-mark{display:none;pointer-events:none}.p2d-dim-mark circle,.p2d-dim-mark path{fill:none;stroke:var(--brand-cyan);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.p2d-dim.active .p2d-dim-mark{display:inline}.p2d-dim-label.editable{cursor:text}.p2d-dim-label.editable:hover{fill:var(--brand-cyan);opacity:1;text-decoration:underline}.p2d-dim-input{box-sizing:border-box;padding:0 .2em;border:1px solid var(--brand-cyan);border-radius:2px;background:var(--bg-elevated, #12161d);color:var(--text-primary);font-family:var(--font-mono);text-align:center}.p2d-dim-input:focus{outline:none}.p2d-snap line{stroke:var(--brand-cyan);stroke-width:1;stroke-dasharray:2 6;opacity:.8}.p2d-ghost circle{fill:#3b82f614;stroke:var(--brand-cyan);stroke-dasharray:4 3}.p2d-ghost line{stroke:var(--brand-cyan)}.p2d-hatch-ghost{fill:#3b82f626;stroke:var(--brand-cyan);stroke-dasharray:4 3;pointer-events:none}.p2d-hw.off{opacity:.35}.p2d-hw.off rect,.p2d-hw.off circle{stroke-dasharray:3 3}.p2d-hatch-ghost.refused{fill:#ef444426;stroke:#ef4444}.axis-row{align-items:end}.qa-checklist{position:relative;z-index:60;flex:none}.qa-bar{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:4px var(--space-3);background:#8b5cf61f;border:none;border-bottom:1px solid rgba(139,92,246,.35);color:var(--text-secondary);font-size:var(--text-xs);letter-spacing:.06em;cursor:pointer}.qa-bar:hover{color:var(--text-primary)}.qa-flag{font-family:var(--font-mono);font-weight:700;color:#b48cff;border:1px solid rgba(139,92,246,.6);border-radius:4px;padding:0 6px}.qa-caret{margin-left:auto}.qa-updated{margin-left:auto;font-family:var(--font-mono);font-weight:400;letter-spacing:0;opacity:.7;font-variant-numeric:tabular-nums}.qa-updated+.qa-caret{margin-left:0}.qa-body{position:absolute;top:100%;left:0;right:0;max-height:70dvh;overflow-y:auto;background:#0b0f19f7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(139,92,246,.35);padding:var(--space-3) var(--space-4);box-shadow:0 12px 30px #00000080}.qa-body ol{margin:0;padding:0 0 0 var(--space-4);display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-2) var(--space-4)}.qa-body li{font-size:var(--text-sm)}.qa-body li.done strong{text-decoration:line-through;color:var(--text-muted)}.qa-body label{display:flex;align-items:center;gap:8px;cursor:pointer}.qa-ws{font-family:var(--font-mono);font-size:var(--text-xs);color:#b48cff;min-width:2.5em}.qa-body p{margin:2px 0 0 26px;font-size:var(--text-xs);color:var(--text-secondary)}.qa-body footer{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--text-muted)}.p2d-partition{fill:#a98d5f80;stroke:#d8b476;stroke-width:1.4;cursor:pointer}.p2d-partition.partial{stroke-dasharray:6 4}.p2d-partition.selected{stroke:var(--brand-cyan);stroke-width:2}.p2d-partition.faceon{fill:#a98d5f1f;stroke-dasharray:8 5;cursor:default}.p2d-step{stroke:var(--text-muted, #93a0b4);stroke-width:1;opacity:.7}.p2d-hw-ghost{fill:none;stroke:#93a0b473;stroke-width:1.2;stroke-dasharray:4 3}.sketch-overlay .sketch-blank{fill:#7890b424;stroke:#7e93b8;stroke-width:1.6}.layout-view:has(.sketch-overlay) .sketch-blank{cursor:crosshair}.sketch-overlay .sketch-feature{fill:#5b6c8526;stroke:#5b6c85;stroke-width:1}.sketch-overlay .sketch-projected{fill:#40c8e00f;stroke:#2e8ba0;stroke-width:1.25;stroke-dasharray:5 4;cursor:pointer}.sketch-meeting rect{fill:#96a0b414;stroke:#9aa6bb}.sketch-meeting .sketch-meeting-hidden{stroke-width:1.25;stroke-dasharray:2 3;stroke-linecap:round}.sketch-meeting .sketch-meeting-seen{stroke-width:1}.sketch-mirror-copy{fill:#40c8e014;stroke:#2e8ba0;stroke-width:1.25;stroke-dasharray:6 3;cursor:pointer}.sketch-mirror-copy.selected{fill:#40c8e02e;stroke:#40c8e0}.sketch-project{display:flex;flex-direction:column;gap:4px;margin:6px 0}.sketch-project .check-row{display:inline-flex}.sketch-project.inline{flex-direction:row;align-items:center;gap:10px;margin:0 0 0 8px}.sketch-project-dir{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm)}.sketch-project-label{min-width:3.2em}.sketch-project-dir input:not([type=checkbox]){width:4.5em}.divide-sketch-window{width:900px;max-width:96vw;max-height:calc(100vh - 140px)}.divide-sketch-window .floating-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);flex:1;min-height:0;overflow-y:auto}.ds-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ds-seg{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:var(--radius-sm);background:var(--surface-input);border:1px solid var(--border-hairline)}.ds-seg button{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:0;border-radius:4px;background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.ds-seg button:hover:not(:disabled){color:var(--text-primary)}.ds-seg button.active{background:var(--brand-cyan-dim);color:var(--brand-cyan);box-shadow:inset 0 0 0 1px var(--border-accent)}.ds-seg button:disabled{opacity:.45;cursor:default}.ds-seg.ds-small button{padding:3px 10px;font-size:var(--text-xs)}.ds-seg-label{padding:0 6px 0 8px;font-size:var(--text-xs);color:var(--text-muted)}.ds-readout{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.ds-readout.drawing{color:var(--brand-cyan)}.ds-mono{font-family:var(--font-mono);color:var(--text-secondary)}.ds-canvas{position:relative;display:flex;justify-content:center;padding:var(--space-2) 0;border-radius:var(--radius-md);background:var(--brand-dark-inset);border:1px solid var(--border-hairline);box-shadow:var(--shadow-inner)}.ds-hint{margin:0;text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.divide-sketch-inspector{display:flex;flex-direction:column;gap:var(--space-3)}.ds-section{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-hairline)}.ds-section h4{margin:0;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:none;color:var(--text-secondary)}.ds-section-head{display:flex;align-items:center;justify-content:space-between}.ds-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2) var(--space-3)}.ds-field{display:flex;flex-direction:column;gap:4px;min-width:0}.ds-field-label{font-size:var(--text-xs);color:var(--text-muted)}.ds-position{display:flex;flex-direction:column;gap:var(--space-2)}.ds-position-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-3)}.ds-input{position:relative;display:block;min-width:0}.ds-unit{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:var(--text-xs);color:var(--text-muted);pointer-events:none}.divide-sketch-window input:not([type=checkbox]),.divide-sketch-window select{width:100%;box-sizing:border-box;height:32px;background:var(--surface-input);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);box-shadow:var(--shadow-inner);color:var(--text-primary);padding:0 9px;font-family:var(--font-ui);font-size:var(--text-sm)}.divide-sketch-window .ds-input input{padding-right:34px;font-family:var(--font-mono)}.divide-sketch-window select option{background:var(--brand-dark-panel-solid)}.divide-sketch-window input:focus,.divide-sketch-window select:focus{outline:none;border-color:var(--border-accent);box-shadow:var(--focus-ring)}.divide-sketch-window input[type=number].pending,.divide-sketch-window input.num-field.pending{border-color:var(--status-warning)}.ds-options .sketch-project{margin:0;gap:var(--space-2)}.ds-options .check-row{display:flex;justify-content:space-between;width:100%;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.ds-options .check-row input{width:15px;height:15px}.ds-options .sketch-project-dir{padding-left:var(--space-3);color:var(--text-secondary)}.ds-options .sketch-project-dir input:not([type=checkbox]){width:90px}.ds-options .sketch-project-dir .check-row{width:auto;gap:6px}.ds-footer{display:flex;justify-content:flex-end;padding-top:var(--space-3);border-top:1px solid var(--border-hairline)}.ds-delete{padding:5px 12px;border-radius:var(--radius-sm);border:1px solid rgba(255,77,109,.35);background:transparent;color:var(--status-error);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer}.ds-delete:hover:not(:disabled){background:#ff4d6d1f;border-color:#ff4d6d99}.ds-delete:disabled{opacity:.45;cursor:default}.sketch-overlay .sketch-shape{fill:#40c8e01f;stroke:#2e8ba0;stroke-width:1.25;cursor:move}.sketch-overlay .sketch-shape.selected{fill:#40c8e040;stroke:#40c8e0;stroke-width:2}.sketch-overlay .sketch-draft{fill:#40c8e026;stroke:#40c8e0;stroke-width:1.5;stroke-dasharray:5 4;pointer-events:none}.sketch-overlay .sketch-dims line{stroke:var(--brand-cyan, #40c8e0);stroke-width:1}.divide-sketch-window .ds-dims .sketch-dims>line{stroke:var(--brand-cyan, #40c8e0);stroke-width:1}.divide-sketch-window .ds-dims .p2d-dim-label{fill:var(--brand-cyan, #40c8e0);font-family:var(--font-mono)}.p2d-divide-warn{fill:#f0b429;paint-order:stroke;stroke:#0c0f14d9;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:visiblePainted}.p2d-divide-name{fill:#f0d9a8;stroke:#0c0f14d9;stroke-width:3;paint-order:stroke;vector-effect:non-scaling-stroke;font-family:var(--font-mono);font-weight:600;pointer-events:none;-webkit-user-select:none;user-select:none}.p2d-divide-name.selected{fill:var(--brand-cyan)}.p2d-foam{fill:#9496988c;stroke:#1c1e20;stroke-width:1}.p2d-foam.lining{pointer-events:none;fill:#94969840;stroke-dasharray:3 3}.p2d-foam.block{cursor:pointer}.p2d-foam.wall{fill:#9496984d;stroke-dasharray:4 3}.p2d-foam.selected{stroke:var(--brand-cyan);stroke-width:2}.p2d-foam-draw{fill:#94969859;stroke:var(--brand-cyan);stroke-width:1;stroke-dasharray:4 3;pointer-events:none}.plan-tool-partition-x,.plan-tool-partition-z,.plan-tool-fill,.plan-tool-draw{cursor:crosshair}.plan-toolbar{display:flex;gap:var(--space-1);align-items:center;padding:2px var(--space-2)}.plan-toolbar .tab.active{border-color:var(--brand-cyan)}.inspector .row.note{color:var(--text-secondary);font-size:var(--text-xs, 11px);padding:2px 0}.inspector details.inspector-more,.panel details.inspector-more{display:block;padding:2px 0}.inspector details.inspector-more>summary,.panel details.inspector-more>summary{cursor:pointer;color:var(--text-secondary);font-size:var(--text-sm);padding:4px 0;-webkit-user-select:none;user-select:none}.inspector details.inspector-more>summary:hover,.panel details.inspector-more>summary:hover{color:var(--text-primary)}.inspector details.inspector-more[open]>summary,.panel details.inspector-more[open]>summary{margin-bottom:4px}details.dims-more{display:block;padding:2px 0}details.dims-more>summary{cursor:pointer;color:var(--text-secondary);font-size:var(--text-sm);padding:4px 0;-webkit-user-select:none;user-select:none}details.dims-more>summary:hover{color:var(--text-primary)}details.dims-more[open]>summary{margin-bottom:4px}.plan-toolbar .lining{display:flex;align-items:center;gap:var(--space-1);margin-left:auto;color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.plan-toolbar .lining input{width:5.5rem;background:var(--surface-input);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);box-shadow:var(--shadow-inner);color:var(--text-primary);padding:5px 8px;font-family:var(--font-mono);font-size:var(--text-sm)}.plan-toolbar .lining input:focus{outline:none;border-color:var(--border-accent);box-shadow:var(--focus-ring)}.dim-field{display:flex;gap:4px;align-items:center}.dim-field .lock{padding:2px 6px;background:transparent;border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer;font-size:11px}.dim-field .lock.on{border-color:var(--brand-cyan)}.dim-field .lock:not(.half){display:inline-grid;place-items:center;color:var(--text-muted)}.dim-field .lock:not(.half):hover{color:var(--text-primary)}.dim-field .lock.on:not(.half){background:var(--brand-cyan-dim);color:var(--brand-cyan)}.dim-field .lock.half{color:var(--brand-cyan);font-weight:700;font-size:13px}.dim-field .lock.half.on{color:var(--status-valid);border-color:var(--status-valid);background:#2de58a1f}.measure-row .measure-ref{max-width:100%}.fp-boundary{stroke:#7dd97b;stroke-width:1.2;stroke-dasharray:8 4;fill:none}.fp-centre line{stroke:#7dd97b;stroke-width:1.4}.review-dims{display:flex;gap:var(--space-3);padding-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.review-dims .kind{margin-left:auto;color:var(--text-muted);text-transform:none;letter-spacing:var(--tracking-wide)}.review-sketches{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.review-note{width:100%;min-height:52px;resize:vertical;background:var(--surface-input);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);box-shadow:var(--shadow-inner);color:var(--text-primary);padding:7px 8px;font-family:var(--font-ui);font-size:var(--text-sm)}.review-note:focus{outline:none;border-color:var(--border-accent);box-shadow:var(--focus-ring)}.review-actions{display:flex;align-items:center;gap:var(--space-2)}.review-actions button{font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:7px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.review-actions kbd{margin-left:7px;font-family:var(--font-mono);font-size:10px;opacity:.6;border:1px solid currentColor;border-radius:3px;padding:0 4px}.review-actions .approve{border:1px solid var(--status-valid);background:#2de58a1f;color:var(--status-valid)}.review-actions .approve:hover:not(:disabled){background:#2de58a38;box-shadow:0 0 14px var(--status-valid-glow)}.review-actions .flag{border:1px solid var(--status-error);background:#ff4d6d1a;color:var(--status-error)}.review-actions .flag:hover:not(:disabled){background:#ff4d6d33;box-shadow:0 0 14px var(--status-error-glow)}.review-actions button:disabled{opacity:.4;cursor:default}.review-nav{margin-left:auto;display:flex;gap:var(--space-2)}.review-empty{color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-4);text-align:center}.review-empty code{font-family:var(--font-mono);color:var(--text-secondary)}.review-error{margin:0 var(--space-4) var(--space-2);border:1px solid rgba(255,77,109,.5);background:#ff4d6d1a;border-radius:var(--radius-md);color:var(--status-error);font-size:var(--text-sm);padding:8px 12px}.update-toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:var(--space-3);background:var(--surface-overlay);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));border:1px solid var(--border-accent);border-radius:var(--radius-md);padding:10px 14px;font-size:var(--text-sm);box-shadow:var(--glow-cyan),0 6px 24px #00000073}.update-toast button{font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-accent);background:var(--brand-cyan-dim);color:var(--brand-cyan);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.update-toast button:hover{background:#3b82f638}.field-warn{display:block;margin-top:4px;color:var(--status-warning);font-size:var(--text-xs);line-height:1.35}.field-note{display:block;margin-top:4px;color:var(--text-secondary);font-size:var(--text-xs);line-height:1.35}.warnings{border:1px solid rgba(255,176,32,.35);background:#ffb02014;border-radius:var(--radius-md);padding:10px;font-size:var(--text-xs);color:var(--status-warning);display:flex;flex-direction:column;gap:6px}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-4);background:radial-gradient(ellipse at 50% 35%,#141c2e,#0b0f19 75%)}.login-card{width:min(400px,100%);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-panel);box-shadow:var(--shadow-panel)}.login-brand{display:flex;justify-content:center;margin-bottom:var(--space-2)}.login-brand .brand-logo{height:44px}.login-sub{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.newproject-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:var(--space-4);background:#060910c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.newproject-screen.first{background:radial-gradient(ellipse at 50% 35%,#141c2e,#0b0f19 75%);-webkit-backdrop-filter:none;backdrop-filter:none}.newproject-card{width:min(720px,100%);max-height:calc(100vh - 2 * var(--space-4));min-height:0;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-panel);box-shadow:var(--shadow-panel)}.newproject-card h2{margin:0;font-size:var(--text-lg);color:var(--text-primary)}.newproject-card .field{display:flex;flex-direction:column;gap:6px;font-size:var(--text-xs);color:var(--text-muted)}.newproject-card .style-field{min-height:0}.newproject-card .field input[type=text]{font-size:var(--text-sm)}.style-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-2);min-height:0;overflow-y:auto;padding:4px;margin:-4px}.style-card{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border-hairline);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.style-card:hover{background:var(--surface-card-hover);color:var(--text-primary)}.style-card.active{border-color:var(--border-accent);color:var(--brand-cyan);background:var(--brand-cyan-dim);box-shadow:var(--glow-cyan)}.style-card strong{font-size:var(--text-sm);font-weight:var(--weight-medium)}.style-card small{font-size:var(--text-xs);line-height:1.3;color:var(--text-muted)}.style-card.active small{color:inherit;opacity:.85}.newproject-card:has(.has-thumb){width:min(960px,100%)}.style-cards:has(.has-thumb){grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.style-cards:has(.has-thumb){grid-template-columns:repeat(3,minmax(0,1fr))}}.style-card.has-thumb{padding:8px 8px 10px;align-items:stretch}.style-card .style-thumb{display:block;width:100%;aspect-ratio:4 / 3;object-fit:contain;border-radius:calc(var(--radius-sm) - 2px);background:radial-gradient(circle at 50% 38%,#f3f6fa,#d7dee8 70%,#c3ccd8);pointer-events:none}.style-card.has-thumb strong{text-align:center}.newproject-tabs{display:flex;align-items:center;gap:4px}.newproject-crumb{margin-left:auto;display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-primary)}.newproject-crumb .ghost-btn{padding:4px 10px;font-size:var(--text-xs)}.style-category .category-styles{margin:0;padding:0;list-style:none;font-size:var(--text-xs);line-height:1.35;color:var(--text-muted);text-align:center}.style-category.current{border-color:var(--border-accent)}.template-card small{text-align:center}.newproject-empty{margin:0;padding:var(--space-4);border-radius:var(--radius-sm);border:1px dashed var(--border-subtle);font-size:var(--text-sm);line-height:1.45;color:var(--text-secondary)}.newproject-actions .export:disabled{opacity:.45;cursor:not-allowed}.newproject-card.unsaved-card{width:min(460px,100%)}.unsaved-note{margin:0;font-size:var(--text-sm);line-height:1.45;color:var(--text-secondary)}.case-style{font-size:var(--text-sm);font-weight:var(--weight-medium);padding:9px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-accent);background:var(--brand-cyan-dim);color:var(--brand-cyan)}.copy-options{display:grid;gap:var(--space-2)}.copy-option{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border-hairline);background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer}.copy-option.active{border-color:var(--border-accent);color:var(--text-primary)}.copy-option small{display:block;margin-top:2px;font-size:var(--text-xs);line-height:1.3;color:var(--text-muted)}.newproject-actions{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-2)}.newproject-actions .spacer{flex:1}.desktop-import .di-files{display:flex;flex-wrap:wrap;gap:6px}.desktop-import .di-file{padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-hairline);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.desktop-import .di-stage,.desktop-import .di-summary{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.desktop-import .di-summary strong{color:var(--text-primary)}.desktop-import .di-error{margin:0;font-size:var(--text-sm);color:var(--status-error)}.desktop-import .di-add-xml{align-self:flex-start}.desktop-import .di-parts{display:grid;grid-template-columns:max-content max-content minmax(0,1fr);gap:6px var(--space-2);align-items:center;font-size:var(--text-xs);color:var(--text-secondary)}.desktop-import .di-parts-title{grid-column:1 / -1;letter-spacing:var(--tracking-wide);text-transform:none;color:var(--text-muted)}.desktop-import .di-part{display:contents}.desktop-import .di-part-sku{font-family:var(--font-mono);color:var(--text-primary)}.desktop-import .di-part select{min-width:0;font-size:var(--text-xs)}.desktop-import .di-lines{list-style:none;margin:0;padding:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;border-top:1px solid var(--border-hairline)}.desktop-import .di-line{display:grid;grid-template-columns:92px 170px 1fr;gap:var(--space-2);padding:6px 0;border-bottom:1px solid var(--border-hairline);font-size:var(--text-xs);line-height:1.4;color:var(--text-secondary)}.desktop-import .di-label{color:var(--text-primary)}.desktop-import .di-status{font-family:var(--font-mono);text-transform:none;letter-spacing:var(--tracking-wide)}.desktop-import .di-line.ok .di-status{color:var(--status-valid)}.desktop-import .di-line.guess .di-status{color:var(--status-warning)}.desktop-import .di-line.differs .di-status{color:var(--status-error)}.desktop-import .di-line.skipped .di-status{color:var(--text-muted)}@media(max-width:720px){.desktop-import .di-line{grid-template-columns:1fr;gap:2px}}.login-field{display:flex;flex-direction:column;gap:4px}.login-field span{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--text-secondary)}.login-field input{padding:9px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-input);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm)}.login-field input:focus{outline:none;border-color:var(--border-accent);box-shadow:var(--focus-ring)}.login-error{padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--status-error);color:var(--status-error);font-size:var(--text-xs)}.login-submit{margin-top:var(--space-2);padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border-accent);background:var(--brand-cyan-dim);color:var(--brand-cyan);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);cursor:pointer;transition:all var(--duration-base) var(--ease-out)}.login-submit:hover:not(:disabled){box-shadow:var(--glow-cyan)}.login-submit:disabled{opacity:.6;cursor:default}.login-forgot{width:100%;justify-content:center;margin-top:var(--space-2)}.login-foot{margin:0;font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--text-muted)}.cloudbar{flex:none;display:flex;align-items:center;gap:var(--space-2);margin:0 var(--space-4) var(--space-2);padding:6px var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-hairline);background:var(--surface-panel);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));flex-wrap:wrap}.cloud-spacer{flex:1}.cloud-status{font-size:var(--text-xs);color:var(--text-muted)}.cloud-status.bad{color:var(--status-error)}.company-picker select{height:32px;max-width:200px;padding:0 30px 0 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background-color:var(--surface-input);color:var(--text-primary);font:inherit;font-size:var(--text-sm);text-overflow:ellipsis;cursor:pointer}.company-picker select:focus-visible{outline:none;box-shadow:var(--focus-ring)}.company-picker select:disabled{opacity:.6;cursor:default}.brand-home{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:opacity var(--duration-fast) var(--ease-out)}.brand-home:hover{opacity:.8}.brand-home:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:3px}.company-fixed{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap}.cloud-who{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-secondary)}.role-tag{padding:2px 6px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);font-size:10px;letter-spacing:var(--tracking-wide);text-transform:none;color:var(--text-muted)}.readonly-banner.lock-free{border-color:#22c55e73;background:#22c55e1a}.readonly-banner strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.readonly-banner .ghost-btn{flex:none}.readonly-banner>span{flex:1;min-width:0}.design-viewers{display:inline-flex;align-items:center}.design-viewers .avatar{width:24px;height:24px;margin-left:-6px;font-size:10px;box-shadow:0 0 0 2px var(--surface-panel)}.design-viewers .avatar:first-child{margin-left:0}.design-viewers .avatar.editing{box-shadow:0 0 0 2px var(--status-valid)}.design-viewers-more{margin-left:4px;font-size:var(--text-xs);color:var(--text-muted)}.readonly-banner{display:flex;align-items:center;gap:var(--space-3);margin:0 var(--space-4) var(--space-2);padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-accent);background:var(--brand-cyan-dim);color:var(--text-secondary);font-size:var(--text-xs)}.browser-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:var(--space-4);background:#04070eb8;backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl))}.browser{width:min(760px,100%);max-height:min(80vh,720px);display:flex;flex-direction:column;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-panel);box-shadow:var(--shadow-panel);overflow:hidden}.browser-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-hairline)}.browser-head h2{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);color:var(--text-primary)}.browser-error{margin:var(--space-3) var(--space-4) 0;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--status-error);color:var(--status-error);font-size:var(--text-xs)}.browser-empty{padding:var(--space-6) var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.browser-list{margin:0;padding:0;list-style:none;overflow-y:auto}.browser-row{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-4);border-bottom:1px solid var(--border-hairline)}.browser-row.current{background:var(--surface-card-hover)}.browser-row.dimmed{opacity:.55}.browser-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.browser-name{font-size:var(--text-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-meta{font-size:var(--text-xs);color:var(--text-muted)}.you-tag{margin-left:6px;padding:1px 5px;border-radius:var(--radius-pill);background:var(--brand-cyan-dim);color:var(--brand-cyan);font-size:10px}.browser-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.browser-actions select{padding:5px 6px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-input);color:var(--text-secondary);font-size:var(--text-xs)}.ghost-btn.danger:hover{border-color:var(--status-error);color:var(--status-error);box-shadow:none}.invite-row{display:flex;gap:6px;padding:var(--space-3) var(--space-4) 0}.invite-row input,.invite-row select{padding:7px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-input);color:var(--text-primary);font-family:inherit;font-size:var(--text-xs)}.invite-row input{flex:1;min-width:0}.invite-help{margin:6px var(--space-4) var(--space-3);font-size:var(--text-xs);color:var(--text-muted)}.ghost-btn:disabled{opacity:.45;cursor:not-allowed}.ghost-btn:disabled:hover{background:transparent;border-color:var(--border-subtle);color:var(--text-secondary)}.gate{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-5)}.gate:disabled input,.gate:disabled select,.gate:disabled textarea{opacity:.75;cursor:not-allowed}.gate:disabled .catalog-item,.gate:disabled .case-type button,.gate:disabled .tab{opacity:.5;cursor:not-allowed}.material-browser{width:min(880px,100%)}.material-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-hairline)}.material-filters .search{flex:1 1 220px}.material-filters select{padding:5px 6px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-input);color:var(--text-secondary);font-size:var(--text-xs)}.material-chips{display:flex;gap:4px}.material-count{padding:6px var(--space-4);font-size:var(--text-xs);color:var(--text-muted)}.finish-swatch{flex-shrink:0;width:18px;height:18px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.material-pick{align-items:center;gap:var(--space-2)}.material-chip{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-input)}.material-chip strong{font-size:var(--text-xs);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-chip small{font-size:10px;color:var(--text-muted);white-space:nowrap}.material-chip .material-custom{color:var(--text-secondary)}.material-chip .material-warn{color:var(--status-warning);white-space:normal}.thickness-readout{display:flex;align-items:center;gap:6px}.thickness-readout output{flex:1;padding:7px 8px;border-radius:var(--radius-sm);border:1px dashed var(--border-subtle);background:var(--surface-inset, var(--surface-input));color:var(--text-secondary);font-size:var(--text-xs)}.colour-pop{position:absolute;top:52px;left:12px;z-index:6;display:flex;flex-direction:column;gap:6px;min-width:220px;padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-overlay);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl))}.colour-pop-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);color:var(--text-primary)}.colour-row{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-secondary)}.colour-row input[type=color]{width:40px;height:24px;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;cursor:pointer}.colour-note{font-size:10px;color:var(--text-muted)}.fp-plate{stroke:#b4bac28c;stroke-width:1.1;stroke-dasharray:5 3;fill:#b4bac20f}.fe{display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--surface-inset, rgba(8, 12, 20, .45));padding:var(--space-3)}.fe-head{display:flex;align-items:center;gap:var(--space-2)}.fe-head strong{font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:none;color:var(--text-secondary)}.fe-kind,.fe-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.fe-dirty{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--status-warning)}.fe-save{margin-left:auto;background:var(--brand-cyan-dim);border:1px solid var(--border-accent);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-xs);padding:6px 12px;cursor:pointer}.fe-save:disabled{opacity:.4;cursor:default;border-color:var(--border-hairline);background:transparent}.fe-saved{border:1px solid rgba(45,229,138,.35);background:#2de58a14;border-radius:var(--radius-sm);padding:8px 10px;font-size:var(--text-xs);color:var(--status-valid)}.fe-block{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--border-hairline);padding-top:var(--space-2)}.fe-block-head{display:flex;align-items:center;gap:var(--space-2)}.fe-block-head strong{font-size:var(--text-xs);text-transform:none;letter-spacing:var(--tracking-wide);color:var(--text-secondary)}.fe-block-head .ghost-btn{margin-left:auto}.fe-note{margin:0;font-size:var(--text-xs);line-height:1.5;color:var(--text-muted)}.fe-note code{font-family:var(--font-mono);color:var(--text-secondary)}.fe-footer{border-top:1px solid var(--border-hairline);padding-top:var(--space-2)}.fe-num{width:68px;min-width:0;background:var(--surface-input);border:1px solid var(--border-hairline);border-radius:var(--radius-xs);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);padding:4px 6px}.fe-num:focus{outline:none;border-color:var(--border-accent)}.fe-field{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.fe-grid{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3)}.fe-tools{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.fe-derived{color:var(--text-secondary)}.fe-table{border-collapse:collapse;font-family:var(--font-mono);font-size:var(--text-xs);align-self:flex-start}.fe-table th{text-align:left;font-weight:400;color:var(--text-muted);padding:0 4px 2px}.fe-table td{padding:1px 4px 1px 0}.fe-idx{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);min-width:14px}.fe-del{color:var(--status-error);padding:2px 7px}.fe-path{display:flex;flex-direction:column;gap:var(--space-1)}.fe-path-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.fe-points{display:flex;flex-direction:column;gap:3px;border-left:1px solid var(--border-hairline);margin-left:6px;padding:var(--space-1) 0 var(--space-2) var(--space-2);align-items:flex-start}.fe-point{display:flex;align-items:center;gap:5px}.fe-inline{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.fe-group-head{margin:var(--space-2) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:none;letter-spacing:var(--tracking-wide);color:var(--text-accent)}.fe-warnings{border:1px solid rgba(255,176,32,.3);background:#ffb0200f;border-radius:var(--radius-sm);padding:8px 10px;font-size:var(--text-xs);color:var(--status-warning);display:flex;flex-direction:column;gap:5px}.review-viewtabs{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2)}.review-viewtabs button{background:transparent;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);padding:4px 12px;cursor:pointer}.review-viewtabs button.active{background:var(--brand-cyan-dim);border-color:var(--border-accent);color:var(--text-primary)}.review-viewtabs .fe-inline{margin-left:auto}.p3d{flex:none;display:flex;flex-direction:column;gap:var(--space-2)}.p3d-canvas{flex:none;height:360px;position:relative;border-radius:var(--radius-sm);overflow:hidden}.p3d-canvas canvas{display:block;width:100%!important;height:100%!important}.p3d-bar{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.p3d-note{margin-left:auto;text-align:right;color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p3d-seg{padding:3px 8px;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:lowercase}.p3d-seg.active{border-color:var(--border-accent);color:var(--brand-cyan);background:var(--brand-cyan-dim)}.fp-cap-drill{stroke:#ffb020;stroke-width:1.1;stroke-dasharray:3 2;fill:none}.fe-cap{border-top:none;border-left:2px solid rgba(255,176,32,.5);padding-left:var(--space-3)}.selection-notice{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--status-warning);background:#f0b47a1a;border:1px solid rgba(240,180,122,.35);border-radius:var(--radius-sm);padding:6px 8px}.selection-notice .ghost-btn{margin-left:auto;padding:2px 8px;font-size:var(--text-xs)}.hint{font-size:var(--text-xs);color:var(--text-secondary)}.context-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu{position:fixed;z-index:201;width:232px;max-height:calc(100vh - 16px);overflow-y:auto;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);padding:var(--space-1);display:flex;flex-direction:column;gap:1px;transform-origin:top left}@media(prefers-reduced-motion:reduce){.context-menu{animation:none}}.context-menu-header{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary);padding:6px 8px;text-transform:capitalize}.context-menu-part{display:flex;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border-hairline);margin-bottom:2px;padding-bottom:var(--space-2)}.context-menu-thumb{flex:none;width:32px;height:32px;padding:2px;border-radius:4px;background:#fff}.context-menu-thumb img{display:block;width:100%;height:100%;object-fit:contain}.context-menu-names{display:flex;flex-direction:column;min-width:0}.context-menu-names small{overflow:hidden;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-regular);text-overflow:ellipsis;text-transform:none;white-space:nowrap}.context-menu-group-label{font-size:var(--text-xs);text-transform:capitalize;color:var(--text-muted);padding:8px 8px 2px}.context-menu-row-group{display:flex;flex-direction:column}.context-menu-row{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:30px;text-align:left;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);padding:4px 8px;cursor:pointer;text-transform:capitalize}.context-menu-row svg{flex:none;color:var(--text-muted)}.context-menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu-hint{flex:none;color:var(--text-muted);font-family:inherit;font-size:var(--text-xs)}.context-menu-row:hover,.context-menu-row:focus-visible{background:var(--surface-card-hover);outline:none}.context-menu-row:active:not(:disabled){transform:scale(.99)}.context-menu-row.active{background:var(--brand-cyan-dim);box-shadow:inset 0 0 0 1px var(--border-accent)}.context-menu-row.active svg{color:var(--text-primary)}.elements-menu .context-menu-row:disabled{opacity:.45;cursor:default;background:transparent}.context-menu-row.danger:hover,.context-menu-row.danger:focus-visible{background:#f05a5a24;color:var(--status-error)}.context-menu-row.danger:hover svg,.context-menu-row.danger:focus-visible svg{color:var(--status-error)}.context-menu-select{margin:2px 8px 4px;width:calc(100% - 16px)}.context-menu-side{width:280px;z-index:202;transform-origin:top left}.context-menu-search{margin:4px 4px 6px;width:calc(100% - 8px);height:30px;padding:0 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-primary);font-size:var(--text-sm)}.context-menu-search:focus{outline:2px solid var(--brand-cyan);outline-offset:-1px}.context-menu-picks{display:flex;flex-direction:column;gap:1px;max-height:280px;overflow-y:auto}.context-menu-pick{text-transform:none}.context-menu-sku{flex:none;max-width:104px;overflow:hidden;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.context-menu-pick .context-menu-label{color:var(--text-secondary);font-size:var(--text-xs)}.context-menu-empty{padding:8px;color:var(--text-muted);font-size:var(--text-sm)}.open-value-menu{min-width:240px;z-index:951}.open-value-backdrop{z-index:950}.open-value-row{display:flex;flex-direction:column;gap:4px;padding:4px 8px 8px;font-size:var(--text-xs);color:var(--text-secondary)}.open-value-row input{width:100%}.fav-remove-note{margin:0;padding:0 8px 6px;font-size:var(--text-xs);color:var(--text-secondary)}.fav-remove-note strong{color:var(--text-primary);font-family:var(--font-mono)}.lid-menu,.hide-menu{position:relative;display:inline-flex}.lid-menu-pop,.hide-menu-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:201;min-width:210px;background:var(--surface-panel);backdrop-filter:blur(var(--blur-2xl));-webkit-backdrop-filter:blur(var(--blur-2xl));border:1px solid var(--border-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);padding:var(--space-2);display:flex;flex-direction:column;gap:2px}.lid-menu-pop button,.hide-menu-pop button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);padding:6px 8px;cursor:pointer}.lid-menu-pop button:hover,.hide-menu-pop button:hover{background:var(--surface-card-hover)}.hide-menu-pop button.active{background:var(--surface-card-hover);color:var(--brand-cyan);box-shadow:inset 2px 0 0 var(--brand-cyan)}.hide-menu-rule{height:1px;margin:4px 2px;background:var(--border-hairline)}.lid-menu-pop small,.hide-menu-pop small{color:var(--text-secondary);font-size:var(--text-xs)}.empty{color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-2) 0}.finish-controls{display:flex;flex-direction:column;gap:var(--space-3)}.finish-angle{display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.finish-palette{display:flex;flex-wrap:wrap;gap:var(--space-2)}.finish-groups{display:flex;flex-direction:column;gap:3px}.finish-group{display:flex;align-items:center;gap:var(--space-2);padding:6px 8px;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.finish-group small{margin-left:auto;color:var(--text-muted)}.finish-swatch{width:10px;height:10px;border-radius:50%;flex:none;border:1px solid var(--border-hairline)}.finish-save{display:flex;align-items:center;gap:var(--space-2)}.finish-status{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.skid-list{display:flex;flex-direction:column;gap:7px}.skid-list>label{color:var(--text-secondary);font-size:var(--text-xs);text-transform:none;letter-spacing:.08em}.skid-list .row{display:flex;align-items:flex-end;gap:8px}.skid-list .row label{flex:1}.skid-remove{padding:6px 9px;border:1px solid var(--border-subtle);border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer}.skid-remove:hover{border-color:var(--status-error);color:var(--status-error)}.skid-edit{padding:6px 9px;border:1px solid var(--border-subtle);border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer}.skid-edit:hover{border-color:var(--brand-cyan);color:var(--brand-cyan)}.skid-add{align-self:flex-start}.skid-patterns .skid-name input{width:100%}.skid-patterns .skid-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.skid-patterns .skid-fields h3{grid-column:1 / -1}.skid-patterns label{display:flex;flex-direction:column;gap:4px;color:var(--text-primary);font-size:var(--text-sm)}.skid-patterns input,.skid-patterns select{padding:6px 9px;border:1px solid var(--border-subtle);border-radius:4px;background:var(--surface-input);color:var(--text-primary);font-size:var(--text-sm)}.skid-patterns .skid-example{grid-column:1 / -1;color:var(--brand-cyan);font-size:var(--text-xs)}.settings-backdrop:has(.skid-patterns){z-index:950}.settings-backdrop.app-settings{z-index:960}.p2d-skid{cursor:grab}.p2d-skid-body{fill:#dec38c4d;stroke:#dec38ce6;stroke-width:1.4px}.p2d-skid.pinned .p2d-skid-body{stroke:var(--brand-amber, #e8b64a)}.p2d-joiner{cursor:grab}.p2d-joiner-body{fill:#bec8d273;stroke:#bec8d2f2;stroke-width:1.2px}.p2d-joiner-web{stroke:#28323ccc;stroke-width:1px;stroke-dasharray:6 3}.p2d-joiner.slid .p2d-joiner-body{stroke:var(--brand-amber, #e8b64a)}.p2d-joiner.selected .p2d-joiner-body{stroke:var(--brand-cyan);stroke-width:2px;fill:#bec8d299}.p2d-joiner-keepout{fill:#f05a5a24;stroke:#f05a5a8c;stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.p2d-joiner-dims text{fill:var(--brand-cyan);pointer-events:none}.p2d-skid.selected .p2d-skid-body{stroke:var(--brand-cyan);fill:#dec38c73}.construction-window.view-window{width:320px;max-height:min(76vh,680px)}.construction-window.contents-window{width:380px;max-height:min(78vh,720px)}.contents-window .contents-broken{color:var(--status-error)}.contents-window .contents-group h2 small{color:var(--text-secondary);font-weight:400;margin-left:4px}.contents-window .contents-list{list-style:none;margin:0;padding:0}.contents-window .contents-item{border:1px solid var(--border-hairline);border-radius:var(--radius-sm);padding:5px 7px;margin-bottom:4px}.contents-window .contents-item.broken{border-color:#ff4d6d80}.contents-window .contents-row{display:flex;align-items:center;gap:6px}.contents-window .contents-label{flex:1;font-size:12px;overflow-wrap:anywhere}.contents-window .contents-actions{display:flex;gap:4px;flex:none}.contents-window .contents-actions button{width:auto;padding:2px 8px;font-size:11px}.contents-window .contents-actions{gap:4px;align-items:center}.contents-window .contents-actions .contents-select,.contents-window .contents-actions .contents-delete{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:30px;border:0;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform .1s var(--ease-out)}.contents-window .contents-actions .contents-select{width:auto;padding:0 10px 0 8px;background:var(--raised-fill);box-shadow:var(--sheen),inset 0 0 0 1px var(--border-subtle);color:var(--text-primary)}.contents-window .contents-actions .contents-select svg{color:var(--text-secondary)}.contents-window .contents-actions .contents-select:hover{background:var(--raised-hover, var(--surface-card-hover));box-shadow:var(--sheen),inset 0 0 0 1px var(--border-strong)}.contents-window .contents-actions .contents-delete{width:30px;padding:0;background:#ef44441a;box-shadow:inset 0 0 0 1px #ef444461;color:var(--status-error)}.contents-window .contents-actions .contents-delete:hover:not(:disabled){background:#ef444433;box-shadow:inset 0 0 0 1px #ef444499}.contents-window .contents-actions .contents-delete:disabled{opacity:.4;cursor:default}.contents-window .contents-actions .contents-select:active,.contents-window .contents-actions .contents-delete:active:not(:disabled){transform:scale(.95)}.contents-window .contents-actions .contents-select:focus-visible,.contents-window .contents-actions .contents-delete:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.contents-window .contents-problem{color:var(--status-error);font-size:11px;margin-top:3px}.contents-window .contents-used-by,.contents-window .contents-note{color:var(--text-secondary);font-size:11px;margin-top:3px}.edge-readout{display:block;margin-top:3px;font-size:11px;color:var(--text-secondary)}.edge-readout.blocked{color:var(--status-warning)}.used-by .used-by-list{list-style:none;margin:4px 0 0;padding:0;font-size:12px}.used-by .used-by-list li{margin:2px 0}.used-by .used-by-fate{color:var(--text-secondary)}.used-by .link-button{width:auto;padding:0 4px;border:none;background:none;color:var(--brand-cyan);cursor:pointer;font:inherit}.used-by .link-button:disabled{color:var(--text-secondary);cursor:default}.hatch-tile .hatch-thumb{width:100%;height:calc(100% - 14px);display:block}.hatch-thumb-body{fill:#e9edf2;stroke:#3b4a63;stroke-width:1.5}.hatch-thumb-hinge{fill:#b58a2e}.hatch-thumb-latch{fill:#3f7fb5}.hatch-tile.new span{font-size:11px;color:#555}.hatch-lib .hint{margin:6px 0 0}.hatch-editor .row,.hatch-inspector .row{flex-wrap:wrap}.hatch-dim label{min-width:90px}.p2d-hatch{cursor:grab}.p2d-hatch-body{fill:#3b82f60f;stroke:#3b82f68c;stroke-width:1.2px}.p2d-hatch.selected .p2d-hatch-body{stroke:var(--brand-cyan);stroke-width:2px;fill:#3b82f624}.p2d-hatch.unbuilt .p2d-hatch-body{stroke:#c6564e;stroke-dasharray:6 4;fill:#c6564e14}.p2d-hatch-hinge{stroke:var(--brand-amber, #e8b64a);stroke-width:4px;opacity:.85}.castors-window .board-insets .row{flex-wrap:nowrap}.castors-window .board-insets .row>label{min-width:0;flex:1 1 0}.castors-window .edit-boards{align-self:stretch}.glb-export:disabled{opacity:.7;cursor:progress}.glb-export.failed{color:var(--status-warning)}.inspector .readout{display:block;padding:4px 0;opacity:.85}.inspector-note{margin:4px 0 0;font-size:.85em;opacity:.8}.p2d-space.batten{fill:#2fbfc41a;stroke:#2fbfc4b3}.p2d-space.angle{fill:#a6d23a1a;stroke:#a6d23ab3}.p2d-space.equipment{fill:#f0705a1a;stroke:#f0705ab3}.p2d-equipment{fill:#f0705a66;stroke:#f0705ae6;vector-effect:non-scaling-stroke}.p2d-batten{fill:#2fbfc48c;stroke:#2fbfc4e6;vector-effect:non-scaling-stroke}.p2d-batten.divider{fill:#2fbfc440;stroke-dasharray:4 3}.batten-divider-row label.check{flex-direction:row;align-items:center;gap:6px}.main{position:relative}.drawings-workspace{--dw-chrome: var(--surface-panel);position:absolute;top:0;right:0;bottom:0;left:0;grid-column:2 / -1;grid-row:1 / -1;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-2);min-height:0;background:var(--surface-app)}.drawings-workspace.props-closed{grid-template-columns:minmax(0,1fr)}.drawings-main{position:relative;min-width:0;min-height:0;border-radius:var(--radius-lg);overflow:hidden}.drawings-main>.drawings-sheet{position:absolute;top:0;right:0;bottom:0;left:0}.dw-rail,.dw-top,.dw-exact-progress,.drawings-sheets,.drawings-hint-bar,.dw-flyout{position:absolute;z-index:3;border-radius:var(--radius-md);background:var(--dw-chrome);box-shadow:0 0 0 1px #ffffff0f,0 8px 24px #00000059}.dw-exact-progress{top:var(--space-3);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;width:280px;padding:10px 14px 12px}.dw-exact-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.dw-exact-progress-head strong{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.dw-exact-progress-head span{color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.dw-exact-progress-track{height:4px;overflow:hidden;border-radius:2px;background:var(--surface-input)}.dw-exact-progress-fill{height:100%;border-radius:2px;background:var(--brand-cyan);transform-origin:left center;transition:transform .3s cubic-bezier(.23,1,.32,1)}@media(max-width:1440px){.dw-exact-progress{top:auto;bottom:var(--space-3)}}@media(prefers-reduced-motion:reduce){.dw-exact-progress{animation:none}.dw-exact-progress-fill{transition:none}}.dw-rail{top:50%;left:var(--space-3);transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;padding:4px}.dw-rail-group{position:relative}.dw-rail-gap{height:var(--space-2)}.dw-rail-btn,.dw-icon-btn{position:relative;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),transform .12s var(--ease-out)}.dw-icon-btn{width:34px;height:34px}.dw-rail-btn:hover:not(:disabled),.dw-icon-btn:hover:not(:disabled){background:var(--surface-card);color:var(--text-primary)}.dw-rail-btn:active:not(:disabled),.dw-icon-btn:active:not(:disabled){transform:scale(.96)}.dw-rail-btn[aria-pressed=true],.dw-icon-btn[aria-pressed=true]{background:var(--brand-cyan-dim);color:var(--text-primary)}.dw-rail-btn:disabled,.dw-icon-btn:disabled{opacity:.35;cursor:default}.dw-rail-btn:focus-visible,.dw-icon-btn:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:1px}.dw-rail-btn.has-flyout:after{content:"";position:absolute;right:5px;bottom:5px;border-left:4px solid transparent;border-bottom:4px solid currentColor;opacity:.6}.dw-flyout{top:0;left:calc(100% + 8px);display:flex;flex-direction:column;gap:2px;min-width:180px;padding:4px;transform-origin:left top}.dw-flyout .dw-flyout-item{display:grid;grid-template-columns:18px auto;align-items:center;justify-content:start;justify-items:start;column-gap:var(--space-3);width:100%;height:36px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;white-space:nowrap;cursor:pointer}.dw-flyout .dw-flyout-item .ui-icon{color:var(--text-secondary)}.dw-flyout .dw-flyout-gap{height:var(--space-1)}.dw-flyout .dw-flyout-item:hover{background:var(--surface-card)}.dw-flyout .dw-flyout-item[aria-pressed=true]{background:var(--brand-cyan-dim)}.dw-flyout .dw-flyout-item[aria-pressed=true] .ui-icon{color:var(--text-primary)}.dw-flyout .dw-flyout-item:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.dw-flyout{animation:none}}.dw-top{top:var(--space-3);right:var(--space-3);display:flex;align-items:center;gap:4px;padding:4px 4px 4px var(--space-3);max-width:calc(100% - 2 * var(--space-3) - 60px)}.drawings-export{height:34px;padding:0 var(--space-4);margin:0 4px;white-space:nowrap}.drawings-status{margin-right:var(--space-1);overflow:hidden;color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.dw-top .ghost-btn{height:28px;padding:0 var(--space-3)}.drawings-hint-bar{top:var(--space-3);left:var(--space-3);display:flex;align-items:center;gap:var(--space-3);min-height:42px;max-width:calc(100% - 520px);padding:4px 6px 4px var(--space-3)}.drawings-hint{color:var(--brand-cyan);font-size:var(--text-sm)}.drawings-hint-note{color:var(--text-muted)}.drawings-dim-axis{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary)}.drawings-dim-axis .seg>button{height:26px;padding:0 var(--space-3);font-size:var(--text-sm)}.drawings-snap-to{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.drawings-snap-to select{height:32px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-sm)}.drawings-snap-to select:hover{border-color:var(--border-strong)}.drawings-snap-to select:focus{outline:none;border-color:var(--border-accent);box-shadow:var(--focus-ring)}.drawings-snap-to select option{background:var(--brand-dark-panel-solid)}.dw-props{overflow-y:auto;min-height:0;gap:var(--space-5)}.dw-props-title{margin:0}.dw-props section{gap:var(--space-2)}.dw-props h3{margin-bottom:2px}.panel .dw-prop{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:var(--space-2);min-height:34px;color:var(--text-secondary);font-size:var(--text-sm)}.panel .dw-prop select,.panel .dw-prop input:not([type=checkbox]){height:32px;font-size:var(--text-sm)}.panel label.switch-row.dw-prop{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:var(--text-sm)}.dw-prop-label{font-weight:var(--weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dw-prop-note{margin:0;padding-left:calc(92px + var(--space-2));color:var(--status-warning);font-size:var(--text-xs);line-height:1.4}.dw-logo-thumb{display:flex;align-items:center;justify-content:center;height:40px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm, 4px);background:#fff}.dw-logo-thumb img{max-width:100%;max-height:100%;object-fit:contain}.dw-logo-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-left:calc(92px + var(--space-2))}.dw-logo-upload{cursor:pointer}.drawings-seg{display:flex;width:100%;padding:2px}.drawings-seg>button{flex:1 1 0;justify-content:center;min-width:0;height:28px;padding:0 var(--space-1);font-size:var(--text-sm)}.drawings-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.drawings-list li{display:flex;align-items:center;gap:var(--space-2);padding:6px 8px;border-radius:var(--radius-sm);background:var(--surface-card);font-size:var(--text-sm);color:var(--text-primary)}.drawings-list li strong{flex:none;min-width:1.4em;color:var(--brand-cyan)}.drawings-list-text{display:flex;flex:1;flex-direction:column;min-width:0;overflow-wrap:anywhere}.drawings-list-text small{color:var(--text-muted);font-size:var(--text-xs)}.drawings-list .icon-btn{flex:none;width:24px;height:24px}.drawings-add-row{display:flex;gap:var(--space-2)}.drawings-add-row input{flex:1;min-width:0;height:32px}.dw-props .drawings-templates>.ghost-btn{align-self:flex-start}@media(max-width:1280px){.drawings-workspace{grid-template-columns:minmax(0,1fr) 288px}.drawings-hint-bar{max-width:calc(100% - 440px)}}@media(max-width:1024px){.drawings-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,40%)}.drawings-hint-bar{top:64px;max-width:calc(100% - 2 * var(--space-3))}}.drawings-sheet{flex:1;min-height:0;overflow:auto;background:var(--surface-input);padding:72px 72px 64px;overscroll-behavior:contain;touch-action:none}.drawings-sheet{display:flex}.drawings-zoom{flex:none;margin:auto;min-width:0}.drawings-zoom svg{display:block;width:100%;height:auto;background:#fff;box-shadow:0 6px 24px #00000073}.drawings-view-menu{position:absolute;z-index:5;display:flex;flex-direction:column;gap:1px;width:232px;padding:var(--space-1);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);font-size:var(--text-xs)}.drawings-view-menu-title{padding:6px 8px;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:capitalize}.drawings-view-menu button{min-height:30px;text-align:left;padding:4px 8px;background:none;border:0;color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);border-radius:var(--radius-sm);text-transform:capitalize}.drawings-view-menu button:hover:not(:disabled){background:var(--surface-card-hover)}.drawings-view-menu button:disabled{opacity:.4;cursor:default}.drawings-zoom{position:relative}.drawings-page svg .pen{vector-effect:non-scaling-stroke;stroke-width:calc(var(--w) * var(--pen-px) * 1px)}.drawings-page svg .pen-hidden{stroke-dasharray:calc(2 * var(--pen-px) * 1px) calc(1 * var(--pen-px) * 1px)}.drawings-page svg .pen-chain{stroke-dasharray:calc(6 * var(--pen-px) * 1px) calc(1.5 * var(--pen-px) * 1px) calc(1.5 * var(--pen-px) * 1px) calc(1.5 * var(--pen-px) * 1px)}.drawings-page svg{display:block;width:100%;height:auto;background:#fff;box-shadow:0 6px 24px #00000073}.drawings-zoom .drawings-overlay{position:absolute;background:transparent;box-shadow:none;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.drawings-overlay .snap{fill:none;stroke:#0a84ff;stroke-width:.25}.drawings-overlay .snap.near{fill:#0a84ff59;stroke-width:.35}.drawings-overlay .snap.pending{fill:#0a84ff;stroke:#fff}.drawings-overlay .rubber{stroke:#0a84ff;stroke-width:.25;stroke-dasharray:1 .6}.drawings-overlay .dim-handle,.drawings-overlay .view-handle{fill:transparent;stroke:transparent;pointer-events:auto;cursor:move}.drawings-overlay .dim-handle.selected,.drawings-overlay .view-handle.selected{fill:#0a84ff2e;stroke:#0a84ff;stroke-width:.3}.drawings-zoom.tool-dimension,.drawings-zoom.tool-note,.drawings-zoom.tool-section{cursor:crosshair}.drawings-overlay .section-handle{cursor:move}.drawings-overlay .section-line-handle{stroke:transparent;stroke-width:3;pointer-events:auto}.drawings-overlay .section-line-handle.vertical{cursor:ew-resize}.drawings-overlay .section-line-handle.horizontal{cursor:ns-resize}.drawings-overlay .section-line-handle.selected{stroke:#0a84ff59}.drawings-overlay .section-draft line{stroke:#0a84ff;stroke-width:.3;stroke-dasharray:3 1 .6 1}.drawings-overlay .section-draft circle{fill:#0a84ff;stroke:#fff;stroke-width:.35}.drawings-overlay .section-draft .ghost{fill:#0a84ff14;stroke:#0a84ff;stroke-width:.25;stroke-dasharray:1 .6}.drawings-zoom.tool-detail{cursor:crosshair}.drawings-overlay .detail-circle-handle{fill:transparent;stroke:transparent;stroke-width:2;pointer-events:auto;cursor:move}.drawings-overlay .detail-circle-handle.selected{stroke:#0a84ff59}.drawings-overlay .anchor-handle{fill:#fff;stroke:#0a84ff;stroke-width:.35;pointer-events:auto;cursor:grab}.drawings-sheets{left:var(--space-3);bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2);padding:4px}.drawings-sheet-tabs,.drawings-sheet-actions{display:inline-flex;align-items:center;gap:2px}.drawings-sheet-actions{padding-left:var(--space-2);box-shadow:inset 1px 0 #ffffff0f}.drawings-sheets .tab{flex:none;display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap;cursor:pointer}.drawings-sheet-actions .tab{padding:0}.drawings-sheets .tab:hover:not(:disabled){color:var(--text-primary);background:var(--surface-card)}.drawings-sheet-tabs .tab[role=tab]{min-width:72px;padding:0 var(--space-4)}.drawings-sheets .tab.active{background:var(--brand-cyan-dim);color:var(--text-primary);font-weight:var(--weight-semibold)}.drawings-sheets .tab:disabled{opacity:.3;cursor:default}.drawings-overlay .drawings-blank-hint text{font-family:Helvetica,Arial,sans-serif;font-size:7px;font-weight:700;fill:#9aa3ad}.drawings-overlay .drawings-blank-hint text.small{font-size:4px;font-weight:400}.drawings-stale{display:inline-flex;align-items:center;gap:var(--space-2);color:#f0b429;white-space:nowrap}.drawings-sheet.stale .drawings-page svg{opacity:.72;outline:2px dashed #f0b429;outline-offset:2px}.drawings-unresolved{display:inline-flex;align-items:center;gap:var(--space-2);color:#f0b429;white-space:nowrap}.drawings-note-input{position:absolute;transform:translateY(-100%);width:14em;font-size:var(--text-xs);z-index:2}.drawings-overlay .snap.near line{stroke:#0a84ff;stroke-width:.25}.drawings-overlay .snap.near circle{fill:#0a84ff59;stroke:#0a84ff;stroke-width:.35}.drawings-overlay .snap text{font-size:2.4px;fill:#0a84ff;paint-order:stroke;stroke:#fff;stroke-width:.6px;font-family:Helvetica,Arial,sans-serif}.drawings-overlay .snap.pending circle{fill:#0a84ff;stroke:#fff;stroke-width:.35}.drawings-overlay .snap.pending text{font-weight:700}.drawings-overlay .snap-part{fill:#0a84ff0f;stroke:#0a84ff;stroke-width:.3;stroke-dasharray:1.2 .8}.drawings-overlay .base-ghost-label{fill:#0a84ff;font-family:Helvetica,Arial,sans-serif;font-size:4px;font-weight:700}.drawings-overlay .snap-line{stroke:#0a84ff;stroke-width:.9;stroke-linecap:round;opacity:.75}.drawings-overlay .snap-line.picked{opacity:1;stroke-width:.6;stroke-dasharray:1.6 .9}.drawings-snap-to{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.misc-panel .hint{margin:4px 0 8px;font-size:11px;opacity:.75}.misc-panel .catalog-item.misc-item{cursor:grab}.misc-panel .misc-placed{list-style:none;margin:10px 0 6px;padding:0}.misc-panel .misc-placed li{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 4px;border-radius:4px}.misc-panel .misc-placed li.selected{outline:1px solid var(--border-accent)}.misc-panel .misc-placed button{background:none;border:none;color:inherit;cursor:pointer;font:inherit;text-align:left;padding:2px}.misc-panel .misc-inspector{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding-top:8px;border-top:1px solid var(--border-subtle)}.misc-panel .misc-inspector .row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.misc-panel .misc-inspector label{display:flex;flex-direction:column;gap:2px;flex:1;font-size:11px}.misc-panel .misc-inspector .yaw{min-width:36px;text-align:center}.misc-panel .misc-inspector button.danger{align-self:flex-start;border-color:#ff4d6d80;color:var(--status-error)}.rr{display:flex;flex-direction:column;height:100dvh}.rr-message{padding:var(--space-6);color:var(--text-secondary)}.rr-main{flex:1;min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr)}.rr-list-pane{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border-hairline);background:var(--brand-dark-raised)}.rr-filters{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-3);border-bottom:1px solid var(--border-hairline)}.rr-filters button,.rr-verdict-buttons button{font:inherit;font-size:var(--text-xs);padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);cursor:pointer}.rr-filters button.on{color:var(--text-primary);border-color:var(--border-accent);background:var(--surface-card-hover)}.rr-list{list-style:none;margin:0;padding:var(--space-2);overflow-y:auto;flex:1}.rr-row{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:6px var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.rr-row:hover{background:var(--surface-card-hover)}.rr-row.active{border-color:var(--border-accent);background:var(--surface-card)}.rr-row-text{flex:1;min-width:0}.rr-row .sku,.rr-head .sku{font-family:var(--font-mono);font-weight:var(--weight-medium)}.rr-row small{display:block;color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rr-mark{width:18px;height:18px;flex:none;border-radius:50%;border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;font-size:11px}.rr-mark.ok{background:var(--status-valid);border-color:var(--status-valid);color:#0b0d10}.rr-mark.not-ok{background:var(--status-error);border-color:var(--status-error);color:#fff}.rr-pill{flex:none;font-size:10px;padding:1px 7px;margin-left:var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--status-warning);color:var(--status-warning);font-weight:var(--weight-medium);vertical-align:middle}.rr-pill.note{border-color:var(--border-subtle);color:var(--text-muted)}.rr-empty{padding:var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.rr-detail{min-height:0;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.rr-head{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.rr-head h2{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold)}.rr-facts{margin:4px 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.rr-verdict{display:flex;flex-direction:column;gap:var(--space-2);width:min(420px,100%)}.rr-verdict-buttons{display:flex;gap:var(--space-2)}.rr-verdict-buttons button{font-size:var(--text-sm);padding:6px 14px}.rr-verdict-buttons button.ok.on{background:var(--status-valid);border-color:var(--status-valid);color:#0b0d10}.rr-verdict-buttons button.not-ok.on{background:var(--status-error);border-color:var(--status-error);color:#fff}.rr-verdict-buttons button:last-child{margin-left:auto}.rr-verdict textarea{font:inherit;font-size:var(--text-sm);background:var(--surface-input);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 8px;resize:vertical}.rr-saved{min-height:1em;color:var(--text-muted);font-size:var(--text-xs)}.rr-saved.error{color:var(--status-error)}.rr-notes{margin:0;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-6);border:1px solid var(--status-warning);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm)}.rr-toggles{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary)}.rr-toggles label{display:flex;align-items:center;gap:6px;cursor:pointer}.rr-toggles .swatch{width:10px;height:10px;border-radius:50%;display:inline-block}.rr-toggles .swatch.seat{background:#e5484d}.rr-toggles .swatch.orphan{background:#f5a524}.rr-toggles .swatch.ghost{background:#7aa2ff}.rr-views{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.rr-views figure{margin:0;display:flex;flex-direction:column;gap:4px;min-width:0}.rr-views figcaption{font-size:var(--text-xs);color:var(--text-secondary)}.rr-canvas{height:min(52vh,520px);border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--brand-dark-inset);overflow:hidden}.rr-num{font-family:var(--font-mono);font-size:10px;color:#fff;background:#e5484dd9;border-radius:var(--radius-pill);padding:0 5px;pointer-events:none;white-space:nowrap}.rr-num.hot{background:#fff;color:#0b0d10}.rr-seats{border-collapse:collapse;font-size:var(--text-sm);max-width:640px}.rr-seats th,.rr-seats td{text-align:left;padding:3px 12px 3px 0;border-bottom:1px solid var(--border-hairline)}.rr-seats th{color:var(--text-muted);font-weight:var(--weight-medium)}.rr-seats td{font-variant-numeric:tabular-nums}.rr-seats tr.off td{color:var(--status-warning)}.rr-seats tbody tr:hover td{background:var(--surface-card-hover)}.rr-seats tfoot td{color:var(--text-muted);border-bottom:none;padding-top:var(--space-2)}@media(max-width:900px){.rr-main{grid-template-columns:1fr;grid-template-rows:200px 1fr}.rr-views{grid-template-columns:1fr}}.share-page{height:100%;display:flex;flex-direction:column;background:var(--surface-app);color:var(--text-primary)}.share-message{align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);text-align:center}.share-message h1{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold)}.share-message p{margin:0;max-width:46ch;color:var(--text-secondary)}.share-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-hairline);background:var(--surface-panel)}.share-title{min-width:0;display:flex;flex-direction:column;gap:2px}.share-title h1{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-meta{font-size:var(--text-xs);color:var(--text-muted)}.share-copy{flex-shrink:0}.share-canvas{position:relative;flex:1;min-height:0;background:radial-gradient(ellipse at 50% 42%,#172840,#101b2c 45%,#080f1b)}.status-pill.measure-pill.share-measure{top:14px;bottom:auto;left:50%;right:auto;transform:translate(-50%);max-width:calc(100% - 180px);flex-wrap:wrap;cursor:default}.share-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--text-secondary);font-size:var(--text-sm);pointer-events:none}.share-hint{position:absolute;left:50%;bottom:10px;transform:translate(-50%);margin:0;font-size:var(--text-xs);color:var(--text-muted);pointer-events:none;white-space:nowrap}.share-tools{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-hairline);background:var(--surface-panel)}.share-tool-group{display:flex;align-items:center;gap:var(--space-2);min-width:0}.share-tool-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:none;color:var(--text-muted)}.share-tool-buttons{display:flex;flex-wrap:wrap;gap:var(--space-1)}.share-tool-buttons button{font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);cursor:pointer}.share-tool-buttons button:hover:not(:disabled){background:var(--surface-card-hover);border-color:var(--border-strong);color:var(--text-primary)}.share-tool-buttons button.active{border-color:var(--border-accent);background:var(--brand-cyan-dim);color:var(--text-primary)}.share-tool-buttons button:disabled{opacity:.45;cursor:default}.share-tool-buttons button:focus-visible,.share-copy:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}@media(max-width:640px){.share-head{padding:var(--space-2) var(--space-4)}.share-tools{gap:var(--space-2);padding:var(--space-2) var(--space-4)}.share-tool-group{align-items:flex-start}.share-tool-label{min-width:64px;padding-top:7px}.share-hint{display:none}.status-pill.measure-pill.share-measure{max-width:calc(100% - 32px);top:150px}}.share-dialog{width:min(640px,100%)}.share-help{margin:0;padding:var(--space-3) var(--space-4) 0;font-size:var(--text-sm);color:var(--text-secondary)}.share-links .browser-row{gap:var(--space-2)}.share-url{flex:1;min-width:0;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-input);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs)}.share-foot{display:flex;justify-content:flex-end;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-hairline)}.euro-layout h3{margin:var(--space-3) 0 var(--space-2)}.euro-bay{margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--border-hairline);border-radius:var(--radius-sm)}.euro-bay.over{border-color:var(--status-warning)}.euro-bay-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.euro-bay-head .inspector-note,.euro-bay-head .inspector-warning{margin:0}.euro-stack{margin:var(--space-2) 0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-muted)}.euro-stack li>*{vertical-align:middle}.euro-stack select{min-width:0;width:calc(100% - 40px)}.euro-stack .ghost-btn{padding:2px 8px;margin-left:var(--space-1)}.euro-bay-actions{gap:var(--space-1)}.euro-actions-row{gap:var(--space-2);margin-top:var(--space-2)}.euro-actions-row .ghost-btn.active{border-color:var(--border-accent);background:var(--brand-cyan-dim);color:var(--text-primary)}.case-summary{position:absolute;left:14px;bottom:14px;z-index:5;display:flex;align-items:stretch;max-width:calc(100% - 200px);padding:6px 4px;border-radius:8px;background:#111d2e;border:1px solid var(--border-hairline);box-shadow:0 4px 16px #00000038}.case-summary-stat{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:0 12px;white-space:nowrap;min-width:0}.case-summary-stat+.case-summary-stat{border-left:1px solid var(--border-hairline)}.case-summary{overflow:hidden}.case-summary-stat{flex:none}.canvas-wrap{container-type:inline-size}@container (max-width: 900px){.case-summary-stat{padding:0 8px}.case-summary-stat:nth-child(5){display:none}}@container (max-width: 720px){.case-summary-stat:nth-child(2),.case-summary-stat:nth-child(3){display:none}}@container (max-width: 520px){.case-summary{display:none}}.case-summary-stat>span{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:11px}.case-summary-stat>b{color:var(--text-primary);font-size:13px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.case-summary-stat>b.muted{color:var(--text-muted)}.case-summary-stat.clickable{cursor:pointer;border-radius:6px}.case-summary-stat.clickable:hover{background:#22d3ee14}.case-summary-stat.clickable:focus-visible{outline:1px solid var(--accent-cyan);outline-offset:-1px}.case-summary-stat.clickable.on>span,.case-summary-stat.clickable.on>b{color:var(--accent-cyan)}.case-summary-mode{font-style:normal;opacity:.75}.case-summary-info{position:relative;display:inline-grid;place-items:center;width:13px;height:13px;border-radius:50%;border:1px solid currentColor;font-size:9px;font-style:italic;font-weight:700;cursor:help}.case-summary-info:hover,.case-summary-info:focus-visible{color:var(--text-primary)}.case-summary-info:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 10px);left:50%;translate:-50% 0;width:260px;padding:8px 10px;border-radius:6px;background:var(--brand-dark-panel-solid);border:1px solid var(--border-subtle);box-shadow:var(--shadow-panel);color:var(--text-primary);font-size:12px;font-style:normal;font-weight:400;line-height:1.45;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .1s}.case-summary-info:hover:after,.case-summary-info:focus-visible:after{opacity:1;visibility:visible}.canvas-wrap.light .case-summary{background:#fff;border-color:#0f172a1a;box-shadow:0 2px 10px #0f172a14}.canvas-wrap.light .case-summary-stat>b{color:#0e1726}.canvas-wrap.light .case-summary-stat+.case-summary-stat{border-left-color:#0f172a1a}.status-pill.to-check{left:auto;right:14px;padding:0 14px;height:40px;border-radius:8px;background:#111d2e;text-transform:none;letter-spacing:0;font-size:13px;font-weight:var(--weight-medium)}.status-pill.to-check[aria-expanded=true]{background:#f59e0b24}.canvas-wrap.light .status-pill.to-check{background:#fff}.warnings.warnings-pop{border:1px solid var(--border-subtle);border-radius:10px;background:var(--brand-dark-panel-solid);color:var(--text-primary);font-size:13px;padding:8px;gap:8px}.warnings-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 4px 6px}.warnings-head strong{font-size:14px;font-weight:var(--weight-semibold)}.warning-item{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:8px;background:#ffffff0a}.warning-top{display:flex;align-items:center;gap:8px;min-width:0}.warning-sev{flex:none;padding:1px 6px;border-radius:4px;background:#f59e0b24;color:var(--status-warning);font-size:11px;font-weight:var(--weight-semibold)}.warning-affected{color:var(--text-secondary);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.warning-msg{line-height:1.45}.warning-acts{display:flex;gap:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{height:56px;gap:var(--space-4);padding:0 var(--space-4);margin-bottom:var(--space-2);background:var(--surface-panel);position:relative;z-index:60}.brand{flex-direction:row;align-items:center;gap:10px;min-width:0;flex:none}.brand-logo{display:block;height:30px;width:auto}.brand-logo-on-light{display:none}.brand-sub{align-self:flex-end;margin-bottom:3px;font-size:var(--text-sm);color:var(--text-muted);letter-spacing:0}.projectbar{flex:1;gap:var(--space-2);padding:0;background:none;border:0;box-shadow:none}.project-name{width:200px;height:32px;padding:0 var(--space-3);border-color:var(--border-hairline);background:var(--surface-input);font-size:var(--text-base);font-weight:var(--weight-semibold);transition:border-color var(--duration-base) var(--ease-out),background-color var(--duration-base) var(--ease-out)}.project-name:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}.project-name:disabled{border-color:transparent;background:transparent}.projectbar .cloud-status{white-space:nowrap}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.icon-btn:hover:not(:disabled){background:var(--surface-card);color:var(--text-primary)}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn:focus-visible,.rail-btn:focus-visible,.menu-item:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.ghost-btn{display:inline-flex;align-items:center;gap:6px;border-color:transparent;background:var(--surface-card);color:var(--text-primary)}.ghost-btn:hover{background:var(--surface-card-hover);border-color:transparent}.file-menu-btn{height:32px;padding:0 10px 0 var(--space-3);border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--raised-fill);box-shadow:var(--sheen),0 1px 3px #0003;color:var(--text-primary);font-weight:var(--weight-medium);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform .1s var(--ease-out)}.file-menu-btn .ui-icon{color:var(--text-secondary)}.file-menu-btn .ui-icon:last-child{transition:transform var(--motion-pop) var(--motion-enter)}.file-menu-btn:hover{border-color:var(--border-strong);background:var(--raised-fill)}.file-menu-btn:active{transform:scale(.97)}.file-menu-btn[aria-expanded=true]{border-color:var(--border-accent);background:var(--chosen-fill);box-shadow:var(--chosen-lift)}.file-menu-btn[aria-expanded=true] .ui-icon{color:var(--brand-cyan)}.file-menu-btn[aria-expanded=true] .ui-icon:last-child{transform:rotate(180deg)}.menu-wrap{position:relative}.app-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:900;min-width:250px;padding:var(--space-1);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--brand-dark-panel-solid);box-shadow:var(--shadow-panel);display:flex;flex-direction:column;visibility:hidden;opacity:0;transform:translateY(-6px) scale(.97);transform-origin:top left;pointer-events:none;transition:opacity var(--motion-exit) var(--motion-leave),transform var(--motion-exit) var(--motion-leave),visibility 0s linear var(--motion-exit)}.app-menu.open{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity var(--motion-pop) var(--motion-enter),transform var(--motion-pop) var(--motion-enter),visibility 0s}.app-menu.open>*{animation:ui-rise-soft var(--motion-rise) var(--motion-enter) backwards}.app-menu.open>:nth-child(2){animation-delay:20ms}.app-menu.open>:nth-child(3){animation-delay:40ms}.app-menu.open>:nth-child(4){animation-delay:60ms}.app-menu.open>:nth-child(5){animation-delay:80ms}.app-menu.open>:nth-child(n+6){animation-delay:.1s}@media(prefers-reduced-motion:reduce){.app-menu,.app-menu.open{transform:none}}.app-menu .menu-item,.app-menu>button{display:flex;align-items:center;gap:var(--space-3);height:34px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-regular);text-align:left;white-space:nowrap;cursor:pointer}.app-menu .menu-item:hover:not(:disabled),.app-menu>button:hover:not(:disabled){background:var(--surface-card)}.app-menu button:disabled{opacity:.45;cursor:default}.app-menu .menu-item.failed{color:var(--status-error)}.app-menu .ui-icon{color:var(--text-secondary);flex:none}.app-menu kbd{margin-left:auto;color:var(--text-muted);font:inherit;font-size:var(--text-sm)}.app-menu .menu-sub{padding:var(--space-3) var(--space-3) var(--space-1);color:var(--text-muted);font-size:var(--text-sm)}.seg{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-md);background:var(--surface-input)}.seg>button{display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer}.seg>button:hover{color:var(--text-primary)}.seg>button[aria-pressed=true]{background:var(--surface-card);color:var(--text-primary)}.mode-switch{flex:none}.top-right{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex:1;min-width:0}.cloud-user{display:flex;align-items:center;gap:var(--space-2);flex:none}.cloud-who{gap:var(--space-2);font-size:var(--text-sm);color:var(--text-primary);min-width:0}.cloud-name{display:none}.cloud-user .ghost-btn{white-space:nowrap}.avatar{display:inline-grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--brand-cyan-dim);color:#7aaeff;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.role-tag{border:0;background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-xs)}.export{height:32px;padding:0 var(--space-4);border:0;background:var(--brand-cyan);color:#fff;box-shadow:none}.export:hover{background:#2563eb;box-shadow:none}@media(max-width:1400px){.role-tag,.brand-sub{display:none}}@media(max-width:1180px){.projectbar .cloud-status{display:none}.project-name{width:150px}.mode-switch>button{padding:0 var(--space-3)}}.main{grid-template-columns:72px 300px minmax(0,1fr) 312px;gap:var(--space-2);padding:0 var(--space-2) var(--space-2)}.main.hw-hidden{grid-template-columns:72px 300px minmax(0,1fr)}.main.left-closed{grid-template-columns:72px minmax(0,1fr) 312px}.main.left-closed.hw-hidden{grid-template-columns:72px minmax(0,1fr)}@media(max-width:1280px){.main{grid-template-columns:56px 260px minmax(0,1fr) 256px;padding-bottom:var(--space-3)}.main.hw-hidden{grid-template-columns:56px 260px minmax(0,1fr)}.main.left-closed{grid-template-columns:56px minmax(0,1fr) 256px}.main.left-closed.hw-hidden{grid-template-columns:56px minmax(0,1fr)}.view-tabs .tab{height:30px}.rail-btn{font-size:var(--text-xs)}}@media(max-width:1024px){.main{grid-template-columns:64px 260px minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,34vh)}.main.left-closed{grid-template-columns:64px minmax(0,1fr)}.main.hw-hidden{grid-template-columns:64px 260px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.main.left-closed.hw-hidden{grid-template-columns:64px minmax(0,1fr)}.rail{grid-row:1 / -1}.panel.right{grid-column:2 / -1}}@media(max-width:720px){.main,.main.hw-hidden,.main.left-closed,.main.left-closed.hw-hidden{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,30vh) minmax(0,1fr) minmax(0,30vh)}.rail{grid-row:1;flex-direction:row;overflow-x:auto}.rail-spacer{display:none}.center{grid-row:2}.panel.left{grid-row:3}.panel.right{grid-column:auto;grid-row:4}}.panel[hidden]{display:none}.rail{display:flex;flex-direction:column;gap:2px;min-height:0;padding:var(--space-2) var(--space-1);border-radius:var(--radius-lg);background:var(--surface-panel)}.rail-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) 0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.rail-btn:hover{background:var(--surface-card);color:var(--text-primary)}.rail-btn[aria-pressed=true]{background:var(--brand-cyan-dim);color:#7aaeff}.rail-spacer{flex:1}.panel{border:0;border-radius:var(--radius-lg);box-shadow:none;gap:var(--space-6)}.panel section{gap:var(--space-3)}.panel h2{font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:0;color:var(--text-primary)}.panel label{gap:6px;font-size:var(--text-sm);font-weight:var(--weight-medium)}.panel input,.panel select,.search{height:34px;padding:0 var(--space-3);border-color:var(--border-subtle);box-shadow:none;font-size:var(--text-base)}.panel input[type=checkbox],.panel input[type=radio]{height:auto;padding:0}.panel input:hover:not(:disabled):not(:focus),.panel select:hover:not(:disabled):not(:focus),.search:hover:not(:focus){border-color:var(--border-strong)}.panel input:invalid{border-color:var(--status-error)}.panel input[type=number],.panel input.num-field,.panel input[type=text]:disabled{font-variant-numeric:tabular-nums}.center{gap:var(--space-2)}.view-tabs{align-self:flex-start;gap:2px;padding:3px;border-radius:var(--radius-md);background:var(--surface-panel)}.view-tabs .tab{flex:none;height:28px;padding:0 var(--space-3);border:0;font-size:var(--text-base);color:var(--text-secondary)}.view-tabs .tab.active{background:var(--surface-card);color:var(--text-primary);border:0}.tab.active{background:var(--brand-cyan-dim);border-color:transparent;color:#7aaeff}.canvas-wrap{border:0;border-radius:var(--radius-lg)}.hw-show{padding:12px 5px;border:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--surface-panel);font-size:var(--text-sm);font-weight:var(--weight-medium)}.panel.right .tabs{display:flex;flex-wrap:wrap;gap:var(--space-1)}.panel.right .tabs .tab{flex:none;height:28px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-sm)}.panel.right .tabs .tab:hover{color:var(--text-primary);background:var(--surface-card-hover)}.panel.right .tabs .tab.active{background:var(--brand-cyan-dim);color:#7aaeff}.lib-bar{display:flex;align-items:center;gap:var(--space-2);min-height:32px}.lib-families{display:flex;flex-wrap:wrap;gap:var(--space-1);flex:1;min-width:0}.lib-chip{height:26px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.lib-chip:hover{color:var(--text-primary);background:var(--surface-card)}.lib-chip[aria-pressed=true]{background:var(--brand-cyan-dim);color:#7aaeff}.lib-count{flex:1;color:var(--text-muted);font-size:var(--text-sm)}.lib-view{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-sm);background:var(--surface-input);flex:none}.lib-view button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer}.lib-view button:hover{color:var(--text-primary)}.lib-view button[aria-pressed=true]{background:var(--surface-card);color:var(--text-primary)}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);max-height:none;overflow:visible;padding-right:0}.catalog-item{display:flex;flex-direction:column;align-items:stretch;gap:2px;height:auto;padding:var(--space-2) var(--space-2) var(--space-3);border:0;border-radius:var(--radius-md);background:var(--surface-card);text-align:left;color:var(--text-primary);transition:background var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.catalog-item:hover{background:var(--surface-card-hover);border-color:transparent;box-shadow:none}.catalog-item:active{transform:none}.catalog-item.placing{background:var(--brand-cyan-dim);box-shadow:inset 0 0 0 2px var(--brand-cyan);border-color:transparent}.catalog-item .photo{position:relative;display:block;aspect-ratio:1;margin-bottom:var(--space-2);border-radius:var(--radius-sm);background:#e6eaf0;overflow:hidden}.catalog-item .photo img{position:absolute;top:8%;right:8%;bottom:8%;left:8%;width:84%;height:84%;object-fit:contain;mix-blend-mode:multiply}.catalog-item .photo>span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-ui);font-size:var(--text-sm);color:#44536a}.catalog-item .cat-text{display:flex;flex-direction:column;gap:1px;min-width:0}.catalog-item .cap{position:static;padding:0;background:none;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-semibold)}.catalog-item .cat-name{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.35;word-break:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.catalog-item .cat-fit{margin-top:auto;padding-top:4px;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--accent-cyan)}.catalog-item em{top:12px;right:12px}.catalog-grid.compact{grid-template-columns:minmax(0,1fr);gap:2px}.catalog-grid.compact .catalog-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:6px var(--space-2);background:transparent}.catalog-grid.compact .catalog-item:hover{background:var(--surface-card)}.catalog-grid.compact .catalog-item.placing{background:var(--brand-cyan-dim)}.catalog-grid.compact .photo{width:36px;height:36px;aspect-ratio:auto;margin:0}.catalog-grid.compact .cat-name{-webkit-line-clamp:1}.catalog-grid.compact .cat-fit{margin:0;padding:0}.catalog-grid.compact .cat-fit-long{display:none}.catalog-grid.compact em{position:static}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin:-4px -8px -8px 0}.panel-head h2{font-size:var(--text-md)}.panel h3{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary)}.panel .case-style{padding:var(--space-3);border:0;border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-weight:var(--weight-semibold);box-shadow:none}.panel label.switch-row{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--text-primary);font-size:var(--text-base);cursor:pointer}.switch-text{display:flex;flex-direction:column;gap:2px}.switch-text small{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-regular)}.switch-title{display:inline-flex;align-items:center;gap:6px}.info-tip{display:inline-grid;place-items:center;width:13px;height:13px;border-radius:50%;border:1px solid currentColor;color:var(--text-secondary);font-size:9px;font-style:italic;font-weight:700;line-height:1;cursor:help;-webkit-user-select:none;user-select:none;flex:none}.info-tip:hover,.info-tip:focus-visible{outline:none;color:var(--text-primary)}.info-tip-pop{position:fixed;z-index:1300;padding:8px 10px;background:var(--brand-dark-panel-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:0 10px 30px #00000080;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:var(--leading-normal);text-transform:none;letter-spacing:normal;pointer-events:none}.panel label.switch-row input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:34px;height:20px;margin:0;padding:2px;border:0;border-radius:10px;background:var(--surface-card-hover);cursor:pointer;transition:background var(--duration-base) var(--ease-out)}.panel label.switch-row input[type=checkbox]:after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform var(--duration-base) var(--ease-out)}.panel label.switch-row input[type=checkbox]:checked{background:var(--brand-cyan)}.panel label.switch-row input[type=checkbox]:checked:after{transform:translate(14px)}.panel label.switch-row input[type=checkbox]:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.section-control{gap:2px;row-gap:2px;padding:var(--space-1);border:0;border-radius:var(--radius-md);background:var(--surface-panel);box-shadow:0 4px 16px #00000038}.section-control .tab.tool-tab{min-height:44px;padding:5px 10px 4px;border:0;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-xs)}.section-control .tab.tool-tab:hover{background:var(--surface-card);color:var(--text-primary)}.section-control .tab.tool-tab.active{background:var(--brand-cyan-dim);color:#7aaeff}.view-home{width:32px;height:32px;border:0;border-radius:var(--radius-md);background:var(--surface-panel)}.view-home:hover{border-color:transparent;background:var(--surface-card);color:var(--text-primary)}.panel [hidden],.panel-dock[hidden]{display:none!important}.panel-dock{display:flex;flex-direction:column;min-height:0}.panel-dock .docked-window,.panel-dock .docked-window.construction-window,.panel-dock .docked-window.construction-window:not(.castors-window),.panel-dock .docked-window.construction-window.view-window,.panel-dock .docked-window.construction-window.contents-window{position:static;width:auto;min-width:0;max-width:none;max-height:none;min-height:0;resize:none;z-index:auto;display:flex;flex-direction:column;gap:var(--space-4);border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}.panel-dock .docked-window .drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0;margin:-4px -8px 0 0;border:0;background:none;cursor:default}.panel-dock .docked-window .floating-title{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary)}.panel-dock .docked-window .drawer-toggle{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.panel-dock .docked-window .drawer-toggle:hover{background:var(--surface-card);color:var(--text-primary)}.panel-dock .docked-window .floating-body{padding:0;overflow:visible;flex:none;gap:var(--space-5)}.panel-dock .construction-window .row>label{min-width:0;flex:1 1 100%}button:not([class]):not(.seg>button),.castors-window .edit-boards,.skid-add,.forklift-add,.board-split-auto{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-primary);font:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-base) var(--ease-out)}button:not([class]):not(.seg>button):hover:not(:disabled),.castors-window .edit-boards:hover:not(:disabled),.skid-add:hover:not(:disabled),.forklift-add:hover:not(:disabled),.board-split-auto:hover:not(:disabled){background:var(--surface-card-hover)}button:not([class]):disabled{opacity:.45;cursor:default}input.num-field.has-formula,.panel input.num-field.has-formula{border-color:#2de58a8c;box-shadow:inset 3px 0 #2de58abf}input.expr-coloured{color:transparent!important;-webkit-text-fill-color:transparent;caret-color:var(--text-primary)}.expr-overlay{position:fixed;z-index:1250;pointer-events:none;overflow:hidden}.expr-overlay>div{display:flex;align-items:center;box-sizing:border-box;border:0 solid transparent;white-space:pre;overflow:hidden;color:var(--text-primary)}input.expr-float{position:fixed;z-index:1240;box-sizing:border-box;margin:0;border:1px solid var(--border-accent);box-shadow:var(--focus-ring),0 8px 24px #00000073;outline:none}input.expr-under-float{color:transparent!important;-webkit-text-fill-color:transparent}.expr-name-ok{color:var(--status-valid);font-weight:var(--weight-semibold)}.expr-name-bad{color:var(--status-error);font-weight:var(--weight-semibold);text-decoration:underline wavy rgba(255,77,109,.6)}.expr-picker{position:fixed;z-index:1260;max-height:220px;overflow-y:auto;padding:3px 0;background:var(--brand-dark-panel-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:0 10px 30px #00000080;font-size:var(--text-sm)}.expr-picker-row{display:flex;justify-content:space-between;gap:16px;padding:4px 10px;color:var(--text-primary);cursor:pointer;white-space:nowrap}.expr-picker-row.active{background:var(--brand-cyan-dim)}.expr-picker-value{color:var(--text-secondary);font-family:var(--font-mono)}.params-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;display:grid;place-items:center;background:#05080e8c}.params-dialog{width:min(420px,calc(100vw - 32px));padding:18px 20px;background:var(--brand-dark-panel-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 20px 60px #0009;color:var(--text-primary);font-size:var(--text-base)}.params-dialog:focus{outline:none}.params-dialog p{margin:0 0 12px;line-height:var(--leading-normal)}.params-dialog code{color:var(--brand-cyan);font-family:var(--font-mono)}.params-dialog-note{color:var(--text-secondary);font-size:var(--text-sm)}.params-dialog-error{color:var(--status-error);font-size:var(--text-sm)}.params-dialog-buttons{display:flex;flex-direction:column;gap:8px}.params-dialog-buttons button{text-align:left}.params-dialog-value{width:100%;margin-bottom:10px;padding:7px 8px;background:var(--surface-input);border:1px solid var(--border-accent);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono)}.params-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.params-row{display:grid;grid-template-columns:minmax(0,1fr) 26px;gap:6px;align-items:center}.params-row .params-name,.params-add-foam .params-name{grid-column:1 / -1;width:100%;min-width:0;font-family:var(--font-mono)}.params-row .params-name[aria-invalid=true]{border-color:var(--status-error)}.params-row.unused .params-name{color:var(--text-secondary)}.params-used{grid-column:1 / -1;margin-top:-3px;font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.params-add,.params-add-foam{padding-top:8px;border-top:1px solid var(--border-hairline)}.params-row .params-material,.params-add-foam .params-material{width:100%;min-width:0}.params-add-foam{display:grid;grid-template-columns:minmax(0,1fr) 26px;gap:6px;align-items:center}.params-panel{display:flex;gap:6px;align-items:center;min-width:0}.params-panel-name{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.params-yesno{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.params-yesno .params-material{flex:1 1 100%}.params-yesno .params-rule{flex:1 1 0;min-width:0;font-family:var(--font-mono)}.params-answer{font-size:var(--text-xs);white-space:nowrap}.params-answer.yes{color:var(--status-success, #22c55e)}.params-answer.no{color:var(--text-secondary)}.params-delete,.params-add-btn{padding:4px 0;line-height:1}.params-muted{color:var(--text-muted)}.params-error{color:var(--status-error);font-size:var(--text-xs);margin-top:4px}.params-missing{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--text-sm)}.params-missing code,.params-formula code{color:var(--status-error);font-family:var(--font-mono)}.params-formula code,.params-measure code{color:var(--brand-cyan);font-family:var(--font-mono)}.params-missing-add{display:flex;gap:6px;align-items:center}.params-missing-add input{width:72px}.params-help>summary,.params-formulas>summary,.params-measurements>summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary);padding:2px 0}.params-help>summary:hover,.params-formulas>summary:hover,.params-measurements>summary:hover{color:var(--brand-cyan)}.params-help[open]>summary,.params-formulas[open]>summary,.params-measurements[open]>summary{margin-bottom:8px}.params-count{display:inline-block;min-width:18px;margin-left:6px;padding:0 6px;border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:center}.params-formula,.params-measure{display:flex;flex-direction:column;gap:2px;padding:5px 0;font-size:var(--text-sm);border-top:1px solid var(--border-hairline)}.params-formula-head{display:flex;justify-content:space-between;gap:10px}.params-formula-head>span:last-child{font-family:var(--font-mono);white-space:nowrap}.params-formula code{overflow-wrap:anywhere}.seg.mode-switch{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;isolation:isolate}.seg.mode-switch .mode-thumb{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:var(--radius-sm);background:var(--brand-cyan);box-shadow:0 1px 3px #00000059;transition:transform .26s cubic-bezier(.3,.9,.3,1.1)}.seg.mode-switch[data-mode=production] .mode-thumb{transform:translate(100%)}.seg.mode-switch>button{position:relative;z-index:1;justify-content:center;min-height:28px;background:transparent;color:var(--text-secondary);transition:color .2s var(--ease-out)}.seg.mode-switch>button:hover:not([aria-pressed=true]){color:var(--text-primary);background:transparent}.seg.mode-switch>button[aria-pressed=true]{background:transparent;color:#fff}@media(prefers-reduced-motion:reduce){.seg.mode-switch .mode-thumb,.seg.mode-switch>button{transition:none}}.lib-head{display:flex;align-items:center;gap:var(--space-2)}.hw-pane-switch{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--surface-input)}.hw-pane-switch .hw-pane-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.hw-pane-switch .hw-pane-btn:hover{color:var(--text-primary)}.hw-pane-switch .hw-pane-btn[aria-selected=true]{background:var(--surface-card);color:var(--text-primary)}.hw-pane-count,.lib-fav-count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--surface-card);box-shadow:inset 0 0 0 1px var(--border-subtle);color:var(--text-secondary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:18px;text-align:center}.hw-pane-switch .hw-pane-btn[aria-selected=true] .hw-pane-count{background:var(--brand-cyan-dim);color:var(--text-primary)}.lib-fav-toggle{display:inline-flex;flex:1;align-items:center;gap:var(--space-2);min-width:0;height:36px;padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.lib-fav-toggle:hover{color:var(--text-primary);background:var(--surface-card-hover)}.lib-fav-toggle .lib-fav-count{margin-left:auto}.lib-fav-toggle .lib-fav-count{background:var(--surface-input)}.lib-fav-toggle[aria-pressed=true]{border-color:var(--border-accent);background:var(--brand-cyan-dim);color:var(--text-primary)}.lib-fav-toggle[aria-pressed=true] .ui-icon{color:var(--status-warning);fill:currentColor}.lib-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.lib-cat{height:30px;min-width:0;padding:0 4px;overflow:hidden;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.lib-cat:hover{color:var(--text-primary);background:var(--surface-card-hover);border-color:var(--border-subtle)}.lib-cat[aria-pressed=true]{border-color:var(--border-accent);background:var(--brand-cyan-dim);color:var(--text-primary);font-weight:var(--weight-semibold)}.lib-cat.none:not([aria-pressed=true]){opacity:.45}.lib-view{display:inline-flex;flex:none;gap:2px;padding:3px;border-radius:var(--radius-md);background:var(--surface-input)}.lib-view .lib-view-btn{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.lib-view .lib-view-btn:hover{color:var(--text-primary)}.lib-view .lib-view-btn[aria-pressed=true]{background:var(--surface-card);color:var(--text-primary)}.lib-view .lib-view-btn .ui-icon{flex:none}.lib-search{position:relative;display:block}.lib-search>.ui-icon{position:absolute;left:11px;top:50%;translate:0 -50%;color:var(--text-muted);pointer-events:none}.lib-search .search{padding-left:34px}.lib-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:0}.panel label.lib-style{flex-direction:row;align-items:center;gap:var(--space-2);min-width:0;color:var(--text-secondary);font-size:var(--text-sm)}.panel label.lib-style select{height:30px;width:auto;min-width:0;max-width:180px;font-size:var(--text-sm)}.lib-count{flex:none;color:var(--text-muted);font-size:var(--text-sm)}.lib-empty{margin:0;padding:var(--space-5) var(--space-3);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;text-align:center}.catalog-cell{position:relative;min-width:0;display:flex}.catalog-cell>.catalog-item{flex:1;min-width:0}.catalog-cell .fav-btn{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:#080f1b8c;color:#fff;cursor:pointer;opacity:0;transition:opacity var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out)}.catalog-cell:hover .fav-btn,.catalog-cell .fav-btn:focus-visible,.catalog-cell .fav-btn[aria-pressed=true]{opacity:1}.catalog-cell .fav-btn:hover{background:#080f1bcc}.catalog-cell .fav-btn[aria-pressed=true]{color:var(--status-warning)}.catalog-cell .fav-btn[aria-pressed=true] .ui-icon{fill:currentColor}.catalog-cell .fav-btn:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.catalog-cell .catalog-item em{right:46px}.catalog-grid.compact .catalog-cell{align-items:center}.catalog-grid.compact .catalog-cell>.catalog-item{padding-right:44px}.catalog-grid.compact .catalog-cell .fav-btn{top:50%;right:6px;translate:0 -50%;background:transparent;color:var(--text-muted)}.catalog-grid.compact .catalog-cell .fav-btn:hover{background:var(--surface-card-hover);color:var(--text-primary)}.catalog-grid.compact .catalog-cell .fav-btn[aria-pressed=true]{color:var(--status-warning)}.catalog-grid.compact .catalog-cell .catalog-item em{right:auto}@media(hover:none){.catalog-cell .fav-btn{opacity:1}}.view-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.view-bar .view-tabs{align-self:auto;min-width:0;overflow-x:auto}.lid-bar{display:flex;align-items:center;gap:var(--space-2);flex:none}.lid-pair{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-md);background:var(--surface-panel)}.lid-pair .lid-btn{height:28px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.lid-pair .lid-btn:hover:not(:disabled){background:var(--surface-card);color:var(--text-primary)}.lid-pair .lid-btn[aria-pressed=true]{background:var(--brand-cyan-dim);color:#7aaeff}.lid-pair .lid-btn:disabled{opacity:.4;cursor:default}.lid-pair .lid-btn:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.inspector{display:flex;flex-direction:column;gap:var(--space-2);box-shadow:none;border-color:transparent}.inspector h2{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-1);font-size:var(--text-md)}.inspector h2 small{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-regular)}.insp-group{border-top:1px solid var(--border-hairline);padding-top:var(--space-2)}.insp-group>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) 0;list-style:none;cursor:pointer;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);-webkit-user-select:none;user-select:none}.insp-group>summary::-webkit-details-marker{display:none}.insp-group>summary:after{content:"";width:7px;height:7px;border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);transform:rotate(-45deg);transition:transform var(--duration-base) var(--ease-out)}.insp-group[open]>summary:after{transform:rotate(45deg)}.insp-group>summary:hover{color:#fff}.insp-group>summary:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px;border-radius:4px}.insp-group-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0 var(--space-1)}.insp-group-body .row{gap:var(--space-2)}.insp-group-body .row.note,.inspector .row.note{color:var(--text-muted);font-size:var(--text-xs);line-height:1.45}.insp-group-body label{font-size:var(--text-sm)}.insp-group-body .edge-readout{font-size:var(--text-xs);color:var(--text-muted)}.edge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.edge-grid>.row{min-width:0}.edge-grid>.row>label{min-width:0}.inspector .row.inspector-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--border-hairline)}.inspector .row.inspector-actions>button{flex:0 0 auto;width:auto}.inspector .row.inspector-actions>button.danger{margin-left:auto}.insp-group-body .axis-row>label:has(>.anchor-kind){display:grid;grid-template-columns:minmax(0,1fr) 84px;align-items:end;column-gap:var(--space-2)}.insp-group-body .axis-row>label:has(>.anchor-kind)>.anchor-kind{min-width:0}.insp-group-body .axis-row>label:has(>.anchor-kind)>:not(.anchor-kind):not(input):not(.number-field){grid-column:1 / -1}.panel-title.editing-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-primary);align-items:center}.editing-title .editing-close{margin-left:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.inspector.divide-inspector,.inspector.shelf-inspector{gap:var(--space-3);padding:var(--space-4)}.insp-head{display:flex;align-items:center;gap:var(--space-3)}.insp-head-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:var(--radius-md);background:var(--brand-cyan-dim);color:#7aaeff}.insp-head-icon .ui-icon{fill:#3b82f659}.insp-head-text{min-width:0}.insp-head-text h2{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary)}.insp-head-text p{margin:2px 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.insp-tabs{position:sticky;top:calc(-1 * var(--space-4));z-index:3;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:3px;margin:0 calc(-1 * var(--space-1));border-radius:var(--radius-md);background:var(--surface-input);box-shadow:0 6px 12px -6px #00000080}.insp-tabs>.insp-tab{height:32px;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.insp-tabs>.insp-tab:hover{color:var(--text-primary)}.insp-tabs>.insp-tab[aria-current=true]{background:var(--brand-cyan);color:#fff}.insp-tabs>.insp-tab:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.divide-inspector .insp-group,.shelf-inspector .insp-group{scroll-margin-top:56px}.divide-inspector .insp-group>summary,.shelf-inspector .insp-group>summary{font-size:var(--text-md)}.divide-inspector .insp-group-body label:has(>.num-field),.shelf-inspector .insp-group-body label:has(>.num-field){position:relative}.divide-inspector .insp-group-body label:has(>.num-field)>.num-field,.shelf-inspector .insp-group-body label:has(>.num-field)>.num-field{padding-right:36px}.divide-inspector .insp-group-body label:has(>.num-field):after,.shelf-inspector .insp-group-body label:has(>.num-field):after{content:"mm";position:absolute;right:11px;bottom:9px;color:var(--text-muted);font-size:var(--text-xs);pointer-events:none}.shelf-inspector .insp-group-body .row:has(>.split-edge)>label{align-self:start}.pos-row>label:has(>.anchor-kind){grid-template-columns:44px minmax(0,1fr)!important}.pos-row select.anchor-kind{width:44px;padding:0;color:transparent;text-indent:-999px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3B3C8' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Cpath d='M12 2v4M12 18v4M2 12h4M18 12h4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:18px;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.pos-row select.anchor-kind option{color:var(--text-primary)}.pos-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.insp-caption{color:var(--text-secondary);font-size:var(--text-xs)}.insp-caption .recentre-btn{display:inline;min-height:0;padding:0;border:0;background:none;color:var(--brand-cyan);font:inherit;cursor:pointer}.insp-caption .recentre-btn:hover{text-decoration:underline}.insp-info{display:inline-grid;color:var(--text-muted);margin-left:4px;cursor:help;vertical-align:middle}.end-row>label:has(>.anchor-kind){grid-template-columns:20px minmax(0,1fr) 96px!important;align-items:center!important}.end-row .end-icon{display:grid;place-items:center;color:var(--text-muted);grid-column:auto!important}.end-row select.anchor-kind{border-color:transparent;background-color:transparent;color:var(--text-secondary);padding-left:4px}.end-row select.anchor-kind:hover{border-color:var(--border-subtle);color:var(--text-primary)}.material-select{position:relative;display:block}.material-swatch{position:absolute;left:8px;top:50%;translate:0 -50%;width:30px;height:22px;border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff26,0 1px 2px #0006;pointer-events:none}.panel .material-select>select{height:44px;padding-left:48px}.panel .row.inline-field>label{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-3)}.panel .row.inline-field>label>input{width:120px;flex:none}.panel select.joint-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-left:38px;padding-right:28px;background-repeat:no-repeat,no-repeat;background-position:9px center,right 9px center;background-size:20px,14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3B3C8' stroke-width='1.5'%3E%3Cpath d='M3 3h6v18H3'/%3E%3Cpath d='M9 9h12v6H9z' fill='%2371839B' fill-opacity='.45'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3B3C8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.panel select.joint-select[data-joint=rebate]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3B3C8' stroke-width='1.5'%3E%3Cpath d='M3 3h6v18H3'/%3E%3Cpath d='M6 9h15v6H6z' fill='%233B82F6' fill-opacity='.45'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3B3C8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.panel select.joint-select[data-joint=extrusion-mount]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3B3C8' stroke-width='1.5'%3E%3Cpath d='M3 3h6v18H3'/%3E%3Cpath d='M9 7h4v10H9M13 9h8v6h-8'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3B3C8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.divide-inspector .insp-group-body .edge-readout,.shelf-inspector .insp-group-body .edge-readout{display:none}.divide-inspector .insp-group-body .edge-readout.blocked,.shelf-inspector .insp-group-body .edge-readout.blocked{display:block}.divide-inspector .insp-group-body .check-row,.shelf-inspector .insp-group-body .check-row{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:32px;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer}.divide-inspector details.inspector-more>summary,.shelf-inspector details.inspector-more>summary{display:flex;align-items:center;gap:var(--space-2);min-height:32px;list-style:none;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer}.divide-inspector details.inspector-more>summary::-webkit-details-marker,.shelf-inspector details.inspector-more>summary::-webkit-details-marker{display:none}.divide-inspector details.inspector-more>summary:before,.shelf-inspector details.inspector-more>summary:before{content:"";border-left:5px solid var(--text-muted);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform var(--duration-base) var(--ease-out)}.divide-inspector details.inspector-more[open]>summary:before,.shelf-inspector details.inspector-more[open]>summary:before{transform:rotate(90deg)}.inspector .row.inspector-actions>button{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-weight:var(--weight-medium)}.inspector .row.inspector-actions>button:hover{background:var(--surface-card-hover)}.inspector .row.inspector-actions>button.danger{border-color:#ef444499;background:#ef444414;color:#f87171}.inspector .row.inspector-actions>button.danger:hover{background:#ef444429}.insp-tabs>.insp-tab{min-width:0;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.pos-row{display:flex;align-items:flex-end;gap:var(--space-2)}.pos-row>label:has(>.anchor-kind){flex:1;min-width:0}.pos-row>label.check{flex:none;padding-bottom:8px}.end-row>label:has(>.anchor-kind){grid-template-columns:18px minmax(0,1fr) 84px!important}.insp-tabs>.insp-tab{font-size:var(--text-xs);padding:0 2px}.inspector input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:32px;height:18px;margin:0;padding:2px;border:0;border-radius:9px;background:var(--surface-card-hover);box-shadow:inset 0 0 0 1px var(--border-subtle);cursor:pointer;vertical-align:middle;transition:background var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.inspector input[type=checkbox]:after{content:"";display:block;width:14px;height:14px;border-radius:50%;background:#cbd5e1;box-shadow:0 1px 2px #0006;transition:transform var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out)}.inspector input[type=checkbox]:checked{background:var(--brand-cyan);box-shadow:none}.inspector input[type=checkbox]:checked:after{transform:translate(14px);background:#fff}.inspector input[type=checkbox]:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--border-strong)}.inspector input[type=checkbox]:checked:hover:not(:disabled){box-shadow:none;filter:brightness(1.08)}.inspector input[type=checkbox]:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.inspector input[type=checkbox]:disabled{opacity:.45;cursor:default}.inspector label.check{display:inline-flex;flex-direction:row;align-items:center;gap:var(--space-2)}@media(prefers-reduced-motion:reduce){.inspector input[type=checkbox],.inspector input[type=checkbox]:after{transition:none}}.inspector .row.inspector-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.inspector .row.inspector-actions>button{justify-content:center;width:100%;min-width:0;margin:0;white-space:nowrap}.inspector .row.inspector-actions>button.danger{margin-left:0}.inspector .row.inspector-actions:has(>button:nth-child(3))>button.danger,.inspector .row.inspector-actions>button.danger:only-child{grid-column:1 / -1}.insp-group-title{margin:0;padding:var(--space-1) 0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.inspector .insp-tabs+.insp-group:not([hidden]),.inspector .insp-tabs~.insp-group[hidden]+.insp-group:not([hidden]){border-top:0}.projectbar>*{flex-shrink:0}.projectbar .cloud-status{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projectbar .project-name{flex-shrink:1;min-width:90px}.insp-head-text p.insp-head-size{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.start-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;grid-template-columns:220px minmax(0,1fr) minmax(300px,380px);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"rail main preview" "rail actions actions";background:var(--surface-app);color:var(--text-primary)}@media(max-width:1360px){.start-screen{grid-template-columns:200px minmax(0,1fr);grid-template-areas:"rail main" "rail actions"}.start-preview{display:none!important}}.start-rail{grid-area:rail;display:flex;flex-direction:column;gap:var(--space-6);padding:22px 14px;border-right:1px solid var(--border-hairline);background:var(--brand-dark-inset)}.start-brand{display:flex;align-items:center;gap:8px;padding:0 8px}.start-brand .brand-logo{height:36px}.start-nav{display:flex;flex-direction:column;gap:4px}.start-nav-item{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid transparent;background:none;color:var(--text-secondary);font:inherit;font-size:var(--text-md);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.start-nav-item:hover{background:var(--surface-card);color:var(--text-primary)}.start-nav-item.active{background:var(--brand-cyan-dim);border-color:var(--border-accent);color:var(--text-primary)}.start-nav-item input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.start-main{grid-area:main;min-height:0;display:flex;flex-direction:column;gap:var(--space-4);padding:40px clamp(20px,3vw,44px) 0}.start-head h1{margin:0;font-size:clamp(28px,3vw,40px);font-weight:var(--weight-bold);letter-spacing:-.02em;line-height:1.1}.start-head p{margin:8px 0 0;font-size:var(--text-md);color:var(--text-secondary)}.start-name{display:flex;align-items:stretch;max-width:620px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-input);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.start-name:focus-within{border-color:var(--brand-cyan);box-shadow:var(--focus-ring)}.start-name-icon{display:grid;place-items:center;width:52px;border-right:1px solid var(--border-subtle);color:var(--text-muted)}.start-name-field{flex:1;display:flex;flex-direction:column;padding:7px 12px 6px}.start-name-field small{font-size:var(--text-xs);color:var(--text-muted)}.start-name-field input[type=text]{padding:2px 0 0;border:none;background:none;box-shadow:none;font-size:var(--text-md);color:var(--text-primary);outline:none}.start-tabs{display:flex;flex-wrap:wrap;gap:8px}.start-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-panel);color:var(--text-secondary);font:inherit;font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.start-tab:hover{color:var(--text-primary);border-color:var(--border-strong)}.start-tab.active{background:var(--brand-cyan);border-color:var(--brand-cyan);color:#fff}.start-grid-wrap{flex:1;min-height:0;overflow-y:auto;padding:4px 4px var(--space-6);margin:-4px -4px 0;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent)}.start-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.start-card{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-lg);border:1px solid var(--border-hairline);background:var(--surface-panel);overflow:hidden;transition:border-color var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.start-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 10px 28px #00000059}.start-card.active{border-color:var(--brand-cyan);box-shadow:0 0 0 1px var(--brand-cyan),0 10px 28px #00000059}.start-card-main{display:flex;flex-direction:column;gap:4px;padding:0 0 6px;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.start-card-main:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:-2px}.start-card-main strong{padding:10px 14px 0;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary)}.start-card-main small{padding:0 14px;font-size:var(--text-sm);line-height:1.4;color:var(--text-secondary)}.start-card-main small.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.start-thumb{display:grid;place-items:center;aspect-ratio:16 / 10;background:radial-gradient(ellipse 70% 60% at 50% 42%,rgba(96,140,210,.55) 0%,rgba(40,66,110,.35) 45%,transparent 75%),linear-gradient(180deg,#1b2b45,#0e1828);color:var(--text-muted)}.start-thumb img{width:82%;height:86%;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.55)) drop-shadow(0 0 1px rgba(200,220,255,.5));transition:transform var(--duration-base) var(--ease-out)}.start-card:hover .start-thumb img{transform:scale(1.04)}.start-check{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--brand-cyan);color:#fff;box-shadow:0 2px 8px #0006}.start-chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 14px 14px;margin-top:auto}.style-chip{padding:4px 9px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-secondary);font:inherit;font-size:var(--text-xs);line-height:1.3;text-align:left;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.style-chip:hover{color:var(--text-primary);border-color:var(--border-strong)}.style-chip.active{background:var(--brand-cyan-dim);border-color:var(--brand-cyan);color:var(--text-primary)}.style-chip.static{cursor:default}.start-preview{grid-area:preview;min-height:0;display:flex;flex-direction:column;gap:var(--space-4);padding:48px 32px 24px;overflow-y:auto;border-left:1px solid var(--border-hairline);background:radial-gradient(ellipse 90% 50% at 70% 45%,rgba(59,130,246,.22) 0%,transparent 70%),linear-gradient(180deg,#0f1a2c,#0a1220)}.start-pitch h2{margin:0;font-size:26px;font-weight:var(--weight-bold);line-height:1.2;letter-spacing:-.01em}.start-pitch p{margin:10px 0 0;font-size:var(--text-md);line-height:1.55;color:var(--text-secondary)}.start-stage{flex:1;min-height:200px;display:grid;place-items:center}.start-stage img{width:100%;max-height:300px;object-fit:contain;filter:drop-shadow(0 22px 22px rgba(0,0,0,.6)) drop-shadow(0 0 1px rgba(200,220,255,.55));animation:start-stage-in .32s var(--ease-out)}@keyframes start-stage-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@media(prefers-reduced-motion:reduce){.start-stage img,.start-card,.start-thumb img{animation:none;transition:none}}.start-stage-empty{font-size:var(--text-sm);color:var(--text-muted)}.start-selected small{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--brand-cyan)}.start-selected strong{display:block;margin-top:2px;font-size:var(--text-lg);font-weight:var(--weight-semibold)}.start-selected p{margin:6px 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary)}.start-features{display:grid;gap:16px;margin:8px 0 0;padding:18px 0 0;list-style:none;border-top:1px solid var(--border-hairline)}.start-features li{display:grid;grid-template-columns:22px 1fr;gap:14px;align-items:start;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45}.start-features li>svg{margin-top:2px;color:var(--text-primary)}.start-features strong{display:block;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.start-actions{grid-area:actions;display:flex;align-items:center;gap:12px;padding:14px clamp(20px,3vw,44px);border-top:1px solid var(--border-hairline);background:var(--brand-dark-inset)}.start-actions .spacer{flex:1}.start-cancel{padding:10px 20px;font-size:var(--text-md)}.start-create{display:inline-flex;align-items:center;gap:10px;padding:11px 22px;border-radius:var(--radius-md);border:1px solid var(--brand-cyan);background:var(--brand-cyan);color:#fff;font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.start-create:hover:not(:disabled){background:#2f74e6}.start-create:active:not(:disabled){transform:scale(.98)}.start-create:disabled{opacity:.45;cursor:not-allowed}.row.material-pick{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:6px}.material-pick>.ghost-btn{justify-content:center;min-height:32px}.forklift-skids{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-hairline)}.forklift-skids .field-label{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.forklift-skids .forklift-seg{display:flex;width:100%}.forklift-skids .forklift-seg>button{flex:1;justify-content:center}.forklift-skids .forklift-seg>button[aria-pressed=true]{background:var(--brand-cyan-dim);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-accent)}.forklift-skids .forklift-add{align-self:flex-start}.forklift-skids .forklift-remove{align-self:stretch;margin-top:var(--space-2);min-height:32px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;cursor:pointer}.forklift-skids .forklift-remove:hover{border-color:var(--status-error);color:var(--status-error)}.p2d-forklift-skid{pointer-events:none}.p2d-forklift-skid-body{fill:#bec8d259;stroke:#bec8d2e6;stroke-width:1.4px}.p2d-forklift-screw{fill:#e6ecf2f2}.forklift-skids .forklift-seg>button{padding:0 var(--space-2);white-space:nowrap}.board-splits{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.board-splits .field-label{font-size:var(--text-xs);color:var(--text-muted)}.board-splits .hint{margin:0}.board-split-row{display:flex;flex-direction:column;gap:4px}.board-split-auto{align-self:flex-start}.board-bolt-spacing{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-2)}.forklift-skids .bolt-type-seg>button,.bolt-type-seg>button{height:auto;min-height:28px;padding:4px 6px;white-space:normal;line-height:1.2;text-align:center;font-size:var(--text-sm)}.panel-materials{display:flex;flex-direction:column;gap:var(--space-3)}.panel-materials-status{flex:none;padding:3px 10px;border-radius:999px;background:var(--surface-card);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap}.panel-materials-status.on{background:var(--brand-cyan-dim);color:var(--text-primary)}.panel-materials-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.panel-materials-picked{flex:1 1 180px;color:var(--text-muted);font-size:var(--text-sm)}.panel-materials-tools .power-btn.active{border-color:var(--border-accent);background:var(--brand-cyan-dim)}.panel-materials-list{overflow:hidden;border:1px solid var(--border-hairline);border-radius:var(--radius-md)}.panel-materials-group+.panel-materials-group{border-top:1px solid var(--border-hairline)}.panel label.panel-materials-head,.panel label.panel-materials-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto;flex-direction:row;align-items:center;gap:var(--space-3);min-height:36px;padding:0 var(--space-3);cursor:pointer}.panel label.panel-materials-head{background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.panel label.panel-materials-head small{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-regular)}.panel label.panel-materials-row{padding-left:calc(var(--space-3) + 16px);border-top:1px solid var(--border-hairline);color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-regular)}.panel label.panel-materials-row:hover{background:var(--surface-card)}.panel label.panel-materials-row.picked{background:var(--brand-cyan-dim)}.panel label.panel-materials-head>input[type=checkbox],.panel label.panel-materials-row>input[type=checkbox]{width:16px;height:16px;margin:0}.panel label.panel-materials-row{grid-template-columns:16px minmax(0,1fr) auto}.panel-materials-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-materials-stock{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap}.panel-materials-row.own .panel-materials-stock{color:var(--text-primary)}.panel-materials-stock .finish-swatch{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1px #ffffff38}.panel-materials-row .material-warn{font-size:var(--text-xs)}.build-advanced{border:1px solid var(--border-hairline);border-radius:10px;background:var(--surface-card)}.build-advanced>summary{display:flex;align-items:center;gap:var(--space-2);min-height:46px;padding:0 var(--space-4);color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-medium);list-style:none;cursor:pointer}.build-advanced>summary::-webkit-details-marker{display:none}.build-advanced>summary svg{color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-out)}.build-advanced[open]>summary svg{transform:rotate(90deg)}.build-advanced>summary:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px;border-radius:10px}.build-advanced>summary:focus:not(:focus-visible){outline:none}.build-advanced-status{margin-left:auto;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-regular)}.build-advanced-body{display:flex;flex-direction:column;gap:var(--space-3);padding:0 var(--space-4) var(--space-4)}.build-adv-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-panel)}.build-adv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.build-adv-head h4{margin:0;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-semibold)}.build-adv-head p{max-width:62ch;margin:2px 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45}.case-panel-param-card .row{gap:var(--space-2)}.case-panel-param-card .make-panel-param-btn{align-self:flex-start}.data-table.pickable tbody tr{cursor:pointer}.data-table.pickable tbody tr:hover td{background:#00c8d80f}.data-table.pickable tbody tr.picked td{background:#00c8d829;color:var(--text-primary)}.export-progress{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:1100;width:320px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-panel);box-shadow:var(--shadow-panel);display:flex;flex-direction:column;gap:var(--space-2);animation:export-progress-in .18s var(--ease-out)}@keyframes export-progress-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.export-progress-head{display:flex;align-items:center;gap:var(--space-2)}.export-progress-head strong{flex:1;font-size:var(--text-sm);color:var(--text-primary)}.export-progress-time{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.export-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(122,174,255,.25);border-top-color:var(--brand-cyan);animation:export-spin .8s linear infinite}@keyframes export-spin{to{transform:rotate(360deg)}}.export-progress-mark{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:var(--weight-semibold);color:#fff;background:#2fb36b}.export-progress.failed .export-progress-mark{background:#e05252}.export-progress-close{border:0;background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;padding:0 2px}.export-progress-close:hover{color:var(--text-primary)}.export-progress-stage{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.export-progress-bar{height:6px;border-radius:3px;background:#7aaeff24;overflow:hidden}.export-progress-bar>span{display:block;height:100%;border-radius:3px;background:var(--brand-cyan);transition:width .25s ease-out}.export-progress:not(.done) .export-progress-bar>span{background-image:linear-gradient(90deg,transparent 0,rgba(255,255,255,.35) 50%,transparent 100%);background-size:200% 100%;background-color:var(--brand-cyan);animation:export-shimmer 1.2s linear infinite}@keyframes export-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.export-progress-pct{margin:0;text-align:right;font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.export-progress-note{margin:0;max-height:120px;overflow-y:auto;white-space:pre-wrap;font-size:var(--text-xs);color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.export-spinner,.export-progress:not(.done) .export-progress-bar>span,.export-progress{animation:none}}.inspector .row.rotate-row{display:flex;flex-direction:row;align-items:center;gap:var(--space-2)}.inspector .rotate-row .rotate-label{flex:1;min-width:0;color:var(--text-secondary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.inspector .row.rotate-row>button.ghost-btn{flex:0 0 auto;justify-content:center;width:36px;height:32px;padding:0;border:1px solid var(--border-subtle);background:var(--surface-input)}.inspector .row.rotate-row>button.ghost-btn:hover{background:var(--surface-card-hover);border-color:var(--border-accent)}.inspector .row.buttons>button{white-space:nowrap}.ds-turn{display:inline-flex;align-items:center;gap:2px}.ds-turn .ds-turn-readout{min-width:38px;text-align:center;color:var(--text-secondary);font-size:var(--text-sm)}.cb2d-point-copy{opacity:.55}.cb2d-point-copy.selected{opacity:.9}.cb2d-carried{opacity:.55;pointer-events:none}.castor-template-items{align-items:center;justify-content:space-between;gap:var(--space-2)}.ds-section-head{flex-wrap:wrap;gap:var(--space-2)}.ds-centre button{min-width:28px}.part-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-card)}.part-head-thumb{display:flex;flex:none;align-items:center;justify-content:center;width:64px;height:64px;padding:var(--space-1);border-radius:var(--radius-sm);background:#fff;color:var(--surface-input)}.part-head-thumb img{display:block;width:100%;height:100%;object-fit:contain}.part-head h2{min-width:0;margin:0;line-height:1.3;overflow-wrap:anywhere}.part-inspector.inspector{gap:var(--space-3);padding:0;background:transparent}.part-params>summary{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) 0;list-style:none;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;-webkit-user-select:none;user-select:none}.part-params>summary::-webkit-details-marker{display:none}.part-params>summary svg{color:var(--text-muted);transition:transform var(--duration-base) var(--ease-out)}.part-params[open]>summary svg{transform:rotate(90deg)}.part-params>summary:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px;border-radius:4px}.part-card{display:flex;flex-direction:column;margin-top:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--surface-card)}.part-card{container:part-card / inline-size}.part-card>*{padding:var(--space-3) 0}.part-card>*+*{border-top:1px solid var(--border-hairline)}.part-sec{display:grid;grid-template-columns:18px minmax(0,1fr);gap:var(--space-2)}.part-sec.no-icon{grid-template-columns:minmax(0,1fr)}.part-sec>svg{margin-top:1px;color:var(--text-muted)}.part-sec-body{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.part-sec-title{color:var(--text-secondary);font-size:var(--text-sm);line-height:20px}.part-sec-title strong{color:var(--text-primary);font-weight:var(--weight-medium)}.part-sec-title:not(:has(strong)){color:var(--text-primary);font-weight:var(--weight-medium)}.part-sec .row{flex-direction:column}.part-sec .row label{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.icon-field{position:relative;display:block;width:100%}.icon-field>svg{position:absolute;z-index:1;top:50%;left:10px;color:var(--text-muted);pointer-events:none;transform:translateY(-50%)}.icon-field select,.icon-field input{width:100%;padding-left:34px}.axis-tag{position:absolute;z-index:1;top:50%;left:8px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:var(--brand-cyan-dim);color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold);transform:translateY(-50%)}.part-sec .axis-row+.axis-row{margin-top:var(--space-1)}.part-sec .rotate-row{flex-direction:row;align-items:center;gap:var(--space-2)}.part-sec .rotate-label{display:flex;flex:1;align-items:center;justify-content:space-between;gap:var(--space-1);min-width:0;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.part-sec .rotate-label output{min-width:44px;padding:5px 8px;border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:var(--weight-regular);text-align:center}.part-sec .rotate-row .ghost-btn{flex:none;width:32px;height:32px;padding:0}.part-sec:has(.rotate-row){align-items:center}.part-sec:has(.rotate-row)>svg{margin-top:0}.part-inspector .part-sec .rotate-label{color:var(--text-primary);font-size:var(--text-sm)}.part-sec .row.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.part-sec .row.checks label.check{flex-direction:row!important;gap:6px;width:auto;color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap}@container part-card (max-width: 245px){.part-sec .row.checks label.check{flex-direction:column!important;align-items:flex-start;gap:3px}.part-sec .rotate-label output{min-width:38px;padding:5px 4px}.part-sec .rotate-row{gap:var(--space-1)}}.part-sec .break-mirror{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;height:32px;border:1px solid var(--border-subtle);background:var(--surface-card-hover);color:var(--text-primary)}.part-sec .break-mirror:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-card-hover);filter:brightness(1.12)}.part-sec .break-mirror:disabled{opacity:.5;cursor:default}.part-sec details.include-fold{margin:0;border:none;padding:0}.part-sec details.include-fold>summary{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:20px}.part-sec details.include-fold[open]>summary{margin-bottom:var(--space-2)}.part-sec .metal-gap-row{display:flex;flex-direction:column;gap:var(--space-2)}.part-actions>button.part-move.unlocked{border-color:var(--brand-cyan);background:var(--brand-cyan);color:#fff}.placing-banner.part-unlocked svg{flex:none;color:var(--brand-cyan)}.row.buttons.part-actions{display:flex;flex-direction:row;gap:var(--space-2)}.part-actions>button{display:inline-flex;flex:1 1 auto;align-items:center;justify-content:center;gap:6px;min-width:0;height:36px;padding:0 var(--space-2);white-space:nowrap}.power-area{display:flex;flex-direction:column;gap:var(--space-3)}.power-seg{display:flex;width:100%}.power-seg>button{flex:1 1 0;justify-content:center;min-width:0;padding:0 var(--space-1);font-size:var(--text-sm);white-space:nowrap}.power-seg>button[aria-pressed=true],.power-seg>button[aria-selected=true]{background:var(--surface-card-hover);color:var(--text-primary)}.power-seg>button:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:-2px}.panel label.power-btn{flex-direction:row;cursor:pointer}.power-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-card-hover);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.panel label.power-btn{color:var(--text-primary)}.power-btn:hover{border-color:var(--border-strong)}.power-btn:active{transform:scale(.97)}.power-btn:focus-visible,.power-btn:has(input:focus-visible){outline:2px solid var(--brand-cyan);outline-offset:2px}.power-btn svg{color:var(--text-secondary)}.power-item{border-radius:var(--radius-md)}.power-item-row{display:flex;align-items:center;gap:var(--space-3)}.power-lightbox{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--surface-card)}.power-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.power-list{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.power-box{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;height:34px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.power-box:hover{border-color:var(--border-strong)}.power-box span{white-space:nowrap}.power-box small{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-regular);font-variant-numeric:tabular-nums}.power-box.active{border-color:var(--border-accent);background:var(--brand-cyan-dim)}.power-box.active small{color:var(--text-secondary)}.power-card{margin-top:0}.power-sec-title{display:flex;align-items:baseline;justify-content:space-between}.power-sec-title small{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-regular)}.panel label.power-inline{display:grid;grid-template-columns:minmax(0,1fr) 84px;align-items:center;gap:var(--space-2);font-weight:var(--weight-regular)}.power-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.power-pair .icon-field input{padding-left:32px}.part-sec .power-card label.switch-row,.power-card label.switch-row{min-height:34px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-regular)}.power-art-row{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:var(--space-2)}.power-art{display:block;justify-self:start;max-width:100%;height:76px;border-radius:var(--radius-sm);outline:1px solid rgba(255,255,255,.1);outline-offset:-1px;object-fit:fill}.power-art-actions{display:flex;flex-direction:column;gap:var(--space-2)}.power-art-actions .power-btn{padding:0}.power-art-note{display:flex;flex:1;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--text-xs);line-height:1.3;text-align:center}.power-sizes{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-1) var(--space-3);margin:0;font-size:var(--text-sm)}.power-sizes dt{color:var(--text-muted)}.power-sizes dd{margin:0;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right}.power-warning{display:flex;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:#ffb02014;color:var(--status-warning);font-size:var(--text-sm);line-height:1.4}.power-warning svg{flex:none;margin-top:1px}.power-item-icon{display:flex;flex:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-secondary)}.power-item-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.power-item-text strong{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-medium)}.power-item-text small{color:var(--text-muted);font-size:var(--text-sm);line-height:1.35}.power-soon-group{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-1)}.power-soon-title{margin:0;padding:0 var(--space-1);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.power-soon-list{display:flex;flex-direction:column;margin:0;padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--surface-card);list-style:none}.power-soon-list li{padding:var(--space-3) 0}.power-soon-list li+li{border-top:1px solid var(--border-hairline)}.power-soon-list svg{flex:none;color:var(--text-muted)}.power-soon-list strong{color:var(--text-secondary)}.power-dishes{display:flex;flex-direction:column;gap:var(--space-2)}.power-dishes-hint{margin:0;padding:0 var(--space-1);color:var(--text-muted);font-size:var(--text-sm);line-height:1.45}.build-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:950;display:grid;place-items:center;padding:var(--space-6);background:#060b148c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.build-modal{display:flex;flex-direction:column;width:min(1320px,100%);height:min(880px,100%);overflow:hidden;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface-panel);box-shadow:0 24px 64px #00000080;outline:none}.build-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-hairline)}.build-head-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--brand-cyan);color:#fff}.build-head h2{margin:0;color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.01em}.build-head p{margin:2px 0 0;color:var(--text-secondary);font-size:var(--text-base)}.build-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer}.build-close:hover{border-color:var(--border-strong);color:var(--text-primary)}.build-presets{position:relative}.build-presets-btn{display:inline-flex;align-items:center;gap:var(--space-2);max-width:280px;height:36px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;box-shadow:var(--build-sheen);color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.build-presets-btn:hover,.build-presets-btn[aria-expanded=true]{border-color:var(--border-strong)}.build-presets-btn .ui-icon{flex:none;color:var(--text-secondary)}.build-presets-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;display:flex;flex-direction:column;gap:var(--space-2);width:340px;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:0 16px 40px #00000073,var(--build-sheen);animation:ui-pop var(--motion-pop) var(--motion-enter) backwards;transform-origin:top right}.build-presets .build-presets-head{margin:0;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase}.build-presets .build-presets-empty{margin:0;padding:var(--space-2) 0;color:var(--text-secondary);font-size:var(--text-sm)}.build-presets .build-presets-note{margin:0;color:var(--text-muted);font-size:var(--text-xs);line-height:1.45}.build-presets-list{display:flex;flex-direction:column;gap:2px;max-height:280px;margin:0;padding:0;overflow-y:auto;list-style:none}.build-preset{display:flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-sm)}.build-preset:hover{background:var(--surface-card)}.build-preset-apply{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:6px var(--space-2);border:0;background:transparent;text-align:left;cursor:pointer}.build-preset-name{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-medium)}.build-preset-summary{max-width:100%;overflow:hidden;color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis}.build-preset-trash{display:grid;flex:none;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);opacity:0;cursor:pointer}.build-preset:hover .build-preset-trash,.build-preset-trash:focus-visible{opacity:1}.build-preset-trash:hover{color:var(--status-error)}.build-preset-confirm{display:flex;flex:1;align-items:center;gap:var(--space-2);padding:4px var(--space-2);color:var(--text-primary);font-size:var(--text-sm)}.build-preset-confirm span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.build-preset-confirm button{height:26px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer}.build-preset-confirm .build-preset-delete-yes{border-color:transparent;background:var(--status-error);color:#fff}.build-presets-save{display:flex;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-hairline)}.build-presets-save input{flex:1;min-width:0;height:32px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-primary);font-size:var(--text-base)}.build-presets-save input:focus{outline:none;border-color:var(--brand-cyan);box-shadow:0 0 0 3px var(--brand-cyan-dim)}.build-presets-save .build-presets-save-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:var(--build-accent-fill, var(--brand-cyan));color:#fff;font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer}.build-presets-save .build-presets-save-btn:disabled{opacity:.45;cursor:default}.build-body{display:grid;grid-template-columns:248px minmax(0,1fr) 288px;flex:1;min-height:0}.build-nav{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-3);overflow-y:auto;border-right:1px solid var(--border-hairline)}.build-nav-group{display:flex;flex-direction:column;gap:2px}.build-nav-group+.build-nav-group{padding-top:var(--space-3);border-top:1px solid var(--border-hairline)}.build-nav h3{margin:0 0 var(--space-1);padding:0 var(--space-3);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase}.build-nav-item{display:grid;grid-template-columns:20px minmax(0,1fr) 16px;align-items:center;gap:var(--space-3);min-height:40px;padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--weight-medium);text-align:left;cursor:pointer}.build-nav-item span{padding:9px 0;line-height:1.3}.build-nav-item:hover{background:var(--surface-card);color:var(--text-primary)}.build-nav-item[aria-current=page]{border-color:var(--border-accent);background:var(--brand-cyan-dim);color:var(--text-primary)}.build-nav-item[aria-current=page] svg{color:var(--brand-cyan)}.build-nav-item:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:-2px}.build-work{min-width:0;overflow-y:auto;padding:var(--space-6);container:build-work / inline-size}.build-section.panel{gap:var(--space-4);min-width:0;margin:0;padding:0;overflow:visible;border:none;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.build-work-head h2{margin:0;color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em}.build-work-head p{max-width:72ch;margin:4px 0 0;color:var(--text-secondary);font-size:var(--text-base);line-height:1.45}.build-sub{margin:var(--space-2) 0 0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.build-note{margin:0;color:var(--text-secondary);font-size:var(--text-base)}.build-stack{display:flex;flex-direction:column;gap:var(--space-3)}.build-work-head.has-aside{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6)}.build-work-title{min-width:0}.build-work-aside{flex:none}.build-work-aside .build-orientation{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:var(--space-3);row-gap:6px}.build-work-aside .build-orientation-title{grid-column:1 / -1;justify-self:end;margin:0 0 2px;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase}.build-orientation .build-field{display:contents}.build-orientation .build-field-label{justify-self:end;font-size:var(--text-sm)}.build-orientation .build-seg>button{height:26px;padding:0 var(--space-3);font-size:var(--text-sm)}.build-current{padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-card)}.build-field{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:var(--space-4);min-height:34px}.build-field-label{color:var(--text-secondary);font-size:var(--text-base)}.build-field-control{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-width:0}.build-field-control select,.build-field-control input{max-width:360px}.build-seg>button{height:30px;padding:0 var(--space-4);font-size:var(--text-base);white-space:nowrap}.build-seg>button[aria-pressed=true]{background:var(--brand-cyan-dim);box-shadow:inset 0 0 0 1px var(--border-accent);color:var(--text-primary)}.build-seg>button:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:-2px}.build-field:has(.build-inline){align-items:start}.build-field:has(.build-inline)>.build-field-label{line-height:36px}@container build-work (max-width: 720px){.build-field{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.build-field:has(.build-inline)>.build-field-label{line-height:inherit}}.catalog{display:flex;flex-direction:column;gap:var(--space-4)}.catalog-search{position:relative;max-width:360px}.catalog-search svg{position:absolute;top:50%;left:10px;color:var(--text-muted);transform:translateY(-50%);pointer-events:none}.catalog-search input{width:100%;padding-left:32px}.catalog-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);min-height:34px}.catalog-bar .catalog-heading{margin:0}.catalog-bar .catalog-search{flex:0 1 300px;margin-left:auto}.catalog-empty{margin:0;color:var(--text-muted);font-size:var(--text-base)}.catalog-group{display:flex;flex-direction:column;gap:var(--space-2)}.catalog-group h4{margin:0;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.build-modal .catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:var(--space-3)}.catalog-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-card);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.catalog-card:hover:not(:disabled){border-color:var(--border-strong)}.catalog-card:active:not(:disabled){transform:scale(.98)}.catalog-card.selected{border-color:var(--brand-cyan);box-shadow:0 0 0 1px var(--brand-cyan)}.catalog-card:disabled{cursor:not-allowed;opacity:.45}.catalog-card:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.catalog-thumb{position:relative;display:grid;place-items:center;height:104px;border-bottom:1px solid var(--border-hairline);background:var(--surface-input);color:var(--text-muted)}.catalog-thumb:has(.catalog-plate){background:#fff}.catalog-thumb{overflow:hidden}.catalog-plate{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:var(--space-2);object-fit:contain}.catalog-profile{width:70%;height:76px;fill:#c3c9d1}.catalog-finish{width:88px}.sheet-thumb{width:78%;max-height:92px}.catalog-check{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--brand-cyan);color:#fff}.catalog-text{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3) var(--space-3)}.catalog-code{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.catalog-name{overflow:hidden;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:1.3}.catalog-spec{color:var(--text-secondary);font-size:var(--text-sm)}.catalog-note{color:var(--status-warning);font-size:var(--text-xs);line-height:1.3}.material-inline{display:flex;flex-direction:column;gap:var(--space-3)}.material-inline .material-filters{padding:0;border:0}.material-inline .material-filters select{width:auto;flex:0 0 auto}.material-inline .material-chips .tab{white-space:nowrap}.material-inline .material-count{padding:0}.build-summary{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;padding:var(--space-5);overflow-y:auto;border-left:1px solid var(--border-hairline)}.build-summary h3{margin:0;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.build-summary-picture{display:grid;place-items:center;aspect-ratio:4 / 3;border-radius:10px;background:var(--surface-input)}.build-summary-picture img{max-width:88%;max-height:88%;object-fit:contain}.build-summary dl{margin:0}.build-summary-row{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:var(--space-3);padding:var(--space-2) 0}.build-summary-row+.build-summary-row{border-top:1px solid var(--border-hairline)}.build-summary-row svg{grid-row:span 2;align-self:center;color:var(--text-muted)}.build-summary-row dt{color:var(--text-muted);font-size:var(--text-xs)}.build-summary-row dd{margin:0;overflow-wrap:anywhere;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-medium)}.build-foot{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-hairline)}.build-foot p{flex:1;margin:0;color:var(--text-muted);font-size:var(--text-sm)}.build-cancel,.build-apply{display:inline-flex;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-5);border-radius:var(--radius-md);font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer}.build-cancel{border:1px solid var(--border-subtle);background:transparent;color:var(--text-primary)}.build-cancel:hover{border-color:var(--border-strong)}.build-apply{border:1px solid var(--brand-cyan);background:var(--brand-cyan);color:#fff}.build-apply:hover{filter:brightness(1.08)}.build-cancel:focus-visible,.build-apply:focus-visible,.build-close:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}@media(max-width:1180px){.build-body{grid-template-columns:220px minmax(0,1fr)}.build-summary{display:none}}@media(max-width:860px){.build-backdrop{padding:var(--space-3)}.build-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.build-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border-hairline)}.build-nav-group{flex-direction:row}.build-nav-group+.build-nav-group{padding-top:0;border-top:0}.build-nav h3{display:none}.build-field{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.build-work-head.has-aside{flex-direction:column;gap:var(--space-3)}}.panel-picker{display:flex;flex-direction:column;gap:var(--space-4);container:panel-picker / inline-size}.build-modal .panel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@container panel-picker (max-width: 560px){.build-modal .panel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.panel-family-thumb{display:block;aspect-ratio:6 / 5;overflow:hidden;background:var(--surface-input)}.panel-picker-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.panel-picker-bar .catalog-search{flex:0 1 300px;margin-left:auto}.panel-back{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 var(--space-3) 0 var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-primary);font-size:var(--text-base);cursor:pointer}.panel-back:hover{border-color:var(--border-strong)}.panel-back:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.panel-picker-bar .panel-open{margin:0}.panel-corner{display:block;width:100%;height:100%}.panel-family .catalog-code{margin-top:2px}.panel-thickness{position:sticky;bottom:calc(-1 * var(--space-6));z-index:1;display:flex;flex-direction:column;gap:var(--space-2);margin:0 calc(-1 * var(--space-6));padding:var(--space-3) var(--space-6) var(--space-4);border-top:1px solid var(--border-hairline);background:var(--surface-panel)}.panel-thickness .build-sub{margin:0}.panel-thickness-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-2)}.panel-thickness-row button{height:40px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-size:var(--text-md);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}.panel-thickness-row button:hover{border-color:var(--border-strong)}.panel-thickness-row button[aria-pressed=true]{border-color:var(--brand-cyan);background:var(--brand-cyan-dim);box-shadow:0 0 0 1px var(--brand-cyan)}.panel-thickness-row button:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.build-modal{--build-sheen: inset 0 1px 0 rgba(255, 255, 255, .06);--build-glow: 0 0 0 1px var(--brand-cyan), 0 0 18px var(--brand-cyan-glow);--build-accent-fill: linear-gradient(180deg, #4b8ff8 0%, #2f6fe0 100%);border-color:#94a3b829;background:radial-gradient(120% 60% at 0% 0%,rgba(59,130,246,.07),transparent 60%),linear-gradient(180deg,#17243a 0%,var(--surface-panel) 38%,#101a29 100%);box-shadow:0 32px 80px #0000008c,0 0 0 1px #0006,var(--build-sheen)}.build-head,.build-foot{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}.build-head-icon{background:var(--build-accent-fill);box-shadow:0 6px 18px var(--brand-cyan-glow),inset 0 1px #ffffff40}.build-close{background:#ffffff05;box-shadow:var(--build-sheen)}.build-nav-item[aria-current=page]{border-color:#609cff8c;background:linear-gradient(180deg,#3b82f652,#3b82f629);box-shadow:0 4px 14px #3b82f62e,inset 0 1px #ffffff14}.build-nav-item[aria-current=page] svg{color:#8fb8ff}.catalog-card{isolation:isolate;border-color:#94a3b824;background:linear-gradient(180deg,#1c2a40,#172235);box-shadow:var(--build-sheen);transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.catalog-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.09) 50%,transparent 65%);transform:translate(-120%);pointer-events:none}.catalog-card:hover:not(:disabled){border-color:#94a3b84d;box-shadow:0 8px 22px #00000059,var(--build-sheen);transform:translateY(-1px)}.catalog-card:hover:not(:disabled):after{transform:translate(120%);transition:transform .7s var(--ease-out)}.catalog-card.selected{border-color:var(--brand-cyan);box-shadow:var(--build-glow),var(--build-sheen)}.catalog-thumb{box-shadow:inset 0 -1px #00000059}.panel-family-thumb{background:linear-gradient(180deg,#121d2e,#0c1522)}.catalog-check{background:var(--build-accent-fill);box-shadow:0 2px 8px #3b82f680}.build-seg{background:#080e1899;box-shadow:inset 0 1px 2px #00000059}.build-modal .build-seg>button[aria-pressed=true],.build-modal .panel-thickness-row button[aria-pressed=true]{border-color:transparent;background:var(--build-accent-fill);box-shadow:0 4px 14px var(--brand-cyan-glow),inset 0 1px #ffffff38;color:#fff}.build-modal .panel-thickness-row button:not([aria-pressed=true]){background:linear-gradient(180deg,#1c2a40,#172235);box-shadow:var(--build-sheen)}.build-modal .panel-thickness-row button:not([aria-pressed=true]):hover{border-color:var(--border-strong)}.panel-thickness{background:linear-gradient(180deg,#101a29eb,#101a29);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.build-summary{background:transparent}.build-summary>*{position:relative}.build-summary{margin:var(--space-4);padding:var(--space-4);border:1px solid rgba(148,163,184,.14);border-radius:12px;background:linear-gradient(180deg,#1a2740,#141f31);box-shadow:0 10px 30px #0000004d,var(--build-sheen)}.build-summary-picture{border:1px solid rgba(148,163,184,.1);background:radial-gradient(80% 70% at 50% 40%,#1d2c45,#0e1726)}.build-modal .catalog-search input{background:#080e18b3;box-shadow:inset 0 1px 2px #0006}.build-modal .catalog-search input:focus{border-color:var(--brand-cyan);box-shadow:0 0 0 3px var(--brand-cyan-dim)}.build-advanced{background:linear-gradient(180deg,#1b293f,#172235);box-shadow:var(--build-sheen)}.build-adv-card{background:linear-gradient(180deg,#121d2e,#0f1827);box-shadow:inset 0 1px #ffffff08}.build-apply{border-color:transparent;background:var(--build-accent-fill);box-shadow:0 8px 22px var(--brand-cyan-glow),inset 0 1px #ffffff40}.build-apply:hover{filter:brightness(1.07);box-shadow:0 10px 26px #3b82f673,inset 0 1px #ffffff40}.build-cancel{background:#ffffff05;box-shadow:var(--build-sheen)}@media(prefers-reduced-motion:reduce){.catalog-card:after{display:none}.catalog-card:hover:not(:disabled){transform:none}}input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only){-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-grid;flex:none;place-content:center;width:16px;min-width:16px;height:16px;margin:0;padding:0;border:1px solid rgba(148,163,184,.4);border-radius:4px;background:linear-gradient(180deg,#0f1a2b,#0b1422);box-shadow:inset 0 1px 2px #00000073;vertical-align:middle;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only):before{content:"";width:10px;height:10px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;opacity:0;transform:scale(.6);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only):checked,input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only):indeterminate{border-color:transparent;background:linear-gradient(180deg,#4b8ff8,#2f6fe0);box-shadow:0 1px 6px #3b82f673,inset 0 1px #ffffff40}input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only):checked:before{opacity:1;transform:scale(1)}input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only):indeterminate:before{height:2px;border-radius:1px;-webkit-mask:none;mask:none;opacity:1;transform:none}input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only):hover:not(:disabled):not(:checked):not(:indeterminate){border-color:#94a3b8b3}input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only):focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only):disabled{cursor:default;opacity:.45}@media(prefers-reduced-motion:reduce){input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only),input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only):before{transition:none}}@keyframes ui-dim-in{0%{opacity:0}}@keyframes ui-dim-out{to{opacity:0}}@keyframes ui-rise{0%{opacity:0;transform:translateY(10px) scale(.965)}}@keyframes ui-rise-soft{0%{opacity:0;transform:translateY(6px)}}@keyframes ui-sink{to{opacity:0;transform:translateY(6px) scale(.98)}}@keyframes ui-pop{0%{opacity:0;transform:translateY(-4px) scale(.97)}}@keyframes ui-toast-in{0%{opacity:0;transform:translate(-50%,12px)}}.build-backdrop,.settings-backdrop,.shortcut-backdrop,.browser-backdrop,.params-dialog-backdrop{animation:ui-dim-in var(--motion-dim) var(--motion-enter) backwards}.build-modal,.settings-dialog,.shortcut-dialog,.browser,.params-dialog{animation:ui-rise var(--motion-rise) var(--motion-enter) backwards}.floating-window,.docked-window{animation:ui-rise-soft var(--motion-rise) var(--motion-enter) backwards}.search-select-pop,.context-menu,.dw-flyout{animation:ui-pop var(--motion-pop) var(--motion-enter) backwards;transform-origin:top left}.update-toast{animation:ui-toast-in var(--motion-rise) var(--motion-enter) backwards}.build-backdrop.leaving{animation:ui-dim-out var(--motion-exit) var(--motion-leave) both;pointer-events:none}.build-backdrop.leaving .build-modal,.floating-window.leaving,.docked-window.leaving{animation:ui-sink var(--motion-exit) var(--motion-leave) both;pointer-events:none}@media(prefers-reduced-motion:reduce){@keyframes ui-rise{0%{opacity:0}}@keyframes ui-rise-soft{0%{opacity:0}}@keyframes ui-sink{to{opacity:0}}@keyframes ui-pop{0%{opacity:0}}@keyframes ui-toast-in{0%{opacity:0}}}select:not([multiple]):not([size]):not(.anchor-kind):not(.joint-select){-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3B3C8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}select:not([multiple]):not([size]):not(.anchor-kind):not(.joint-select):disabled{background-image:none}:root{--sheen: inset 0 1px 0 rgba(255, 255, 255, .06);--accent-fill: linear-gradient(180deg, #4b8ff8 0%, #2f6fe0 100%);--accent-lift: 0 4px 14px var(--brand-cyan-glow), inset 0 1px 0 rgba(255, 255, 255, .22);--chosen-fill: linear-gradient(180deg, rgba(59, 130, 246, .32), rgba(59, 130, 246, .16));--chosen-lift: 0 4px 14px rgba(59, 130, 246, .18), inset 0 1px 0 rgba(255, 255, 255, .08);--raised-fill: linear-gradient(180deg, #1c2a40 0%, #172235 100%);--set-in: inset 0 1px 2px rgba(0, 0, 0, .35)}.topbar{background:linear-gradient(180deg,#17243a 0%,var(--surface-panel) 100%);box-shadow:var(--sheen),0 1px #00000059}.rail,aside.panel,.floating-window{border-color:#94a3b81f;background:radial-gradient(120% 40% at 0% 0%,rgba(59,130,246,.05),transparent 60%),linear-gradient(180deg,#17243a 0%,var(--surface-panel) 180px,#111b2a 100%);box-shadow:0 10px 30px #0000004d,var(--sheen)}.view-tabs,.section-control,.lid-pair,.view-home,.case-summary,.status-pill,.view-toggle{background:linear-gradient(180deg,#192739,#131e2e);box-shadow:0 6px 18px #00000047,var(--sheen)}.rail-btn[aria-pressed=true]{background:var(--chosen-fill);box-shadow:var(--chosen-lift);color:#8fb8ff}.lib-cat[aria-pressed=true]{border-color:#609cff8c;background:var(--chosen-fill);box-shadow:var(--chosen-lift)}.view-tabs .tab.active,.section-control .tab.active{background:var(--chosen-fill);box-shadow:var(--chosen-lift);color:var(--text-primary)}.hw-pane-switch .hw-pane-btn[aria-selected=true],.lib-view .lib-view-btn[aria-pressed=true]{background:var(--raised-fill);box-shadow:var(--sheen),0 1px 3px #00000059}.lib-cat:not([aria-pressed=true]),.lib-fav-toggle,.case-style{background:var(--raised-fill);box-shadow:var(--sheen)}.catalog-item{background:var(--raised-fill);box-shadow:var(--sheen);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.catalog-item:hover:not(:disabled){box-shadow:0 8px 22px #00000059,var(--sheen);transform:translateY(-1px)}.seg,.hw-pane-switch,.lib-view,.num-field,.search,.panel input[type=text],.panel input[type=number],.panel select{box-shadow:var(--set-in)}.num-field:focus,.search:focus,.panel input:focus,.panel select:focus{box-shadow:var(--focus-ring)}.export{background:var(--accent-fill);box-shadow:0 6px 18px var(--brand-cyan-glow),inset 0 1px #ffffff40}.export:hover{background:var(--accent-fill);filter:brightness(1.07);box-shadow:0 8px 22px #3b82f673,inset 0 1px #ffffff40}.seg.mode-switch .mode-thumb{background:var(--accent-fill);box-shadow:var(--accent-lift)}@media(prefers-reduced-motion:reduce){.catalog-item:hover:not(:disabled){transform:none}}.lib-swap{animation:ui-rise-soft var(--motion-rise) var(--motion-enter) backwards}.lib-swap-cards>*{animation:ui-rise-soft var(--motion-rise) var(--motion-enter) backwards}.lib-swap-cards>:nth-child(2){animation-delay:30ms}.lib-swap-cards>:nth-child(3){animation-delay:60ms}.lib-swap-cards>:nth-child(4){animation-delay:90ms}.lib-swap-cards>:nth-child(5){animation-delay:.12s}.lib-swap-cards>:nth-child(6){animation-delay:.15s}.lib-swap-cards>:nth-child(7){animation-delay:.18s}.lib-swap-cards>:nth-child(8){animation-delay:.21s}.lib-swap-cards>:nth-child(n+9){animation-delay:.24s}.view-tabs .tab{transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform .1s var(--ease-out)}.view-tabs .tab:not(.active):hover{background:var(--raised-fill);box-shadow:var(--sheen);color:var(--text-primary)}.view-tabs .tab:active{transform:scale(.97)}:root{--thumb-studio: radial-gradient(90% 80% at 50% 38%, #ffffff 0%, #e9eef4 55%, #c9d3df 100%);--thumb-studio-edge: inset 0 0 0 1px rgba(255, 255, 255, .5), inset 0 -10px 18px rgba(15, 27, 45, .1)}.catalog-item .photo,.catalog-thumb:has(.catalog-plate),.placed-thumb,.context-menu-thumb,.part-head-thumb{background:var(--thumb-studio);box-shadow:var(--thumb-studio-edge)}.catalog-plate,.placed-thumb img,.context-menu-thumb img,.part-head-thumb img{mix-blend-mode:multiply}.catalog-plate{padding:10%}.placed-thumb,.context-menu-thumb{padding:3px;box-shadow:inset 0 0 0 1px #ffffff80,inset 0 -4px 8px #0f1b2d1a}.part-head-thumb{padding:6px}.misc-item .photo{width:100%}:root{--island-fill: linear-gradient(180deg, #192739 0%, #131e2e 100%);--island-lift: 0 6px 18px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .06)}.view-bar .tools-island{--island-w: 96px;--island-h: 34px;position:relative;z-index:30;flex:none;width:var(--island-w);height:var(--island-h);margin-right:auto}.view-bar .tools-island .tools-island-body{position:absolute;top:0;right:-600px;left:-600px;display:flex;flex-direction:column;align-items:center;gap:6px;max-width:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}.view-bar .tools-island .tools-toggle,.tools-island-tools{pointer-events:auto}.view-bar .tools-island .tools-toggle{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:6px;width:var(--island-w);height:var(--island-h);padding:0 var(--space-3);border:1px solid var(--border-hairline);border-radius:17px;background:var(--island-fill);box-shadow:var(--island-lift);color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap}.view-bar .tools-island .tools-toggle:hover,.view-bar .tools-island .tools-toggle.active{color:var(--text-primary)}.view-bar .tools-island .tools-toggle .ui-icon:last-child{transition:transform var(--motion-pop) var(--motion-enter)}.view-bar .tools-island.open .tools-toggle .ui-icon:last-child{transform:rotate(180deg)}.tools-island-tools{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;row-gap:4px;width:min(400px,36vw);padding:var(--space-1);border:1px solid var(--border-hairline);border-radius:12px;background:var(--island-fill);box-shadow:var(--island-lift)}.tools-island-tools .tab{flex:0 0 auto}.tools-island-tools{position:relative}@keyframes island-open{0%{clip-path:inset(0 calc(50% - var(--island-w) / 2) calc(100% - var(--island-h)) calc(50% - var(--island-w) / 2) round 17px)}to{clip-path:inset(0 0 0 0 round 12px)}}@keyframes island-close{0%{clip-path:inset(0 0 0 0 round 12px)}to{clip-path:inset(0 calc(50% - var(--island-w) / 2) calc(100% - var(--island-h)) calc(50% - var(--island-w) / 2) round 17px)}}.view-bar .tools-island.open .tools-island-body{animation:island-open .44s cubic-bezier(.32,.72,0,1)}.view-bar .tools-island.closing .tools-island-body{animation:island-close .24s cubic-bezier(.32,.72,0,1) forwards}.tools-island.open .tools-island-tools>*{animation:ui-rise-soft var(--motion-rise) var(--motion-enter) backwards;animation-delay:.1s}.tools-island.closing .tools-island-tools{opacity:0;transition:opacity .12s var(--motion-leave)}@media(prefers-reduced-motion:reduce){.view-bar .tools-island.open .tools-island-body,.view-bar .tools-island.closing .tools-island-body{animation:none}}.view-bar .lid-island{--island-w: 100px;--island-h: 34px;position:relative;z-index:30;flex:none;width:var(--island-w);height:var(--island-h)}.view-bar .lid-island .lid-island-body{position:absolute;top:0;right:-600px;left:-600px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.view-bar .lid-island .lid-toggle,.lid-island-card{pointer-events:auto}.view-bar .lid-island .lid-toggle{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:6px;width:var(--island-w);height:var(--island-h);padding:0 var(--space-3);border:1px solid var(--border-hairline);border-radius:17px;background:var(--island-fill);box-shadow:var(--island-lift);color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap}.view-bar .lid-island .lid-toggle:hover,.view-bar .lid-island .lid-toggle.active{color:var(--text-primary)}.view-bar .lid-island .lid-toggle .ui-icon:last-child{transition:transform var(--motion-pop) var(--motion-enter)}.view-bar .lid-island.open .lid-toggle .ui-icon:last-child{transform:rotate(180deg)}.view-bar .lid-island-card{position:relative;display:grid;grid-template-columns:40px minmax(max-content,1fr) repeat(var(--lid-cols, 2),auto);column-gap:4px;row-gap:2px;padding:6px;border:1px solid var(--border-hairline);border-radius:12px;background:var(--island-fill);box-shadow:var(--island-lift)}.lid-island-card .lid-row{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;align-items:center;border-radius:8px;transition:background-color var(--duration-fast) var(--ease-out)}.lid-island-card .lid-row:hover{background:#ffffff08}.lid-island-card .lid-row{min-height:48px;padding-right:4px}.lid-row-glyph{display:grid;place-items:center;height:40px;color:var(--text-muted)}.lid-row-text{display:flex;flex-direction:column;gap:1px;min-width:0;margin:0 var(--space-3) 0 2px}.lid-row-name{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:1.2;white-space:nowrap}.lid-row-state{color:var(--text-muted);font-size:12px;line-height:1.25;white-space:nowrap}.lid-row:has(.lid-glyph.is-open) .lid-row-state,.lid-row:has(.lid-glyph.is-hidden) .lid-row-state{color:#7aaeff}.lid-glyph{overflow:visible}.lid-glyph-case path{stroke:currentColor;stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round}.lid-glyph-hidden{stroke:currentColor;stroke-width:1;stroke-dasharray:1.5 1.75;opacity:.55}.lid-glyph-lit path{fill:#60a5fa6b;stroke:#7aaeff;stroke-width:1.25;stroke-linejoin:round}.lid-glyph-lit{transition:transform var(--motion-rise) var(--motion-enter),opacity var(--duration-fast) var(--ease-out)}.lid-glyph.is-behind .lid-glyph-lit path{fill:#60a5fa38;stroke-dasharray:2 1.5}.lid-glyph.is-open .lid-glyph-lit{transform:translate(1.5px,-3px)}.lid-glyph.is-hidden .lid-glyph-lit path{fill:none;stroke-dasharray:2 1.75}.lid-glyph.is-hidden .lid-glyph-lit{opacity:.7}.view-bar .lid-island-card .lid-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:78px;height:32px;padding:0 10px 0 9px;border:0;border-radius:8px;background:#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff0d;color:var(--text-secondary);font:inherit;font-size:13px;font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform .1s var(--ease-out)}.view-bar .lid-island-card .lid-icon-btn:hover:not(:disabled){background:var(--surface-card);color:var(--text-primary)}.view-bar .lid-island-card .lid-icon-btn[aria-pressed=true]{background:var(--brand-cyan-dim);box-shadow:inset 0 0 0 1px #60a5fa4d;color:#9cc3ff}.view-bar .lid-island-card .lid-icon-btn[aria-pressed=true]:hover:not(:disabled){background:#3b82f642;color:#9cc3ff}.view-bar .lid-island-card .lid-icon-btn:active:not(:disabled){transform:scale(.94)}.view-bar .lid-island-card .lid-icon-btn:disabled{opacity:.35;cursor:default}.view-bar .lid-island-card .lid-icon-btn:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:-2px}.lid-toggle-icon{position:relative;display:inline-grid;place-items:center}.lid-toggle-dot{position:absolute;top:-1px;right:-3px;width:7px;height:7px;border-radius:50%;background:var(--brand-cyan);box-shadow:0 0 0 2px #162233;animation:lid-dot-in var(--motion-pop) var(--motion-enter) backwards}@keyframes lid-dot-in{0%{opacity:0;transform:scale(.6)}}@media(prefers-reduced-motion:reduce){.lid-glyph-lit{transition:opacity var(--duration-fast) linear}.lid-toggle-dot{animation:none}}.view-bar .lid-island.open .lid-island-body{animation:island-open .44s cubic-bezier(.32,.72,0,1)}.view-bar .lid-island.closing .lid-island-body{animation:island-close .24s cubic-bezier(.32,.72,0,1) forwards}.lid-island.open .lid-island-card>*{animation:ui-rise-soft var(--motion-rise) var(--motion-enter) backwards;animation-delay:.1s}.lid-island.open .lid-island-card>:nth-child(2){animation-delay:.15s}.lid-island.open .lid-island-card>:nth-child(3){animation-delay:.2s}.lid-island.open .lid-island-card>:nth-child(n+4){animation-delay:.25s}.lid-island.closing .lid-island-card{opacity:0;transition:opacity .12s var(--motion-leave)}@media(prefers-reduced-motion:reduce){.view-bar .lid-island.open .lid-island-body,.view-bar .lid-island.closing .lid-island-body{animation:none}}.settings-section .settings-subhead{margin-top:var(--space-5)}.tool-options{display:grid;flex:1 0 100%;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .3s var(--motion-enter),opacity .2s var(--motion-leave)}.tool-options.has-tool{grid-template-rows:1fr;opacity:1}.tool-options-inner{min-height:0;overflow:hidden}.tool-options-pad{display:flex;flex-direction:column;gap:var(--space-3);margin-top:2px;padding:var(--space-3) var(--space-2) var(--space-1);border-top:1px solid var(--border-hairline)}.tools-island-tools .tab.tool-tab{transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform .1s var(--ease-out)}.tools-island-tools .tab.tool-tab:active{transform:scale(.96)}@media(prefers-reduced-motion:reduce){.tool-options{transition:opacity .12s linear}}.tool-option-group{display:flex;flex-direction:column;gap:var(--space-2);animation:ui-rise-soft var(--motion-rise) var(--motion-enter) backwards}.tool-option-group+.tool-option-group{padding-top:var(--space-3);border-top:1px solid var(--border-hairline)}.tool-option-head{display:flex;align-items:baseline;gap:var(--space-2)}.tool-option-head strong{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.tool-option-head span{color:var(--text-muted);font-size:var(--text-xs)}.tool-option-row{display:flex;align-items:center;gap:var(--space-2);min-height:30px}.tool-option-label{flex:none;width:78px;color:var(--text-secondary);font-size:var(--text-sm)}.tool-option-row select{flex:1;min-width:0;height:30px;padding:0 34px 0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background-color:var(--surface-input);box-shadow:var(--set-in);color:var(--text-primary);font-size:var(--text-sm)}.tool-option-row input[type=range]{flex:1;min-width:120px;accent-color:var(--brand-cyan)}.tool-option-value{flex:none;min-width:64px;color:var(--text-primary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:right}.tool-option-note{margin:0;padding-left:calc(78px + var(--space-2));color:var(--text-muted);font-size:var(--text-xs);line-height:1.45}.tool-options .tool-seg{flex:none}.tool-options .tool-seg>button,.tool-options .tool-seg>.tab{flex:none;height:24px;min-height:0;padding:0 var(--space-3);border:0;border-radius:5px;background:transparent;color:var(--text-secondary);font-size:var(--text-sm)}.tool-options .tool-seg>button:hover:not(:disabled){color:var(--text-primary)}.tool-options .tool-seg>button[aria-checked=true],.tool-options .tool-seg>button[aria-pressed=true]{background:var(--raised-fill);box-shadow:var(--sheen),0 1px 3px #0000004d;color:var(--text-primary)}.tool-option-btn{display:inline-flex;align-items:center;gap:6px;height:30px;margin-left:auto;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--raised-fill);box-shadow:var(--sheen);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer}.tool-option-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.tool-option-btn.active{border-color:var(--border-accent);background:var(--chosen-fill);box-shadow:var(--chosen-lift);color:var(--text-primary)}.tools-island-tools{min-width:0}.render-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:var(--space-4);background:#060910c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.render-studio{width:min(1400px,100%);max-height:calc(100vh - 2 * var(--space-4));display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-panel);box-shadow:var(--shadow-panel)}.render-head{display:flex;align-items:center;gap:var(--space-3)}.render-head .spacer{flex:1}.render-status{font-size:var(--text-sm);color:var(--text-secondary)}.render-size{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.render-save{padding:7px 16px;border-radius:var(--radius-sm);border:1px solid var(--brand-cyan);background:var(--brand-cyan);color:#fff;font:inherit;font-weight:var(--weight-semibold);cursor:pointer}.render-save:disabled{opacity:.45;cursor:default}.render-run{min-width:112px;padding:7px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:transparent;color:var(--text-primary);font:inherit;font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.render-run:hover:not(:disabled){border-color:var(--brand-cyan)}.render-run[aria-pressed=false]{border-color:var(--border-accent);background:var(--brand-cyan-dim)}.render-run:active:not(:disabled){transform:scale(.97)}.render-run:disabled{opacity:.45;cursor:default}.render-run:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.render-body{min-height:0;flex:1;display:flex;gap:var(--space-3)}.render-frame{min-width:0;min-height:0;flex:1;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-md);background:#fff}.render-tools{width:260px;flex:none;max-height:calc(100vh - 200px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding-right:var(--space-1)}.render-tools section{display:flex;flex-direction:column;gap:var(--space-3)}.render-tools h3{margin:0;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.render-presets{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.render-presets button{padding:7px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer}.render-presets button:hover{color:var(--text-primary);border-color:var(--brand-cyan)}.render-presets button.on{color:var(--text-primary);border-color:var(--brand-cyan);background:#3b82f624}.render-preset-actions{display:flex;flex-direction:column;gap:var(--space-2)}.render-preset-actions button,.render-preset-name button{padding:6px 8px;border-radius:var(--radius-sm);border:1px dashed var(--border-subtle);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer}.render-preset-actions button:hover,.render-preset-name button:hover:not(:disabled){color:var(--text-primary);border-color:var(--brand-cyan)}.render-preset-actions button.danger:hover{color:#ff8080;border-color:#ff8080}.render-preset-name{display:flex;gap:var(--space-2)}.render-preset-name input{flex:1;min-width:0}.render-preset-name button:disabled{opacity:.45;cursor:default}.render-control{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm);color:var(--text-secondary)}.render-control-head{display:flex;justify-content:space-between;gap:var(--space-2)}.render-control output{color:var(--text-primary);font-variant-numeric:tabular-nums}.render-control input[type=range]{width:100%;accent-color:var(--brand-cyan)}.render-control select{width:100%}@media(max-width:900px){.render-body{flex-direction:column}.render-tools{width:auto;max-height:40vh}}.render-canvas{display:block;max-width:100%;max-height:calc(100vh - 200px);width:auto;height:auto}.render-note{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.render-studio select,.render-studio .render-preset-name input{background:var(--surface-input);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);box-shadow:var(--shadow-inner);color:var(--text-primary);padding:7px 8px;font-family:var(--font-ui);font-size:var(--text-sm);text-overflow:ellipsis}.render-studio select option{background:var(--brand-dark-panel-solid)}.render-studio select:focus,.render-studio .render-preset-name input:focus{outline:none;border-color:var(--border-accent);box-shadow:var(--focus-ring)}.render-studio .render-size select{min-width:220px}.render-backdrop{animation:ui-dim-in var(--motion-dim) var(--motion-enter) backwards}.render-studio{animation:ui-rise var(--motion-rise) var(--motion-enter) backwards;outline:none}.render-backdrop.leaving{animation:ui-dim-out var(--motion-exit) var(--motion-leave) both;pointer-events:none}.render-backdrop.leaving .render-studio{animation:ui-sink var(--motion-exit) var(--motion-leave) both}.render-studio{border-color:#94a3b829;background:radial-gradient(120% 50% at 0% 0%,rgba(59,130,246,.07),transparent 60%),linear-gradient(180deg,#17243a 0%,var(--surface-panel) 38%,#101a29 100%);box-shadow:0 32px 80px #0000008c,0 0 0 1px #0006,var(--sheen)}.render-head{padding-bottom:var(--space-3);border-bottom:1px solid var(--border-hairline)}.render-head strong{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em}.render-head-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--accent-fill);box-shadow:0 6px 18px var(--brand-cyan-glow),inset 0 1px #ffffff40;color:#fff}.render-save{height:36px;border:0;border-radius:var(--radius-md);background:var(--accent-fill);box-shadow:0 6px 18px var(--brand-cyan-glow),inset 0 1px #ffffff40}.render-save:hover:not(:disabled){filter:brightness(1.07);box-shadow:0 8px 22px #3b82f673,inset 0 1px #ffffff40}.render-close{width:36px;height:36px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;box-shadow:var(--sheen)}.render-close:hover{border-color:var(--border-strong);color:var(--text-primary)}.render-frame{box-shadow:0 10px 30px #00000059,0 0 0 1px #ffffff0f}.render-tools{padding:var(--space-4);border:1px solid rgba(148,163,184,.14);border-radius:12px;background:linear-gradient(180deg,#1a2740,#141f31);box-shadow:0 10px 30px #0000004d,var(--sheen)}.render-tools section+section{padding-top:var(--space-4);border-top:1px solid var(--border-hairline)}.render-presets button,.render-preset-actions button,.render-preset-name button{border:1px solid rgba(148,163,184,.34);background:linear-gradient(180deg,#33476a,#283a57);box-shadow:inset 0 1px #ffffff1a,0 2px 6px #0000004d;color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform .1s var(--ease-out)}.render-presets button:hover,.render-preset-actions button:hover,.render-preset-name button:hover:not(:disabled){border-color:#94a3b86b;background:linear-gradient(180deg,#3b5279,#2e4263)}.render-presets button:active,.render-preset-actions button:active{transform:scale(.97)}.render-presets button.on{border-color:#609cff8c;background:var(--chosen-fill);box-shadow:var(--chosen-lift);color:var(--text-primary)}.render-preset-actions button.danger:hover{color:var(--status-error);border-color:var(--status-error)}.render-presets button.on{background:linear-gradient(180deg,#3b82f661,#3b82f633)}.render-preset-actions button{border-style:dashed;border-color:#94a3b873;background:transparent;box-shadow:none;color:var(--text-secondary)}.render-preset-actions button:hover{background:#ffffff08;color:var(--text-primary)}.render-progress{display:flex;flex-direction:column;gap:6px;min-width:0}.render-progress-bar{display:block;width:220px;height:4px;overflow:hidden;border-radius:2px;background:#94a3b829;box-shadow:inset 0 1px 1px #0000004d}.render-progress-bar>span{display:block;width:100%;height:100%;border-radius:2px;background:var(--accent-fill);box-shadow:0 0 8px var(--brand-cyan-glow);transform-origin:left center;transition:transform .24s linear}.render-progress-bar.done>span{background:var(--status-valid);box-shadow:0 0 8px var(--status-valid-glow)}.view-tabs.collapsible{gap:0}.view-tabs.collapsible .tab:not(.active){max-width:0;margin-left:0;padding-inline:0;opacity:0;overflow:hidden;white-space:nowrap;pointer-events:none;transition:max-width .2s var(--motion-leave),padding .2s var(--motion-leave),margin .2s var(--motion-leave),opacity .12s linear}.view-tabs.collapsible.open .tab:not(.active){max-width:120px;margin-left:2px;padding-inline:var(--space-3);opacity:1;pointer-events:auto;transition:max-width .28s var(--motion-enter),padding .28s var(--motion-enter),margin .28s var(--motion-enter),opacity .2s var(--motion-enter)}.view-tabs.collapsible.open .tab:nth-child(2){transition-delay:20ms}.view-tabs.collapsible.open .tab:nth-child(3){transition-delay:40ms}.view-tabs.collapsible.open .tab:nth-child(4){transition-delay:60ms}.view-tabs.collapsible.open .tab:nth-child(5){transition-delay:80ms}.view-tabs.collapsible.open .tab:nth-child(6){transition-delay:.1s}.view-tabs.collapsible.open .tab:nth-child(n+7){transition-delay:.12s}.view-tabs-more{display:grid;flex:none;place-items:center;width:26px;height:28px;margin-left:2px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.view-tabs-more:hover{background:var(--raised-fill);color:var(--text-primary)}.view-tabs-more .ui-icon{transition:transform .28s var(--motion-enter)}.view-tabs.open .view-tabs-more .ui-icon{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.view-tabs.collapsible .tab:not(.active),.view-tabs.collapsible.open .tab:not(.active){transition-duration:0s;transition-delay:0s}}.panel-head{margin:0 -6px 0 0}.panel-head h2{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em}.case-type-section{gap:0}.case-type-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border:1px solid rgba(148,163,184,.14);border-radius:var(--radius-lg);background:var(--raised-fill);box-shadow:var(--sheen)}.case-type-thumb{display:grid;flex:none;place-items:center;width:52px;height:52px;overflow:hidden;border-radius:var(--radius-md);background:radial-gradient(80% 70% at 50% 40%,#1d2c45,#0e1726);box-shadow:inset 0 0 0 1px #94a3b81f;color:var(--text-muted)}.case-type-thumb img{width:100%;height:100%;object-fit:cover}.case-type-text{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.case-type-eyebrow{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.04em;text-transform:uppercase}.panel .case-type-card .case-style{overflow:hidden;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);white-space:nowrap;text-overflow:ellipsis}.case-type-family{color:var(--text-secondary);font-size:var(--text-sm)}.case-type-lock{display:grid;flex:none;place-items:center;width:26px;height:26px;border-radius:var(--radius-sm);color:var(--text-muted)}.history-btn.active{background:var(--surface-card);color:var(--text-primary)}.app-menu.history-menu{width:320px;padding:var(--space-2)}.history-head{margin:2px 0 var(--space-2);padding:0 var(--space-2);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase}.history-list{display:flex;flex-direction:column;max-height:min(420px,60vh);margin:0;padding:0;overflow-y:auto;list-style:none}.history-list li{position:relative}.history-list li+li:before{content:"";position:absolute;top:-7px;left:15px;width:1px;height:14px;background:var(--border-subtle)}.app-menu .history-step{display:flex;align-items:center;gap:var(--space-3);width:100%;height:34px;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);text-align:left;cursor:pointer}.app-menu .history-step:hover{background:var(--surface-card);color:var(--text-primary)}.history-dot{flex:none;width:9px;height:9px;margin-left:2px;border:2px solid var(--border-strong);border-radius:50%;background:var(--surface-panel)}.history-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history-time{flex:none;color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.app-menu .history-step.now{background:var(--brand-cyan-dim);color:var(--text-primary);font-weight:var(--weight-medium)}.history-step.now .history-dot{border-color:var(--brand-cyan);background:var(--brand-cyan);box-shadow:0 0 0 3px var(--brand-cyan-dim)}.history-step.now .history-time{color:var(--brand-cyan);font-weight:var(--weight-semibold)}.app-menu .history-step.undone{opacity:.5}.app-menu .history-step.undone:hover{opacity:.85}.history-note{display:flex;align-items:flex-start;gap:6px;margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-2) 2px;border-top:1px solid var(--border-hairline);color:var(--text-muted);font-size:var(--text-xs);line-height:1.45}.history-note .ui-icon{flex:none;margin-top:1px}.branding-window .brand-panel{display:flex;flex-direction:column;gap:var(--space-4)}.brand-section{display:flex;flex-direction:column;gap:var(--space-2)}.brand-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.brand-section-head h3{margin:0;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary)}.brand-section-head>span{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.brand-empty{margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.5}.brand-placed{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.brand-placed-row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:4px var(--space-2) 4px 4px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-primary);text-align:left;cursor:pointer}.brand-placed-row:hover{border-color:var(--border-strong)}.brand-placed-row.on{border-color:var(--border-accent);background:var(--brand-cyan-dim)}.brand-placed-row>.ui-icon{margin-left:auto;color:var(--status-warning)}.brand-placed-art{flex:0 0 auto;width:48px;height:36px;border-radius:4px;background:var(--thumb-studio);color:#1d2733;overflow:hidden}.brand-placed-text{display:flex;flex-direction:column;min-width:0}.brand-placed-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:var(--weight-medium)}.brand-placed-text small{color:var(--text-muted);font-size:11px}.brand-inspector{padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.brand-stage>.art-preview{height:168px}.panel label.brand-row{flex-direction:row;align-items:center}.brand-stage small{color:var(--text-muted);font-size:11px}.art-body.pickable{cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out)}.art-body.pickable:hover{opacity:.72}.art-body.on{stroke:var(--brand-cyan)}.brand-warning{display:flex;gap:6px;align-items:flex-start;margin:0;color:var(--status-warning);font-size:var(--text-sm);line-height:1.4}.brand-warning .ui-icon{flex:0 0 auto;margin-top:1px}.brand-row{display:flex;align-items:center;gap:var(--space-2);min-height:32px}.brand-label{flex:0 0 64px;color:var(--text-secondary);font-size:var(--text-sm)}.brand-row>select{flex:1 1 auto;min-width:0}.brand-unit{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.brand-num{display:inline-flex;flex:0 0 64px}.brand-num.brand-num-sm{flex-basis:48px}.brand-suggest{gap:6px}.brand-num input{width:100%}.brand-seg{display:flex;flex:1 1 auto;min-width:0}.brand-seg>button{flex:1 1 0;justify-content:center;min-width:0;padding:0 var(--space-1);font-size:var(--text-sm);white-space:nowrap}.brand-seg>button[aria-pressed=true]{background:var(--surface-card-hover);color:var(--text-primary)}.brand-seg>button:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:-2px}.brand-group{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-card)}.brand-group h4{margin:0;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.brand-hint{color:var(--text-muted);font-size:11px;line-height:1.4}.brand-stage{border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px #ffffff14;overflow:hidden}.brand-stage-hint{color:var(--text-muted);font-size:11px;line-height:1.4}.brand-link{align-self:flex-start;padding:0;border:0;background:none;color:var(--brand-cyan);font-size:var(--text-sm);cursor:pointer}.brand-link:hover{text-decoration:underline}.ink{display:flex;flex-direction:column;gap:var(--space-2)}.ink+.ink{padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.ink-row{display:grid;grid-template-columns:30px minmax(0,1fr) 84px;align-items:center;gap:var(--space-2)}.ink-swatch{width:30px;height:30px;padding:0;border:0;border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff38,0 1px 3px #00000059;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.ink-swatch:hover{transform:scale(1.06)}.ink-swatch[aria-expanded=true]{box-shadow:0 0 0 2px var(--surface-card),0 0 0 4px var(--brand-cyan)}.ink-swatch:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.ink-text{display:flex;flex-direction:column;min-width:0}.ink-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.ink-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:11px}.ink-hex{width:100%;font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase}.ink-chart{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);background:var(--surface-input);box-shadow:var(--set-in);animation:ui-pop var(--motion-pop) var(--motion-enter) backwards}.ink-tabs{display:flex;width:100%}.ink-tabs>button{flex:1 1 0;justify-content:center;padding:0 var(--space-1);font-size:var(--text-sm)}.ink-tabs>button[aria-pressed=true]{background:var(--surface-card-hover);color:var(--text-primary)}.ink-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18px,1fr));gap:4px}.ink-grid-popular{grid-template-columns:repeat(auto-fill,minmax(26px,1fr));gap:6px}.ink-chip{aspect-ratio:1;min-width:0;padding:0;border:0;border-radius:5px;box-shadow:inset 0 0 0 1px #ffffff29;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out)}.ink-grid-popular .ink-chip{border-radius:50%}.ink-chip:hover{transform:scale(1.18);position:relative;z-index:1;box-shadow:inset 0 0 0 1px #ffffff4d,0 2px 6px #0006}.ink-chip[aria-selected=true]{box-shadow:0 0 0 2px var(--surface-input),0 0 0 4px var(--brand-cyan);position:relative;z-index:1}.ink-chip:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:1px}.ink-search{width:100%;font-size:var(--text-sm)}.ink-ral{display:flex;flex-direction:column;gap:var(--space-2);max-height:260px;overflow-y:auto;padding:4px 4px 2px;margin:-4px -4px 0}.ink-family h5{margin:0 0 4px;color:var(--text-muted);font-size:10px;font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase}.ink-none{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.ink-near{display:flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--text-secondary);font-size:11px;text-align:left;cursor:pointer}.ink-near:hover{color:var(--text-primary)}.ink-near-chip{flex:0 0 auto;width:12px;height:12px;border-radius:3px;box-shadow:inset 0 0 0 1px #fff3}.brand-drag-hint{display:flex;gap:6px;align-items:flex-start;margin:0}.brand-drag-hint .ui-icon{flex:0 0 auto;margin-top:1px;color:var(--brand-cyan)}.brand-clash-tag{padding:2px 8px;border-radius:var(--radius-pill);background:#ef4444;border:1px solid rgba(255,255,255,.35);box-shadow:0 2px 8px #00000059;color:#fff;font-size:12px;font-weight:600;white-space:nowrap}.brand-placed-art .art-preview,.brand-stage .art-preview,.brand-lib-plate .art-preview{display:block;width:100%;height:100%}.brand-mini-btn,.brand-remove{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-card-hover);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.brand-mini-btn:hover,.brand-remove:hover{border-color:var(--border-strong)}.brand-mini-btn:active,.brand-remove:active{transform:scale(.97)}.brand-remove svg{color:var(--text-secondary)}.brand-remove{height:26px;padding:0 var(--space-2)}.brand-add-logo{display:flex;align-items:center;gap:var(--space-2);width:100%;height:44px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--raised-fill);box-shadow:var(--sheen);color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.brand-add-logo .ui-icon{color:var(--brand-cyan)}.brand-add-logo small{margin-left:auto;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-regular);font-variant-numeric:tabular-nums}.brand-add-logo:hover{border-color:var(--border-strong)}.brand-add-logo:active{transform:scale(.98)}.brand-add-logo:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.build-modal.brand-lib{width:min(1080px,100%);height:min(780px,100%)}.brand-lib-tools{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-hairline)}.brand-lib-search{position:relative;display:flex;align-items:center;flex:1 1 auto;min-width:0}.brand-lib-search .ui-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.brand-lib-search input{width:100%;height:40px;padding:0 var(--space-3) 0 38px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-input);box-shadow:var(--set-in);color:var(--text-primary);font-size:var(--text-md)}.brand-lib-search input:focus{outline:none;border-color:var(--border-accent);box-shadow:var(--set-in),0 0 0 3px var(--brand-cyan-dim)}.brand-lib-filter>button{height:34px}.brand-lib-count{min-width:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--surface-input);color:var(--text-muted);font-size:11px;line-height:18px;font-variant-numeric:tabular-nums}.brand-lib-filter>button[aria-pressed=true] .brand-lib-count{color:var(--text-secondary)}.brand-lib-upload{flex:0 0 auto}.brand-lib-upload .ui-icon{color:var(--brand-cyan)}.brand-lib-notes{display:flex;flex-direction:column;gap:4px;margin:0;padding:var(--space-3) var(--space-6) 0;list-style:none;font-size:var(--text-sm)}.brand-lib-notes li{display:flex;gap:6px;align-items:flex-start;color:var(--status-warning)}.brand-lib-notes li.error{color:var(--status-error)}.brand-lib-notes .ui-icon{flex:0 0 auto;margin-top:2px}.brand-lib-body{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-6)}.brand-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:var(--space-4)}.brand-lib-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:8px 8px 12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--raised-fill);box-shadow:var(--sheen);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.brand-lib-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.brand-lib-card:active{transform:scale(.98)}.brand-lib-card:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.brand-lib-card.on{border-color:var(--border-accent);background:var(--chosen-fill);box-shadow:var(--chosen-lift)}.brand-lib-plate{position:relative;display:block;aspect-ratio:4 / 3;padding:10%;border-radius:6px;background:var(--thumb-studio);box-shadow:var(--thumb-studio-edge);color:#1d2733;overflow:hidden}.brand-lib-plate.dark{background:#1d2733;box-shadow:inset 0 0 0 1px #ffffff14}.brand-lib-check{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--brand-cyan);color:#fff;box-shadow:0 2px 6px #0000004d;animation:ui-pop var(--motion-pop) var(--motion-enter) backwards}.brand-lib-name{padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);font-weight:var(--weight-medium)}.brand-lib-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 4px;color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.brand-lib-tag{padding:1px 7px;border-radius:var(--radius-pill);background:var(--brand-cyan-dim);color:var(--text-secondary);font-size:11px;font-weight:var(--weight-medium)}.brand-lib-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:100%;color:var(--text-muted);font-size:var(--text-sm);text-align:center}.brand-lib-empty strong{color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-medium)}.brand-lib-empty .build-cancel{margin-top:var(--space-2)}.brand-lib-drop{position:absolute;inset:var(--space-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);border:2px dashed var(--brand-cyan);border-radius:12px;background:color-mix(in srgb,var(--surface-panel) 82%,var(--brand-cyan));color:var(--text-secondary);font-size:var(--text-sm);pointer-events:none;animation:ui-pop var(--motion-pop) var(--motion-enter) backwards}.brand-lib-drop .ui-icon{color:var(--brand-cyan)}.brand-lib-drop strong{color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-medium)}.brand-lib .build-foot p strong{color:var(--text-primary);font-weight:var(--weight-medium)}.brand-lib .build-apply:disabled,.brand-lib .build-cancel:disabled{opacity:.45;cursor:not-allowed;filter:none}.brand-lib-forget{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--text-base);cursor:pointer}.brand-lib-forget:hover{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 10%,transparent)}@media(max-width:720px){.brand-lib-tools{flex-wrap:wrap}.brand-lib-search{flex-basis:100%}}.brand-lib-name-field{display:grid;grid-template-columns:auto minmax(0,320px) auto;align-items:center;gap:var(--space-3);flex:1 1 auto;min-width:0;margin:0}.brand-lib-name-field>span{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.brand-lib-name-field input{height:40px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-input);box-shadow:var(--set-in);color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-medium)}.brand-lib-name-field input:focus{outline:none;border-color:var(--border-accent);box-shadow:var(--set-in),0 0 0 3px var(--brand-cyan-dim)}.brand-lib-name-field small{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.ink-chart.ink-pop{position:fixed;z-index:940;width:340px;max-height:calc(100vh - 24px);overflow-y:auto;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-panel);box-shadow:0 18px 48px #00000073,0 0 0 1px #ffffff08;transform-origin:top left}.ink-pop .ink-ral{max-height:min(340px,52vh)}.ink-pop .ink-grid-popular{grid-template-columns:repeat(auto-fill,minmax(30px,1fr));gap:8px}.ink-pop-head{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-hairline)}.ink-pop-chip{flex:0 0 auto;width:28px;height:28px;border-radius:7px;box-shadow:inset 0 0 0 1px #fff3}.ink-pop-title{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.ink-pop-title strong{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.ink-pop-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.ink-pop-close{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.ink-pop-close:hover{border-color:var(--border-strong);color:var(--text-primary)}.brand-mirror-row{align-items:flex-start}.brand-mirror-row .brand-label{padding-top:6px}.brand-mirror{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 auto;min-width:0}.brand-mirror>button{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.brand-mirror>button:hover{border-color:var(--border-strong);color:var(--text-primary)}.brand-mirror>button:active{transform:scale(.96)}.brand-mirror>button[aria-pressed=true]{border-color:var(--border-accent);background:var(--brand-cyan-dim);color:var(--text-primary)}.brand-mirror>button:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.brand-mirror-hint{margin:-4px 0 0}.context-menu.elements-menu{padding:0;gap:0;overflow:hidden}.elements-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 var(--space-3);padding:var(--space-3) var(--space-3) var(--space-2)}.elements-col{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.elements-group{display:flex;flex-direction:column;gap:1px}.elements-group-label{padding:2px 8px 6px;color:var(--text-muted);font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase}.elements-menu .context-menu-row{justify-content:space-between;min-height:32px;font-weight:var(--weight-medium);text-transform:none}.elements-tag{flex:none;padding:1px 7px;border:1px solid var(--border-accent);border-radius:var(--radius-pill);color:var(--brand-cyan);font-size:10.5px;font-weight:var(--weight-medium);line-height:16px;white-space:nowrap}.elements-menu .context-menu-row:disabled .elements-tag{border-color:var(--border-subtle);color:var(--text-muted)}.elements-hint{margin:0;min-height:56px;padding:10px 16px 12px;border-top:1px solid var(--border-hairline);background:var(--surface-card);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;text-wrap:pretty}.piece-brace-bar{position:sticky;top:calc(-1 * var(--space-6));z-index:3;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 calc(-1 * var(--space-6)) var(--space-4);padding:var(--space-3) var(--space-6);background:var(--surface-panel);border-bottom:1px solid var(--border-hairline)}.piece-braces .catalog-card{scroll-margin-top:110px}.piece-brace-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.piece-brace-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:120px;padding:8px 14px 9px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--raised-fill);box-shadow:var(--sheen);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.piece-brace-tab:hover{border-color:var(--border-strong)}.piece-brace-tab:active{transform:scale(.98)}.piece-brace-tab:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.piece-brace-tab[aria-selected=true]{border-color:var(--border-accent);background:var(--chosen-fill);box-shadow:var(--chosen-lift)}.piece-brace-tab-name{font-size:var(--text-base);font-weight:var(--weight-semibold)}.piece-brace-tab-meta{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.piece-brace-tab[aria-selected=true] .piece-brace-tab-meta{color:var(--text-secondary)}.piece-brace-actions{display:flex;align-items:center;gap:var(--space-3)}.piece-brace-link{gap:var(--space-3);margin:0;white-space:nowrap}.piece-brace-apply{height:36px;padding:0 var(--space-4);font-size:var(--text-sm)}.build-modal .catalog-cell>.catalog-card{flex:1;min-width:0}.build-modal .catalog-cell .fav-btn{top:10px;left:10px;right:auto}.lid-preview{margin:var(--space-6) 0 0;display:flex;flex-direction:column;gap:var(--space-2)}.lid-preview-stage{height:clamp(240px,36vh,380px);border:1px solid var(--border-subtle);border-radius:14px;background:radial-gradient(ellipse 70% 65% at 50% 45%,rgba(91,155,255,.1),transparent 70%),var(--surface-card);overflow:hidden}.lid-preview-caption{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm)}.lid-preview-caption strong{color:var(--text-primary);font-weight:var(--weight-medium)}.lid-preview-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);transition:background var(--duration-base) var(--ease-out)}.lid-preview-dot[data-open=true]{background:var(--brand-cyan);box-shadow:0 0 0 3px var(--brand-cyan-dim)}.lid-preview-count{margin-left:auto;color:var(--text-muted);font-variant-numeric:tabular-nums}.catalog-linked{position:relative;display:grid;place-items:center;width:100%;height:100%;color:var(--text-muted)}.catalog-linked>img,.catalog-linked>.catalog-plate{width:100%;height:100%}.catalog-link-badge{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:var(--radius-pill);background:var(--brand-cyan);color:#fff;font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.02em;box-shadow:0 2px 8px #2563eb73}.build-inline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.build-swing,.panel label.build-swing{display:inline-flex;flex-direction:row;align-items:center;gap:var(--space-2);margin:0;color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap;animation:ui-pop var(--motion-pop) var(--motion-enter) backwards}.build-inline:has(.build-swing){gap:var(--space-3)}.build-swing-well{position:relative;display:inline-flex}.panel .build-swing input.num-field{width:60px;height:36px;padding:0 22px 0 8px;text-align:right;font-variant-numeric:tabular-nums}.build-swing-unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.castors-window .castor-head{padding-bottom:var(--space-4);border-bottom:1px solid var(--border-hairline)}.castors-window fieldset.castor-form{gap:0}.castors-window .castor-form>section,.castors-window .castor-form>.part-sec{padding:var(--space-4) 0}.castors-window .castor-form>*+*{border-top:1px solid var(--border-hairline)}.castors-window .castor-form>:last-child{padding-bottom:0}.castors-window .castor-form>:first-child{padding-top:0}.castors-window .part-sec-body{gap:10px}.castors-window .part-sec-title{margin-bottom:2px}.castors-window .part-sec.no-icon>.part-sec-body>.part-sec-title{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-semibold)}.castors-window .part-sec .row.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.castors-window .part-sec .row.checks .row-label{grid-column:1 / -1;color:var(--text-secondary);font-weight:var(--weight-medium)}.castors-window .part-sec .row.checks>label.check{display:flex;flex-direction:row;align-items:center;gap:8px;width:auto;min-width:0;color:var(--text-secondary);font-size:var(--text-sm)}.castors-window .castor-sec-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.castors-window .castor-new{display:inline-flex;align-items:center;gap:4px;align-self:center;height:26px;min-height:0;margin:-3px -6px -3px 0;padding:0 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--brand-cyan);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.castors-window .castor-new:hover:not(:disabled){background:var(--brand-cyan-dim)}.castors-window .castor-new:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:1px}.castors-window .wheel-list{gap:6px}.castors-window .wheel-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 10px 6px 6px;border:0;border-radius:var(--radius-md);background:var(--raised-fill);box-shadow:var(--sheen),inset 0 0 0 1px var(--border-hairline)}.castors-window .wheel-thumb{display:grid;place-items:center;width:40px;height:40px;overflow:hidden;border-radius:var(--radius-sm);background:var(--thumb-studio, var(--surface-input));color:var(--text-muted)}.castors-window .wheel-thumb img{width:100%;height:100%;object-fit:contain}.castors-window .wheel-text{display:flex;flex-direction:column;gap:1px;min-width:0}.castors-window .wheel-name{overflow:hidden;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap}.castors-window .wheel-sku{color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.castors-window .wheel-qty{min-width:34px;padding:3px 8px;border-radius:999px;background:var(--brand-cyan-dim);color:var(--text-primary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center}.castors-window .restore-removed{margin:0;text-transform:none}.castors-window .castor-actions{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px}.castors-window .castor-action,.castors-window .make-yesno-btn,.castors-window .edit-board,.castors-window .unpack-template-items,.castors-window .board-split-auto{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;height:32px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:var(--raised-fill);box-shadow:var(--sheen),inset 0 0 0 1px var(--border-subtle);color:var(--text-primary);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform .1s var(--ease-out)}.castors-window .castor-action svg,.castors-window .make-yesno-btn svg,.castors-window .edit-board svg,.castors-window .unpack-template-items svg,.castors-window .board-split-auto svg{flex:none;color:var(--text-secondary)}.castors-window .castor-action:hover:not(:disabled),.castors-window .make-yesno-btn:hover:not(:disabled),.castors-window .edit-board:hover:not(:disabled),.castors-window .unpack-template-items:hover:not(:disabled),.castors-window .board-split-auto:hover:not(:disabled){background:var(--raised-hover, var(--surface-card-hover));box-shadow:var(--sheen),inset 0 0 0 1px var(--border-strong)}.castors-window .castor-action:active:not(:disabled),.castors-window .make-yesno-btn:active:not(:disabled),.castors-window .edit-board:active:not(:disabled),.castors-window .unpack-template-items:active:not(:disabled),.castors-window .board-split-auto:active:not(:disabled){transform:scale(.97)}.castors-window .castor-action:focus-visible,.castors-window .make-yesno-btn:focus-visible,.castors-window .edit-board:focus-visible,.castors-window .unpack-template-items:focus-visible,.castors-window .board-split-auto:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.castors-window .make-yesno-btn{align-self:flex-start}.castors-window .castor-include .row{flex-direction:column}.castors-window .castor-field{display:flex;flex-direction:column;gap:var(--space-2)}.castors-window .castor-field-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.castors-window .castor-seg{display:grid;grid-template-columns:1fr 1fr;width:100%}.castors-window .castor-seg>button{justify-content:center;padding:0 var(--space-2);font-size:var(--text-sm)}.castors-window .inset-ring{display:grid;grid-template-columns:56px 112px 56px;justify-content:start;grid-template-areas:". back ." "left plan right" ". front .";align-items:center;gap:6px 8px}.castors-window .inset-ring-case{grid-area:plan;display:grid;height:68px;padding:9px;border-radius:var(--radius-sm);background:var(--surface-input);box-shadow:inset 0 0 0 1px var(--border-subtle)}.castors-window .inset-ring-board{border-radius:3px;background:var(--brand-cyan-dim);box-shadow:inset 0 0 0 1px var(--border-accent, var(--brand-cyan))}.castors-window .inset-ring-field{display:flex;flex-direction:column;gap:4px;min-width:0;color:var(--text-secondary);font-size:var(--text-xs);text-align:center}.castors-window .inset-ring-field input{min-width:0;padding-right:6px;padding-left:6px;text-align:center;font-variant-numeric:tabular-nums}.castors-window .inset-ring-field.at-back{grid-area:back;justify-self:center;width:56px}.castors-window .inset-ring-field.at-front{grid-area:front;justify-self:center;width:56px}.castors-window .inset-ring-field.at-left{grid-area:left}.castors-window .inset-ring-field.at-right{grid-area:right}.castors-window .inset-ring-field.at-front{flex-direction:column-reverse}@keyframes menu-row-in{0%{opacity:0;transform:translateY(3px)}}@keyframes menu-out{to{opacity:0;transform:translateY(2px) scale(.98)}}.context-menu>.context-menu-row,.context-menu>.context-menu-row-group,.context-menu>.context-menu-group-label{animation:menu-row-in .18s var(--motion-enter) backwards;animation-delay:40ms}.context-menu>:nth-child(3){animation-delay:60ms}.context-menu>:nth-child(4){animation-delay:80ms}.context-menu>:nth-child(5){animation-delay:.1s}.context-menu>:nth-child(n+6){animation-delay:.12s}.context-menu.leaving{animation:menu-out .12s var(--motion-leave) both;pointer-events:none}.context-menu-backdrop.leaving{pointer-events:none}@media(prefers-reduced-motion:reduce){.context-menu>.context-menu-row,.context-menu>.context-menu-row-group,.context-menu>.context-menu-group-label{animation:none}@keyframes menu-out{to{opacity:0}}}.context-menu-row:disabled{opacity:.4;cursor:default}.context-menu-row:disabled:hover{background:transparent}.context-menu-hint{font-variant-numeric:tabular-nums;text-transform:none}.context-menu-row:hover .context-menu-hint,.context-menu-row:focus-visible .context-menu-hint{color:var(--text-secondary)}.context-menu-row:hover:not(:disabled) svg,.context-menu-row:focus-visible svg{color:var(--text-secondary)}.piece-menu .piece-plate{padding:4px 4px var(--space-2)}.piece-menu .context-menu-thumb.piece-plate-glyph{display:grid;place-items:center;width:38px;height:34px;padding:0;border-radius:var(--radius-sm);background:var(--surface-input);box-shadow:inset 0 0 0 1px var(--border-hairline);color:var(--text-muted)}.piece-menu .context-menu-names{gap:1px}.piece-menu .context-menu-names .context-menu-header{padding:0;font-size:var(--text-base);line-height:1.25}.piece-menu .context-menu-names small{text-transform:none}.view-bar .view-toolbar{position:relative;z-index:30;display:inline-flex;flex:none;align-items:center;gap:2px;margin-right:auto;padding:3px;border:1px solid var(--border-hairline);border-radius:20px;background:var(--island-fill);box-shadow:var(--island-lift)}.view-bar .view-toolbar:empty{display:none}.view-bar{overflow-x:clip;overflow-y:visible}.view-bar .view-toolbar .tools-island{margin-right:0}.view-bar .view-toolbar>.tools-island,.view-bar .view-toolbar>.lid-island,.view-bar .view-toolbar>.views-island{--island-h: 30px}.view-bar .view-toolbar .tools-toggle,.view-bar .view-toolbar .lid-toggle,.view-bar .view-toolbar .views-toggle{border-color:transparent;border-radius:15px;background:transparent;box-shadow:none;color:var(--text-secondary);transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.view-bar .view-toolbar .tools-toggle:hover,.view-bar .view-toolbar .lid-toggle:hover,.view-bar .view-toolbar .views-toggle:hover{background:#ffffff0d;color:var(--text-primary)}.view-bar .view-toolbar .tools-toggle.active,.view-bar .view-toolbar .lid-toggle.active,.view-bar .view-toolbar .views-toggle.active{background:var(--chosen-fill);box-shadow:var(--chosen-lift);color:var(--text-primary)}.view-bar .view-toolbar .tools-toggle:focus-visible,.view-bar .view-toolbar .lid-toggle:focus-visible,.view-bar .view-toolbar .views-toggle:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:1px}.view-bar .view-toolbar>*+*:before{content:"";position:absolute;top:8px;bottom:8px;left:-2px;width:1px;background:var(--border-hairline);transition:opacity var(--duration-fast) var(--ease-out)}.view-bar .view-toolbar>:is(.open,.closing):before,.view-bar .view-toolbar>:is(.open,.closing)+*:before{opacity:0}.view-bar .views-island{--island-w: 84px;--island-h: 30px;position:relative;z-index:30;flex:none;width:var(--island-w);height:var(--island-h)}.view-bar .views-island .views-island-body{position:absolute;top:0;right:-600px;left:-600px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.view-bar .views-island .views-toggle,.views-card{pointer-events:auto}.view-bar .views-island .views-toggle{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:6px;width:var(--island-w);height:var(--island-h);padding:0 var(--space-3);border:1px solid transparent;font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer}.view-bar .views-island .views-toggle .ui-icon:last-child{transition:transform var(--motion-pop) var(--motion-enter)}.view-bar .views-island.open .views-toggle .ui-icon:last-child{transform:rotate(180deg)}.views-toggle-label{font-variant-numeric:tabular-nums}.view-bar .views-card{position:relative;display:grid;grid-template-columns:repeat(4,66px);gap:2px;padding:6px;border:1px solid var(--border-hairline);border-radius:12px;background:var(--island-fill);box-shadow:var(--island-lift)}.view-bar .view-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 7px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform .1s var(--ease-out)}.view-bar .view-tile .lid-glyph{color:var(--text-muted)}.view-bar .view-tile:hover{background:var(--surface-card);color:var(--text-primary)}.view-bar .view-tile.active{background:var(--chosen-fill);box-shadow:var(--chosen-lift);color:var(--text-primary)}.view-bar .view-tile:active{transform:scale(.96)}.view-bar .view-tile:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:-2px}.view-bar .views-island.open .views-island-body{animation:island-open .44s cubic-bezier(.32,.72,0,1)}.view-bar .views-island.closing .views-island-body{animation:island-close .24s cubic-bezier(.32,.72,0,1) forwards}.views-island.open .views-card>*{animation:ui-rise-soft var(--motion-rise) var(--motion-enter) backwards;animation-delay:.1s}.views-island.open .views-card>:nth-child(n+5){animation-delay:.14s}.views-island.open .views-card>:nth-child(n+9){animation-delay:.18s}.views-island.closing .views-card{opacity:0;transition:opacity .12s var(--motion-leave)}@media(prefers-reduced-motion:reduce){.view-bar .views-island.open .views-island-body,.view-bar .views-island.closing .views-island-body{animation:none}}.part-photo{transform-origin:50% 50%}.placed-thumb,.context-menu-thumb,.part-head-thumb{overflow:hidden}:root[data-theme=light]{--sheen: inset 0 1px 0 rgba(255, 255, 255, .9);--accent-fill: linear-gradient(180deg, #3b7bf0 0%, #2158d6 100%);--accent-lift: 0 2px 8px rgba(37, 99, 235, .28), inset 0 1px 0 rgba(255, 255, 255, .22);--chosen-fill: linear-gradient(180deg, rgba(37, 99, 235, .17) 0%, rgba(37, 99, 235, .07) 100%);--chosen-lift: inset 0 0 0 1px rgba(37, 99, 235, .32);--raised-fill: linear-gradient(180deg, #ffffff 0%, #eef2f7 100%);--raised-hover: linear-gradient(180deg, #ffffff 0%, #e6ecf3 100%);--sheet-fill: radial-gradient(120% 38% at 0% 0%, rgba(37, 99, 235, .06), transparent 62%), linear-gradient(180deg, #ffffff 0%, #fbfcfe 180px, #f2f5f9 100%);--bar-fill: linear-gradient(180deg, rgba(255, 255, 255, .97) 0%, rgba(241, 245, 250, .95) 100%);--set-in: inset 0 1px 2px rgba(15, 27, 45, .07);--paper-lift: 0 1px 2px rgba(15, 27, 45, .06), 0 4px 14px rgba(15, 27, 45, .06);color-scheme:light}:root[data-theme=light] body{background:var(--surface-app);color:var(--text-primary)}:root[data-theme=light] .topbar{background:radial-gradient(60% 140% at 0% 0%,rgba(37,99,235,.05),transparent 70%),linear-gradient(180deg,#fff,#f3f6fa);box-shadow:0 1px 0 var(--border-subtle),0 2px 8px #0f1b2d0a}:root[data-theme=light] .rail,:root[data-theme=light] aside.panel,:root[data-theme=light] .floating-window{border-color:var(--border-hairline);background:var(--sheet-fill);box-shadow:var(--paper-lift),var(--sheen)}:root[data-theme=light] .view-tabs,:root[data-theme=light] .section-control,:root[data-theme=light] .lid-pair,:root[data-theme=light] .view-home,:root[data-theme=light] .case-summary,:root[data-theme=light] .status-pill,:root[data-theme=light] .view-toggle{border-color:var(--border-hairline);background:var(--bar-fill);box-shadow:0 1px 2px #0f1b2d14,0 6px 18px #0f1b2d14,var(--sheen);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}:root[data-theme=light] .brand-logo-on-dark{display:none}:root[data-theme=light] .brand-logo-on-light{display:block}:root[data-theme=light] .rail-btn[aria-pressed=true]{color:var(--brand-cyan)}:root[data-theme=light] .tab.active{color:var(--brand-cyan)}:root[data-theme=light] .lid-pair .lid-btn[aria-pressed=true]{color:var(--brand-cyan)}:root[data-theme=light] .hw-pane-switch .hw-pane-btn[aria-selected=true],:root[data-theme=light] .lib-view .lib-view-btn[aria-pressed=true]{box-shadow:0 1px 2px #0f1b2d1f,0 0 0 1px var(--border-hairline)}:root[data-theme=light] .lib-cat:not([aria-pressed=true]),:root[data-theme=light] .lib-fav-toggle,:root[data-theme=light] .case-style,:root[data-theme=light] .ghost-btn:not(.file-menu-btn),:root[data-theme=light] .lid-pair .lid-btn:not([aria-pressed=true]){border-color:var(--border-subtle);background:var(--raised-fill);box-shadow:0 1px 2px #0f1b2d0f,var(--sheen)}:root[data-theme=light] .lib-cat:not([aria-pressed=true]):hover,:root[data-theme=light] .lib-fav-toggle:hover,:root[data-theme=light] .ghost-btn:not(.file-menu-btn):hover,:root[data-theme=light] .icon-btn:not(:disabled):hover,:root[data-theme=light] .lid-pair .lid-btn:not([aria-pressed=true]):hover:not(:disabled){border-color:var(--border-strong);background:var(--raised-hover)}:root[data-theme=light] .lib-cat[aria-pressed=true]{border-color:#2563eb73;background:var(--chosen-fill);box-shadow:0 1px 3px #2563eb24,var(--sheen);color:#1d4ed8}:root[data-theme=light] .rail-btn[aria-pressed=true],:root[data-theme=light] .view-tabs .tab.active,:root[data-theme=light] .section-control .tab.active{background:var(--chosen-fill);box-shadow:inset 0 0 0 1px #2563eb4d,0 1px 3px #2563eb1f}:root[data-theme=light] .seg,:root[data-theme=light] .hw-pane-switch,:root[data-theme=light] .lib-view{background:linear-gradient(180deg,#e8edf3,#f1f4f8);box-shadow:var(--set-in)}:root[data-theme=light] .hw-pane-switch .hw-pane-btn[aria-selected=true],:root[data-theme=light] .lib-view .lib-view-btn[aria-pressed=true]{background:var(--raised-fill)}:root[data-theme=light] .catalog-item{border:1px solid var(--border-subtle);background:linear-gradient(180deg,#fff,#f3f6fa);box-shadow:0 1px 2px #0f1b2d0d,var(--sheen)}:root[data-theme=light] .catalog-item:hover:not(:disabled){border-color:var(--border-strong);box-shadow:0 6px 18px #0f1b2d1a}:root[data-theme=light] .num-field,:root[data-theme=light] .search,:root[data-theme=light] .project-name,:root[data-theme=light] .panel input[type=text],:root[data-theme=light] .panel input[type=number],:root[data-theme=light] .panel select,:root[data-theme=light] .panel textarea{background-color:#fff;border-color:var(--border-subtle)}:root[data-theme=light] select:not([multiple]):not([size]):not(.anchor-kind):not(.joint-select){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}:root[data-theme=light] .project-name:disabled{background-color:transparent;border-color:transparent}:root[data-theme=light] .export:hover{box-shadow:0 4px 14px #2563eb59,inset 0 1px #ffffff38}:root[data-theme=light] input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only){border-color:#b4bfcd;background:#fff;box-shadow:inset 0 1px 1px #0f1b2d0f}:root[data-theme=light] input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only):checked,:root[data-theme=light] input[type=checkbox]:not(.switch-row input):not(.inspector input):not(.sr-only):indeterminate{border-color:transparent;background:var(--accent-fill);box-shadow:0 1px 3px #2563eb59}:root[data-theme=light] .panel2d{background:radial-gradient(circle at 50% 40%,#fff,#eef2f6 75%)}:root[data-theme=light] .p2d-bg{fill:#0f1b2d04}:root[data-theme=light] .p2d-panel{fill:#a98d5f29;stroke:#8a6d3e}:root[data-theme=light] .p2d-hw-boundary{fill:#16a34a0f;stroke:#16a34a}:root[data-theme=light] .build-backdrop{background:#0f1b2d47}:root[data-theme=light] .build-modal{--build-sheen: inset 0 1px 0 rgba(255, 255, 255, .9);--build-glow: 0 0 0 1px var(--brand-cyan), 0 4px 14px rgba(37, 99, 235, .16);--build-accent-fill: var(--accent-fill);border-color:var(--border-hairline);background:#fff;box-shadow:0 24px 64px #0f1b2d38,0 0 0 1px #0f1b2d0f}:root[data-theme=light] .build-head,:root[data-theme=light] .build-foot{background:#fbfcfd}:root[data-theme=light] .build-nav{background:#f7f9fb}:root[data-theme=light] .build-head-icon{box-shadow:0 4px 12px #2563eb47,inset 0 1px #ffffff40}:root[data-theme=light] .build-close,:root[data-theme=light] .build-cancel,:root[data-theme=light] .build-presets-btn{background:#fff;box-shadow:0 1px 2px #0f1b2d0f}:root[data-theme=light] .build-nav-item[aria-current=page]{border-color:#2563eb59;background:var(--chosen-fill);box-shadow:none;color:var(--text-primary)}:root[data-theme=light] .build-nav-item[aria-current=page] svg{color:var(--brand-cyan)}:root[data-theme=light] .catalog-card{border-color:var(--border-subtle);background:#fff;box-shadow:0 1px 2px #0f1b2d0d}:root[data-theme=light] .catalog-card:after{background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.5) 50%,transparent 65%)}:root[data-theme=light] .catalog-card:hover:not(:disabled){border-color:var(--border-strong);box-shadow:0 8px 20px #0f1b2d1a}:root[data-theme=light] .catalog-card.selected{border-color:var(--brand-cyan);box-shadow:var(--build-glow)}:root[data-theme=light] .catalog-thumb{background:#eef2f6;box-shadow:inset 0 -1px 0 var(--border-hairline)}:root[data-theme=light] .panel-family-thumb{background:linear-gradient(180deg,#e9eef4,#dfe6ee)}:root[data-theme=light] .catalog-profile polygon{fill:#8592a3}:root[data-theme=light] .build-seg{background:#eef1f5;box-shadow:var(--set-in)}:root[data-theme=light] .build-modal .panel-thickness-row button:not([aria-pressed=true]){background:#fff;box-shadow:0 1px 2px #0f1b2d0f}:root[data-theme=light] .panel-thickness{background:#fffffff0}:root[data-theme=light] .build-summary{border-color:var(--border-hairline);background:#f7f9fb;box-shadow:none}:root[data-theme=light] .build-summary-picture{border-color:var(--border-hairline);background:radial-gradient(80% 70% at 50% 40%,#fff,#e6ebf1)}:root[data-theme=light] .build-modal .catalog-search input{background:#fff;box-shadow:var(--set-in)}:root[data-theme=light] .build-advanced{background:#fff;box-shadow:0 1px 2px #0f1b2d0d}:root[data-theme=light] .build-adv-card{background:#f7f9fb;box-shadow:none}:root[data-theme=light] .build-apply{box-shadow:0 4px 14px #2563eb4d,inset 0 1px #ffffff40}:root[data-theme=light] .build-presets-menu{background:#fff;box-shadow:0 16px 40px #0f1b2d29,0 0 0 1px var(--border-hairline)}:root[data-theme=light] .build-orientation-title{color:var(--text-muted)}:root[data-theme=light] .settings-backdrop,:root[data-theme=light] .shortcut-backdrop,:root[data-theme=light] .browser-backdrop,:root[data-theme=light] .params-dialog-backdrop{background:#0f1b2d47}:root[data-theme=light] .settings-dialog{border-color:var(--border-hairline);box-shadow:0 24px 64px #0f1b2d33,0 0 0 1px #0f1b2d0d}:root[data-theme=light] .build-modal .panel-thickness-row button:not([aria-pressed=true]){border-color:var(--border-subtle)}:root[data-theme=light] .panel label.switch-row input[type=checkbox]:not(:checked){background:#cfd7e2}:root[data-theme=light] .panel label.switch-row input[type=checkbox]:after{box-shadow:0 1px 2px #0f1b2d40}:root[data-theme=light] .catalog-cell .fav-btn{background:#ffffffd9;color:var(--text-secondary);box-shadow:0 1px 2px #0f1b2d26}:root[data-theme=light] .catalog-cell .fav-btn:hover{background:#fff}:root[data-theme=light] .start-preview{--text-primary: #f1f5f9;--text-secondary: #a3b3c8;--text-muted: #71839b;--brand-cyan: #60a5fa;color:var(--text-primary)}:root[data-theme=light] .canvas-wrap,:root[data-theme=light] .share-canvas{background:radial-gradient(ellipse at 50% 42%,#f7f9fc,#ebeff4 45%,#dce2ea)}:root[data-theme=light] .login-screen,:root[data-theme=light] .newproject-screen.first{background:radial-gradient(ellipse at 50% 35%,#fff,#e6ebf1 75%)}:root[data-theme=light] .newproject-screen{background:#0f1b2d47}:root[data-theme=light] .dim3-num,:root[data-theme=light] .dim3-chip{border-color:#b4bfcd;color:#334155;box-shadow:0 1px 3px #0f1b2d1f}:root[data-theme=light] .dim3-num.lit,:root[data-theme=light] .dim3-chip.on{border-color:#0891b2;color:#0e7490}:root[data-theme=light] .dim3-num.info{border-color:#cbd3de;color:#64748b}:root[data-theme=light] input.dim3-num.editing{border-color:#0891b2}:root[data-theme=light] .dim3-num:not(:disabled):hover,:root[data-theme=light] .dim3-chip:not(:disabled):hover{background:#eef2f6}:root[data-theme=light] .dim3-dot{border-color:#7b8798}:root[data-theme=light] .dim3-dot.on,:root[data-theme=light] .dim3-dot:not(:disabled):hover{border-color:#0891b2}:root[data-theme=light] .dim3-dot.on{background:#0891b2}:root[data-theme=light] .p2d-dim-anchor{fill:#fff}:root[data-theme=light] .p2d-dim-input{background:#fff}:root[data-theme=light] .build-modal .panel-thickness-row button:not([aria-pressed=true]){box-shadow:0 0 0 1px var(--border-subtle),0 1px 2px #0f1b2d0f}:root[data-theme=light] .catalog-thumb:has(.catalog-plate){background:var(--thumb-studio);box-shadow:var(--thumb-studio-edge)}:root[data-theme=light]{--island-fill: var(--bar-fill);--island-lift: 0 1px 2px rgba(15, 27, 45, .08), 0 6px 18px rgba(15, 27, 45, .08), var(--sheen)}:root[data-theme=light] .view-bar .tools-island .tools-island-body{background:transparent;box-shadow:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}:root[data-theme=light] .view-bar .tools-island .tools-toggle.active{background:var(--island-fill);box-shadow:var(--island-lift);color:var(--text-primary)}:root[data-theme=light] .view-bar .lid-island .lid-toggle.active{background:var(--island-fill);box-shadow:var(--island-lift);color:var(--text-primary)}:root[data-theme=light] .view-bar .lid-island-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}:root[data-theme=light] .lid-island-card .lid-row:hover{background:#0f1b2d09}:root[data-theme=light] .view-bar .lid-island-card .lid-icon-btn:hover:not(:disabled){background:var(--raised-hover)}:root[data-theme=light] .view-bar .lid-island-card .lid-icon-btn[aria-pressed=true],:root[data-theme=light] .view-bar .lid-island-card .lid-icon-btn[aria-pressed=true]:hover:not(:disabled){background:var(--chosen-fill);box-shadow:inset 0 0 0 1px #2563eb4d;color:var(--brand-cyan)}:root[data-theme=light] .lid-glyph-lit path{fill:#2563eb33;stroke:var(--brand-cyan)}:root[data-theme=light] .lid-glyph.is-behind .lid-glyph-lit path{fill:#2563eb1a}:root[data-theme=light] .lid-glyph.is-hidden .lid-glyph-lit path{fill:none}:root[data-theme=light] .lid-toggle-dot{box-shadow:0 0 0 2px #fff}:root[data-theme=light] .view-bar .lid-island-card .lid-icon-btn{background:#0f1b2d09;box-shadow:inset 0 0 0 1px #0f1b2d12}:root[data-theme=light] .lid-row:has(.lid-glyph.is-open) .lid-row-state,:root[data-theme=light] .lid-row:has(.lid-glyph.is-hidden) .lid-row-state{color:var(--brand-cyan)}:root[data-theme=light] .render-backdrop{background:#0f1b2d47}:root[data-theme=light] .render-studio{border-color:var(--border-hairline);background:var(--sheet-fill);box-shadow:0 24px 64px #0f1b2d38,0 0 0 1px #0f1b2d0f}:root[data-theme=light] .render-tools{border-color:var(--border-hairline);background:#f7f9fb;box-shadow:none}:root[data-theme=light] .render-close{background:#fff;box-shadow:0 1px 2px #0f1b2d0f}:root[data-theme=light] .render-frame{box-shadow:0 0 0 1px var(--border-hairline),0 6px 18px #0f1b2d14}:root[data-theme=light] .render-presets button,:root[data-theme=light] .render-preset-actions button,:root[data-theme=light] .render-preset-name button{border-color:var(--border-subtle);box-shadow:0 1px 2px #0f1b2d0f,var(--sheen)}:root[data-theme=light] .render-presets button.on{border-color:#2563eb73;color:#1d4ed8}:root[data-theme=light] .render-run{background:#fff;border-color:var(--border-subtle);box-shadow:0 1px 2px #0f1b2d0f,var(--sheen)}:root[data-theme=light] .render-run[aria-pressed=false]{border-color:#2563eb73;background:#eef4ff;color:#1d4ed8}:root[data-theme=light] .render-save{box-shadow:0 4px 14px #2563eb4d,inset 0 1px #ffffff40}:root[data-theme=light] .render-presets button,:root[data-theme=light] .render-preset-name button{background:var(--raised-fill);color:var(--text-primary)}:root[data-theme=light] .render-presets button:hover,:root[data-theme=light] .render-preset-name button:hover:not(:disabled){background:var(--raised-hover);border-color:var(--border-strong)}:root[data-theme=light] .render-presets button.on{background:var(--chosen-fill)}:root[data-theme=light] .render-preset-actions button{background:transparent;box-shadow:none}:root[data-theme=light] .render-progress-bar{background:#e2e8f0;box-shadow:inset 0 1px 1px #0f1b2d14}:root[data-theme=light] .case-type-card{border-color:var(--border-subtle);box-shadow:0 1px 2px #0f1b2d0f,var(--sheen)}:root[data-theme=light] .file-menu-btn{border-color:var(--border-subtle);box-shadow:0 1px 2px #0f1b2d0f,var(--sheen)}:root[data-theme=light] .file-menu-btn:hover{border-color:var(--border-strong);background:var(--raised-hover)}:root[data-theme=light] .file-menu-btn[aria-expanded=true]{border-color:#2563eb73;background:var(--chosen-fill);box-shadow:var(--chosen-lift)}:root[data-theme=light] .ink-chip,:root[data-theme=light] .ink-near-chip{box-shadow:inset 0 0 0 1px #0f1b2d29}:root[data-theme=light] .ink-swatch{box-shadow:inset 0 0 0 1px #0f1b2d2e,0 1px 2px #0f1b2d26}:root[data-theme=light] .brand-stage,:root[data-theme=light] .brand-placed-art{box-shadow:inset 0 0 0 1px #0f1b2d24}:root[data-theme=light] .ink-chart.ink-pop{box-shadow:0 0 0 1px #0f1b2d0f,0 12px 32px #0f1b2d29}:root[data-theme=light] .ink-pop-chip{box-shadow:inset 0 0 0 1px #0f1b2d2e}:root[data-theme=light] .view-bar .view-toolbar .tools-toggle:hover,:root[data-theme=light] .view-bar .view-toolbar .lid-toggle:hover,:root[data-theme=light] .view-bar .view-toolbar .views-toggle:hover{background:#0f1b2d0b}:root[data-theme=light] .view-bar .view-toolbar .tools-island .tools-toggle.active,:root[data-theme=light] .view-bar .view-toolbar .lid-island .lid-toggle.active,:root[data-theme=light] .view-bar .view-toolbar .views-island .views-toggle.active{background:var(--chosen-fill);box-shadow:inset 0 0 0 1px #2563eb4d;color:var(--brand-cyan)}:root[data-theme=light] .view-bar .views-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}:root[data-theme=light] .view-bar .view-tile:hover{background:var(--raised-hover)}:root[data-theme=light] .view-bar .view-tile.active{box-shadow:inset 0 0 0 1px #2563eb4d;color:var(--brand-cyan)}:root[data-theme=light] .company-picker select{background-color:#fff;border-color:var(--border-subtle)}:root[data-theme=light] .readonly-banner.lock-free{border-color:#16a34a66;background:#16a34a14}:root[data-theme=light] .design-viewers .avatar{box-shadow:0 0 0 2px #fff}:root[data-theme=light] .design-viewers .avatar.editing{box-shadow:0 0 0 2px var(--status-valid)}
