:root{--bg: #f3f4f6;--panel: #ffffff;--panel-2: #ebedf0;--border: #d6d9de;--text: #1a1d21;--text-dim: #5c6470;--accent: #3a82c4;--accent-2: #2c6ca6;--accent-contrast: #ffffff;--danger: #c75c5c;--shadow: 0 2px 8px rgba(0, 0, 0, .12);--canvas-bg: #e4e6ea;--scrollbar-thumb: color-mix(in srgb, var(--text-dim) 55%, transparent);--scrollbar-track: transparent;--canvas-accent: #79c0ff;--canvas-accent-soft: #b6dfff;--canvas-accent-leather: #33302e;--canvas-snap-candidate: #4a90c2;--leather-fill: rgb(229, 195, 163);--leather-edge: #c9a685;--leather-border: #8a5a2b;--leather-decor: #5a3f22;--piece-cut: #c75c5c;--note-fill: rgba(253, 246, 227, .88);--note-border: #c9b98f;--note-text: #2b2620;--note-callout: #17313f;--note-badge-text: #ffffff;--note-selected: var(--canvas-accent);--construction-stroke: #e6c84a;--construction-halo: #1a1a1a;--construction-preview: #f4e08a;--construction-broken: #e34a4a;--compass-active: #5fa9ff;--compass-axis: #9aa0a6;--constraint-icon-dot: #ffffff;--mat-bg: #2f5e47;--mat-grid-fine: #5e7068;--mat-grid-coarse: #9ca59e;--mat-axis: #c8d0cb;--preview-fill: #d99a5b;--preview-freehand: #3a2a18;--export-cut: #ff0000;--export-hole: #0000ff;--export-stitch: #ff00ff;--export-engrave: #000000;--export-decor: #3a2a18;--export-construction: #00a000;--export-raster-bg: #ffffff}@media (prefers-color-scheme: dark){:root{--bg: #15171b;--panel: #1f2228;--panel-2: #282c33;--border: #353a42;--text: #e6e9ee;--text-dim: #9aa3b0;--accent: #5fa3d9;--accent-2: #3f86bf;--accent-contrast: #0c1218;--shadow: 0 2px 10px rgba(0, 0, 0, .45);--canvas-bg: #101216;--note-fill: rgba(35, 38, 44, .88);--note-border: #4c525b;--note-text: #f1f4f8;--note-callout: #e7edf3;--note-badge-text: #15171b}}html[data-mode=light]{--bg: #f3f4f6;--panel: #ffffff;--panel-2: #ebedf0;--border: #d6d9de;--text: #1a1d21;--text-dim: #5c6470;--accent: #3a82c4;--accent-2: #2c6ca6;--accent-contrast: #ffffff;--shadow: 0 2px 8px rgba(0, 0, 0, .12);--canvas-bg: #e4e6ea;--note-fill: rgba(253, 246, 227, .88);--note-border: #c9b98f;--note-text: #2b2620;--note-callout: #17313f;--note-badge-text: #ffffff}html[data-mode=dark]{--bg: #15171b;--panel: #1f2228;--panel-2: #282c33;--border: #353a42;--text: #e6e9ee;--text-dim: #9aa3b0;--accent: #5fa3d9;--accent-2: #3f86bf;--accent-contrast: #0c1218;--shadow: 0 2px 10px rgba(0, 0, 0, .45);--canvas-bg: #101216;--note-fill: rgba(35, 38, 44, .88);--note-border: #4c525b;--note-text: #f1f4f8;--note-callout: #e7edf3;--note-badge-text: #15171b}html[data-theme=acrylic]{--canvas-accent: #35d0c8;--canvas-accent-soft: #a3ece7;--canvas-accent-leather: #12312f;--canvas-snap-candidate: #2b9d98;--construction-stroke: #f2a71b;--construction-halo: #101a1a;--construction-preview: #f8cf7a;--construction-broken: #e0503f;--preview-fill: #f08a4b;--preview-freehand: #21302f;--compass-active: #35d0c8;--compass-axis: #8ea3a1;--constraint-icon-dot: #ffffff;--piece-cut: #d24a3d;--bg: #f1f6f5;--panel: #ffffff;--panel-2: #e5eeed;--border: #c8dad8;--text: #131e1d;--text-dim: #4f6462;--accent: #0d7a76;--accent-2: #0a5f5c;--accent-contrast: #ffffff;--danger: #b5392f;--canvas-bg: #dde8e6}@media (prefers-color-scheme: dark){html[data-theme=acrylic]{--bg: #0d1514;--panel: #16211f;--panel-2: #1e2b29;--border: #2c3b39;--text: #e4efee;--text-dim: #93a7a5;--accent: #3fc9c1;--accent-2: #2aa39c;--accent-contrast: #06110f;--danger: #e8695c;--canvas-bg: #0a1211}}html[data-theme=acrylic][data-mode=light]{--bg: #f1f6f5;--panel: #ffffff;--panel-2: #e5eeed;--border: #c8dad8;--text: #131e1d;--text-dim: #4f6462;--accent: #0d7a76;--accent-2: #0a5f5c;--accent-contrast: #ffffff;--danger: #b5392f;--canvas-bg: #dde8e6}html[data-theme=acrylic][data-mode=dark]{--bg: #0d1514;--panel: #16211f;--panel-2: #1e2b29;--border: #2c3b39;--text: #e4efee;--text-dim: #93a7a5;--accent: #3fc9c1;--accent-2: #2aa39c;--accent-contrast: #06110f;--danger: #e8695c;--canvas-bg: #0a1211}html[data-theme=dye]{--canvas-accent: #d2687c;--canvas-accent-soft: #f0bcc7;--canvas-accent-leather: #2e1a1e;--canvas-snap-candidate: #a9556a;--construction-stroke: #d8a13c;--construction-halo: #171012;--construction-preview: #eccb8e;--construction-broken: #d0432f;--preview-fill: #c1743f;--preview-freehand: #2a1a1e;--compass-active: #d2687c;--compass-axis: #9b8a8e;--constraint-icon-dot: #ffffff;--piece-cut: #b03a2b;--bg: #f6f1f2;--panel: #ffffff;--panel-2: #eee5e7;--border: #dbc9cd;--text: #1e1417;--text-dim: #6a5459;--accent: #8c2f3f;--accent-2: #6d2331;--accent-contrast: #ffffff;--danger: #b03a2b;--canvas-bg: #e9dfe1}@media (prefers-color-scheme: dark){html[data-theme=dye]{--bg: #161012;--panel: #211a1c;--panel-2: #2b2124;--border: #3a2c30;--text: #efe4e6;--text-dim: #b0999e;--accent: #c9647a;--accent-2: #a44a5c;--accent-contrast: #140c0e;--danger: #e2705f;--canvas-bg: #110c0e}}html[data-theme=dye][data-mode=light]{--bg: #f6f1f2;--panel: #ffffff;--panel-2: #eee5e7;--border: #dbc9cd;--text: #1e1417;--text-dim: #6a5459;--accent: #8c2f3f;--accent-2: #6d2331;--accent-contrast: #ffffff;--danger: #b03a2b;--canvas-bg: #e9dfe1}html[data-theme=dye][data-mode=dark]{--bg: #161012;--panel: #211a1c;--panel-2: #2b2124;--border: #3a2c30;--text: #efe4e6;--text-dim: #b0999e;--accent: #c9647a;--accent-2: #a44a5c;--accent-contrast: #140c0e;--danger: #e2705f;--canvas-bg: #110c0e}html[data-theme=leather]{--canvas-accent: #e0a256;--canvas-accent-soft: #f4d7a8;--canvas-accent-leather: #2b2119;--canvas-snap-candidate: #b8813f;--construction-stroke: #3f8f74;--construction-halo: #15110c;--construction-preview: #86c4ae;--construction-broken: #c9432f;--preview-fill: #cf7a3a;--preview-freehand: #2b2119;--compass-active: #e0a256;--compass-axis: #a2968a;--constraint-icon-dot: #ffffff;--piece-cut: #b0402c;--bg: #f7f4ef;--panel: #ffffff;--panel-2: #efe8df;--border: #c9c0b6;--text: #1f1a13;--text-dim: #695c4b;--accent: #8a4f18;--accent-2: #6c3d12;--accent-contrast: #ffffff;--danger: #b0402c;--canvas-bg: #eae2d7}@media (prefers-color-scheme: dark){html[data-theme=leather]{--bg: #16120e;--panel: #211b15;--panel-2: #2b241c;--border: #3a3128;--text: #f0e8dd;--text-dim: #b2a393;--accent: #d08a3e;--accent-2: #a96b28;--accent-contrast: #140f0a;--danger: #e0705a;--canvas-bg: #110e0a}}html[data-theme=leather][data-mode=light]{--bg: #f7f4ef;--panel: #ffffff;--panel-2: #efe8df;--border: #c9c0b6;--text: #1f1a13;--text-dim: #695c4b;--accent: #8a4f18;--accent-2: #6c3d12;--accent-contrast: #ffffff;--danger: #b0402c;--canvas-bg: #eae2d7}html[data-theme=leather][data-mode=dark]{--bg: #16120e;--panel: #211b15;--panel-2: #2b241c;--border: #3a3128;--text: #f0e8dd;--text-dim: #b2a393;--accent: #d08a3e;--accent-2: #a96b28;--accent-contrast: #140f0a;--danger: #e0705a;--canvas-bg: #110e0a}html[data-theme=thread]{--canvas-accent: #7fa8ec;--canvas-accent-soft: #c2d6f8;--canvas-accent-leather: #1b2436;--canvas-snap-candidate: #5a7fc0;--construction-stroke: #e0b93f;--construction-halo: #141824;--construction-preview: #f0dc95;--construction-broken: #d2483c;--preview-fill: #cf6a4e;--preview-freehand: #1b2436;--compass-active: #7fa8ec;--compass-axis: #939bb0;--constraint-icon-dot: #ffffff;--piece-cut: #b8402f;--bg: #f1f4f8;--panel: #ffffff;--panel-2: #e6ebf3;--border: #cad3e1;--text: #121722;--text-dim: #525d7a;--accent: #2f4f8c;--accent-2: #233d70;--accent-contrast: #ffffff;--danger: #b8402f;--canvas-bg: #e1e6ef}@media (prefers-color-scheme: dark){html[data-theme=thread]{--bg: #0e121a;--panel: #171c28;--panel-2: #1f2633;--border: #2e3546;--text: #e6eaf4;--text-dim: #98a3bd;--accent: #7ba0e6;--accent-2: #5a80c8;--accent-contrast: #0a0e16;--danger: #e4756a;--canvas-bg: #0a0e16}}html[data-theme=thread][data-mode=light]{--bg: #f1f4f8;--panel: #ffffff;--panel-2: #e6ebf3;--border: #cad3e1;--text: #121722;--text-dim: #525d7a;--accent: #2f4f8c;--accent-2: #233d70;--accent-contrast: #ffffff;--danger: #b8402f;--canvas-bg: #e1e6ef}html[data-theme=thread][data-mode=dark]{--bg: #0e121a;--panel: #171c28;--panel-2: #1f2633;--border: #2e3546;--text: #e6eaf4;--text-dim: #98a3bd;--accent: #7ba0e6;--accent-2: #5a80c8;--accent-contrast: #0a0e16;--danger: #e4756a;--canvas-bg: #0a0e16}html[data-theme=hardware]{--canvas-accent: #cbb05c;--canvas-accent-soft: #e8dba8;--canvas-accent-leather: #22252a;--canvas-snap-candidate: #9c8845;--construction-stroke: #9fb0bd;--construction-halo: #14171a;--construction-preview: #c6d3dc;--construction-broken: #cf4a3c;--preview-fill: #8f9aa3;--preview-freehand: #22252a;--compass-active: #cbb05c;--compass-axis: #939a9f;--constraint-icon-dot: #ffffff;--piece-cut: #b0402f;--bg: #f1f3f4;--panel: #ffffff;--panel-2: #e7eaec;--border: #ccd1d5;--text: #15181b;--text-dim: #576066;--accent: #7d6118;--accent-2: #614b12;--accent-contrast: #ffffff;--danger: #b0402f;--canvas-bg: #e2e5e8}@media (prefers-color-scheme: dark){html[data-theme=hardware]{--bg: #111316;--panel: #1b1e22;--panel-2: #23272c;--border: #333940;--text: #e8ebee;--text-dim: #9aa2ab;--accent: #c9a94a;--accent-2: #a08733;--accent-contrast: #0d0f11;--danger: #e0705f;--canvas-bg: #0d0f11}}html[data-theme=hardware][data-mode=light]{--bg: #f1f3f4;--panel: #ffffff;--panel-2: #e7eaec;--border: #ccd1d5;--text: #15181b;--text-dim: #576066;--accent: #7d6118;--accent-2: #614b12;--accent-contrast: #ffffff;--danger: #b0402f;--canvas-bg: #e2e5e8}html[data-theme=hardware][data-mode=dark]{--bg: #111316;--panel: #1b1e22;--panel-2: #23272c;--border: #333940;--text: #e8ebee;--text-dim: #9aa2ab;--accent: #c9a94a;--accent-2: #a08733;--accent-contrast: #0d0f11;--danger: #e0705f;--canvas-bg: #0d0f11}*{box-sizing:border-box;scrollbar-width:thin}[data-startupapi-feature-off]{display:none!important}:root{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}@media (prefers-contrast: more){:root{--scrollbar-thumb: var(--text)}}@supports not (scrollbar-color: auto){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:var(--scrollbar-track)}}html,body,#app{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}#app{display:grid;grid-template-columns:max-content 56px 1fr 280px;grid-template-rows:48px 1fr;grid-template-areas:"topbar topbar topbar topbar" "toolbar subtoolbar canvas rightbar"}#app.properties-detached{grid-template-columns:max-content 56px 1fr 280px 280px;grid-template-areas:"topbar topbar topbar topbar topbar" "toolbar subtoolbar canvas properties rightbar"}#app.tool-properties-split{grid-template-columns:max-content 56px 1fr 280px 280px;grid-template-areas:"topbar topbar topbar topbar topbar" "toolbar subtoolbar canvas toolprops rightbar"}#app.properties-detached.tool-properties-split{grid-template-columns:max-content 56px 1fr 280px 280px 280px;grid-template-areas:"topbar topbar topbar topbar topbar topbar" "toolbar subtoolbar canvas toolprops properties rightbar"}#app.left-handed{grid-template-columns:280px 1fr 56px max-content;grid-template-areas:"topbar topbar topbar topbar" "rightbar canvas subtoolbar toolbar"}#app.left-handed.properties-detached{grid-template-columns:280px 280px 1fr 56px max-content;grid-template-areas:"topbar topbar topbar topbar topbar" "rightbar properties canvas subtoolbar toolbar"}#app.left-handed.tool-properties-split{grid-template-columns:280px 280px 1fr 56px max-content;grid-template-areas:"topbar topbar topbar topbar topbar" "rightbar toolprops canvas subtoolbar toolbar"}#app.left-handed.properties-detached.tool-properties-split{grid-template-columns:280px 280px 280px 1fr 56px max-content;grid-template-areas:"topbar topbar topbar topbar topbar topbar" "rightbar properties toolprops canvas subtoolbar toolbar"}#app.left-handed .toolbar,#app.left-handed .subtoolbar{border-right:none;border-left:1px solid var(--border)}#app.left-handed .rightbar,#app.left-handed .properties-sidebar,#app.left-handed .tool-properties-sidebar{border-left:none;border-right:1px solid var(--border)}.topbar{grid-area:topbar;display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--panel);border-bottom:1px solid var(--border);z-index:10}.brand-stack{display:flex;flex-direction:column;justify-content:center;line-height:1.1}.brand{font-size:1.8rem;font-weight:700;color:var(--accent);letter-spacing:.5px;white-space:nowrap}.brand-version{font-size:.8rem;font-weight:400;letter-spacing:0;color:var(--text-dim);font-variant-numeric:tabular-nums;user-select:text}.brand-logo{display:flex;align-items:center;margin-right:-4px}.brand-logo svg{height:40px;width:auto}.preview-label{display:inline-flex;align-items:center;gap:5px;flex:none;padding:2px 9px 2px 6px;border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent);font:inherit;font-size:.8rem;font-weight:600;letter-spacing:.3px;cursor:pointer}.preview-label:before{content:"";width:14px;height:14px;background:var(--accent);-webkit-mask:var(--preview-eye-mask) center / contain no-repeat;mask:var(--preview-eye-mask) center / contain no-repeat}.preview-label:hover,.preview-label:focus-visible{background:var(--panel-2)}.preview-info{inset:52px auto auto 12px;margin:0;max-width:min(380px,calc(100vw - 24px));padding:12px 16px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;background:var(--panel);color:var(--text);box-shadow:var(--shadow);font-size:.9rem;line-height:1.45}.preview-info h2{margin:0 0 6px;font-size:1rem}.preview-info p{margin:6px 0 0;color:var(--text-dim)}.preview-info b{color:var(--text)}.preview-info a{color:var(--accent)}.project-name{color:var(--text-dim);font-style:italic;margin-left:8px;min-width:4em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-spacer{flex:1}.topbar{position:relative;container:topbar / inline-size}.btn.topbar-menu-toggle{display:inline-flex}.topbar-actions{position:absolute;top:100%;right:8px;flex-direction:column;align-items:stretch;gap:6px;min-width:180px;max-height:calc(100vh - 56px);overflow-y:auto;margin-top:6px;padding:8px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000040;z-index:30;display:none}.topbar-actions.open{display:flex}.topbar .topbar-actions .btn{font-family:inherit;width:100%;max-width:none;min-height:40px;margin-left:0;justify-content:center}.topbar-actions #theme-mode-toggle{display:inline-flex;align-items:center;gap:8px;box-sizing:border-box}.topbar power-strip{flex:none;--account-pill-width: 78px;--ps-font: inherit;--ps-font-size: 13px;--ps-control-height: 32px;--ps-text: var(--text);--ps-text-muted: var(--text-dim);--ps-accent: var(--accent);--ps-accent-contrast: var(--accent-contrast);--ps-danger: var(--danger);--ps-warning: var(--danger);--ps-focus-ring: var(--accent);--ps-control-bg: var(--panel-2);--ps-control-border: var(--border);--ps-control-hover-bg: color-mix(in srgb, var(--panel-2) 80%, var(--text) 12%);--ps-avatar-bg: var(--panel-2);--ps-avatar-fg: var(--text-dim);--ps-menu-bg: var(--panel);--ps-menu-text: var(--text);--ps-menu-muted: var(--text-dim);--ps-menu-border: var(--border);--ps-menu-shadow: var(--shadow);--ps-menu-hover-bg: var(--panel-2);--ps-dialog-bg: var(--panel);--ps-dialog-text: var(--text);--ps-dialog-muted: var(--text-dim);--ps-dialog-hover-bg: var(--panel-2);--ps-neutral-btn-bg: var(--panel-2);--ps-neutral-btn-text: var(--text);--ps-neutral-btn-border: var(--border)}.topbar power-strip:not(:defined){display:inline-block;width:32px;height:32px}.topbar power-strip[auth-state=signed-out]:not(:defined){width:var(--account-pill-width)}.topbar-actions #btn-settings svg{display:none}.topbar-actions #btn-settings .topbar-menu-label{display:inline}.btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px;min-height:32px;min-width:32px;transition:background .1s,border-color .1s}.btn:hover:not(:disabled){background:color-mix(in srgb,var(--panel-2) 80%,var(--text) 12%)}.btn:active:not(:disabled){background:color-mix(in srgb,var(--panel-2) 60%,var(--text) 22%)}.btn:disabled{opacity:.4;cursor:not-allowed}html[data-project-load=delayed] :is(.tool-btn,.subtool-btn){opacity:.4;cursor:not-allowed}#btn-undo,#btn-redo{padding:4px 8px}#btn-units{min-width:52px;text-align:center}#btn-part-layout{white-space:nowrap;flex:none}.part-layout-icon{display:none}.part-layout-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}#btn-undo svg,#btn-redo svg{width:16px;height:16px;fill:currentColor;display:block}.btn.primary{background:var(--accent-2);border-color:var(--accent);color:var(--accent-contrast)}.btn.primary:hover{background:var(--accent)}.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--accent-contrast)}.btn.danger:hover{background:color-mix(in srgb,var(--danger) 80%,#000 20%)}.btn.active,.btn.active:hover{background:var(--accent-2);border-color:var(--accent);color:var(--accent-contrast)}.btn.icon-btn{width:32px;min-width:32px;max-width:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;font-size:14px;line-height:1;margin-left:4px}.btn.icon-btn svg{width:16px;height:16px;display:block}.toolbar{grid-area:toolbar;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:stretch;padding:8px 6px;gap:4px;overflow-y:auto}.tool-btn{height:44px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 6px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text);cursor:pointer;font-size:20px;transition:background .1s;white-space:nowrap}.tool-btn:hover:not(:disabled){background:var(--panel-2)}.tool-btn.active,.tool-btn.active:hover{background:var(--accent-2);color:var(--accent-contrast)}.tool-btn:disabled{opacity:.35;cursor:not-allowed}.tool-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tool-label{font-size:13px;font-weight:500;letter-spacing:.1px;flex:1;text-align:left}#app:not(.toolbar-expanded) .tool-label{display:none}#app:not(.toolbar-expanded) .tool-btn{justify-content:center;padding:0}.tool-btn[data-tool-id=stamping] svg{width:26px;height:auto;max-height:18px;fill:currentColor}.tool-btn[data-tool-id=leather] svg{width:24px;height:24px;fill:currentColor}.tool-btn[data-tool-id=construction] svg{width:22px;height:22px;fill:currentColor}.tool-btn[data-tool-id=measure] svg{width:22px;height:22px}.tool-btn[data-tool-id=notes] svg{width:22px;height:22px}.subtool-btn[data-subtool-id=stamp] svg{width:30px;height:auto;max-height:18px}.tool-btn[data-tool-id=select] svg{width:18px;height:18px;fill:currentColor}.tool-collapse-toggle{margin-top:auto;color:var(--text-dim)}.tool-collapse-toggle .tool-icon svg{width:22px;height:22px;fill:currentColor}.tool-collapse-icon-expand,.tool-collapse-icon-collapse{display:inline-flex;align-items:center;justify-content:center}#app:not(.toolbar-expanded) .tool-collapse-icon-collapse{display:none}#app.toolbar-expanded .tool-collapse-icon-expand{display:none}#app.left-handed .tool-collapse-icon-expand svg,#app.left-handed .tool-collapse-icon-collapse svg,#app.left-handed .panel-detach-icon-split svg,#app.left-handed .panel-detach-icon-merge svg{transform:scaleX(-1)}#app:not(.toolbar-expanded) .tool-collapse-toggle .tool-label:after{content:"Expand"}#app.toolbar-expanded .tool-collapse-toggle .tool-label:after{content:"Collapse"}.tool-divider{width:32px;height:1px;background:var(--border);margin:4px 0}.subtoolbar{grid-area:subtoolbar;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:stretch;padding:8px 6px;gap:4px;overflow-y:auto;overflow-x:hidden}.subtoolbar[hidden]{display:none}.subtool-btn{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text);cursor:pointer;transition:background .1s}.subtool-btn[hidden]{display:none}.subtool-btn:hover:not(:disabled){background:color-mix(in srgb,var(--panel) 70%,var(--text) 14%)}.subtool-btn:disabled{opacity:.35;cursor:not-allowed}.subtool-btn.active,.subtool-btn.active:hover{background:var(--accent-2);border-color:var(--accent);color:var(--accent-contrast)}.subtool-btn svg{width:22px;height:22px;fill:currentColor;stroke:currentColor}.subtool-badged{position:relative;display:inline-flex;align-items:center;justify-content:center}.subtool-wand-badge{position:absolute;right:-5px;bottom:-5px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--panel)}.subtool-wand-badge svg{width:11px;height:11px;fill:none}.subtool-btn.active .subtool-wand-badge{background:var(--accent-2)}.subtool-method-badge{position:absolute;right:1px;bottom:1px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--panel);pointer-events:none}.subtool-method-badge svg{width:10px;height:10px}.subtool-btn.active .subtool-method-badge{background:var(--accent-2)}.subtool-btn.subtool-glyph{font-size:20px;line-height:1}:root{--preview-eye-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 0a12 12 0 1 0 0 24a12 12 0 1 0 0-24ZM3.86 12C3.86 12 6.82 6.38 12 6.38C17.18 6.38 20.14 12 20.14 12C20.14 12 17.18 17.62 12 17.62C6.82 17.62 3.86 12 3.86 12ZM5.74 12C5.74 12 7.97 8.26 12 8.26C16.03 8.26 18.26 12 18.26 12C18.26 12 16.03 15.74 12 15.74C7.97 15.74 5.74 12 5.74 12ZM12 10.13a1.87 1.87 0 1 0 0 3.74a1.87 1.87 0 1 0 0-3.74Z'/%3E%3C/svg%3E")}[data-preview]:after{content:"";display:inline-block;width:14px;height:14px;margin-inline-start:6px;vertical-align:-.2em;background:var(--accent);-webkit-mask:var(--preview-eye-mask) center / contain no-repeat;mask:var(--preview-eye-mask) center / contain no-repeat;pointer-events:none}.settings-row-desc [data-preview]:after,.preview-info [data-preview]:after{margin-inline-start:0}:is(.subtool-btn,.arrange-btn,.snap-toggle-icon)[data-preview]{position:relative}:is(.subtool-btn,.arrange-btn,.snap-toggle-icon)[data-preview]:after{position:absolute;top:1px;right:1px;width:11px;height:11px;margin:0}.subtool-btn[data-subtool-id=edit] svg{width:36px;height:36px}.subtool-divider{height:1px;background:var(--border);margin:4px 6px}.subtool-divider[hidden]{display:none}.canvas-toolbars{position:absolute;top:12px;left:0;right:0;padding:0 12px;box-sizing:border-box;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:8px;z-index:5;pointer-events:none}.arrange-bar,.transform-bar,.boolean-bar{pointer-events:auto}.arrange-bar{display:flex;align-items:center;gap:6px;padding:4px;background:#0009;border:1px solid transparent;border-radius:6px}.arrange-bar[hidden]{display:none}.arrange-group{display:flex;align-items:center;gap:2px}.arrange-divider{width:1px;align-self:stretch;margin:2px 0;background:#ffffff38}.arrange-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:5px;color:#f1ece2;cursor:pointer;transition:background .1s}.arrange-btn:hover:not(:disabled){background:#ffffff29}.arrange-btn:disabled{opacity:.35;cursor:not-allowed}.arrange-btn svg{width:18px;height:18px;fill:currentColor;stroke:currentColor}.transform-bar{display:flex;align-items:center;gap:6px;padding:4px;background:#0009;border:1px solid transparent;border-radius:6px}.transform-bar[hidden]{display:none}.boolean-bar{display:flex;align-items:center;gap:2px;padding:4px;background:#0009;border:1px solid transparent;border-radius:6px}.boolean-bar[hidden]{display:none}.transform-group{display:flex;align-items:center;gap:2px}.transform-divider{width:1px;align-self:stretch;margin:2px 0;background:#ffffff38}.segment-list{display:flex;flex-direction:column;gap:0;margin:6px 0 4px}.segment-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px;border-radius:4px;height:28px}.segment-row:hover{background:var(--row-hover, rgba(255, 255, 255, .04))}.segment-label{font-size:12px;color:var(--text-dim)}.segment-indicators{display:flex;align-items:center;gap:0}.segment-connector{width:42px;height:2px;background:var(--border);margin:0 -12px;position:relative;z-index:0}.segment-dot{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;cursor:pointer;color:#fff;flex:0 0 auto;position:relative;z-index:1}.segment-dot:hover,.segment-dot.segment-dot-paired-hover{color:#e6c84a}.segment-dot:focus{outline:none}.segment-dot svg{width:12px;height:12px;display:block}.segment-list[data-edit-action=delete] .segment-dot:hover,.segment-list[data-edit-action=delete] .segment-dot.segment-dot-paired-hover{color:#e34a4a}.segment-list[data-edit-action=delete] .segment-dot-none{color:var(--text-dim);cursor:default}.segment-list[data-edit-action=delete] .segment-dot-none:hover{color:var(--text-dim)}.segment-bridge{position:absolute;left:12px;top:12px;width:51px;height:2px;margin-top:-1px;background:currentColor;transform-origin:0 50%;transform:rotate(-33.7deg);pointer-events:auto;z-index:1}.constraint-chip-strip{display:flex;flex-wrap:wrap;gap:3px;flex-basis:100%;padding-left:40px}.chips-inline .constraint-chip-strip{flex-basis:auto;padding-left:0}.chips-inline .layer-row .row-action{order:1}.constraint-chip-clickable,.constraints-row-clickable{cursor:pointer}.constraint-chip{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--border);border-radius:2px;color:var(--text);background:transparent;cursor:default}.constraint-chip svg{width:10px;height:10px;display:block}.layer-row.selected .constraint-chip{border-color:var(--accent-contrast);color:var(--accent-contrast)}.constraint-chip.related-hover{border-color:var(--accent, #f4e08a);background:#f4e08a2e;color:var(--accent, #f4e08a)}.layer-row.selected .constraint-chip.related-hover{border-color:var(--accent-contrast);background:#ffffff2e;color:var(--accent-contrast)}.constraint-chip.unsatisfied{border-color:#d33;background:#dd33332e;color:#d33}.layer-row.selected .constraint-chip.unsatisfied{border-color:#ffb3b3;background:#ff5a5a52;color:#ffe2e2}.constraint-chip.unsatisfied.related-hover{border-color:#f66;background:#dd333352;color:#f66}.constraints-palette{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.constraint-chip-add{background:transparent;cursor:pointer;padding:0}.constraint-chip-add:disabled{cursor:not-allowed;opacity:.55}.constraint-chip-add.active{border-color:var(--accent, #f4e08a);background:#f4e08a2e;color:var(--accent, #f4e08a)}.constraints-pick-status{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;margin-bottom:8px;border-radius:4px;background:#f4e08a1f;border:1px solid rgba(244,224,138,.45)}.constraints-pick-status-text{margin:0;flex:1;font-size:12px;line-height:1.35;color:var(--text)}.constraints-pick-cancel{font-size:12px;padding:2px 8px;flex:0 0 auto}.constraints-empty-hint{margin:0;font-size:12px;color:var(--text-dim);font-style:italic}.field-note{margin:2px 0 0;font-size:12px;color:var(--text-dim)}.field-note-spaced{margin-bottom:10px}.panel-section-heading{margin:0;font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.constraints-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.constraints-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:4px}.constraints-row:hover{background:var(--row-hover, rgba(255, 255, 255, .04))}.constraints-row.related-hover{background:#f4e08a2e;outline:1px solid var(--accent, #f4e08a);outline-offset:-1px}.constraints-row.unsatisfied.related-hover{background:#dd333347;outline-color:#f66}.constraints-row-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text)}.constraints-row-icon svg{width:18px;height:18px;display:block}.constraints-row-label{font-size:13px;color:var(--text);flex:1}.constraints-row-apply{background:transparent;border:1px solid var(--text-dim);border-radius:3px;color:var(--text);font-size:11px;line-height:1;padding:2px 6px;cursor:pointer;opacity:.5}.constraints-row:hover .constraints-row-apply{opacity:1}.constraints-row-apply:hover,.constraints-row-apply:focus-visible{border-color:var(--accent, #f4e08a);color:var(--accent, #f4e08a)}.constraints-row.unsatisfied .constraints-row-apply{border-color:#d33;color:#d33;opacity:1}.constraints-row.unsatisfied .constraints-row-apply:hover,.constraints-row.unsatisfied .constraints-row-apply:focus-visible{border-color:#f66;background:#dd33332e;color:#f66}.constraints-row-delete{background:transparent;border:0;color:var(--text-dim);font-size:16px;line-height:1;padding:0 4px;cursor:pointer;opacity:.55}.constraints-row:hover .constraints-row-delete{opacity:1}.constraints-row-delete:hover,.constraints-row-delete:focus-visible{color:var(--danger, #e57373);opacity:1}.constraints-row.unsatisfied{background:#dd33331f}.constraints-row.unsatisfied:hover{background:#dd333338}.constraints-row.unsatisfied .constraints-row-icon,.constraints-row.unsatisfied .constraints-row-label{color:#d33}.canvas-host{grid-area:canvas;position:relative;overflow:hidden;background-color:var(--canvas-bg)}.canvas-host{isolation:isolate}.load-progress-track{position:absolute;z-index:-1;background:var(--mat-bg);pointer-events:none}.load-progress-track[hidden]{display:none}.load-progress-track.off-mat{position:fixed;z-index:20;background:none}.load-progress-track.off-mat .load-progress{opacity:.75}.load-progress{width:100%;height:100%;background:var(--construction-stroke);opacity:.5;transform:scaleX(0);transform-origin:left center;will-change:transform}#canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.canvas-controls{position:absolute;bottom:12px;left:12px;display:flex;align-items:center;gap:8px}.zoom-indicator,.calibrate-btn,.snap-toggle{height:28px;padding:0 10px;background:#0009;color:#f1ece2;border:1px solid transparent;border-radius:4px;font-family:inherit;cursor:pointer;user-select:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.zoom-indicator:hover,.calibrate-btn:hover,.snap-toggle:hover{border-color:#ffffff40}.zoom-indicator{font-size:12px;min-width:56px}.calibrate-btn{font-size:14px;min-width:36px}.snap-toggle{font-size:11px;min-width:36px}.snap-toggle.active{background:var(--accent-2);border-color:var(--accent);color:var(--accent-contrast)}.snap-toggle--inert{opacity:.45}.snap-toggle--inert:hover{opacity:.75}@media (prefers-reduced-transparency: reduce){.snap-toggle--inert{opacity:.7}}.snap-group{display:inline-flex;align-items:stretch;height:28px}.snap-group .snap-toggle{border-radius:0;border-right-width:0;margin:0}.snap-group .snap-toggle:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.snap-group .snap-toggle:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px;border-right-width:1px}.snap-toggle-icon{min-width:28px;width:28px;padding:0}.snap-toggle-icon svg{width:18px;height:18px;display:block}.snap-toggle[hidden]{display:none}.snap-angle-indicator{height:28px;background:#0009;color:#f1ece2;border:1px solid transparent;border-radius:4px;font-family:inherit;font-size:12px;user-select:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:52px;gap:4px;padding:0}.snap-angle-indicator:empty{display:none}.snap-angle-indicator svg{display:block;flex-shrink:0}.snap-angle-indicator .snap-angle-value{min-width:24px;text-align:center}.snap-angle-indicator-full{width:64px}.snap-angle-indicator-full .snap-angle-value{min-width:32px}.zoom-popup{position:absolute;bottom:40px;left:12px;background:var(--panel);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow);padding:4px 0;z-index:20;min-width:80px;max-height:calc(100vh - 100px);overflow-y:auto;display:none;flex-direction:column}.zoom-popup.open{display:flex}.zoom-popup .zoom-option{padding:4px 14px;cursor:pointer;font-size:12px;text-align:right;color:var(--text);background:transparent;border:0;font-family:inherit}.zoom-popup .zoom-option:hover{background:var(--panel-2)}.zoom-popup .zoom-option.current{color:var(--accent)}.zoom-popup .zoom-option.prominent{font-weight:700;font-size:13px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding-top:6px;padding-bottom:6px;margin:4px 0}.zoom-popup .zoom-option.zoom-fit{border-top:1px solid var(--border);margin-top:4px;padding-top:6px}.rightbar{grid-area:rightbar;background:var(--panel);border-left:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.properties-sidebar{grid-area:properties;background:var(--panel);border-left:1px solid var(--border);overflow-y:auto;display:none;flex-direction:column}#app.properties-detached .properties-sidebar{display:flex}#app.properties-detached .properties-sidebar:not(:has(>:not([hidden]))){display:none}.tool-properties-sidebar{grid-area:toolprops;background:var(--panel);border-left:1px solid var(--border);overflow-y:auto;display:none;flex-direction:column}#app.tool-properties-split .tool-properties-sidebar:has(>:not([hidden])){display:flex}.panel{padding:12px}.rightbar>*:not([hidden])~*,.properties-sidebar>*:not([hidden])~*,.tool-properties-sidebar>*:not([hidden])~*{border-top:1px solid var(--border)}.panel-shell{position:relative}.panel-detach-btn{position:absolute;top:6px;right:6px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-dim);cursor:pointer;padding:0;z-index:1}.panel-detach-btn:hover{background:var(--panel-2);color:var(--text)}.panel-detach-btn[hidden]{display:none}.panel-detach-btn svg{width:14px;height:14px;fill:none;stroke:currentColor}.panel-detach-icon-split,.panel-detach-icon-merge{display:inline-flex;align-items:center;justify-content:center}#app:not(.properties-detached) #properties-detach-btn .panel-detach-icon-merge{display:none}#app.properties-detached #properties-detach-btn .panel-detach-icon-split{display:none}#app:not(.tool-properties-split) #tool-properties-split-btn .panel-detach-icon-merge{display:none}#app.tool-properties-split #tool-properties-split-btn .panel-detach-icon-split{display:none}.layers-chip-toggle.active svg .off{display:none}#layers-shell{max-height:50%;min-height:0;flex-shrink:0;display:flex;flex-direction:column}#layers-panel{flex:1 1 auto;min-height:0;overflow-y:auto;padding-top:0;isolation:isolate}#app.properties-detached #layers-shell{max-height:none;flex:1}.rightbar:has(>#properties-shell[hidden]) #layers-shell{max-height:none;flex:1}.standard-size-search{width:100%;box-sizing:border-box;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:5px 8px;font:inherit;font-size:12px;margin-bottom:6px}.standard-size-list{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;background:var(--panel-2)}.standard-size-group{position:sticky;top:0;background:var(--panel-2);padding:4px 8px 2px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.standard-size-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;box-sizing:border-box;background:none;border:none;color:var(--text);text-align:left;padding:5px 8px;font:inherit;font-size:12px;cursor:pointer}.standard-size-row:hover{background:color-mix(in srgb,var(--panel-2) 80%,var(--text) 12%)}.standard-size-row.selected{background:color-mix(in srgb,var(--panel-2) 65%,var(--text) 20%);font-weight:600}.standard-size-name{flex:1;min-width:0}.standard-size-dims{color:var(--text-dim);font-size:11px;white-space:nowrap}.standard-size-empty{margin-top:6px}.panel h3{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin:0 0 8px}.panel .prop-sticky-header{position:sticky;z-index:2;margin:0 -12px 8px;padding:8px 12px;background:var(--accent-2);color:var(--accent-contrast);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;line-height:1.4}.panel .prop-sticky-header--tool{top:0;z-index:3}.panel .prop-sticky-header--object{top:calc(var(--prop-sticky-tool-h, 28px) + 4px);margin-top:12px}#properties-panel{padding-top:0}#properties-panel .panel-section,#tool-properties-panel .panel-section{margin:12px -12px 0;padding:12px;border-top:1px solid var(--border)}#properties-panel .panel-section+.panel-section,#tool-properties-panel .panel-section+.panel-section{margin-top:0}#properties-panel>*:has(>.panel-section:last-child)+.panel-section,#tool-properties-panel>*:has(>.panel-section:last-child)+.panel-section{margin-top:0}#properties-panel .panel-section:first-child,#tool-properties-panel .panel-section:first-child{border-top:none;margin-top:0;padding-top:0}#properties-shell>.panel-detach-btn{z-index:4;color:var(--accent-contrast)}#properties-shell>.panel-detach-btn:hover{color:var(--accent-contrast);background:#fff3}#properties-panel .prop-sticky-header--tool{padding-right:34px}#tool-properties-panel{padding-top:0}.layers-header{display:flex;align-items:center;gap:6px;position:sticky;top:0;z-index:1;background:var(--panel);margin:0 -12px 8px;padding:12px 32px 0 12px}.layers-header .layers-title{margin:0}.layers-chip-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--text-dim);cursor:pointer;flex-shrink:0}.layers-chip-toggle:hover{color:var(--text);border-color:var(--text-dim)}.layers-chip-toggle.active{color:var(--text)}.layers-chip-toggle svg{width:14px;height:14px;display:block}.layers-header-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--text);cursor:pointer;flex-shrink:0}.layers-header-btn:hover:not(:disabled){border-color:var(--text-dim)}.layers-header-btn:disabled{opacity:.4;cursor:default}.layers-header-btn svg{width:14px;height:14px;display:block}.layers-header-btn[data-action=split-polyline] svg,.layers-header-btn[data-action=join-construction] svg{fill:currentColor}.layers-header>.layers-title+button{margin-left:auto}.panel .empty{color:var(--text-dim);font-style:italic;font-size:12px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.field label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.preset-dim-label-row{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:14px}.preset-dim-reset{background:var(--accent);border:1px solid var(--accent);color:var(--accent-contrast, #fff);border-radius:3px;font-size:9px;font-weight:700;font-family:inherit;padding:0 6px;line-height:11px;cursor:pointer;text-transform:uppercase;letter-spacing:.4px}.preset-dim-reset:hover{background:var(--accent-2, var(--accent));border-color:var(--accent-2, var(--accent));filter:brightness(1.05)}.preset-dim-reset:active{filter:brightness(.92)}.field input[type=number],.field input[type=text],.field select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:6px 8px;border-radius:4px;font-size:13px;min-height:28px}.field input[type=range]{width:100%}.field-row{display:flex;gap:6px}.field-row>*{flex:1}.skip-controls{display:flex;align-items:flex-start;gap:12px;padding-left:6px}.field.stitch-indent{padding-left:6px}.field.stitch-indent input[type=checkbox]{margin:0}.skip-toggle-group{display:flex;align-items:center;gap:6px;flex:none;min-height:28px}.skip-number-col{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.skip-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;margin:0}.skip-toggle input[type=checkbox]{flex:none;margin:0}.stitch-name-link{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:none}.stitch-name-link:hover{text-decoration:underline}.skip-info{color:var(--text-dim);text-decoration:none;font-size:13px;line-height:1}.skip-info:hover{color:var(--accent)}.skip-number-col input[type=number]{width:100%}.skip-number-col input[type=number]:disabled{opacity:.45;cursor:not-allowed}.skip-number-col .stitch-summary{margin:0}.scrubber-row{align-items:center}.scrubber-row>*{flex:none}.scrubber-row input[type=range]{flex:1 1 auto;min-width:0}.scrubber-value{flex:0 0 auto;display:flex;align-items:center;gap:2px;width:5.2em}.scrubber-value input[type=number]{width:100%;text-align:right}.scrubber-suffix{opacity:.5;font-size:12px}.mm-in-row{display:flex;gap:6px;flex:1}.mm-in-cell{position:relative;flex:1;min-width:0}.mm-in-cell input[type=number],.mm-in-cell input[type=text]{width:100%;padding-right:24px}.mm-in-unit{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;pointer-events:none}range-group{position:relative;display:block;height:22px}range-group input[type=range]{position:absolute;left:0;top:50%;transform:translateY(-50%);width:100%;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}range-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;height:14px;width:14px;border-radius:50%;background:var(--accent, #4a90d9);border:2px solid var(--panel-bg, #1e1e1e);cursor:pointer}range-group input[type=range]::-moz-range-thumb{pointer-events:auto;height:14px;width:14px;border-radius:50%;background:var(--accent, #4a90d9);border:2px solid var(--panel-bg, #1e1e1e);cursor:pointer}range-group .range-group-rail,range-group .range-group-fill{position:absolute;top:50%;transform:translateY(-50%);height:4px;border-radius:2px;pointer-events:none}range-group .range-group-rail{left:0;right:0;background:var(--input-bg, #333)}range-group .range-group-fill{background:var(--accent, #4a90d9);opacity:.55}.layers-row--match-target{cursor:pointer;box-shadow:inset 0 0 0 1px var(--accent, #4a90d9);border-radius:3px}.layers-row--match-source{box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent, #4a90d9) 50%,transparent);border-radius:3px;opacity:.5}.start-of-path{position:relative;padding-top:14px}.start-of-path-range{width:100%;margin:0}.start-of-path-tick{position:absolute;top:0;transform:translate(-50%);width:16px;height:13px;padding:0;font-size:9px;line-height:11px;font-weight:700;color:var(--text-muted, #aaa);background:var(--input-bg, #333);border:1px solid var(--border, #555);border-radius:3px;cursor:pointer}.start-of-path-tick:hover{color:var(--accent, #4a90d9);border-color:var(--accent, #4a90d9)}.constraint-chip.stitch-match-chip svg,.constraint-chip.stitch-grid-chip svg{width:14px;height:14px}.constraint-chip.stitch-match-chip[data-connection-role=main],.constraint-chip.stitch-grid-chip[data-connection-role=main]{background:var(--accent, #4a90d9);border-color:var(--accent, #4a90d9);color:var(--accent-contrast, #fff)}.layer-row.selected .constraint-chip.stitch-match-chip[data-connection-role=main],.layer-row.selected .constraint-chip.stitch-grid-chip[data-connection-role=main]{background:var(--accent-contrast);border-color:var(--accent-contrast);color:var(--accent, #4a90d9)}.working-area-inputs{margin-top:6px}.working-area-labels{align-items:baseline}.working-area-labels>label{flex:1;font-size:11px;opacity:.75}.working-area-labels>.working-area-label--end{text-align:right}.working-area-labels>.working-area-length{flex:0 0 auto;text-align:center;font-size:11px;opacity:.75;white-space:nowrap}.working-area-fields>.working-area-input{flex:1;min-width:0}.length-field-row>input[type=range]{flex:1.4}.length-field-row>.mm-in-row{flex:2.2}.advanced-print-modal select,.vector-export-modal select,.advanced-print-modal .mm-in-cell input[type=text],.vector-export-modal input[type=number]{height:32px;box-sizing:border-box;font-size:13px;border:1px solid var(--border);border-radius:4px;background:var(--panel-2);color:var(--text)}.advanced-print-modal select,.vector-export-modal select{width:100%;padding:0 8px}.vector-export-modal input[type=number]{padding:0 8px}.vector-export-grid{display:grid;gap:12px;min-width:470px}@media (min-width: 1100px) and (min-height: 500px){dialog.vector-export-modal{max-width:1000px}.vector-export-grid{grid-template-columns:1fr 1fr;min-width:940px}}.vector-export-modal input[type=color]{height:32px;width:44px;padding:2px;box-sizing:border-box;border:1px solid var(--border);border-radius:4px;background:var(--panel-2)}.advanced-print-modal .mm-in-cell input[type=text]{padding-left:8px}.stitch-summary{font-size:11px;color:var(--text-dim);margin:2px 0 8px;font-variant-numeric:tabular-nums}.stitch-pitch-input-row{display:flex;align-items:stretch;gap:6px}.stitch-pitch-input-row>.mm-in-row{flex:1}.stitch-reset-btn{flex:0 0 auto;width:28px;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:4px;cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.stitch-reset-btn:hover{border-color:var(--accent)}.preset-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:4px}.preset-row-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);width:16px}.preset-chip{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:2px 8px;font-size:11px;cursor:pointer;font-family:inherit;line-height:1.3}.preset-chip:hover{border-color:var(--accent)}.preset-chip.active{background:var(--accent-2);border-color:var(--accent);color:var(--accent-contrast)}.line-angle-input-row{display:flex;align-items:stretch;gap:6px}.line-angle-input-cell{position:relative;flex:1;min-width:0}.line-angle-input-cell input[type=text]{width:100%;padding-right:18px}.line-angle-input-cell .unit-label{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--text-dim);pointer-events:none}.line-angle-indicator-pair{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.line-angle-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.stamp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:4px}.stamp-tile{aspect-ratio:1;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:4px;position:relative}.stamp-tile:hover{border-color:var(--accent)}.stamp-tile.selected{border-color:var(--accent);background:var(--accent-2)}.shape-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:4px}.shape-tile{aspect-ratio:1;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:6px;color:var(--text);font-family:inherit}.shape-tile:hover{border-color:var(--accent)}.shape-tile.disabled,.shape-tile:disabled{opacity:.4;cursor:not-allowed}.shape-tile.disabled:hover,.shape-tile:disabled:hover{border-color:var(--border)}.shape-tile.selected{border-color:var(--accent);background:var(--accent-2);color:var(--accent-contrast)}.shape-tile svg{width:100%;height:100%}.stamp-tile svg{width:100%;height:100%}.hardware-color-row{display:flex;gap:6px;flex-wrap:wrap}.hardware-color-swatch{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);cursor:pointer;padding:0;box-shadow:inset 0 -2px 3px #00000040}.hardware-color-swatch:hover{border-color:var(--accent)}.hardware-color-swatch.selected{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.layers-hardware-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.35);vertical-align:-2px}.stamp-categories{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.stamp-cat{background:var(--panel-2);border:1px solid var(--border);color:var(--text-dim);padding:2px 8px;border-radius:10px;font-size:11px;cursor:pointer}.stamp-cat.active{background:var(--accent-2);border-color:var(--accent);color:var(--accent-contrast)}.layer-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px;border-radius:4px;cursor:pointer;font-size:12px}.layer-row:hover{background:var(--panel-2)}.layer-row.selected{background:var(--accent-2);color:var(--accent-contrast)}.layer-row.layer-group-header{cursor:default;color:var(--text-dim);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.layer-row.layer-group-header:hover{background:transparent}.layer-row.layer-group-header.selectable{cursor:pointer}.layer-row.layer-group-header.selectable:hover{background:var(--panel-2)}.layer-row.layer-group-header.selectable.selected{background:var(--accent-2);color:var(--accent-contrast)}.layer-row .row-toggle{display:inline-flex;align-items:center;height:16px;margin-top:-.4rem;font-size:28px;line-height:1;color:var(--text);flex-shrink:0;user-select:none;overflow:visible}.layer-row .row-toggle.interactive{cursor:pointer}.layer-row .row-toggle.interactive:hover{color:var(--accent)}.layer-row .visibility{cursor:pointer;width:18px;text-align:center;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.layer-row .visibility svg{width:18px;height:auto;max-height:14px}.layer-row .visibility.has-visibility-toggle{position:relative}.source-visibility-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.source-visibility-eye{display:inline-flex;align-items:center;flex-shrink:0}.source-visibility-eye svg{width:14px;height:14px}.layer-row .visibility-eye{position:absolute;inset:0;display:none;align-items:center;justify-content:center;color:var(--accent)}.layer-row .visibility-eye svg{width:15px;max-height:15px}.layer-row:hover .visibility.has-visibility-toggle .visibility-icon,.layer-row.faded .visibility.has-visibility-toggle .visibility-icon{visibility:hidden}.layer-row:hover .visibility.has-visibility-toggle .visibility-eye,.layer-row.faded .visibility.has-visibility-toggle .visibility-eye{display:inline-flex}.layer-row .visibility.faded{opacity:.3}.layer-row.faded .row-label,.layer-row.faded .visibility{opacity:.45}.layer-row.faded.selected{opacity:1}.layer-row .row-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-row .row-label-input{flex:1;font:inherit;color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:3px;padding:0 4px;min-width:0;outline:none}.layer-row .row-label-input:focus{border-color:var(--accent)}.layer-row .row-action{background:transparent;border:0;color:inherit;opacity:.55;cursor:pointer;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;font-size:16px;line-height:1}.layer-row:hover .row-action{opacity:1}.layer-row .row-action:hover{background:#ffffff1f;color:var(--danger)}.layer-row .collapse-all-btn{background:transparent;border:0;color:inherit;opacity:.5;cursor:pointer;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;font-size:15px;line-height:1}.layer-row:hover .collapse-all-btn{opacity:1}.layer-row .collapse-all-btn:hover{background:#ffffff1f;color:var(--accent)}.layer-row.drag-source{opacity:.45}.layer-row.drop-target-active{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-2);color:var(--accent-contrast)}.layers-drop-strip{height:4px;position:relative}.layers-drop-strip.drop-target-active:after{content:"";position:absolute;left:var(--strip-indent, 0);right:4px;top:1px;height:2px;background:var(--accent);border-radius:1px}[data-piece-id].part-drop-before{box-shadow:inset 0 2px 0 0 var(--accent)}[data-piece-id].part-drop-after{box-shadow:inset 0 -2px 0 0 var(--accent)}.modal-host{position:fixed;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:100}.modal-host.open{pointer-events:auto;background:#00000080}.modal{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);min-width:360px;max-width:540px;max-height:80vh;overflow-y:auto}dialog.modal{padding:0;color:var(--text);pointer-events:auto}dialog.modal::backdrop{background:#00000080}.panel-ungroup-btn svg{width:14px;height:14px;vertical-align:middle;margin-right:4px}.print-radio-icon{display:inline-flex;width:18px;height:18px;flex:none}.print-radio-icon svg{width:18px;height:18px}.promote-construction-icon{display:inline-flex}.promote-construction-icon svg{width:15px;height:15px;fill:currentColor}.print-partner-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;box-sizing:border-box;padding:4px 9px;border:1px solid rgba(127,127,127,.5);border-radius:6px;background:#7f7f7f14;text-decoration:none;color:inherit}.print-partner-logo{display:inline-flex}.print-partner-logo svg{height:16px;width:auto}.print-partner-external{display:inline-flex}.print-partner-external svg{width:13px;height:13px}dialog.advanced-print-modal{max-width:720px}.modal header{padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600}.modal .body{padding:16px}.modal footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}.image-drop-zone{display:flex;align-items:center;justify-content:center;min-height:180px;border:2px dashed var(--border);border-radius:8px;cursor:pointer;overflow:hidden}.image-drop-zone:hover,.image-drop-zone:focus-visible,.image-drop-zone.drag-over{border-color:var(--accent)}.image-drop-zone[hidden]{display:none}.image-drop-hint{text-align:center;color:var(--text-dim);font-size:12px;line-height:1.6;padding:16px}.image-drop-hint strong{color:var(--text)}.image-pick-actions{display:flex;justify-content:center;margin-top:8px}.image-pick-actions[hidden]{display:none}.camera-open-btn{display:inline-flex;align-items:center;gap:6px}.camera-open-btn svg{width:16px;height:16px}.camera-stage{display:grid;gap:8px}.camera-stage[hidden]{display:none}.camera-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.camera-rotate-btn{display:inline-flex;align-items:center;gap:6px}.camera-rotate-btn svg{width:14px;height:14px}.camera-device{max-width:100%}.camera-preview-box{background:#000;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;height:clamp(240px,46vh,520px)}.camera-video{width:100%;height:100%;object-fit:contain}.image-upload-status{margin-top:8px;font-size:12px;color:var(--text-dim);min-height:1.2em}.image-upload-status[data-state=done]{color:var(--accent)}.image-upload-status[data-state=error]{color:var(--danger)}.modal.modal-wide{max-width:min(90vw,720px)}.trace-step-help{font-size:12px;color:var(--text-dim);margin-bottom:8px}.trace-loupe-row{display:flex;align-items:flex-start;gap:12px}.trace-loupe{flex:0 0 auto;width:160px;height:160px;background:#000;border:1px solid var(--border);border-radius:4px}.trace-loupe-row .keystone-source,.trace-loupe-row .calibrate-source{min-width:0}.keystone-source{position:relative;display:inline-block;max-width:100%;line-height:0}.keystone-image{display:block;max-width:100%;max-height:40vh}.keystone-overlay{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.keystone-quad{fill:color-mix(in srgb,var(--accent) 12%,transparent);stroke:var(--accent);stroke-width:1.5;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.keystone-handle{fill:var(--panel);stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;cursor:grab}.keystone-handle:active{cursor:grabbing;fill:var(--accent)}.trace-preview-label{margin-top:12px;margin-bottom:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.keystone-preview{display:block;max-width:100%;max-height:36vh;border:1px solid var(--border);border-radius:4px}.calibrate-source{position:relative;display:inline-block;max-width:100%;line-height:0}.calibrate-image{display:block;max-width:100%;max-height:44vh}.calibrate-overlay{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.calibrate-line{stroke-width:2;vector-effect:non-scaling-stroke}.calibrate-line-h{stroke:var(--accent)}.calibrate-line-v{stroke:#d0772f}.calibrate-handle{fill:var(--panel);stroke-width:2;vector-effect:non-scaling-stroke;cursor:grab}.calibrate-handle:active{cursor:grabbing}.calibrate-handle-h{stroke:var(--accent)}.calibrate-handle-h:active{fill:var(--accent)}.calibrate-handle-v{stroke:#d0772f}.calibrate-handle-v:active{fill:#d0772f}.calibrate-fields{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap}.calibrate-field{margin-bottom:0}.calibrate-field-h label:before,.calibrate-field-v label:before{content:"";display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}.calibrate-field-h label:before{background:var(--accent)}.calibrate-field-v label:before{background:#d0772f}.calibrate-scale{margin-top:10px;font-size:12px;color:var(--text-dim)}.calibrate-scale[data-state=done]{color:var(--accent)}.crop-source{position:relative;display:inline-block;max-width:100%;line-height:0}.crop-image{display:block;max-width:100%;max-height:50vh}.crop-overlay{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.crop-shade{fill:#0000008c;pointer-events:none}.crop-rect{fill:transparent;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;cursor:move}.crop-handle{fill:var(--panel);stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;cursor:grab}.crop-handle:active{cursor:grabbing;fill:var(--accent)}.settings-modal .body{display:flex;flex-direction:column;gap:12px}.settings-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.settings-row input[type=checkbox]{margin:2px 0 0;flex:0 0 auto;cursor:pointer}.settings-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-row-title{font-size:13px;color:var(--text)}.settings-row-desc{font-size:12px;color:var(--text-dim);line-height:1.4}.settings-row--control{align-items:center;justify-content:space-between;gap:16px;cursor:default}.settings-row--control .settings-row-title{cursor:pointer}.settings-row--control select{flex:0 0 auto;cursor:pointer}.calibration-modal{min-width:480px;max-width:720px}.calibration-instructions{margin:0 0 16px;color:var(--text-2, var(--text));font-size:13px;line-height:1.4}.calibration-line-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 0;margin-bottom:12px}.calibration-line{height:16px;border-left:2px solid var(--text);border-right:2px solid var(--text);background:linear-gradient(to bottom,transparent calc(50% - 1px),var(--text) calc(50% - 1px),var(--text) calc(50% + 1px),transparent calc(50% + 1px));box-sizing:border-box;flex-shrink:0}.calibration-input-row{display:flex;align-items:center;gap:8px}.calibration-input-row label{font-size:13px;white-space:nowrap}.calibration-mm-in input[type=text]{background:var(--panel-2, transparent);border:1px solid var(--border);border-radius:4px;color:var(--text);font:inherit;padding:4px 24px 4px 6px;min-height:28px;box-sizing:border-box}.calibration-save{font-weight:600}.stitch-flyout,.construction-flyout,.trace-flyout{position:fixed;display:none;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px;box-shadow:0 4px 14px #00000040;z-index:20}.stitch-flyout.open,.construction-flyout.open,.trace-flyout.open{display:flex}.stitch-flyout-btn svg,.construction-flyout-btn svg,.trace-flyout-btn svg{width:22px;height:22px}.stitch-flyout-btn,.construction-flyout-btn,.trace-flyout-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid;background:transparent;cursor:pointer;transition:background .1s}.stitch-flyout-btn.confirm,.construction-flyout-btn.confirm,.trace-flyout-btn.confirm{border-color:#4caf50;color:#4caf50}.stitch-flyout-btn.confirm:hover:not(:disabled),.construction-flyout-btn.confirm:hover:not(:disabled),.trace-flyout-btn.confirm:hover:not(:disabled){background:color-mix(in srgb,#4caf50 18%,transparent)}.stitch-flyout-btn.cancel,.construction-flyout-btn.cancel,.trace-flyout-btn.cancel{border-color:var(--danger);color:var(--danger)}.stitch-flyout-btn.cancel:hover,.construction-flyout-btn.cancel:hover,.trace-flyout-btn.cancel:hover{background:color-mix(in srgb,var(--danger) 18%,transparent)}.stitch-flyout-btn:disabled,.construction-flyout-btn:disabled,.trace-flyout-btn:disabled{opacity:.4;cursor:not-allowed}@media (pointer: coarse){.tool-btn{height:48px;min-width:48px}.btn{padding:8px 14px;min-height:40px}.stitch-flyout-btn,.construction-flyout-btn{width:48px;height:48px}}@media (orientation: portrait){#app,#app.properties-detached,#app.tool-properties-split,#app.properties-detached.tool-properties-split{grid-template-columns:max-content 1fr;grid-template-rows:48px auto 1fr auto;grid-template-areas:"topbar     topbar" "toolbar    canvas" "subtoolbar canvas" "rightbar   rightbar"}#app.left-handed,#app.left-handed.properties-detached,#app.left-handed.tool-properties-split,#app.left-handed.properties-detached.tool-properties-split{grid-template-columns:1fr max-content;grid-template-rows:48px auto 1fr auto;grid-template-areas:"topbar   topbar" "canvas   toolbar" "canvas   subtoolbar" "rightbar rightbar"}#app.left-handed .toolbar{border-right:none;border-left:1px solid var(--border)}#app.tool-properties-split .tool-properties-sidebar{display:none}.subtoolbar{border-right:none;border-top:1px solid var(--border)}.rightbar{flex-direction:row;border-left:none;border-top:1px solid var(--border);max-height:40vh;overflow-x:auto;overflow-y:hidden}.rightbar>*:not(:first-child){border-top:none;border-left:1px solid var(--border)}#layers-shell{max-height:none;min-width:0;flex:1 1 0}#app.properties-detached .rightbar{justify-self:end;width:50%;flex-direction:column;overflow-x:hidden;border-left:1px solid var(--border)}#app.properties-detached .properties-sidebar{grid-area:rightbar;justify-self:start;width:50%;display:flex;flex-direction:column;border-left:none;border-top:1px solid var(--border);max-height:40vh;overflow-y:auto}#app.properties-detached:not(:has(.properties-sidebar>:not([hidden]))) .rightbar{width:100%;border-left:none}#app.left-handed.properties-detached .rightbar{justify-self:start;border-left:none;border-right:1px solid var(--border)}#app.left-handed.properties-detached .properties-sidebar{justify-self:end;border-right:none}#app.left-handed.properties-detached:not(:has(.properties-sidebar>:not([hidden]))) .rightbar{border-right:none}.panel-detach-btn{display:none}}.canvas-toast{position:fixed;top:64px;left:50%;transform:translate(-50%);background:#232323eb;color:#fff;padding:8px 14px;border-radius:6px;font-size:13px;line-height:1.3;box-shadow:0 4px 12px #00000040;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10000;max-width:min(80vw,480px);text-align:center}.canvas-toast--visible{opacity:1}.canvas-toast--action.canvas-toast--visible{pointer-events:auto}.canvas-toast-action{margin-left:8px;padding:2px 10px;font:inherit;color:inherit;background:transparent;border:1px solid currentColor;border-radius:4px;cursor:pointer}.note-text-input{width:100%;min-height:4.5em;resize:vertical;font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:6px 8px}.note-font-field .scrubber-value{position:relative;width:6.4em}.note-font-field .scrubber-value input[type=number]{padding-right:24px}.note-font-field .scrubber-suffix{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;opacity:1;pointer-events:none}.print-content-fields{columns:2;column-gap:18px}.print-content-group{break-inside:avoid;display:grid;gap:8px;margin-bottom:8px}.print-content-group:last-child{margin-bottom:0}@media (max-width: 560px){.print-content-fields{columns:1}.brand{font-size:1.3rem}.brand-version{font-size:.65rem}.topbar{gap:4px;padding:0 8px}#btn-units{min-width:40px;padding:6px 8px}.project-name,.topbar .btn.icon-btn{margin-left:0}}@container topbar (max-width: 780px){.preview-label{padding:3px}.preview-label-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#btn-part-layout{position:relative;display:inline-flex;align-items:center;padding:4px 8px}#btn-part-layout[data-preview]:after{position:absolute;top:1px;right:1px;width:11px;height:11px;margin:0}#btn-part-layout:not([data-view=assembled]) [data-icon=assemble],#btn-part-layout[data-view=assembled] [data-icon=spread]{display:block}.part-layout-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@container topbar (max-width: 640px){.topbar power-strip::part(login-label){display:none}.topbar power-strip[auth-state=signed-out]:not(:defined){width:32px}}@container topbar (max-width: 480px){.brand-stack{display:none}}@container topbar (max-width: 320px){.brand-logo{display:none}.project-name{min-width:3.25em}}
