.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:inherit;font-weight:500;color:var(--text);background:var(--panel-elevated);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}.btn:hover:not(:disabled){background:var(--hover);border-color:var(--border-strong)}.btn:active:not(:disabled){background:var(--pressed)}.btn:disabled{color:var(--text-disabled);cursor:default}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn--primary:disabled{color:var(--text-on-accent);opacity:.45}.btn--ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){color:var(--text)}.btn--medium{height:var(--control);padding:0 var(--space-3);font-size:var(--text-md)}.btn--large{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--space-1);min-height:var(--control-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-lg);text-align:left}.icon{display:block;flex:none;shape-rendering:geometricPrecision}.report-history__backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-start;justify-content:center;padding:8vh 1rem 2rem;overflow-y:auto;background:#0a09089e}.report-history{display:flex;flex-direction:column;gap:.85rem;width:min(560px,100%);padding:1.25rem;background:var(--panel-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover)}.report-history__header{display:flex;gap:.5rem;align-items:center;color:var(--text-secondary)}.report-history__title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, var(--text))}.report-history__section{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--panel-sunken);border:1px solid var(--border);border-radius:var(--radius-lg)}.report-history__section-title{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.report-history__note,.report-history__empty{margin:0;font-size:.78rem;line-height:1.45;color:var(--text-muted)}.report-history__warning{margin:0;padding:.45rem .55rem;font-size:.78rem;line-height:1.45;color:var(--text-secondary);background:var(--surface-base, rgb(0 0 0 / 20%));border-radius:var(--radius-md)}.report-history__list{display:flex;flex-direction:column;gap:.35rem;max-height:18rem;margin:0;padding:0;overflow-y:auto;list-style:none}.report-history__item{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;padding:.5rem .6rem;background:var(--surface-base, rgb(0 0 0 / 15%));border:1px solid var(--border);border-radius:var(--radius-md)}.report-history__item-main{display:flex;flex-direction:column;gap:.15rem}.report-history__id{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.95rem;font-weight:600;color:var(--text-primary, var(--text));-webkit-user-select:all;user-select:all}.report-history__meta{font-size:.75rem;color:var(--text-muted)}.report-history__item-actions,.report-history__list-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.report-history__confirm{flex:1 1 12rem;font-size:.78rem;line-height:1.4;color:var(--text-secondary)}.report-history__lookup{display:flex;flex-direction:column;gap:.35rem}.report-history__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.report-history__lookup-row{display:flex;gap:.5rem;align-items:stretch}.report-history__input{flex:1;padding:.45rem .55rem;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.9rem;color:var(--text-primary, var(--text));background:var(--surface-base, var(--panel-sunken));border:1px solid var(--border);border-radius:var(--radius-md);outline:none}.report-history__input:focus-visible{border-color:var(--accent)}.report-history__input[aria-invalid=true]{border-color:var(--error)}.report-history__error{margin:0;padding:.45rem .55rem;font-size:.8rem;color:var(--error);background:var(--error-bg);border-radius:var(--radius-md)}.report-history__status:empty{display:none}.report-history__status{margin:0;font-size:.8rem;color:var(--text-secondary)}.report-history__actions{display:flex;gap:.5rem;justify-content:flex-end}.report-dialog__backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-start;justify-content:center;padding:8vh 1rem 2rem;overflow-y:auto;background:#0a09089e}.report-dialog{display:flex;flex-direction:column;gap:.85rem;width:min(520px,100%);padding:1.25rem;background:var(--panel-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover)}.report-dialog__header{display:flex;gap:.5rem;align-items:center;color:var(--text-secondary)}.report-dialog__title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, var(--text))}.report-dialog__types{display:flex;gap:.5rem;margin:0;padding:0;border:0}.report-dialog__legend{padding:0;margin-bottom:.35rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.report-dialog__type{display:flex;flex:1;gap:.5rem;align-items:flex-start;padding:.55rem .6rem;cursor:pointer;background:var(--surface-base, var(--panel-sunken));border:1px solid var(--border);border-radius:var(--radius-lg)}.report-dialog__type:hover{border-color:var(--border-strong)}.report-dialog__type:has(input:checked){background:var(--accent-quiet);border-color:var(--accent-line)}.report-dialog__type:focus-within{outline:2px solid var(--accent);outline-offset:1px}.report-dialog__type-body{display:flex;flex-direction:column;gap:.15rem}.report-dialog__type-label{font-weight:600;color:var(--text-primary, var(--text))}.report-dialog__type-hint,.report-dialog__consent-note{font-size:.78rem;line-height:1.4;color:var(--text-muted)}.report-dialog__field{display:flex;flex-direction:column;gap:.35rem}.report-dialog__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.report-dialog__input,.report-dialog__textarea{padding:.45rem .55rem;font:inherit;color:var(--text-primary, var(--text));background:var(--surface-base, var(--panel-sunken));border:1px solid var(--border);border-radius:var(--radius-md);outline:none}.report-dialog__textarea{resize:vertical;min-height:6rem}.report-dialog__input:focus-visible,.report-dialog__textarea:focus-visible{border-color:var(--accent)}.report-dialog__input:disabled,.report-dialog__textarea:disabled{color:var(--text-disabled)}.report-dialog__consent{display:flex;flex-direction:column;gap:.4rem;padding:.7rem;background:var(--panel-sunken);border:1px solid var(--border);border-radius:var(--radius-lg)}.report-dialog__checkbox{display:flex;gap:.5rem;align-items:center;cursor:pointer;color:var(--text-secondary)}.report-dialog__consent-note{margin:0}.report-dialog__disclosure{display:flex;gap:.3rem;align-items:center;align-self:flex-start;padding:0;font:inherit;font-size:.78rem;color:var(--accent);cursor:pointer;background:none;border:0}.report-dialog__disclosure:hover{color:var(--accent-hover)}.report-dialog__diagnostics{display:flex;flex-direction:column;gap:.2rem;max-height:12rem;margin:.2rem 0 0;overflow-y:auto;font-size:.75rem}.report-dialog__diagnostic{display:flex;gap:.5rem}.report-dialog__diagnostic dt{flex:0 0 11rem;color:var(--text-muted)}.report-dialog__diagnostic dd{margin:0;overflow-wrap:anywhere;color:var(--text-secondary)}.report-dialog__feedback:empty{display:none}.report-dialog__status,.report-dialog__error{margin:0;font-size:.85rem}.report-dialog__status{color:var(--text-secondary)}.report-dialog__error{padding:.45rem .55rem;color:var(--error);background:var(--error-bg);border-radius:var(--radius-md)}.report-dialog__submitted{display:flex;flex-direction:column;gap:.6rem}.report-dialog__submitted-note{margin:0;font-size:.8rem;line-height:1.45;color:var(--text-muted)}.report-dialog__ticket{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .8rem;background:var(--accent-quiet);border:1px solid var(--accent-line);border-radius:var(--radius-lg)}.report-dialog__ticket-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.report-dialog__ticket-id{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:1.35rem;font-weight:600;line-height:1.2;letter-spacing:.04em;color:var(--text-primary, var(--text));-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.report-dialog__ticket-actions{display:flex;gap:.5rem}.report-dialog__ticket-status:empty{display:none}.report-dialog__ticket-status{margin:0;font-size:.8rem;color:var(--text-secondary)}.report-dialog__visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.report-dialog__actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.15rem}.report-dialog__trace{max-height:14rem;margin:.4rem 0 0;padding:.5rem;overflow:auto;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.7rem;line-height:1.5;color:var(--text-secondary);white-space:pre;background:var(--surface-sunken, rgb(0 0 0 / 20%));border-radius:4px}.palette{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:14vh var(--space-4) var(--space-6);background:#0a09089e}.palette__panel{display:flex;flex-direction:column;width:min(600px,100%);max-height:66vh;overflow:hidden;background:var(--panel-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover)}.palette__search{height:var(--control-lg);padding:0 var(--space-4);font:inherit;font-size:var(--text-lg);color:var(--text);background:transparent;border:none;border-bottom:1px solid var(--border);outline:none}.palette__search::placeholder{color:var(--text-muted)}.palette__results{flex:1;margin:0;padding:var(--space-1);overflow:auto;list-style:none}.palette__item{display:flex;align-items:baseline;gap:var(--space-3);height:var(--control);padding:0 var(--space-2);border-radius:var(--radius);border-left:2px solid transparent;cursor:pointer}.palette__item--active{background:var(--accent-quiet);border-left-color:var(--accent)}.palette__item--unavailable{cursor:default}.palette__item--unavailable .palette__title{color:var(--text-muted)}.palette__unavailable{font-size:var(--text-sm);color:var(--text-muted);font-style:italic;white-space:nowrap}.palette__category{flex:0 0 7ch;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-disabled)}.palette__title{flex:1;font-size:var(--text-md);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette__shortcut{padding:1px 5px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);background:var(--panel-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap}.palette__empty{margin:0;padding:var(--space-4);font-size:var(--text-md);color:var(--text-muted)}.palette__footer{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-disabled);border-top:1px solid var(--divider)}@media(max-width:640px){.palette{padding:8vh var(--space-3) var(--space-4)}.palette__category{display:none}}.help-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:#0a09089e}.help-overlay__panel{display:flex;flex-direction:column;width:min(880px,100%);max-height:100%;background:var(--panel-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);outline:none}.help-overlay__header{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--border)}.help-overlay__title{flex:1;margin:0;font-size:.95rem;font-weight:600;letter-spacing:.04em;color:var(--text-primary)}.help-overlay__close{padding:.2rem .5rem;font:inherit;font-size:.85rem;color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer}.help-overlay__close:hover{color:var(--text-primary);background:var(--surface-hover)}.help-overlay__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.help-overlay__sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.4rem;padding:1.1rem;overflow:auto}.help-overlay__section-title{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.help-overlay__scope{margin:.15rem 0 .6rem;font-size:.72rem;color:var(--text-muted)}.help-overlay__bindings{display:flex;flex-direction:column;gap:.3rem;margin:0}.help-overlay__binding{display:flex;align-items:baseline;gap:.6rem}.help-overlay__keys{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:.2rem;min-width:7.5rem}.help-overlay__key{padding:.1rem .4rem;font-family:ui-monospace,SF Mono,Cascadia Mono,Menlo,Consolas,monospace;font-size:.7rem;line-height:1.4;color:var(--text-secondary);background:var(--surface-base);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;white-space:nowrap}.help-overlay__action{margin:0;font-size:.8rem;color:var(--text-secondary)}.help-overlay__footer{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;padding:.7rem 1.1rem;font-size:.72rem;color:var(--text-muted);border-top:1px solid var(--border)}@media(max-width:640px){.help-overlay{padding:.75rem}.help-overlay__sections{grid-template-columns:1fr}}.viewcube{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);pointer-events:none}.viewcube__svg{width:78px;height:78px;pointer-events:auto;cursor:pointer}.viewcube__face polygon{fill:#242220eb;stroke:#4a4641;stroke-width:.02}.viewcube__face text{font-size:.22px;fill:#b3ada3;-webkit-user-select:none;user-select:none}.viewcube__face--active polygon{fill:#c9743c42;stroke:var(--accent)}.viewcube__face:hover polygon{fill:#d5b25f42;stroke:var(--pick-edge)}.viewcube__hotspot{fill:#b3ada324}.viewcube__hotspot:hover{fill:#d5b25f8c}.viewcube__views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;pointer-events:auto}.viewcube__view{height:var(--control-xs);padding:0 var(--space-2);font:inherit;font-size:var(--text-xs);color:var(--text-muted);background:var(--app-bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.viewcube__view:hover{color:var(--text);border-color:var(--border-strong)}.viewcube__view[aria-pressed=true]{color:var(--text);border-color:var(--accent-line);background:var(--accent-quiet)}.viewcube__view--fit{grid-column:1 / -1;color:var(--text-secondary)}.viewport{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--viewport-bg)}.viewport__canvas{width:100%;height:100%}.viewport canvas{display:block;width:100%;height:100%}.viewport__planes{position:absolute;bottom:var(--space-2);left:var(--space-2);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);max-width:calc(100% - var(--space-4));pointer-events:none}.viewport__plane{pointer-events:auto;height:var(--control-sm);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--app-bg);color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer}.viewport__plane[data-plane=XY]{border-left:3px solid #5e93b8}.viewport__plane[data-plane=XZ]{border-left:3px solid #7aa86b}.viewport__plane[data-plane=YZ]{border-left:3px solid #c96a5e}.viewport__plane:hover,.viewport__plane[data-hovered]{background:var(--panel-elevated);color:var(--text)}.viewport__plane:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.viewport__plane[aria-pressed=true]{border-color:var(--accent-line);background:var(--accent-quiet);color:var(--text)}.viewport__planes-hint{margin:0;padding-left:var(--space-1);color:var(--text-muted);font-size:var(--text-sm)}.viewport__selection{position:absolute;right:var(--space-2);bottom:var(--space-2);max-width:260px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--app-bg);font-size:var(--text-sm)}.viewport__selection-count{margin:0 0 var(--space-1);color:var(--text-muted)}.viewport__selection-list{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:0 0 var(--space-1);padding:0;list-style:none}.viewport__selection-chip{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-xs);padding:0 var(--space-2);border:1px solid var(--accent-line);border-radius:var(--radius);background:var(--accent-quiet);color:var(--accent-hover);font:inherit;cursor:pointer}.viewport__selection-clear{padding:0;border:none;background:none;color:var(--text-muted);font:inherit;cursor:pointer}.viewport__selection-clear:hover{color:var(--accent);text-decoration:underline}.viewport__visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sketch{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 236px;grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;min-height:0;background:var(--viewport-bg)}.sketch--no-toolbar{grid-template-columns:minmax(0,1fr)}.sketch__tools{display:flex;flex-direction:column;gap:1px;padding:var(--space-1);overflow-y:auto;border-right:1px solid var(--border);background:var(--panel)}.sketch__tool{display:flex;align-items:center;justify-content:center;width:36px;height:32px;padding:0;line-height:1;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:pointer}.sketch__tool-icon{display:block;overflow:visible}.sketch__tool:hover{color:var(--text);background:var(--hover)}.sketch__tool--active{color:var(--text);background:var(--selected);border-color:var(--accent-line)}.sketch__frame{position:relative;min-width:0;min-height:0;overflow:hidden}.sketch__canvas{display:block;touch-action:none;cursor:crosshair}.sketch__dimension-input{position:absolute;width:76px;height:var(--control-sm);padding:0 var(--space-1);font:inherit;font-size:var(--text-md);color:var(--text);text-align:center;background:var(--panel-elevated);border:1px solid var(--accent);border-radius:var(--radius);transform:translate(-50%,-50%)}.sketch__fit{position:absolute;right:var(--space-2);bottom:var(--space-2);height:var(--control-sm);padding:0 var(--space-3);font:inherit;font-size:var(--text-sm);color:var(--text-secondary);background:#14181ce0;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.sketch__fit:hover{color:var(--text);background:var(--hover)}.sketch__panels{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);overflow-y:auto;border-left:1px solid var(--border);background:var(--panel)}.sketch--no-toolbar .sketch__panels{position:absolute;top:var(--space-2);right:var(--space-2);z-index:3;width:224px;max-height:calc(100% - var(--control-lg) - var(--space-4));gap:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-elevated);box-shadow:var(--shadow-popover)}.sketch__panel-title{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-disabled)}.sketch__option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--control-sm);font-size:var(--text-md);color:var(--text-secondary)}.sketch__option input[type=number],.sketch__option select{width:82px;height:var(--control-sm);padding:0 var(--space-1);font:inherit;font-size:var(--text-md);color:var(--text);background:var(--panel-sunken);border:1px solid var(--border);border-radius:var(--radius)}.sketch__properties{margin:0;font-size:var(--text-md)}.sketch__properties dt{color:var(--text-muted)}.sketch__properties dd{margin:0 0 var(--space-1);color:var(--text-secondary)}.sketch__property{display:flex;justify-content:space-between;gap:var(--space-2)}.sketch__empty{margin:0;font-size:var(--text-md);color:var(--text-muted)}.sketch__constraints{margin:0;padding:0;list-style:none}.sketch__constraint{display:grid;grid-template-columns:16px minmax(0,1fr) 18px;gap:var(--space-1);align-items:center;min-height:var(--control-xs);font-size:var(--text-md);color:var(--text-secondary)}.sketch__constraint-delete{padding:0;font-size:var(--text-lg);line-height:1;color:var(--text-muted);background:transparent;border:none;cursor:pointer}.sketch__constraint-delete:hover{color:var(--error)}.sketch__status{display:flex;grid-column:1 / -1;align-items:center;gap:var(--space-4);height:var(--control-lg);padding:0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);border-top:1px solid var(--border);background:var(--panel)}.sketch__message{font-family:var(--font-ui)}.sketch__message{margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);flex:none;font:inherit;font-size:var(--text-md);color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background 90ms ease,color 90ms ease,border-color 90ms ease}.iconbtn--md{width:var(--control);height:var(--control)}.iconbtn--sm{width:var(--control-sm);height:var(--control-sm)}.iconbtn--labelled{width:auto;padding:0 var(--space-2)}.iconbtn:hover:not(:disabled){color:var(--text);background:var(--hover)}.iconbtn:active:not(:disabled){background:var(--pressed)}.iconbtn:disabled{color:var(--text-disabled);cursor:default}.iconbtn--active{color:var(--text);background:var(--selected);border-color:var(--accent-line)}.iconbtn--accent{color:var(--text);background:var(--accent-quiet);border-color:var(--accent-line)}.iconbtn--accent:hover:not(:disabled){background:var(--selected-strong)}.iconbtn--danger:hover:not(:disabled){color:var(--error);background:var(--error-bg)}.iconbtn__label{white-space:nowrap}.appbar{display:flex;align-items:center;gap:var(--space-2);flex:none;height:var(--band-document);padding:0 var(--space-2);background:var(--app-bg);overflow:hidden}.appbar__brand{flex:none;padding:0 var(--space-2) 0 var(--space-1);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wordmark);text-transform:uppercase;color:var(--text-muted)}.appbar__identity{display:flex;align-items:baseline;gap:var(--space-2);min-width:0;padding-left:var(--space-3);border-left:1px solid var(--divider)}.appbar__doc{width:22ch;height:var(--control-sm);padding:0 var(--space-2);font:inherit;font-size:var(--text-lg);color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--radius);outline:none}.appbar__doc:hover{border-color:var(--border)}.appbar__doc:focus{background:var(--panel-sunken);border-color:var(--accent-line)}.appbar__state{flex:none;font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-disabled);cursor:help}.appbar__state--modified{display:flex;align-items:center;gap:5px;color:var(--warning)}.appbar__state--modified:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.appbar__history{display:flex;align-items:center;gap:1px;padding-left:var(--space-2);border-left:1px solid var(--divider)}.appbar__spacer{flex:1}.appbar__actions{display:flex;align-items:center;gap:var(--space-1)}.appbar__actions-support{display:flex;align-items:center;gap:1px;padding:0 var(--space-1);margin-left:var(--space-1);border-left:1px solid var(--divider)}@media(max-width:1100px){.appbar__brand{display:none}.appbar__identity{padding-left:var(--space-1);border-left:none}.appbar__doc{width:14ch}}@media(max-width:820px){.appbar__state:not(.appbar__state--modified){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.cmd{display:inline-flex;align-items:center;gap:var(--space-2);flex:none;font:inherit;font-size:var(--text-md);color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;white-space:nowrap;transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}.cmd:hover:not(:disabled):not(.cmd--unavailable){color:var(--text);background:var(--hover)}.cmd:active:not(:disabled):not(.cmd--unavailable){background:var(--pressed)}.cmd:disabled{color:var(--text-disabled);cursor:default}.cmd--unavailable{color:var(--text-disabled);cursor:not-allowed;background-image:repeating-linear-gradient(135deg,transparent 0 5px,rgba(255,255,255,.03) 5px 6px)}.cmd--active{color:var(--text);background:var(--accent-quiet);box-shadow:inset 0 -2px 0 var(--accent)}.cmd--active:hover:not(:disabled){background:var(--accent-strong)}.cmd--primary{color:var(--text);border-color:var(--accent-line);background:var(--accent-quiet)}.cmd--primary:hover:not(:disabled){background:var(--accent-strong)}.cmd--row{height:var(--control);padding:0 var(--space-2);gap:6px}.cmd--tool{justify-content:center;width:var(--control);height:var(--control);padding:0}.cmd--menu{width:100%;height:var(--control);padding:0 var(--space-2);text-align:left}.cmd--menu .cmd__label{flex:1;overflow:hidden;text-overflow:ellipsis}.cmd__art{display:flex;align-items:center;justify-content:center;flex:none;color:var(--text-muted)}.cmd:hover:not(:disabled):not(.cmd--unavailable) .cmd__art,.cmd--active .cmd__art,.cmd--primary .cmd__art{color:inherit}.cmd--tool .cmd__art{color:inherit}.cmd__key{flex:none;padding:1px 5px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);background:var(--panel-sunken);border:1px solid var(--border);border-radius:var(--radius-sm)}.panel{display:flex;flex-direction:column;min-height:0;background:var(--panel)}.panel--left{border-right:1px solid var(--border)}.panel--right{border-left:1px solid var(--border)}.panel__header{display:flex;align-items:center;gap:var(--space-2);flex:none;height:30px;padding:0 var(--space-1) 0 var(--space-3);background:var(--panel);border-bottom:1px solid var(--divider)}.panel__title{flex:1;margin:0;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-disabled)}.panel__header-actions{display:flex;align-items:center;gap:1px}.panel__body{flex:1;min-height:0;padding-bottom:var(--space-3);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.panel__empty{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--text-md);line-height:1.6;color:var(--text-muted);text-wrap:pretty}.psection{border-bottom:1px solid var(--divider)}.psection:last-child{border-bottom:none}.psection__header{display:flex;align-items:center;height:var(--control);padding-right:var(--space-1)}.psection__header:hover{background:var(--hover)}.psection__toggle{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;height:100%;padding:0 var(--space-2);font:inherit;font-size:var(--text-md);font-weight:500;color:var(--text-secondary);text-align:left;background:transparent;border:none;cursor:pointer}.psection__toggle:hover{color:var(--text)}.psection__icon{color:var(--text-muted)}.psection__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.psection__detail{flex:none;font-size:var(--text-sm);color:var(--text-muted)}.psection__actions{display:flex;align-items:center;gap:1px;opacity:0;transition:opacity 90ms ease}.psection__header:hover .psection__actions,.psection__actions:focus-within{opacity:1}.psection__body{padding-bottom:var(--space-1)}.cmdbar{display:flex;align-items:stretch;flex:none;height:var(--band-command);padding:0 var(--space-2);background:var(--app-bg);border-bottom:1px solid var(--border)}.cmdbar__workspaces{display:flex;align-items:stretch;flex:none;max-width:46%;padding-right:var(--space-2);overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(to right,#000 calc(100% - 16px),transparent 100%)}.cmdbar__workspaces::-webkit-scrollbar{display:none}.cmdbar__workspace{flex:none;padding:0 var(--space-2);font:inherit;font-size:var(--text-md);color:var(--text-muted);white-space:nowrap;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--motion-fast) var(--ease)}.cmdbar__workspace:hover{color:var(--text-secondary)}.cmdbar__workspace--active{color:var(--text);border-bottom-color:var(--accent)}.cmdbar__panel{display:flex;align-items:center;flex:1;min-width:0;padding-left:var(--space-2);border-left:1px solid var(--divider)}.cmdbar__panel:focus{outline:none}.cmdbar__groups{display:flex;align-items:center;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 20px),transparent 100%);mask-image:linear-gradient(to right,#000 calc(100% - 20px),transparent 100%)}.cmdbar__groups::-webkit-scrollbar{display:none}.cmdbar__group{display:flex;align-items:center;gap:1px;flex:none;padding:0 var(--space-2);border-right:1px solid var(--divider)}.cmdbar__group:first-child{padding-left:0}.cmdbar__group:last-child{border-right:none}.cmdbar__group-label{flex:none;padding-right:var(--space-2);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-disabled);white-space:nowrap}.cmdbar__placeholder{align-self:center;margin:0;overflow:hidden;font-size:var(--text-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.cmdbar__trailing{display:flex;align-items:center;gap:var(--space-2);flex:none;padding-left:var(--space-3);margin-left:var(--space-2);border-left:1px solid var(--divider)}@media(max-width:1500px){.cmdbar__group-label{display:none}}@media(max-width:1100px){.cmdbar__group{padding:0 var(--space-1)}.cmdbar__workspaces{max-width:30%}.cmdbar__workspace,.cmd--row{padding:0 6px}}.statusbar{display:flex;align-items:center;gap:var(--space-4);flex:none;height:var(--statusbar-height);padding:0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);background:var(--app-bg);border-top:1px solid var(--divider);overflow:hidden}.statusbar__item{display:flex;align-items:center;gap:var(--space-1);flex:none;white-space:nowrap}.statusbar__item[title]{cursor:help}.statusbar__item--warning{color:var(--warning)}.statusbar__item--error{color:var(--error)}.statusbar__item--accent{color:var(--accent)}.statusbar__spacer{flex:1}@media(max-width:900px){.statusbar{gap:var(--space-3)}}.bodies__empty{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--text-md);line-height:1.5;color:var(--text-muted)}.bodies__group+.bodies__group{margin-top:var(--space-1)}.bodies__group-title{display:block;width:100%;padding:0 var(--space-2) 0 var(--space-4);font:inherit;font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;text-align:left;color:var(--text-muted);background:transparent;border:none;cursor:pointer;line-height:var(--control-xs)}.bodies__group-title:hover{color:var(--accent)}.bodies__group-title--plain{cursor:default}.bodies__group-title--plain:hover{color:var(--text-muted)}.bodies__list{margin:0;padding:0;list-style:none}.bodies__item{display:flex;align-items:center}.bodies__row{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;height:var(--control-sm);padding:0 var(--space-2) 0 var(--space-5);font:inherit;font-size:var(--text-md);color:var(--text-secondary);text-align:left;background:transparent;border:none;border-left:2px solid transparent;cursor:pointer}.bodies__row:hover{color:var(--text);background:var(--hover)}.bodies__row--selected{color:var(--text);background:var(--selected);border-left-color:var(--accent)}.bodies__row--hidden .bodies__name{color:var(--text-disabled);font-style:italic}.bodies__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bodies__count{flex:1;font-size:var(--text-sm);color:var(--text-muted);text-align:right;white-space:nowrap}.bodies__action{flex:none;opacity:0;transition:opacity 90ms ease}.bodies__item:hover .bodies__action,.bodies__action:focus-visible{opacity:1}.bodies__row--hidden~.bodies__action{opacity:1}.feature-tree{position:relative;display:flex;flex-direction:column;min-height:0}.feature-tree__header{display:flex;align-items:baseline;gap:var(--space-1);padding:0 var(--space-3) var(--space-2)}.feature-tree__title{margin:0;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.feature-tree__count{font-size:var(--text-sm);color:var(--text-muted)}.feature-tree__empty{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--text-md);color:var(--text-muted)}.feature-tree__list{margin:0;padding:0;list-style:none}.feature-tree__rollbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-4)}.feature-tree__rollbar-line{flex:1;height:2px;border-radius:1px;background:var(--accent)}.feature-tree__rollbar-label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--accent)}.feature-tree__slider{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-1) var(--space-4);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.feature-tree__slider input{flex:1;min-width:0;accent-color:var(--accent)}.feature-row{padding:0;border-left:2px solid transparent;cursor:grab}.feature-row:hover{background:var(--hover)}.feature-row__main{display:flex;align-items:center;gap:var(--space-1);min-height:var(--control-sm);padding:0 var(--space-2) 0 var(--space-3)}.feature-row--selected{background:var(--selected);border-left-color:var(--accent)}.feature-row--dependent{background:#c9743c12;box-shadow:inset 0 0 0 1px var(--accent-line)}.feature-row--drop-target{border-top:2px solid var(--accent)}.feature-row--rolled-back .feature-row__name,.feature-row--suppressed .feature-row__name{color:var(--text-disabled);text-decoration:line-through}.feature-row--sketch .feature-row__icon{color:var(--accent)}.feature-row--hidden .feature-row__name,.feature-row--hidden .feature-row__support{color:var(--text-disabled);font-style:italic}.feature-row__visibility{display:flex;align-items:center;justify-content:center;width:var(--control-xs);height:var(--control-xs);padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity 90ms ease}.feature-row:hover .feature-row__visibility,.feature-row__visibility:focus-visible,.feature-row__visibility[aria-pressed=false]{opacity:1}.feature-row__visibility:hover{color:var(--text);background:var(--pressed)}.feature-row__support{margin:0 0 var(--space-1) var(--space-6);font-size:var(--text-sm);color:var(--text-muted)}.feature-row__disclosure{display:flex;align-items:center;justify-content:center;width:14px;padding:0;border:none;background:none;color:var(--text-muted);cursor:pointer}.feature-row__disclosure--leaf{display:inline-block;cursor:default}.feature-row__icon{color:var(--text-muted)}.feature-row__name{flex:1;min-width:0;overflow:hidden;padding:0;border:none;background:none;text-align:left;text-overflow:ellipsis;white-space:nowrap;font:inherit;font-size:var(--text-md);color:var(--text-secondary);cursor:pointer}.feature-row--selected .feature-row__name{color:var(--text);font-weight:500}.feature-row__rename{flex:1;min-width:0;height:var(--control-xs);padding:0 var(--space-1);font:inherit;font-size:var(--text-md);color:var(--text);background:var(--panel-sunken);border:1px solid var(--accent);border-radius:var(--radius-sm)}.feature-row__status{flex:none;width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.feature-row__status--active{background:var(--success)}.feature-row__status--suppressed{background:var(--warning)}.feature-row__status--error{background:var(--error)}.feature-row__error{margin:0 0 var(--space-1) var(--space-6);padding-right:var(--space-2);font-size:var(--text-sm);color:var(--error)}.feature-row__children{margin:0;padding:0 0 var(--space-1) var(--space-6);list-style:none}.feature-row__child{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-muted)}.feature-menu{position:fixed;z-index:20;min-width:160px;margin:0;padding:var(--space-1);list-style:none;background:var(--panel-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popover)}.feature-menu button{display:block;width:100%;height:var(--control-sm);padding:0 var(--space-2);border:none;border-radius:var(--radius-sm);background:none;text-align:left;font:inherit;font-size:var(--text-md);color:var(--text-secondary);cursor:pointer}.feature-menu button:hover{background:var(--hover);color:var(--text)}.section{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-5)}.section__mode{width:100%;height:var(--control-sm);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-sunken);font:inherit;font-size:var(--text-md);color:var(--text)}.section__mode:hover{border-color:var(--border-strong)}.section__axis{display:grid;grid-template-columns:14px 1fr var(--control-sm);align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.section__axis input[type=range]{width:100%;min-width:0;accent-color:var(--accent)}.section__flip{display:flex;align-items:center;justify-content:center;height:var(--control-sm);border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer}.section__flip:hover{color:var(--text);border-color:var(--border-strong)}.section__flip[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.browser{width:var(--panel-width)}.browser__document{display:flex;align-items:center;gap:var(--space-2);height:var(--control);padding:0 var(--space-3);font-size:var(--text-md);font-weight:500;color:var(--text);background:transparent;border-bottom:1px solid var(--divider)}.browser__document-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser__list,.browser__planes{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.browser__item{display:flex;align-items:center}.browser__row{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;height:var(--control-sm);padding:0 var(--space-2) 0 var(--space-5);font:inherit;font-size:var(--text-md);color:var(--text-secondary);text-align:left;background:transparent;border:none;border-left:2px solid transparent;cursor:pointer}.browser__row:hover{color:var(--text);background:var(--hover)}.browser__row--selected{color:var(--text);background:var(--accent-quiet);border-left-color:var(--accent)}.browser__row--selected:hover{background:var(--accent-strong)}.browser__row--hidden .browser__row-name{color:var(--text-disabled);font-style:italic}.browser__row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser__row-detail{flex:1;overflow:hidden;font-size:var(--text-sm);color:var(--text-muted);text-align:right;text-overflow:ellipsis;white-space:nowrap}.browser__row-action{flex:none;margin-right:var(--space-1);opacity:0;transition:opacity 90ms ease}.browser__item:hover .browser__row-action,.browser__row-action:focus-visible{opacity:1}.browser__face-sketch{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-5)}.browser__face-sketch:has(.panel__empty){padding:0}.browser__select{width:100%;height:var(--control-sm);padding:0 var(--space-2);font:inherit;font-size:var(--text-md);color:var(--text);background:var(--panel-sunken);border:1px solid var(--border);border-radius:var(--radius);outline:none}.browser__select:hover{border-color:var(--border-strong)}.browser__button{height:var(--control-sm);padding:0 var(--space-3);font:inherit;font-size:var(--text-md);color:var(--text);background:var(--panel-elevated);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.browser__button:hover:not(:disabled){background:var(--hover);border-color:var(--border-strong)}.browser__button:disabled{color:var(--text-disabled);cursor:default}@media(max-width:1100px){.browser{width:208px}}.command-dialog{position:absolute;right:var(--space-3);bottom:var(--space-3);z-index:4;display:flex;flex-direction:column;gap:var(--space-2);width:260px;padding:var(--space-3);background:var(--panel-elevated);border:1px solid var(--accent-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover)}.command-dialog__header{display:flex;align-items:center;gap:var(--space-2);color:var(--text)}.command-dialog__title{font-size:var(--text-md);font-weight:500;letter-spacing:.02em;text-transform:uppercase}.command-dialog__prompt{font-size:var(--text-sm);line-height:1.4;color:var(--text-secondary)}.command-dialog__empty{padding:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);background:var(--panel);border:1px dashed var(--border);border-radius:var(--radius)}.command-dialog__chips{display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none}.command-dialog__chip{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-sm);padding:0 var(--space-1) 0 var(--space-2);font:inherit;font-size:var(--text-sm);color:var(--text);background:var(--panel);border:1px solid var(--accent-line);border-left-width:2px;border-radius:var(--radius);cursor:pointer}.command-dialog__chip:hover{border-color:var(--error)}.command-dialog__select{width:100%;height:var(--control);padding:0 var(--space-2);font:inherit;font-size:var(--text-sm);color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.command-dialog__actions{display:flex;gap:var(--space-2)}.command-dialog__action{flex:1;height:var(--control);font:inherit;font-size:var(--text-sm);font-weight:500;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.command-dialog__action:hover:not(:disabled){border-color:var(--accent-line)}.command-dialog__action--primary{background:var(--accent-quiet);border-color:var(--accent-line)}.command-dialog__action:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.6}.properties{display:flex;flex-direction:column;min-height:0}.properties__subtitle{margin:var(--space-4) 0 var(--space-1);padding:0 var(--space-3);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.properties__feature{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm);margin:0 0 var(--space-2);padding:0 var(--space-3);font-size:var(--text-lg);font-weight:500;color:var(--text)}.properties__empty{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--text-md);line-height:1.5;color:var(--text-muted)}.properties__error{margin:0 var(--space-3) var(--space-2);padding:var(--space-2);font-size:var(--text-sm);line-height:1.45;color:var(--error);background:var(--error-bg);border-radius:var(--radius)}.properties__fields{margin:0;padding:0 var(--space-3)}.properties__row{display:grid;grid-template-columns:1fr 88px;align-items:center;gap:var(--space-2);min-height:var(--control)}.properties__row dt{font-size:var(--text-md);color:var(--text-muted)}.properties__row dd{margin:0;min-width:0}.properties__row input,.properties__row select{width:100%;height:var(--control-sm);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-sunken);font:inherit;font-size:var(--text-md);color:var(--text)}.properties__row input[type=number],.properties__row input[type=text]{font-family:var(--font-mono);font-size:var(--text-sm)}.properties__row input:focus-visible,.properties__row select:focus-visible{border-color:var(--accent-line)}.properties__row input:hover,.properties__row select:hover{border-color:var(--border-strong)}.properties__row input[type=checkbox]{width:auto;height:auto;accent-color:var(--accent)}.properties__fields--readonly dd{font-size:var(--text-md);color:var(--text-secondary)}.properties__row--selection{display:block;padding:var(--space-2) 0;border-top:1px solid var(--divider)}.properties__chips{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-1) 0;padding:0;list-style:none}.properties__chip{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-xs);padding:0 var(--space-2);border:1px solid var(--pick-face);border-radius:var(--radius);background:#93b3a61f;color:var(--pick-face);font:inherit;font-size:var(--text-sm);cursor:pointer}.properties__chip:hover{background:#93b3a638}.properties__empty-field{margin:var(--space-1) 0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.45}.properties__pick{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-1)}.properties__pick button{height:var(--control-sm);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-elevated);color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer}.properties__pick button:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.properties__pick button:disabled{color:var(--text-disabled);cursor:default}.properties__pick-toggle[aria-pressed=true]{border-color:var(--pick-face);background:#93b3a626;color:var(--pick-face)}.inspector{width:var(--panel-width-right)}.inspector__tabs{display:flex;align-items:stretch;flex:none;height:30px;padding:0 var(--space-1);background:var(--panel);border-bottom:1px solid var(--divider)}.inspector__tab{flex:1;min-width:0;padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit;font-size:var(--text-md);color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--motion-fast) var(--ease)}.inspector__tab:hover{color:var(--text-secondary)}.inspector__tab--active{color:var(--text);border-bottom-color:var(--accent)}.inspector__body{padding:var(--space-2) 0}.inspector__heading{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm);padding:0 var(--space-2) 0 var(--space-3);color:var(--text)}.inspector__title{flex:1;overflow:hidden;font-size:var(--text-lg);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.inspector__count{flex:1;font-size:var(--text-md);color:var(--text-secondary)}.inspector__link{padding:0;font:inherit;font-size:var(--text-md);color:var(--accent);background:none;border:none;cursor:pointer}.inspector__link:hover{color:var(--accent-hover);text-decoration:underline}.inspector__subtitle{margin:var(--space-5) 0 var(--space-1);padding:0 var(--space-3);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-disabled)}.inspector__facts{margin:var(--space-2) 0 0;padding:0 var(--space-3)}.inspector__fact{display:grid;grid-template-columns:10ch 1fr;gap:var(--space-2);align-items:baseline;min-height:var(--control-xs)}.inspector__fact dt{font-size:var(--text-md);color:var(--text-muted)}.inspector__fact dd{margin:0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text);overflow-wrap:anywhere}.inspector__chips{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-2) 0 0;padding:0 var(--space-3);list-style:none}.inspector__chip{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-sm);padding:0 var(--space-1) 0 var(--space-2);font:inherit;font-size:var(--text-sm);color:var(--text-secondary);background:var(--panel-sunken);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.inspector__chip:hover{color:var(--text);border-color:var(--error)}.inspector__chip[data-kind=face]{border-left:2px solid var(--pick-face)}.inspector__chip[data-kind=edge]{border-left:2px solid var(--pick-edge)}.inspector__chip[data-kind=body]{border-left:2px solid var(--pick-body)}.inspector__chip[data-kind=origin-plane]{border-left:2px solid var(--text-muted)}.inspector__actions{display:flex;gap:var(--space-2);margin-top:var(--space-4);padding:0 var(--space-3)}.inspector__action{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);flex:1;height:var(--control-lg);font:inherit;font-size:var(--text-md);font-weight:500;color:var(--text);background:var(--accent-quiet);border:1px solid var(--accent-line);border-radius:var(--radius);cursor:pointer;transition:background var(--motion-fast) var(--ease)}.inspector__action:hover:not(:disabled){background:var(--accent-strong)}.inspector__action:disabled{color:var(--text-muted);background:transparent;border-color:var(--border);cursor:not-allowed}.inspector__action--danger{background:transparent;border-color:var(--border)}.inspector__action--danger:hover:not(:disabled){color:var(--error);background:transparent;border-color:var(--error)}.inspector__note{display:flex;align-items:flex-start;gap:var(--space-2);margin:var(--space-2) var(--space-3) 0;padding:var(--space-2);font-size:var(--text-sm);line-height:1.5;color:var(--text-muted);background:var(--panel-sunken);border-radius:var(--radius)}.inspector__note--warning{color:var(--warning);background:var(--warning-bg)}.inspector__note svg{margin-top:2px}@media(max-width:1100px){.inspector{width:228px}.inspector__tab{font-size:var(--text-sm)}}.timeline{display:flex;align-items:center;gap:var(--space-2);flex:none;height:var(--band-timeline);padding:0 var(--space-2);background:var(--app-bg);border-top:1px solid var(--border)}.timeline__label{flex:none;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-disabled)}.timeline__summary{font-size:var(--text-sm);color:var(--text-muted)}.timeline__list{display:flex;align-items:center;flex:1;min-width:0;margin:0;padding:0 var(--space-2);list-style:none;overflow-x:auto;scrollbar-width:none}.timeline__list::-webkit-scrollbar{display:none}.timeline__slot{display:flex;align-items:center;flex:none}.timeline__step{display:flex;align-items:center;justify-content:center;width:var(--control);height:var(--control-sm);color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:pointer}.timeline__step:hover{color:var(--text);background:var(--hover)}.timeline__step--selected{color:var(--text);background:var(--accent-quiet);border-color:var(--accent-line)}.timeline__step--rolled-back,.timeline__step--suppressed,.timeline__step--hidden{color:var(--text-disabled)}.timeline__step--error{color:var(--error)}.timeline__rollbar{width:2px;height:20px;margin:0 3px;background:var(--accent);border-radius:1px}.timeline--collapsed .timeline__label{color:var(--text-disabled)}.hud{position:absolute;top:var(--space-2);left:var(--space-2);z-index:2;display:flex;flex-direction:column;gap:2px;max-width:42ch;pointer-events:none;-webkit-user-select:none;user-select:none}.hud__mode{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:0 var(--space-2);height:var(--control-sm);font-size:var(--text-md);font-weight:500;color:var(--text);background:var(--app-bg);border:1px solid var(--border);border-radius:var(--radius)}.hud__tool{padding-left:var(--space-2);font-weight:400;color:var(--text-secondary);border-left:1px solid var(--border)}.hud__line{margin:0;padding:0 var(--space-2);font-size:var(--text-sm);line-height:var(--control-xs);color:var(--text-secondary);background:var(--app-bg);border:1px solid var(--border);border-radius:var(--radius)}.hud__line--hint{color:var(--text-muted)}.hud__line--armed{color:var(--accent-hover);border-color:var(--accent-line);background:var(--panel-elevated);box-shadow:inset 2px 0 0 var(--accent)}.export-dialog__backdrop{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-start;justify-content:center;padding:14vh 1rem 2rem;background:#0a09089e}.export-dialog{display:flex;flex-direction:column;gap:.85rem;width:min(460px,100%);padding:1.25rem;background:var(--panel-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover)}.export-dialog__title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.export-dialog__field{display:flex;flex-direction:column;gap:.35rem}.export-dialog__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.export-dialog__select{padding:.45rem .55rem;font:inherit;color:var(--text-primary);background:var(--surface-base);border:1px solid var(--border);border-radius:var(--radius-md);outline:none}.export-dialog__select:focus-visible{border-color:var(--accent)}.export-dialog__description{margin:0;font-size:.85rem;line-height:1.45;color:var(--text-secondary)}.export-dialog__warning,.export-dialog__error{margin:0;padding:.5rem .6rem;font-size:.82rem;line-height:1.4;border-radius:var(--radius-md)}.export-dialog__warning{color:var(--text-secondary);background:var(--surface-hover);border:1px solid var(--border)}.export-dialog__error{color:var(--danger);background:var(--error-bg);border:1px solid rgb(221 106 92 / 35%)}.export-dialog__actions{display:flex;justify-content:flex-end;gap:.5rem}.editor{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto auto;width:100%;height:100%;overflow:hidden;background:var(--app-bg)}.editor__body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:0}.editor__stage{position:relative;display:grid;grid-template-areas:"surface";min-width:0;min-height:0;background:var(--viewport-bg)}.editor__surface{grid-area:surface;min-width:0;min-height:0}.editor__surface[hidden]{display:none}.editor__empty{max-width:40ch;margin:0;padding:var(--space-5);font-size:var(--text-lg);line-height:1.6;color:var(--text-muted);text-align:center;text-wrap:balance;align-self:center;justify-self:center}.editor__finish{display:inline-flex;align-items:center;gap:6px;height:var(--control);padding:0 var(--space-3);font:inherit;font-size:var(--text-md);font-weight:500;color:var(--text-on-accent);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;white-space:nowrap;transition:background var(--motion-fast) var(--ease)}.editor__finish:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.editor__notice{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-md);color:var(--warning);background:var(--warning-bg);border-top:1px solid var(--border);box-shadow:inset 2px 0 0 var(--warning)}.editor__notice span{flex:1}.editor__notice-close{display:flex;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);color:inherit;background:none;border:none;border-radius:var(--radius);cursor:pointer}.editor__notice-close:hover{background:#ffffff14}@media(max-width:900px){.editor__body{grid-template-columns:auto minmax(280px,1fr) auto}.editor__body>.browser{width:172px}.editor__body>.inspector{width:196px}}.start{display:grid;align-content:center;justify-content:start;width:100%;height:100%;padding:var(--space-8) clamp(var(--space-6),12vw,160px);overflow:auto;background-color:var(--app-bg);background-image:linear-gradient(var(--divider) 1px,transparent 1px),linear-gradient(90deg,var(--divider) 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}.start__sheet{width:min(52ch,100%)}.start__brand{margin-bottom:var(--space-7)}.start__wordmark{margin:0;font-size:var(--text-2xl);font-weight:500;letter-spacing:var(--tracking-wordmark);text-transform:uppercase;color:var(--text)}.start__tagline{margin:var(--space-2) 0 0;font-size:var(--text-lg);color:var(--text-muted)}.start__actions{margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}.start__actions li{border-bottom:1px solid var(--border)}.start__action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:0 var(--space-4);width:100%;padding:var(--space-3) var(--space-2) var(--space-3) 0;font:inherit;text-align:left;background:transparent;border:none;border-left:2px solid transparent;cursor:pointer;transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}.start__action:hover:not(:disabled),.start__action:focus-visible{background:var(--hover);border-left-color:var(--accent);padding-left:var(--space-3)}.start__action:disabled{cursor:default}.start__action-name{font-size:var(--text-xl);font-weight:500;color:var(--text)}.start__action:disabled .start__action-name{color:var(--text-disabled)}.start__action-note{grid-column:1;margin-top:2px;font-size:var(--text-md);color:var(--text-muted)}.start__action-key{grid-column:2;grid-row:1 / span 2;justify-self:end;align-self:center;padding:2px 6px;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-disabled);background:var(--panel-sunken);border:1px solid var(--border);border-radius:var(--radius-sm)}.start__recovery{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-3);background:var(--panel);border-radius:var(--radius);box-shadow:inset 2px 0 0 var(--warning)}.start__recovery-text{flex:1 1 18rem;margin:0;font-size:var(--text-md);line-height:1.6;color:var(--text-secondary)}.start__recovery-text strong{font-weight:500;color:var(--text)}.start__recovery-when{font-family:var(--font-mono);font-size:var(--text-sm)}.start__recovery-actions{display:flex;gap:var(--space-1)}.start__status{margin:var(--space-4) 0 0;font-size:var(--text-md);color:var(--text-muted)}.start__error{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-4) 0 0;padding:var(--space-2) var(--space-3);font-size:var(--text-md);color:var(--error);background:var(--error-bg);border-radius:var(--radius);box-shadow:inset 2px 0 0 var(--error)}@media(max-width:700px){.start{padding:var(--space-6) var(--space-4);align-content:start}.start__brand{margin-bottom:var(--space-5)}.start__action-key{display:none}}:root{--app-bg: #141312;--viewport-bg: #1e1c1a;--panel: #191817;--panel-elevated: #242220;--panel-sunken: #141312;--border: #2b2926;--border-strong: #3d3934;--divider: #221f1d;--text: #ebe7e0;--text-secondary: #b3ada3;--text-muted: #8a847a;--text-disabled: #6f6860;--text-on-accent: #1a0f06;--accent: #c9743c;--accent-hover: #e08e50;--accent-quiet: rgba(201, 116, 60, .13);--accent-strong: rgba(201, 116, 60, .22);--accent-line: rgba(201, 116, 60, .55);--hover: #242220;--pressed: #2c2926;--selected: var(--accent-quiet);--selected-strong: var(--accent-strong);--success: #7ea86b;--warning: #d3a54a;--warning-bg: #2a2114;--error: #dd6a5c;--error-bg: #2b1917;--info: #8fa3ae;--pick-face: #93b3a6;--pick-edge: #d5b25f;--pick-body: var(--accent);--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 2px;--radius: 3px;--radius-md: 4px;--radius-lg: 5px;--control-xs: 20px;--control-sm: 24px;--control: 28px;--control-lg: 32px;--band-document: 34px;--band-command: 36px;--band-timeline: 30px;--statusbar-height: 24px;--panel-width: 248px;--panel-width-right: 272px;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs: 10px;--text-sm: 11px;--text-md: 12px;--text-lg: 13px;--text-xl: 16px;--text-2xl: 22px;--tracking-caps: .09em;--tracking-wide: .08em;--tracking-wordmark: .2em;--shadow-popover: 0 10px 28px rgba(0, 0, 0, .5);--shadow-panel: 0 2px 12px rgba(0, 0, 0, .32);--motion-fast: 90ms;--motion: .14s;--ease: cubic-bezier(.4, 0, .2, 1);--focus-ring: 0 0 0 2px var(--app-bg), 0 0 0 3px var(--accent);--focus-ring-inset: inset 0 0 0 1px var(--accent);--surface-base: var(--app-bg);--surface: var(--panel);--surface-raised: var(--panel-elevated);--surface-hover: var(--hover);--text-primary: var(--text);--text-dim: var(--text-muted);--danger: var(--error);font-family:var(--font-ui);font-size:var(--text-md);line-height:1.45;color-scheme:dark;color:var(--text);background-color:var(--app-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums;accent-color:var(--accent)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius)}.measure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:content-box;border-radius:6px}*::-webkit-scrollbar-thumb:hover{background:var(--text-disabled);background-clip:content-box}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){:root{--motion-fast: .01ms;--motion: .01ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
