@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";._button_6elj0_1{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family-ui);font-weight:var(--font-weight-medium);font-size:var(--text-base);line-height:1;height:var(--control-height-md);padding:0 var(--space-4);background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap}._button_6elj0_1:hover:not([aria-disabled=true]){background:var(--color-accent-hover)}._button_6elj0_1[aria-disabled=true]{color:var(--color-text-disabled);background:var(--color-bg-disabled);cursor:default}._button_6elj0_1:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}._tiny_6elj0_24{height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm)}._small_6elj0_30{height:var(--control-height-sm);padding:0 var(--space-4);font-size:var(--text-xs)}._ghost_6elj0_36{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-strong)}._ghost_6elj0_36:hover:not([aria-disabled=true]){background:var(--color-accent-tint);border-color:var(--color-accent);color:var(--color-accent)}._danger_6elj0_47{background:var(--color-danger)}._danger_6elj0_47:hover:not([aria-disabled=true]){background:var(--color-danger-hover)}._iconButton_1ejkn_1{display:inline-flex;align-items:center;justify-content:center;width:var(--control-height-sm);height:var(--control-height-sm);padding:0;flex-shrink:0;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--color-text-primary);cursor:pointer}._iconButton_1ejkn_1:hover:not([aria-disabled=true]){background:var(--color-bg-surface-sunken);border-color:var(--color-border-default)}._iconButton_1ejkn_1[aria-disabled=true]{color:var(--color-text-disabled);background:var(--color-bg-disabled);border-color:transparent;cursor:default}._iconButton_1ejkn_1:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}._danger_1ejkn_19:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--color-danger) 12%,transparent);border-color:transparent;color:var(--color-danger)}._toolbar_7wsal_1{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}._group_14044_1{display:flex;align-items:center;gap:var(--space-2)}._separator_14044_6{width:1px;height:16px;background:var(--color-border-default);margin:0 var(--space-1);flex-shrink:0}._list_sw1zo_4{display:inline-flex;gap:2px;flex-wrap:wrap;padding:2px;background:var(--color-bg-surface-sunken);border-radius:var(--radius-md)}._trigger_sw1zo_12{font-family:var(--font-family-ui);font-weight:var(--font-weight-medium);font-size:var(--text-sm);height:var(--control-height-md);padding:0 var(--space-4);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary)}._trigger_sw1zo_12:hover:not([data-state=active]){color:var(--color-text-primary)}._trigger_sw1zo_12[data-state=active]{background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}._trigger_sw1zo_12:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}._aside_o7m8i_4{flex-shrink:0;overflow-y:auto;overflow-x:hidden}._resizer_o7m8i_9{flex-shrink:0;width:5px;cursor:col-resize;position:relative;background:transparent;touch-action:none}._resizer_o7m8i_9:after{content:"";position:absolute;top:0;bottom:0;left:2px;right:2px}._resizer_o7m8i_9:hover:after,._resizer_o7m8i_9:active:after{background:var(--color-accent)}@media(pointer:coarse){._resizer_o7m8i_9{z-index:1}._resizer_o7m8i_9:before{content:"";position:absolute;top:0;bottom:0;left:-8px;right:-8px}}@media(max-width:760px){._aside_o7m8i_4{width:100%!important;max-height:none}._resizer_o7m8i_9{display:none}}._trigger_raeym_1{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;height:var(--control-height-md);padding:0 var(--space-3);font-family:var(--font-family-ui);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer}._trigger_raeym_1._auto_raeym_17{width:auto;flex-shrink:0}._trigger_raeym_1:hover{border-color:var(--color-accent)}._trigger_raeym_1:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}._trigger_raeym_1[data-placeholder]{color:var(--color-text-secondary)}._icon_raeym_22{color:var(--color-text-secondary);display:inline-flex;flex-shrink:0}._content_raeym_24{overflow:hidden;min-width:var(--radix-select-trigger-width);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:var(--z-popover)}._viewport_raeym_33{padding:var(--space-2)}._item_raeym_35{display:flex;align-items:center;position:relative;height:var(--control-height-md);padding:0 var(--space-3) 0 var(--space-7);font-family:var(--font-family-ui);font-size:var(--text-sm);color:var(--color-text-primary);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}._item_raeym_35[data-highlighted]{background:var(--color-accent-tint);color:var(--color-accent)}._groupLabel_raeym_50{padding:5px 10px 3px;font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}._item_raeym_35[data-disabled]{color:var(--color-text-secondary);pointer-events:none}._indicator_raeym_57{position:absolute;left:0;width:var(--space-7);display:inline-flex;align-items:center;justify-content:center;color:var(--color-accent)}._scrollButton_raeym_67{display:flex;align-items:center;justify-content:center;height:var(--control-height-sm);background:var(--color-bg-surface);color:var(--color-text-secondary);cursor:default}._content_1574a_1{font-family:var(--font-family-ui);font-size:var(--text-xs);color:var(--color-text-on-accent);background:var(--color-ink);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);z-index:var(--z-tooltip);max-width:240px}._arrow_1574a_12{fill:var(--color-ink)}._disabledWrap_1574a_16{display:inline-flex;border-radius:var(--radius-sm)}._disabledWrap_1574a_16:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}._root_4rk31_6{min-width:0;font-family:var(--font-family-ui)}._trigger_4rk31_20{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;height:var(--control-height-md);padding:0 var(--space-2);font-family:var(--font-family-ui);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer}._trigger_4rk31_20:hover{border-color:var(--color-accent)}._trigger_4rk31_20:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}._trigger_4rk31_20[data-state=open]{border-color:var(--color-accent)}._triggerSwatch_4rk31_41{flex-shrink:0;width:18px;height:18px;border-radius:var(--radius-sm);border:1px solid var(--color-border-default);background-size:cover;background-position:center}._triggerName_4rk31_53{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._inheritedTag_4rk31_62{color:var(--color-text-secondary)}._icon_4rk31_64{color:var(--color-text-secondary);display:inline-flex;flex-shrink:0;transition:transform .12s ease}._iconOpen_4rk31_70{transform:rotate(180deg)}._pop_4rk31_76{width:min(320px,calc(100vw - 16px));z-index:var(--z-popover);outline:none}._browser_4rk31_81{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text-primary)}._search_4rk31_93{display:flex;align-items:center;gap:var(--space-2);height:var(--control-height-md);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-secondary)}._search_4rk31_93:focus-within{border-color:var(--color-accent)}._search_4rk31_93 input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:400 var(--text-sm) var(--font-family-ui);color:var(--color-text-primary)}._search_4rk31_93 input::placeholder{color:var(--color-text-secondary)}._filters_4rk31_115{display:flex;flex-wrap:wrap;gap:var(--space-1)}._filters_4rk31_115 button{font:500 var(--text-2xs) var(--font-family-ui);padding:2px 8px;cursor:pointer;border:1px solid var(--color-border-default);border-radius:var(--radius-pill);background:var(--color-bg-surface);color:var(--color-text-secondary)}._filters_4rk31_115 button:hover{border-color:var(--color-accent);color:var(--color-accent)}._filters_4rk31_115 button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}._filters_4rk31_115 ._filterOn_4rk31_127{background:var(--color-accent-tint);border-color:var(--color-accent);color:var(--color-accent)}._scroll_4rk31_75{max-height:min(300px,55vh);overflow-y:auto;overflow-x:hidden;padding:0 var(--space-1) var(--space-1);display:flex;flex-direction:column;gap:var(--space-1)}._providerSec_4rk31_140{margin-top:var(--space-1)}._sect_4rk31_141{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-1) var(--space-1);font-family:var(--font-family-ui);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}._count_4rk31_153{font:500 var(--text-2xs) var(--font-family-mono);background:var(--color-bg-surface-sunken);padding:0 5px;border-radius:var(--radius-sm)}._grid_4rk31_160{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-1)}._tile_4rk31_169{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:var(--space-1);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;outline:none;font-family:var(--font-family-ui);color:var(--color-text-primary)}._tile_4rk31_169:hover{border-color:var(--color-accent)}._tile_4rk31_169:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}._tileOn_4rk31_187{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}._tileRow_4rk31_190{flex-direction:row;width:100%;padding:var(--space-1) var(--space-2)}._tileRow_4rk31_190 ._swatch_4rk31_195{width:16px;height:16px;aspect-ratio:auto;flex-shrink:0}._tileRow_4rk31_190 ._tileName_4rk31_196{text-align:left;flex:1;font-size:var(--text-xs)}._tileRow_4rk31_190 ._check_4rk31_197{position:static}._swatch_4rk31_195{width:100%;aspect-ratio:1 / 1;border-radius:calc(var(--radius-sm) - 1px);border:1px solid rgba(0,0,0,.12);background-size:cover;background-position:center}._tileName_4rk31_196{font-size:var(--text-2xs);font-family:var(--font-family-ui);line-height:1.2;color:var(--color-text-primary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._check_4rk31_197{position:absolute;top:3px;right:3px;color:var(--color-accent);background:var(--color-bg-surface);border-radius:50%;padding:1px}._empty_4rk31_229{margin:var(--space-3) var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}._foot_4rk31_235{padding:var(--space-1) var(--space-1) 0;border-top:1px solid var(--color-border-default);font:500 var(--text-2xs) var(--font-family-mono);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}._content_p96fb_1{min-width:180px;overflow:hidden;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2);z-index:var(--z-dropdown)}._item_p96fb_12{display:flex;align-items:center;gap:var(--space-2);height:var(--control-height-md);padding:0 var(--space-3);font-family:var(--font-family-ui);font-size:var(--text-sm);color:var(--color-text-primary);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}._item_p96fb_12[data-highlighted]{background:var(--color-accent-tint);color:var(--color-accent)}._item_p96fb_12[data-disabled]{color:var(--color-text-secondary);pointer-events:none}._icon_p96fb_29{display:inline-flex;flex-shrink:0;color:var(--color-text-secondary)}._item_p96fb_12[data-highlighted] ._icon_p96fb_29{color:var(--color-accent)}._spacer_1jv92_1{display:inline-block;width:var(--control-height-sm);height:var(--control-height-sm);visibility:hidden;flex-shrink:0}._overlay_1rrmk_1{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);z-index:var(--z-dialog)}._content_1rrmk_7{position:fixed;top:18%;left:50%;transform:translate(-50%);width:min(560px,calc(100vw - 32px));max-height:60vh;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:var(--z-dialog)}._inputRow_1rrmk_24{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1.5px solid var(--color-border-default);color:var(--color-text-secondary);flex-shrink:0}._input_1rrmk_24{flex:1;border:none;outline:none;background:transparent;font-family:var(--font-family-ui);font-size:var(--text-base);color:var(--color-text-primary)}._input_1rrmk_24::placeholder{color:var(--color-text-secondary)}._list_1rrmk_44{overflow-y:auto;padding:var(--space-2)}._empty_1rrmk_45{padding:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}._group_1rrmk_51 [cmdk-group-heading]{font-family:var(--font-family-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);padding:var(--space-3) var(--space-3) var(--space-2)}._item_1rrmk_60{display:flex;align-items:center;gap:var(--space-3);height:var(--control-height-lg);padding:0 var(--space-3);font-family:var(--font-family-ui);font-size:var(--text-sm);color:var(--color-text-primary);border-radius:var(--radius-sm);cursor:pointer}._item_1rrmk_60[data-selected=true]{background:var(--color-accent-tint);color:var(--color-accent)}._item_1rrmk_60[data-disabled=true]{color:var(--color-text-secondary);pointer-events:none;opacity:.5}._icon_1rrmk_75{display:inline-flex;flex-shrink:0;color:var(--color-text-secondary)}._item_1rrmk_60[data-selected=true] ._icon_1rrmk_75{color:var(--color-accent)}._kbd_1rrmk_78{margin-left:auto;font-family:var(--font-family-mono);font-size:var(--text-2xs);color:var(--color-text-secondary);background:var(--color-bg-surface-sunken);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:1px 6px}._overlay_1hfat_1{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);z-index:var(--z-dialog)}._content_1hfat_11{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-dialog);max-height:90vh;overflow:auto}._defaultSkin_1hfat_9{width:min(420px,calc(100vw - 32px));background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6)}._title_1hfat_30{font-family:var(--font-family-ui);font-size:var(--text-lg);font-weight:var(--font-weight-bold);margin:0 0 var(--space-3)}._description_1hfat_36{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5;margin:0 0 var(--space-5)}._actions_1hfat_42{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}._error_1hfat_49{font-size:var(--text-sm);color:var(--color-danger);margin:0 0 var(--space-4)}:root{color-scheme:light;--color-neutral-0: #ffffff;--color-neutral-50: #fbfbfb;--color-neutral-100: #f5f5f5;--color-neutral-150: #ececec;--color-neutral-200: #e5e5e5;--color-neutral-300: #d1d1d1;--color-neutral-400: #949494;--color-neutral-500: #6e6e6e;--color-neutral-700: #444444;--color-neutral-900: #2c2c2c;--color-ink: #1e1e1e;--color-accent-500: #1e6b4f;--color-accent-600: #17563f;--color-accent-tint: #eaf2ee;--color-danger-500: #c8371a;--color-danger-600: #a92d13;--color-hole-through: #f24822;--color-selection: #34d081;--opacity-proxy-rest: .03;--opacity-proxy-hover: .14;--opacity-proxy-selected: .4;--opacity-proxy-visible: .1;--opacity-proxy-insert: .18;--opacity-proxy-insert-hover: .28;--opacity-hover-emissive: .18;--color-bg-canvas: var(--color-neutral-200);--color-bg-surface: var(--color-neutral-0);--color-bg-surface-sunken: var(--color-neutral-100);--color-border-default: var(--color-neutral-200);--color-border-strong: var(--color-neutral-400);--color-text-primary: var(--color-ink);--color-text-secondary: var(--color-neutral-500);--color-text-on-accent: #ffffff;--color-accent: var(--color-accent-500);--color-accent-hover: var(--color-accent-600);--color-accent-tint-bg: var(--color-accent-tint);--color-danger: var(--color-danger-500);--color-danger-hover: var(--color-danger-600);--color-overlay: rgba(0, 0, 0, .35);--color-scene-bg: #22332b;--color-scene-fg: #f2f2f2;--color-text-disabled: #8a8a8a;--color-bg-disabled: var(--color-neutral-100);--focus-ring: 2px solid var(--color-accent);--focus-ring-offset: 2px;--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 24px;--space-8: 32px;--space-9: 40px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 8px;--radius-pill: 999px;--font-family-ui: "Inter", system-ui, sans-serif;--font-family-mono: "IBM Plex Mono", ui-monospace, monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-lg: 17px;--text-xl: 22px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--header-h: 44px;--control-height-sm: 24px;--control-height-md: 28px;--control-height-lg: 32px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .14);--z-canvas-hud: 10;--z-popover: 20;--z-dropdown: 30;--z-tooltip: 40;--z-dialog: 50;--ink: var(--color-ink);--bg: var(--color-bg-canvas);--panel: var(--color-bg-surface);--line: var(--color-border-default);--green: var(--color-accent);--mat: var(--color-neutral-900)}*{box-sizing:border-box;margin:0}.viewtoggle button:focus-visible,.explode.asbtn:focus-visible,.showall:focus-visible,.hiddenrow button:focus-visible,.chip:focus-visible,.gizmo-face:focus-visible,.gizmo-band:focus-visible,.selchip .crumbstep:focus-visible,button.lid.partlink:focus-visible,.kerffield input:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.app{font-family:var(--font-family-ui);color:var(--ink);background:var(--bg);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap;min-height:var(--header-h);flex-shrink:0;padding:0 var(--space-5);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-default)}.topleft{display:flex;align-items:center;gap:var(--space-5)}.topleft{min-width:0}.topright{display:flex;align-items:center;gap:var(--space-3);min-width:0;margin-left:auto}.accounttrigger{width:28px;height:28px;border-radius:var(--radius-pill);border:1px solid var(--color-border-default);background:var(--color-accent-tint);color:var(--color-accent);font:600 var(--text-sm) var(--font-family-ui);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.accounttrigger:hover{border-color:var(--color-accent)}.accounttrigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.accountmenu{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:12px;width:260px;z-index:var(--z-popover);display:flex;flex-direction:column;gap:8px}.accountwho{font-size:var(--text-sm);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.accountclear{display:flex;align-items:flex-start;gap:6px;font-size:var(--text-xs);color:var(--color-text-primary);cursor:pointer}.accountclear input{accent-color:var(--color-accent);margin-top:1px}.accountnote{font-size:var(--text-2xs);color:var(--color-text-secondary);margin:0}.accountfail{font-size:var(--text-xs);color:var(--color-danger);margin:0}.projectname{font:var(--font-weight-medium) var(--text-sm) var(--font-family-ui);color:var(--color-text-primary);white-space:nowrap;background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px 6px;cursor:text;text-align:left;max-width:220px;overflow:hidden;text-overflow:ellipsis}.projectname:hover{border-color:var(--color-border-default)}.projectname:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.projectname.editing{border-color:var(--color-accent);background:var(--color-bg-surface);cursor:auto;width:220px}.projectname.editing:focus{outline:none}.savestatus{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;margin-left:var(--space-3)}.savestatus-exposed{color:var(--color-danger)}.savestatus-warn{white-space:nowrap;margin-left:var(--space-3)}.body{display:flex;flex:1;min-height:0}.controls{padding:var(--space-4) var(--space-3);background:var(--color-bg-surface);border-right:1px solid var(--color-border-default);max-height:calc(100vh - var(--header-h));max-height:calc(100dvh - var(--header-h))}.controls section{margin-bottom:var(--space-6)}.controls h2,.selpanel h2{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.controls .panelsec{margin-bottom:var(--space-6)}.rightdock{position:relative;padding:var(--space-4);background:var(--color-bg-surface);border-left:1px solid var(--color-border-default);max-height:calc(100vh - var(--header-h));max-height:calc(100dvh - var(--header-h))}@media(max-width:760px){.top{align-items:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-3)}.topleft{flex-wrap:wrap;gap:var(--space-3)}.body{flex-direction:column}.body>.stage{order:-1}.controls{order:1}.controls{max-height:40vh;max-height:40dvh;overflow:auto;width:auto!important;border-right:none;border-top:1px solid var(--color-border-default)}.rightdock{width:auto!important;border-left:none;border-top:1px solid var(--color-border-default);padding-top:0}.rightdock .dockpeek{display:flex}.rightdock .dockbody{display:none}.rightdock.open .dockbody{display:block;max-height:60vh;max-height:60dvh;overflow:auto;padding-top:var(--space-2)}}.dockpeek{position:relative;display:none;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-2) var(--space-3);margin:0;background:none;border:none;cursor:pointer;text-align:left;font:500 var(--text-sm) var(--font-family-ui);color:var(--color-text-primary)}.dockpeek .dockgrab{position:absolute;top:4px;left:50%;width:32px;height:3px;margin-left:-16px;border-radius:2px;background:var(--color-border-strong)}.dockpeek .kindpill{font:600 var(--text-2xs) var(--font-family-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);background:var(--color-accent-tint);padding:1px 6px;border-radius:var(--radius-sm)}.dockpeek .dockpeek-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-semibold)}.dockpeek svg{color:var(--color-text-secondary);flex-shrink:0}.dockpeek:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.srlive{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.stage{flex:1;min-width:0;display:flex;position:relative;background:var(--color-bg-canvas)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:500 var(--text-xs) var(--font-family-ui);height:var(--control-height-sm);padding:0 var(--space-3);cursor:pointer;white-space:nowrap;background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-sm)}.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-accent-hover)}.btn:disabled,.btn[aria-disabled=true]{color:var(--color-text-disabled);background:var(--color-bg-disabled);cursor:default}.btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.btn.small{height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--text-2xs)}.btn.danger{background:var(--color-danger)}.btn.danger:hover:not(:disabled){background:var(--color-danger-hover)}.viewtoggle,.selchip,.explode,.dims,.hiddenmenu,.pvcard{background:#fffffff5;border:1px solid var(--color-border-default);box-shadow:var(--shadow-md)}.hiddenmenu{border-radius:var(--radius-md);min-width:190px;padding:6px;z-index:var(--z-popover)}.modelwrap{flex:1;min-width:0;position:relative;display:flex}.designview{display:contents}.designview[hidden]{display:none}.viewport,.pvcard{user-select:none;-webkit-user-select:none}.viewport{position:relative;flex:1;min-width:0;min-height:420px;cursor:grab}.viewport:active{cursor:grabbing}.viewport-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.viewport-canvas:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.gizmo-face:focus-visible,.gizmo-band:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.viewport-hint{position:absolute;bottom:84px;left:50%;transform:translate(-50%);background:#1e1e1ee0;color:var(--color-scene-fg);font-size:var(--text-xs);border:1px solid rgba(255,255,255,.15);padding:4px 12px;border-radius:var(--radius-pill);pointer-events:none;white-space:nowrap}.viewport-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-6);text-align:center;background:var(--color-bg-canvas);color:var(--color-text-primary);font:var(--text-base) var(--font-family-ui)}.viewport-fallback p{margin:0}.viewtoggle{position:absolute;bottom:14px;left:14px;z-index:var(--z-canvas-hud);display:flex;border-radius:var(--radius-md);overflow:hidden}.viewtoggle button{font:500 var(--text-sm) var(--font-family-ui);padding:6px 14px;cursor:pointer;background:transparent;border:none;color:var(--color-text-secondary)}.viewtoggle button.on{background:var(--color-accent);color:var(--color-text-on-accent)}.viewtoggle button:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.hud{position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;pointer-events:none}.hudright{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.hud-actions-inline{display:flex;gap:8px;align-items:center}.hud .hud-actions-trigger{display:none}.hud-actions-menu{display:flex;flex-direction:column;gap:4px;min-width:210px;padding:8px;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:var(--z-dropdown)}.dims{font:500 var(--text-sm) var(--font-family-mono);color:var(--color-text-primary);border-radius:var(--radius-sm);padding:6px 10px}.explode{pointer-events:auto;display:flex;align-items:center;gap:8px;font:500 var(--text-xs) var(--font-family-mono);color:var(--color-text-primary);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer}.explode input[type=range]{accent-color:var(--color-accent);width:110px}.explode input[type=checkbox]{accent-color:var(--color-accent);width:14px;height:14px}.viewhint{position:absolute;bottom:10px;left:0;right:0;text-align:center;font:400 var(--text-sm) var(--font-family-mono);color:#ffffffeb;pointer-events:none}.viewhint.elev{color:var(--color-neutral-700)}.elevwrap{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:18px 18px 64px;overflow:hidden}.elevation{width:100%;height:100%;max-height:calc(100vh - var(--header-h) - 86px);max-height:calc(100dvh - var(--header-h) - 86px);touch-action:manipulation}.gizmo{position:absolute;bottom:40px;right:14px;width:78px;height:78px;pointer-events:none;z-index:5;perspective:320px}.gizmo-cube{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;transform-style:preserve-3d}.gizmo-face{position:absolute;width:44px;height:44px;pointer-events:auto;display:flex;align-items:center;justify-content:center;background:#282828d1;border:1px solid rgba(255,255,255,.18);color:var(--color-scene-fg);font:600 8px var(--font-family-mono);letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;backface-visibility:hidden;-webkit-backface-visibility:hidden}.gizmo-face:hover{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent)}.gizmo-face.front{transform:translateZ(22px)}.gizmo-face.back{transform:rotateY(180deg) translateZ(22px)}.gizmo-face.right{transform:rotateY(90deg) translateZ(22px)}.gizmo-face.left{transform:rotateY(-90deg) translateZ(22px)}.gizmo-face.top{transform:rotateX(90deg) translateZ(22px)}.gizmo-face.bottom{transform:rotateX(-90deg) translateZ(22px)}.gizmo-band{position:absolute;top:50%;left:50%;pointer-events:auto;cursor:pointer;background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff1a;backface-visibility:hidden;-webkit-backface-visibility:hidden}.gizmo-band.corner{background:#ffffff42}.gizmo-band.on{background:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.explode.asbtn{border:none;cursor:pointer;height:26px;box-sizing:border-box}.explode.asbtn:hover{background:var(--color-accent-tint);color:var(--color-accent)}.explode.asbtn.active,.explode.asbtn.active:hover{background:var(--color-accent);color:var(--color-text-on-accent)}.explode.asbtn.icon{padding:6px 8px}@media(max-width:760px){.hud-actions-inline{display:none}.hud .hud-actions-trigger{display:flex}.hudright{flex-wrap:nowrap}}.chipsec{font:600 var(--text-2xs) var(--font-family-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);padding:6px 8px 2px}.chiprow{display:flex;flex-wrap:wrap;gap:5px;padding:2px 8px 6px;max-width:230px}.chip{font:500 var(--text-xs) var(--font-family-mono);padding:3px 9px;cursor:pointer;background:var(--color-bg-surface);border:1px solid var(--color-border-default);color:var(--color-text-primary);border-radius:var(--radius-pill)}.chip:hover{border-color:var(--color-accent)}.chip.on{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-text-on-accent);text-decoration:line-through}.hiddenrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 8px;font:500 var(--text-sm) var(--font-family-mono);color:var(--color-text-primary);border-bottom:1px dashed var(--color-border-default)}.hiddenrow button{font:500 var(--text-xs) var(--font-family-ui);padding:2px 10px;cursor:pointer;background:var(--color-bg-surface);border:1px solid var(--color-accent);color:var(--color-accent);border-radius:var(--radius-sm)}.hiddenrow button:hover{background:var(--color-accent);color:var(--color-text-on-accent)}.showall{width:100%;margin-top:6px;padding:6px;cursor:pointer;font:500 var(--text-sm) var(--font-family-ui);background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-sm)}.selchip{position:absolute;bottom:34px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;flex-wrap:nowrap;justify-content:center;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;border-radius:var(--radius-pill);padding:6px 8px 6px 12px}.selchip.verbswrap{flex-wrap:wrap;overflow:visible}.selchip.verbswrap .selactions-inline{flex-wrap:wrap}.selchip .modtag{font-size:var(--text-sm);padding:4px 9px}.selchip .btn.small{margin-left:0}.selchip.empty{font-size:var(--text-sm);color:var(--color-text-secondary);border-style:dashed;box-shadow:none}.selchip .crumb{display:flex;align-items:center;gap:2px}.selchip .crumb{min-width:0;overflow:hidden}.selchip .crumbstep{overflow:hidden;text-overflow:ellipsis}.selchip .crumbsep{color:var(--color-text-secondary);font-size:var(--text-sm);padding:0 1px}.selchip .crumbstep{background:none;border:none;cursor:pointer;padding:3px 5px;border-radius:var(--radius-sm);font:500 var(--text-sm) var(--font-family-ui);color:var(--color-text-secondary)}.selchip .crumbstep:hover{background:var(--color-accent-tint)}.selchip .crumbstep.here{color:var(--color-text-primary);font-weight:600}.selchip .kindpill{font:600 var(--text-2xs) var(--font-family-ui);text-transform:uppercase;letter-spacing:.05em;background:var(--color-accent-tint);color:var(--color-accent);padding:3px 8px;border-radius:var(--radius-pill)}.selactions-inline{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.selactions-trigger{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:var(--control-height-sm);height:var(--control-height-sm);padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);cursor:pointer}.selactions-trigger:hover,.selactions-trigger:focus-visible{background:var(--color-bg-surface-sunken);border-color:var(--color-border-default)}.selactions-trigger:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.selactions-menu{min-width:180px;overflow:hidden;padding:var(--space-2);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:var(--z-dropdown)}.selaction{display:flex;align-items:center;gap:var(--space-2);height:var(--control-height-md);padding:0 var(--space-3);border-radius:var(--radius-sm);outline:none;color:var(--color-text-primary);font:500 var(--text-sm) var(--font-family-ui);cursor:pointer;-webkit-user-select:none;user-select:none}.selaction:hover,.selaction[data-highlighted]{background:var(--color-accent-tint);color:var(--color-accent)}.selaction.blocked{color:var(--color-text-disabled);cursor:default}.selaction.danger[data-highlighted]{color:var(--color-danger)}.pvcard{border-radius:var(--radius-lg);width:min(860px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg-surface)}.pvcard.full{top:0;left:0;transform:none;width:100%;height:100%;max-height:none;border-radius:0;border:none}.pvcard.full .pvcanvas{flex:1;height:auto;min-height:0}.pvbtns{display:flex;gap:8px;align-items:center}.pvhead{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-default)}.pvhead b{font-size:var(--text-lg);font-weight:600}.pvcanvas{position:relative;height:460px;cursor:grab;background:var(--color-scene-bg)}.pvcanvas:active{cursor:grabbing}.pvlegend{display:flex;gap:14px;flex-wrap:wrap;padding:10px 16px 2px;font:400 var(--text-xs) var(--font-family-mono);color:var(--color-text-secondary)}.pvlegend i{display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:-1px}.pvhint{font:400 var(--text-xs) var(--font-family-mono);color:var(--color-text-secondary);padding:4px 16px 12px}@media(max-width:760px){.viewtoggle{bottom:40px}.selchip{bottom:104px}.viewport-hint{bottom:68px}.viewport{min-height:340px;min-height:max(340px,72dvh)}.sheet{max-height:none;padding:14px}.pvcanvas{height:260px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}.viewport-overlay{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.dimtarget{position:absolute;left:0;top:0;pointer-events:auto;width:64px;height:26px;transform:translate(-50%,-50%);padding:0;background:transparent;border:1.5px solid transparent;border-radius:var(--radius-pill);cursor:text}.dimtarget:hover,.dimtarget:focus-visible{border-color:var(--color-selection);background:color-mix(in srgb,var(--color-selection) 12%,transparent);outline:none}.dimedit{position:absolute;left:0;top:0;pointer-events:auto;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:3px 6px 3px 3px}.dimedit input{width:68px;padding:3px 6px;font:500 var(--text-sm) var(--font-family-mono);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);text-align:right}.dimedit input:focus{outline:none;border-color:var(--color-accent)}.dimedit em{font:400 var(--text-2xs) var(--font-family-mono);color:var(--color-text-secondary);font-style:normal}.sheet{flex:1;overflow-y:auto;padding:var(--space-7);max-height:calc(100vh - var(--header-h));max-height:calc(100dvh - var(--header-h));background:var(--color-bg-canvas)}.sheet h2{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-4)}.sheet .hw{margin-top:var(--space-7)}.sheethead{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);gap:var(--space-4);flex-wrap:wrap}.sheethead h2{margin:0}table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden}th,td{padding:var(--space-3) var(--space-4);font-size:var(--text-base);text-align:left;border-bottom:1px solid var(--color-border-default)}th{font:600 var(--text-2xs) var(--font-family-mono);text-transform:uppercase;letter-spacing:.08em;background:var(--color-bg-surface-sunken);color:var(--color-text-secondary)}td.n{font-family:var(--font-family-mono);text-align:right;white-space:nowrap}td.ids{font:500 var(--text-xs) var(--font-family-mono);color:var(--color-accent);max-width:160px}tbody tr:last-child td{border-bottom:none}.note{font-size:var(--text-sm);color:var(--color-neutral-500);margin-top:var(--space-4);max-width:720px}.modtag{font:500 var(--text-2xs) var(--font-family-mono);background:var(--color-ink);color:var(--color-neutral-100);padding:3px 6px;border-radius:var(--radius-sm);letter-spacing:.05em;flex-shrink:0}.modgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.modsheet{background:var(--panel);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-4)}.modsheethead{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-2);flex-wrap:wrap}.modsheethead b{font-size:var(--text-base)}.dimsm{font:400 var(--text-xs) var(--font-family-mono);color:var(--color-neutral-500);margin-left:auto}.moddesc{font-size:var(--text-sm);color:var(--color-neutral-500);margin-bottom:var(--space-3)}.modsheet ul{list-style:none;padding:0}.modsheet li{font:400 var(--text-sm) var(--font-family-mono);padding:3px 0;border-bottom:1px dashed var(--color-border-default);display:flex;gap:var(--space-3)}.modsheet li:last-child{border-bottom:none}.lid{color:var(--color-accent);font-weight:600;flex-shrink:0;min-width:34px}button.lid.partlink{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;cursor:pointer;font:inherit;text-align:left}button.lid.partlink:hover{text-decoration:underline}button.lid.partlink.on{background:var(--color-accent);color:var(--color-text-on-accent);border-radius:var(--radius-sm);padding:0 3px}.modhw{font-size:var(--text-xs);color:var(--color-accent);margin-top:var(--space-3)}.drillmod{margin-bottom:var(--space-8)}.drillhead{font-size:15px;font-weight:600;display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-default)}.drillgroup{margin-bottom:var(--space-5);max-width:780px}.drillgrouphead{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-1)}.drillgrouphead b{font-size:13.5px}.drillref{font:400 var(--text-xs) var(--font-family-mono);color:var(--color-neutral-500);margin-bottom:var(--space-2)}.drilltable td,.drilltable th{padding:5px var(--space-4);font-size:var(--text-sm)}.drilltable td{font-family:var(--font-family-mono)}.legendbox{max-width:460px;margin-bottom:var(--space-6)}.diagram{width:100%;max-width:440px;background:var(--panel);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);display:block}.diagrams{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-3)}.diagrams .diagram{flex:1 1 300px}.figure{margin:0;flex:1 1 300px;max-width:440px}.diagrams .figure .diagram{flex:none;width:100%}.legendbox .figure{max-width:none}.figcaption{margin-top:var(--space-2);font-size:var(--text-sm);line-height:1.5;color:var(--color-neutral-700)}.assembly{margin-top:var(--space-3);max-width:940px}.assembly-stage{position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;height:min(52vh,460px);background:#14231ce6;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);cursor:grab}.assembly-stage:active{cursor:grabbing}.assembly-stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.assembly-nogl{margin:0;padding:var(--space-5);font-size:var(--text-sm);color:var(--color-text-on-accent)}.assembly-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2)}.assembly-title{font-size:var(--text-sm);font-weight:600;color:var(--color-neutral-700)}.assembly-hint{font-size:var(--text-xs);color:var(--color-neutral-500)}.assembly-caption{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;min-height:22px;margin-top:var(--space-3);font-size:var(--text-sm)}.assembly-bar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.assembly-count{font:400 var(--text-sm) var(--font-family-mono);color:var(--color-accent)}.assembly-part{font:600 var(--text-sm) var(--font-family-mono)}.assembly-part-id{font:600 var(--text-xs) var(--font-family-mono);color:var(--color-accent);background:var(--color-accent-tint-bg);border-radius:var(--radius-sm);padding:1px var(--space-2)}.assembly-done{font-size:var(--text-xs);color:var(--color-neutral-500)}.assembly-scrub{flex:1 1 160px;min-width:120px;margin:0 var(--space-2);accent-color:var(--color-accent);cursor:pointer}.assembly-scrub:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.assembly-follower{font-style:italic;color:var(--color-neutral-600)}.steps{list-style:none;counter-reset:st;max-width:940px}.steps>li{counter-increment:st;position:relative;padding:0 0 22px 52px;border-left:1px solid var(--color-border-default);margin-left:17px}.steps>li:last-child{border-left-color:transparent}.steps>li:before{content:counter(st,decimal-leading-zero);position:absolute;left:-18px;top:0;width:36px;height:36px;border-radius:50%;background:var(--panel);border:1px solid var(--color-border-strong);display:flex;align-items:center;justify-content:center;font:600 var(--text-sm) var(--font-family-mono)}.steps h3{font-size:15px;font-weight:600;margin-bottom:var(--space-2);padding-top:7px}.steps p{font-size:13.5px;line-height:1.55;color:var(--color-neutral-700)}.sub{margin:var(--space-3) 0 0 var(--space-2);padding-left:var(--space-5)}.sub li{font:400 12.5px var(--font-family-mono);color:var(--color-neutral-700);padding:3px 0}@media(max-width:760px){.sheet{padding:14px}.sheet table{display:block;overflow-x:auto}}.cutsummary{display:flex;gap:var(--space-5);align-items:baseline;font-size:var(--text-sm);color:var(--color-neutral-700)}.cutsummary b{font-family:var(--font-family-mono);font-size:var(--text-base);color:var(--color-neutral-900)}.cutsheetdiag{margin:0 0 var(--space-4)}.cutsheetdiag svg{width:100%;max-width:780px;height:auto;display:block}.sheet-enlarge{display:block;width:100%;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:zoom-in;text-align:left}.sheet-enlarge:hover,.sheet-enlarge:focus-visible{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 25%,transparent)}.sheetlightbox{width:calc(100vw - 48px);max-width:1600px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-bg-surface)}.sheetlightbox-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-default)}.sheetlightbox-head b{font-size:var(--text-lg);font-weight:600}.sheetlightbox-scroll{overflow:auto;padding:var(--space-4);background:var(--color-bg-surface-sunken)}.sheetlightbox-stage{margin:0 auto}.sheetzoom-pct{min-width:3.5em;text-align:center;font:var(--text-sm) var(--font-family-mono);color:var(--color-neutral-900)}.cutlegend{font:400 var(--text-2xs) var(--font-family-mono);color:var(--color-text-secondary);max-width:780px}.cutlegend span{margin-right:var(--space-4);white-space:nowrap;display:inline-block}.cutkinds{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;font-size:var(--text-sm);color:var(--color-neutral-700);margin:var(--space-6) 0 var(--space-4)}.cutkinds span{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}.cutkinds i{width:14px;height:14px;border:1px solid var(--color-ink);display:inline-block}.cutwarning{margin:0 0 var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--color-danger);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-neutral-900)}.cutwarning p{margin:0}.cutwarning b{color:var(--color-danger)}.cutwarning ul{margin:var(--space-3) 0 0;padding-left:var(--space-6)}.kerffield{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-700)}.matchips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4)}.matchips button{font:500 var(--text-xs) var(--font-family-ui);padding:3px 10px;cursor:pointer;border:1px solid var(--color-border-default);border-radius:var(--radius-pill);background:var(--color-bg-surface);color:var(--color-text-primary)}.matchips button.on{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent)}.matchips button.clear{color:var(--color-text-secondary);border-style:dashed}.matchips button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}th .sorth{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;white-space:nowrap}th .sorth:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}tfoot td{font-weight:var(--font-weight-semibold);border-top:2px solid var(--color-border-strong)}.matsheets>summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.matsheets>summary::-webkit-details-marker{display:none}.matsheets>summary:before{content:"▸ ";font-size:10px}.matsheets[open]>summary:before{content:"▾ "}.matsheets>summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.kerffield input{width:64px;padding:4px 8px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font:var(--text-sm) var(--font-family-mono)}.kerffield .field{margin-bottom:0}.kerffield input.currencyfield{width:44px;text-align:center}.pricecell input{width:72px;padding:3px 6px;text-align:right;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font:var(--text-sm) var(--font-family-mono);background:var(--color-bg-surface)}.pricecell input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.panelsec>summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px;font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);margin-bottom:8px}.panelsec>summary::-webkit-details-marker{display:none}.panelsec>summary:before{content:"▾";font-size:9px}.panelsec:not([open])>summary:before{content:"▸"}.panelsec>summary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.field{display:grid;grid-template-columns:minmax(64px,36%) minmax(0,1fr);align-items:center;column-gap:6px;margin-bottom:8px}.field.stack{grid-template-columns:minmax(0,1fr);row-gap:4px}.flabelwrap{display:flex;align-items:center;gap:2px;min-width:0}.flabel{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.3}.fhelp{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-secondary);cursor:help;flex-shrink:0}.fhelp:hover{color:var(--color-text-primary);background:var(--color-bg-surface-sunken)}.fhelp:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.fwrap{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}.fwrap input{width:68px;padding:4px 7px;font:500 var(--text-sm) var(--font-family-mono);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);text-align:right}.fwrap input:focus{outline:none;border-color:var(--color-accent)}.fwrap.name input{flex:1;width:auto;min-width:0;padding:4px 7px;font:500 var(--text-sm) var(--font-family-mono);text-align:left;color:var(--color-text-primary)}.fwrap em{font:400 var(--text-2xs) var(--font-family-mono);color:var(--color-text-secondary);width:20px;font-style:normal}.fwrap .autobtn{color:var(--color-text-secondary);border-color:transparent}.fwrap .autobtn:hover{color:var(--color-text-primary)}.fwrap .autoslot{width:var(--control-height-sm);height:var(--control-height-sm);flex-shrink:0}.fwrap[data-auto=true] input,.fwrap[data-auto=true] .seg button.on{color:var(--color-text-secondary)}.fwrap[data-auto=true] .seg button.on{background:var(--color-bg-surface-sunken)}.field:has(.fwrap[data-auto=false]) .flabel:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-accent);margin-right:6px;vertical-align:1px}.fact{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-size:var(--text-sm);color:var(--color-text-secondary)}.fact-value{font:500 var(--text-xs) var(--font-family-mono);color:var(--color-text-primary);text-align:right;font-variant-numeric:tabular-nums}.fact.warn .fact-value{color:var(--color-danger)}.fwrap{position:relative}.frange{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.fwrap.clamped .frange{width:auto;height:auto;clip-path:none;top:100%;right:0;margin-top:3px;z-index:1;font:400 var(--text-2xs) var(--font-family-mono);color:var(--color-danger);background:var(--color-bg-surface);padding:1px 4px;border-radius:var(--radius-sm);border:1px solid var(--color-border-default)}.fwrap.clamped input,.fwrap.clamped input:focus{border-color:var(--color-danger)}.bandedit{display:flex;gap:3px}.bandedit button{display:flex;align-items:center;justify-content:center;padding:4px 7px;cursor:pointer;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-secondary)}.bandedit button.on{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent)}.bandedit button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.fgroup{margin-top:12px}.fgroup+.fgroup{border-top:1px solid var(--color-border-default);padding-top:12px}.fgroup-label{font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);margin-bottom:8px}.fgroup>summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px;min-width:0}.fgroup:not([open])>summary{margin-bottom:0}.fgroup-action{margin-left:auto;font:500 var(--text-2xs) var(--font-family-ui);text-transform:none;letter-spacing:0;padding:1px 6px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--color-accent);cursor:pointer;white-space:nowrap}.fgroup-action:hover{border-color:var(--color-accent);background:var(--color-accent-tint)}.fgroup-action:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.fgroup-sum{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 var(--text-2xs) var(--font-family-mono);text-transform:none;letter-spacing:0;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.fgroup>summary::-webkit-details-marker{display:none}.fgroup>summary:before{content:"▾";font-size:9px}.fgroup:not([open])>summary:before{content:"▸"}.fgroup>summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.seg{display:flex;flex:1;min-width:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.seg button{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;font:500 var(--text-sm) var(--font-family-ui);line-height:1.2;padding:4px 6px;cursor:pointer;background:var(--color-bg-surface);border:none;color:var(--color-text-primary);border-right:1px solid var(--color-border-default);text-align:center;white-space:normal}.seg button:first-child{border-radius:calc(var(--radius-sm) - 1px) 0 0 calc(var(--radius-sm) - 1px)}.seg button:last-child{border-right:none;border-radius:0 calc(var(--radius-sm) - 1px) calc(var(--radius-sm) - 1px) 0}.seg button.on{background:var(--color-accent);color:var(--color-text-on-accent)}.seg button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.hint{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:6px;line-height:1.45}.hint.warn{color:var(--color-danger)}.outlinetip{margin:0 0 6px;padding:4px 8px;font-size:var(--text-xs);color:var(--color-text-primary);background:var(--color-accent-tint);border-radius:var(--radius-sm)}.shortcutsheet{border-collapse:collapse}.shortcutsheet td{padding:4px 10px 4px 0;font-size:var(--text-sm);color:var(--color-text-primary)}.shortcutsheet kbd{font:500 var(--text-xs) var(--font-family-mono);padding:2px 6px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface-sunken);white-space:nowrap}.selectionhelp p{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.5;margin:0 0 10px}.tplgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-4)}.tplcard{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--space-4);cursor:pointer;text-align:left;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface)}.tplcard:hover{border-color:var(--color-accent);background:var(--color-accent-tint)}.tplcard:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tplcard b{font-size:var(--text-sm);color:var(--color-text-primary)}.tplcard span{font-size:var(--text-2xs);color:var(--color-text-secondary);line-height:1.4}.tplcard svg{background:var(--color-bg-surface-sunken);border-radius:var(--radius-sm)}.totals{border-top:1px solid var(--color-border-default);padding-top:12px}.trow{display:flex;justify-content:space-between;font-size:var(--text-sm);padding:3px 0;gap:8px}.trow b{font-family:var(--font-family-mono);font-size:var(--text-xs);text-align:right;font-weight:600}.outline{display:flex;flex-direction:column;gap:1px}.outline .outrowline{display:flex;align-items:center}.outline .outrowline .outrow{flex:1;width:auto;padding-left:4px}.outline .outrow{display:flex;align-items:center;gap:7px;text-align:left;width:100%;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:5px 7px;font:500 var(--text-sm) var(--font-family-ui);color:var(--color-text-primary)}.outline .outrow:hover{background:var(--color-bg-surface-sunken)}.outline .outrow.on{background:var(--color-accent-tint);color:var(--color-accent)}.outline .outtag{font:600 var(--text-2xs) var(--font-family-mono);color:var(--color-text-secondary);background:var(--color-bg-surface-sunken);padding:1px 6px;border-radius:var(--radius-sm)}.outline .outrow.on .outtag{color:var(--color-accent)}.outline .outrow-hidden{color:var(--color-text-secondary);opacity:.55}.outline .outrow-hidden .outtag{color:var(--color-text-secondary)}.outline .outeye{opacity:0;visibility:hidden}.outline .outrowline:hover .outeye,.outline .outrowline:focus-within .outeye,.outline .outeye[aria-pressed=true]{opacity:1;visibility:visible}.outline .outdel{opacity:0;visibility:hidden}.outline .outrowline:hover .outdel,.outline .outrowline:focus-within .outdel{opacity:1;visibility:visible}@media(hover:none){.outline .outeye,.outline .outdel{opacity:1;visibility:visible}}.outline .outadd{display:flex;align-items:center;gap:6px;text-align:left;background:none;border:1px dashed var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;padding:4px 9px;font:500 var(--text-sm) var(--font-family-ui);color:var(--color-accent)}.outline .outadd--stack{margin-left:16px}.outline .outadd svg{flex-shrink:0}.outline .outadd:hover{background:var(--color-accent-tint);border-color:var(--color-accent-hover)}.outline .outadd[aria-disabled=true]{color:var(--color-text-disabled);cursor:not-allowed}.outline .outadd[aria-disabled=true]:hover{background:transparent;border-color:var(--color-border-default)}.outline .outadd:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.selpanel{position:relative}.selpanel .inspector{margin-bottom:0}.inspector select{width:100%}.selhead{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.selhead .selcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--color-text-secondary);min-width:0}.selhead .kindpill{font:600 var(--text-2xs) var(--font-family-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);background:var(--color-accent-tint);padding:1px 6px;border-radius:var(--radius-sm)}.selhead .crumbstep{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-sm)}.selhead .crumbstep:hover{color:var(--color-text-primary);text-decoration:underline}.selhead .crumbstep:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.selhead .crumbsep{color:var(--color-text-secondary)}.selhead .selname{display:flex;align-items:center;gap:6px;min-width:0}.selhead h2{font:var(--font-weight-semibold) 16px var(--font-family-ui);letter-spacing:-.01em;text-transform:none;color:var(--color-text-primary);margin:0;min-width:0;flex:1;line-height:1.25}.selhead .selrole{font:500 var(--text-xs) var(--font-family-mono);color:var(--color-text-secondary);flex-shrink:0}.selhead .selname-btn{background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:0 4px;margin-left:-4px;font:inherit;color:inherit;text-align:left;cursor:text;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selhead .selname-btn:hover{border-color:var(--color-border-default)}.selhead .selname-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.selhead .selname-input{font:inherit;color:inherit;background:var(--color-bg-surface);width:100%;min-width:0;border:1px solid var(--color-accent);border-radius:var(--radius-sm);padding:0 4px;margin-left:-4px}.selhead .selname-input:focus{outline:none}.selhead .selacts{display:flex;gap:2px;flex-shrink:0}.selhead .seldims{font:500 var(--text-xs) var(--font-family-mono);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.doorglyph{display:block;width:100%;height:auto;margin:0 0 8px}.doorglyph .dg-box{fill:var(--color-bg-surface-sunken);stroke:var(--color-border-strong);stroke-width:1}.doorglyph .dg-plinth{fill:var(--color-bg-surface);stroke:var(--color-border-strong);stroke-width:.8}.doorglyph .dg-front{fill:none;stroke:var(--color-border-strong);stroke-width:.8;stroke-dasharray:2 2}.doorglyph .dg-leaf{fill:var(--color-bg-surface);stroke:var(--color-border-strong);stroke-width:1}.doorglyph .dg-leafg[role=button]{cursor:pointer}.doorglyph .dg-leafg:hover .dg-leaf{stroke:var(--color-accent)}.doorglyph .dg-leafg:focus-visible{outline:none}.doorglyph .dg-leafg:focus-visible .dg-leaf{stroke:var(--color-accent);stroke-width:2}.doorglyph .dg-leafg.sel .dg-leaf{fill:var(--color-accent-tint);stroke:var(--color-accent);stroke-width:1.5}.doorglyph .dg-hinge{fill:var(--color-accent)}.doorglyph .dg-num{font:500 8px var(--font-family-mono);fill:var(--color-text-secondary)}.seljump{position:sticky;top:calc(-1 * var(--space-4));z-index:1;display:flex;flex-wrap:wrap;gap:4px;padding:6px 0 8px;margin-top:-6px;background:var(--color-bg-surface)}.seljump button{font:500 var(--text-2xs) var(--font-family-ui);padding:2px 8px;cursor:pointer;border:1px solid var(--color-border-default);border-radius:var(--radius-pill);background:var(--color-bg-surface);color:var(--color-text-secondary)}.seljump button:hover{border-color:var(--color-accent);color:var(--color-accent)}.seljump button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.fslider{display:flex;align-items:center;gap:var(--space-3);min-width:0}.fslider input[type=range]{flex:1;min-width:0;margin:0;accent-color:var(--color-accent)}.fslider output{font:500 var(--text-xs) var(--font-family-mono);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;min-width:4.5ch;text-align:right}.swatches{display:flex;flex-wrap:wrap;gap:var(--space-2)}.swatches .swatchbtn{display:flex;width:var(--control-height-md);height:var(--control-height-md);padding:var(--space-1);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface);cursor:pointer}.swatches .swatchbtn:hover{border-color:var(--color-accent)}.swatches .swatchbtn.on{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.swatches .swatchbtn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.swatches .swatch{flex:1;border-radius:var(--radius-sm)}.photosettings .seg{width:100%}.photosettings .seg button{flex:1}.toaster{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:var(--z-dialog);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:min(480px,calc(100vw - 32px));padding:8px 10px 8px 14px;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.toast-msg{font-size:var(--text-sm);color:var(--color-text-primary)}.toast-action{font:var(--font-weight-semibold) var(--text-sm) var(--font-family-ui);color:var(--color-accent);background:none;border:none;padding:2px 4px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.toast-action:hover{background:var(--color-bg-surface-sunken)}.toast-action:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.sr-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.auth-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);font-family:var(--font-family-ui);color:var(--color-text-primary);background:var(--color-bg-canvas)}.auth-card{width:100%;max-width:340px;padding:var(--space-8);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-md)}.auth-title{margin:0 0 var(--space-6);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);text-align:center}.auth-langrow{display:flex;justify-content:flex-end;margin-bottom:var(--space-4)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-lede{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.auth-field{display:flex;flex-direction:column;gap:var(--space-2)}.auth-label{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.auth-input{height:var(--control-height-lg);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font-family:inherit;font-size:var(--text-base)}.auth-input:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-color:var(--color-accent)}.auth-message{min-height:var(--space-5);margin:0;font-size:var(--text-sm);line-height:var(--space-5)}.auth-message.is-error{color:var(--color-danger)}.auth-message.is-notice{color:var(--color-text-secondary)}.auth-linkbutton{align-self:center;padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-sm);background:none;color:var(--color-accent);font-family:inherit;font-size:var(--text-sm);cursor:pointer}.auth-linkbutton:hover{color:var(--color-accent-hover);text-decoration:underline}.auth-linkbutton:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.auth-footnote{margin:0;padding-top:var(--space-2);border-top:1px solid var(--color-border-default);font-size:var(--text-xs);color:var(--color-text-secondary);text-align:center}.auth-loading{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;font-family:var(--font-family-ui);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg-canvas)}.auth-passwordwrap{position:relative}.auth-passwordwrap .auth-input{width:100%;padding-right:38px}.auth-reveal{position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-spinner{display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-pill);animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.auth-spinner{animation:none}}.error-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);font-family:var(--font-family-ui);color:var(--color-text-primary);background:var(--color-bg-canvas)}.error-screen__card{width:100%;max-width:480px;padding:var(--space-8);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-md)}.error-screen__card h1{margin:0 0 var(--space-4);font-size:var(--text-lg)}.error-screen__card p{margin:0 0 var(--space-6);font-size:var(--text-base);color:var(--color-text-secondary)}.error-screen__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6)}.error-screen__details summary{cursor:pointer;font-size:var(--text-sm);color:var(--color-text-secondary)}.error-screen__details pre{margin:var(--space-4) 0 0;padding:var(--space-4);max-height:240px;overflow:auto;font-size:var(--text-xs);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface-sunken);white-space:pre-wrap}.projects-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;font-family:var(--font-family-ui);color:var(--color-text-primary);background:var(--color-bg-canvas)}.projects-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:var(--header-h);padding:0 var(--space-5);border-bottom:1px solid var(--color-border-default);background:var(--color-bg-surface)}.projects-brand{margin:0;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);white-space:nowrap}.projects-main{width:100%;max-width:640px;margin:0 auto;padding:var(--space-8) var(--space-5)}.projects-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.projects-heading h2{margin:0;font-size:var(--text-lg);font-weight:var(--font-weight-semibold)}.projects-note{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary)}.projects-error{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-danger)}.projects-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.projects-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) 0;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.projects-open{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:0;border-radius:var(--radius-md);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.projects-open:hover{background:var(--color-bg-surface-sunken)}.projects-open:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.projects-open b{font-size:var(--text-base);font-weight:var(--font-weight-medium);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projects-open span{font-size:var(--text-xs);color:var(--color-text-secondary)}.projects-loading{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;font-family:var(--font-family-ui);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg-canvas)}.projects-card{width:100%;max-width:420px;margin:auto;padding:var(--space-8);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-md)}.projects-cardtitle{margin:0 0 var(--space-4);font-size:var(--text-lg)}.projects-actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6)}@media(max-width:760px){.projects-top{padding:0 var(--space-3)}.projects-main{padding:var(--space-6) var(--space-4)}}
