.picker[data-v-1c1ab23d]{max-width:640px;margin:2rem auto}.project-list[data-v-1c1ab23d]{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.project-list li[data-v-1c1ab23d]{align-items:stretch;gap:.5rem;display:flex}.project-list li>button[data-v-1c1ab23d]{text-align:left;flex-direction:column;flex:1;gap:.15rem;padding:.75rem 1rem;display:flex}.status-select[data-v-1c1ab23d]{min-width:150px}.status-filter[data-v-1c1ab23d]{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.meta[data-v-1c1ab23d]{opacity:.7;font-size:.85rem}.manual[data-v-1c1ab23d]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:2rem;display:flex}.manual input[data-v-1c1ab23d]{border:1px solid var(--color-divider);flex:1;min-width:200px;padding:.45rem .6rem}.error[data-v-1c1ab23d]{color:var(--color-bad-ink)}.tree[data-v-b0a6fe3e]{overflow-y:auto}.grouping[data-v-b0a6fe3e]{gap:.3rem;margin:.4rem 0;display:flex}.grouping button[data-v-b0a6fe3e]{padding:.2rem .5rem;font-size:.75rem}.grouping button.active[data-v-b0a6fe3e]{border-color:var(--md-primary,#333)}.phase h3[data-v-b0a6fe3e],.batch h4[data-v-b0a6fe3e]{text-transform:uppercase;opacity:.75;margin:.6rem 0 .25rem;font-size:.8rem}.storey-toggle[data-v-b0a6fe3e]{cursor:pointer;align-items:center;gap:.35rem;display:flex}ul[data-v-b0a6fe3e]{flex-direction:column;gap:.25rem;margin:0;padding:0 0 0 .5rem;list-style:none;display:flex}.assembly[data-v-b0a6fe3e]{text-align:left;border:1px solid var(--color-divider);background:0 0;flex-direction:column;width:100%;padding:.4rem .6rem;display:flex}.assembly.active[data-v-b0a6fe3e]{border-color:var(--md-primary,#333);background:var(--color-good-tint)}.assembly.dimmed[data-v-b0a6fe3e]{opacity:.45}.assembly .meta[data-v-b0a6fe3e]{opacity:.75;font-size:.8rem}.warn-badge[data-v-b0a6fe3e]{color:var(--color-warn-ink);margin-left:.4rem}.viewer[data-v-70a667dc]{border:1px solid var(--color-divider);width:100%;height:100%;min-height:420px;position:relative}.dim-editor[data-v-70a667dc]{z-index:6;flex-direction:column;align-items:center;gap:.15rem;display:flex;position:absolute;transform:translate(-50%,-120%)}.dim-modes[data-v-70a667dc]{gap:.15rem;display:flex}.dim-modes .tiny[data-v-70a667dc]{background:var(--md-surface,#fff);padding:0 .4rem}.dim-modes .active[data-v-70a667dc]{outline:1px solid;font-weight:700}.dim-input[data-v-70a667dc]{width:6rem}.edge-panel[data-v-d42a6ad1]{overflow-y:auto}h3[data-v-d42a6ad1]{text-transform:uppercase;opacity:.75;margin:1rem 0 .35rem;font-size:.85rem}.rules[data-v-d42a6ad1],.template-form[data-v-d42a6ad1],.template-apply[data-v-d42a6ad1]{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.rules label[data-v-d42a6ad1],.template-form label[data-v-d42a6ad1]{align-items:center;gap:.3rem;font-size:.85rem;display:flex}input[type=number][data-v-d42a6ad1],.template-form input[data-v-d42a6ad1]{border:1px solid var(--color-divider);width:5.5rem;padding:.25rem .4rem}.template-form input[data-v-d42a6ad1]:first-child{width:12rem}.walls[data-v-d42a6ad1]{border-collapse:collapse;width:100%;font-size:.83rem}.walls th[data-v-d42a6ad1],.walls td[data-v-d42a6ad1]{text-align:left;border-bottom:1px solid var(--color-divider);padding:.25rem .4rem}.overridden[data-v-d42a6ad1]{background:var(--color-warn-tint)}.reset[data-v-d42a6ad1]{color:var(--color-bad-ink);cursor:pointer;background:0 0;border:none}.detail[data-v-88c902d0]{overflow-y:auto}header .meta[data-v-88c902d0]{opacity:.8;margin-bottom:.75rem;font-size:.85rem;display:block}h3[data-v-88c902d0]{text-transform:uppercase;opacity:.75;margin:1rem 0 .35rem;font-size:.85rem}.kv th[data-v-88c902d0]{text-align:left;opacity:.8;padding-right:1rem;font-weight:500}.parts[data-v-88c902d0]{border-collapse:collapse;width:100%;font-size:.85rem}.parts th[data-v-88c902d0],.parts td[data-v-88c902d0]{text-align:left;border-bottom:1px solid var(--color-divider);padding:.25rem .5rem}.warnings[data-v-88c902d0]{border:1px solid var(--color-warn-ink);background:var(--color-warn-tint);padding:.5rem .75rem}.warnings ul[data-v-88c902d0]{margin:.25rem 0 0;padding-left:1.1rem}.warn[data-v-88c902d0]{color:var(--color-warn-ink)}.cut[data-v-88c902d0]{background:var(--color-purple-tint);color:var(--color-purple-ink);margin-right:.5rem;padding:0 .3rem;display:inline-block}.metrics[data-v-88c902d0]{opacity:.8;margin:.4rem 0 0;font-size:.85rem}.group-fields[data-v-d6488f11]{flex-direction:column;gap:.3rem;display:flex}.field[data-v-d6488f11]{justify-content:space-between;align-items:center;gap:.6rem;font-size:.82rem;display:flex}.field>span[data-v-d6488f11]:first-child{opacity:.85}.field.muted[data-v-d6488f11]{opacity:.5}.num[data-v-d6488f11]{width:5.5rem}.text[data-v-d6488f11]{width:9rem}.nested[data-v-d6488f11]{border-left:2px solid var(--color-divider);margin:.2rem 0;padding-left:.6rem}.nested summary[data-v-d6488f11]{cursor:pointer;font-size:.82rem;font-weight:600}.group-list[data-v-d6488f11]{flex-direction:column;gap:.5rem;display:flex}.list-item[data-v-d6488f11]{border:1px solid var(--color-divider);padding:.4rem .5rem}.list-head[data-v-d6488f11]{opacity:.75;justify-content:space-between;font-size:.78rem;display:flex}.tiny[data-v-d6488f11]{padding:0 .4rem}.add[data-v-d6488f11]{align-self:flex-start}.empty[data-v-d6488f11]{opacity:.6;margin:0;font-size:.78rem}.opening-settings[data-v-3b404f92]{border:1px solid var(--color-divider);padding:.75rem;font-size:.85rem;overflow-y:auto}.opening-settings header[data-v-3b404f92]{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.opening-settings h3[data-v-3b404f92]{margin:0}.guid[data-v-3b404f92]{opacity:.6;word-break:break-all;margin:.25rem 0 .5rem;font-size:.7rem}.badge[data-v-3b404f92]{border:1px solid var(--color-warn-ink);color:var(--color-warn-ink);margin-left:.5rem;padding:.1rem .4rem;font-size:.7rem}.row[data-v-3b404f92]{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0;display:flex}.geometry[data-v-3b404f92]{background:color-mix(in srgb, currentColor 6%, transparent);font-variant-numeric:tabular-nums;margin:.5rem 0;padding:.4rem .6rem;font-size:.85rem}.manual-edit[data-v-3b404f92]{border-top:1px solid var(--color-divider);padding-top:.5rem}h4[data-v-3b404f92]{margin:.75rem 0 .25rem;font-size:.85rem}.num[data-v-3b404f92]{width:4rem}.actions[data-v-3b404f92]{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.error[data-v-3b404f92]{color:var(--color-bad-ink)}.detail-panel[data-v-7a298fff]{font-size:.88rem;position:relative;overflow-y:auto}.detail-tabs[data-v-7a298fff]{border-bottom:1px solid var(--color-divider);gap:.25rem;margin-bottom:.5rem;display:flex}.detail-tabs button[data-v-7a298fff]{cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.4rem .75rem;font-weight:600}.detail-tabs button.active[data-v-7a298fff]{border-bottom-color:var(--md-primary);color:var(--md-primary)}.detail-tabs .count[data-v-7a298fff]{opacity:.7;margin-left:.25rem;font-size:.72rem}.element-name[data-v-7a298fff]{margin:0 0 .5rem;font-weight:600}.badge[data-v-7a298fff]{background:var(--color-purple-tint);color:var(--color-purple-ink);margin-left:.5rem;padding:.05rem .4rem;font-size:.72rem;font-weight:500}.ribbon[data-v-7a298fff]{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.ribbon .active[data-v-7a298fff],.plugin-tabs .active[data-v-7a298fff]{font-weight:700}.ribbon-form[data-v-7a298fff]{border:1px solid var(--color-divider);margin-bottom:.6rem;padding:.5rem .6rem}.row[data-v-7a298fff]{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.3rem 0;display:flex}.num[data-v-7a298fff]{width:4.5rem}.text[data-v-7a298fff]{width:8rem}.text.short[data-v-7a298fff]{width:5.5rem}.items[data-v-7a298fff]{margin:.25rem 0 0;padding-left:1.1rem}.tiny[data-v-7a298fff]{padding:0 .4rem}.hint[data-v-7a298fff]{opacity:.7;margin:.15rem 0;font-size:.8rem}h4[data-v-7a298fff]{margin:.75rem 0 .25rem}.plugin-tabs[data-v-7a298fff]{flex-wrap:wrap;gap:.3rem;display:flex}.flyout[data-v-7a298fff]{background:var(--md-surface,#fff);border:1px solid var(--color-divider);max-height:55vh;margin:.5rem 0;padding:.6rem .8rem;overflow-y:auto;box-shadow:0 4px 14px #0000001f}.flyout header[data-v-7a298fff]{justify-content:space-between;margin-bottom:.4rem;display:flex}.flyout-section h5[data-v-7a298fff]{text-transform:capitalize;margin:.5rem 0 .25rem}.flyout footer[data-v-7a298fff]{background:var(--md-surface,#fff);border-top:1px solid var(--color-divider);gap:.5rem;margin:.7rem -.8rem -.6rem;padding:.5rem .8rem;display:flex;position:sticky;bottom:-.6rem}.opening-chips[data-v-7a298fff]{flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem;display:flex}.editing-note[data-v-7a298fff]{margin:.25rem 0 .5rem;font-weight:600}.kv th[data-v-7a298fff]{text-align:left;opacity:.8;padding-right:1rem;font-weight:500}.materials[data-v-7a298fff]{border-collapse:collapse;width:100%;margin-bottom:.75rem;font-size:.82rem}.materials th[data-v-7a298fff],.materials td[data-v-7a298fff]{text-align:left;border-bottom:1px solid var(--color-divider);padding:.2rem .45rem}.generate-bar[data-v-5debd419]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.primary[data-v-5debd419]{font-weight:600}.summary[data-v-5debd419]{font-size:.85rem}.warn[data-v-5debd419]{color:var(--color-warn-ink)}.error[data-v-5debd419]{color:var(--color-bad-ink);font-size:.85rem}.materials[data-v-4bd4a5fc]{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}aside ul[data-v-4bd4a5fc]{margin:0 0 .75rem;padding:0;list-style:none}aside li button[data-v-4bd4a5fc]{text-align:left;background:0 0;border:1px solid #0000;width:100%;padding:.4rem .6rem;display:block}aside li button.active[data-v-4bd4a5fc]{border-color:var(--color-divider)}aside li .meta[data-v-4bd4a5fc]{opacity:.7;font-size:.8rem;display:block}aside .ghost[data-v-4bd4a5fc]{margin-right:.5rem}.editor fieldset[data-v-4bd4a5fc]{border:1px solid var(--color-divider);margin-bottom:1rem;padding:.75rem 1rem}.editor label[data-v-4bd4a5fc]{margin:.25rem 1.25rem .25rem 0;display:inline-block}.editor label.wide[data-v-4bd4a5fc]{display:block}.editor textarea[data-v-4bd4a5fc]{width:100%}.num[data-v-4bd4a5fc]{width:5.5rem}.size-row[data-v-4bd4a5fc]{margin-bottom:.35rem}.actions[data-v-4bd4a5fc]{align-items:center;gap:1rem;display:flex}.recipes[data-v-73838d32]{grid-template-columns:220px minmax(0,1fr) 420px;align-items:start;gap:1rem;display:grid}.recipes[data-v-73838d32]>*{max-height:calc(100vh - 180px);overflow-y:auto}h3[data-v-73838d32]{text-transform:uppercase;opacity:.75;margin:1rem 0 .35rem;font-size:.85rem}.list ul[data-v-73838d32]{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.recipe[data-v-73838d32]{text-align:left;border:1px solid var(--color-divider);background:0 0;width:100%;padding:.4rem .6rem}.recipe.active[data-v-73838d32]{background:var(--color-good-tint)}.default-badge[data-v-73838d32]{color:var(--color-good-ink);margin-left:.4rem;font-size:.7rem}.list-actions[data-v-73838d32]{flex-direction:column;gap:.35rem;margin-top:.75rem;display:flex}.row[data-v-73838d32]{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.row label[data-v-73838d32],.checkbox[data-v-73838d32]{align-items:center;gap:.3rem;font-size:.85rem;display:flex}input.num[data-v-73838d32]{border:1px solid var(--color-divider);width:4.2rem;padding:.2rem .3rem}input.text[data-v-73838d32],select[data-v-73838d32]{border:1px solid var(--color-divider);padding:.25rem .4rem}select.preset[data-v-73838d32]{max-width:9rem;margin-top:.25rem;display:block}.preview-metrics[data-v-73838d32]{margin:.4rem 0 0}.preview-diff[data-v-73838d32]{margin:.25rem 0 0}.diff-added[data-v-73838d32]{color:#2f7d3c}.diff-changed[data-v-73838d32]{color:#b35a10}.diff-removed[data-v-73838d32]{color:#a03030}.members[data-v-73838d32],.sheets[data-v-73838d32]{border-collapse:collapse;width:100%;font-size:.83rem}.members th[data-v-73838d32],.members td[data-v-73838d32],.sheets th[data-v-73838d32],.sheets td[data-v-73838d32]{border-bottom:1px solid var(--color-divider);text-align:left;padding:.25rem .4rem}.options label[data-v-73838d32]{gap:.2rem;margin-right:.5rem;font-size:.78rem;display:inline-flex}.insets[data-v-73838d32]{white-space:nowrap}.opening-rule[data-v-73838d32]{border:1px solid var(--color-divider);margin-bottom:.5rem;padding:.5rem .75rem}.opening-head[data-v-73838d32]{justify-content:space-between;align-items:center;display:flex}.editor-actions[data-v-73838d32]{align-items:center;gap:.75rem;margin-top:1rem;display:flex}.primary[data-v-73838d32]{font-weight:600}.preview select[data-v-73838d32]{width:100%;margin-bottom:.5rem}.preview-warnings[data-v-73838d32]{color:var(--color-warn-ink);padding-left:1rem;font-size:.8rem}.error[data-v-73838d32]{color:var(--color-bad-ink)}@media (width<=1100px){.recipes[data-v-73838d32]{grid-template-columns:1fr}}.shape-editor-overlay[data-v-bd3dfdc3]{z-index:40;background:#14182073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shape-editor[data-v-bd3dfdc3]{border:1px solid var(--color-divider);background:#fff;flex-direction:column;width:min(960px,94vw);display:flex;box-shadow:0 8px 32px #00000040}header[data-v-bd3dfdc3]{border-bottom:1px solid var(--color-divider);align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}header .hint[data-v-bd3dfdc3]{opacity:.7;flex:1;font-size:.82rem}.toolbar[data-v-bd3dfdc3]{border-bottom:1px solid var(--color-divider);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.4rem .75rem;font-size:.85rem;display:flex}.toolbar .hint[data-v-bd3dfdc3]{opacity:.7;font-size:.8rem}.toolbar .spacer[data-v-bd3dfdc3]{flex:1}.tpl-param input[data-v-bd3dfdc3]{width:4.5rem}.stage[data-v-bd3dfdc3]{position:relative}svg[data-v-bd3dfdc3]{aspect-ratio:1/.62;cursor:crosshair;touch-action:none;background:#fbfaf8;width:100%;display:block}.grid-minor[data-v-bd3dfdc3]{stroke:#eee8de;stroke-width:.75px;vector-effect:non-scaling-stroke}.grid-major[data-v-bd3dfdc3]{stroke:#ddd5c8;stroke-width:.75px;vector-effect:non-scaling-stroke}.axis[data-v-bd3dfdc3]{stroke:#b8ad9c;stroke-width:1.25px;vector-effect:non-scaling-stroke}.guide[data-v-bd3dfdc3]{stroke:#2f9e44;stroke-width:1px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.shape-fill[data-v-bd3dfdc3]{fill:#7a5ea62e;stroke:#7a5ea6;stroke-width:1.5px;vector-effect:non-scaling-stroke}.shape-line[data-v-bd3dfdc3]{fill:none;stroke:#7a5ea6;stroke-width:1.5px;vector-effect:non-scaling-stroke}.vertex[data-v-bd3dfdc3]{fill:#7a5ea6;cursor:pointer}.vertex.first[data-v-bd3dfdc3]{fill:#2f9e44}.vertex.insertion[data-v-bd3dfdc3]{fill:#2f9e44;stroke:#1c6b2d;stroke-width:1.5px;vector-effect:non-scaling-stroke}.vertex.moving[data-v-bd3dfdc3]{fill:#e8590c}.focus-seg[data-v-bd3dfdc3]{stroke:#e8590c;stroke-width:3px;vector-effect:non-scaling-stroke}.focus-box[data-v-bd3dfdc3]{fill:none;stroke:#e8590c;stroke-width:1.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.hover-dot[data-v-bd3dfdc3]{fill:none;stroke:#7a5ea6;stroke-width:1px;vector-effect:non-scaling-stroke}.dim[data-v-bd3dfdc3]{fill:#5b544a;text-anchor:middle;-webkit-user-select:none;user-select:none;cursor:pointer}.dim.sub[data-v-bd3dfdc3]{fill:#8a7f70}.dim.main[data-v-bd3dfdc3]{fill:#1f5e8a;font-weight:600}.dim-edit[data-v-bd3dfdc3]{border:1px solid var(--color-divider);background:#fff;align-items:center;gap:.25rem;padding:.15rem .3rem;font-size:.85rem;display:flex;position:absolute;transform:translate(-50%,-120%);box-shadow:0 2px 8px #0003}.dim-edit input[data-v-bd3dfdc3]{width:5rem}.preset-anchor[data-v-bd3dfdc3]{fill:#2f9e44}.preset-cross[data-v-bd3dfdc3]{stroke:#1c6b2d;stroke-width:1.5px;vector-effect:non-scaling-stroke}.anchor-grid[data-v-bd3dfdc3]{grid-template-columns:repeat(3,14px);grid-auto-rows:14px;gap:2px;display:grid}.anchor-grid button[data-v-bd3dfdc3]{border:1px solid var(--color-divider);cursor:pointer;background:#fff;min-width:0;padding:0}.anchor-grid button.active[data-v-bd3dfdc3]{background:#2f9e44;border-color:#1c6b2d}footer[data-v-bd3dfdc3]{border-top:1px solid var(--color-divider);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.85rem;display:flex}footer input[data-v-bd3dfdc3]{width:6.5rem}footer .spacer[data-v-bd3dfdc3]{flex:1}.shape-thumb[data-v-187edba4]{border:1px solid var(--color-divider);background:#fbfaf8;flex:none;width:56px;height:44px}.shape-thumb polygon[data-v-187edba4]{fill:#7a5ea640;stroke:#7a5ea6;stroke-width:1.5px;vector-effect:non-scaling-stroke}.shape-thumb .anchor[data-v-187edba4]{fill:#2f9e44}.shapes-panel[data-v-69a1205a]{max-width:46rem}header[data-v-69a1205a]{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}header h2[data-v-69a1205a]{margin:0;font-size:1.05rem}header .hint[data-v-69a1205a]{flex:1}.hint[data-v-69a1205a]{opacity:.7;margin:.25rem 0;font-size:.85rem}ul[data-v-69a1205a]{flex-direction:column;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}li[data-v-69a1205a]{border:1px solid var(--color-divider);background:#fff;align-items:center;gap:.75rem;padding:.4rem .6rem;display:flex}.meta[data-v-69a1205a]{flex-direction:column;flex:1;gap:.1rem;font-size:.85rem;display:flex}button.warn[data-v-69a1205a]{color:#c03535;border-color:#c03535}.login-screen[data-v-d2db13cf]{text-align:center;border:1px solid var(--color-divider);background-image:var(--corner-marks);background-repeat:no-repeat;background-size:var(--corner-mark-size);max-width:420px;margin:15vh auto 0;padding:2.75rem 2rem}.login-screen h1[data-v-d2db13cf]{text-transform:uppercase}.login-screen .subtitle[data-v-d2db13cf]{margin-bottom:2rem}.login-screen .hint[data-v-d2db13cf]{opacity:.7;margin:1.5rem 0 0;font-size:.85rem}.app-header[data-v-d2db13cf]{gap:.75rem}.toolbar-spacer[data-v-d2db13cf]{flex:1}.session-label[data-v-d2db13cf]{opacity:.8;font-size:.9rem}.busy-indicator[data-v-d2db13cf]{opacity:.75;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.busy-dot[data-v-d2db13cf]{background:#e8a917;border-radius:50%;width:.5rem;height:.5rem;animation:1s ease-in-out infinite busy-pulse-d2db13cf}@keyframes busy-pulse-d2db13cf{0%,to{opacity:.3}50%{opacity:1}}.build-id[data-v-d2db13cf]{opacity:.45;font-family:monospace;font-size:.7rem}main[data-v-d2db13cf]{padding:1rem 1.5rem}.session-toolbar[data-v-d2db13cf]{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.view-controls[data-v-d2db13cf]{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.view-controls .crop-margin input[data-v-d2db13cf]{width:4.5rem}.view-controls .section-axis[data-v-d2db13cf]{width:auto}.view-controls .ref-color[data-v-d2db13cf]{border:1px solid var(--color-divider);cursor:pointer;width:1.7rem;height:1.7rem;padding:0}.view-controls .ref-opacity[data-v-d2db13cf]{width:4.5rem}.view-controls .ref-eye.off[data-v-d2db13cf]{opacity:.35;text-decoration:line-through}.shape-pick-wrap[data-v-d2db13cf]{display:inline-block;position:relative}.shape-picker[data-v-d2db13cf]{z-index:30;border:1px solid var(--color-divider);background:#fff;flex-direction:column;min-width:15rem;max-height:20rem;display:flex;position:absolute;top:calc(100% + .25rem);left:0;overflow-y:auto;box-shadow:0 4px 16px #0000002e}.shape-picker .row[data-v-d2db13cf]{text-align:left;border:none;border-bottom:1px solid var(--color-divider);cursor:pointer;background:0 0;align-items:center;gap:.6rem;padding:.35rem .6rem;display:flex}.shape-picker .row[data-v-d2db13cf]:hover{background:#f2efe9}.shape-picker .row span[data-v-d2db13cf]{flex-direction:column;display:flex}.shape-picker .row em[data-v-d2db13cf]{opacity:.65;font-size:.78rem;font-style:normal}.shape-picker .new-row[data-v-d2db13cf]{justify-content:center;padding:.5rem}.shape-list[data-v-d2db13cf]{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .35rem;font-size:.85rem;display:flex}.shape-chip[data-v-d2db13cf]{border:1px solid var(--color-divider);align-items:center;gap:.2rem;padding:.15rem .4rem;display:inline-flex}.shape-copy[data-v-d2db13cf]{border:1px dashed var(--color-divider);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.15rem .4rem;display:inline-flex}.view-controls .subtle-hint[data-v-d2db13cf]{opacity:.7;font-size:.85rem}.reference-chip[data-v-d2db13cf]{align-items:center;gap:.1rem;display:inline-flex}.reference-chip .tiny[data-v-d2db13cf]{padding:0 .35rem}.view-controls .active[data-v-d2db13cf]{font-weight:600}.workspace[data-v-d2db13cf]{grid-template-columns:260px minmax(0,1fr) 420px;align-items:start;gap:1rem;min-height:60vh;display:grid}.workspace[data-v-d2db13cf]>*{max-height:calc(100vh - 180px)}.detail-column[data-v-d2db13cf]{flex-direction:column;display:flex;overflow-y:auto}.viewer-column[data-v-d2db13cf]{flex-direction:column;min-width:0;min-height:60vh;display:flex}.viewer-column[data-v-d2db13cf]>:last-child{flex:1}.viewer-column .error[data-v-d2db13cf]{margin:0 0 .35rem}.pick-hint[data-v-d2db13cf]{text-align:center;align-self:center}.project-metrics[data-v-d2db13cf]{margin:0 0 .5rem}.openings-problems[data-v-d2db13cf]{border:1px solid var(--color-warn-ink);margin:0 0 .75rem;padding:.5rem .75rem;font-size:.85rem}.openings-problems summary[data-v-d2db13cf]{cursor:pointer;color:var(--color-warn-ink)}.openings-problems ul[data-v-d2db13cf]{margin:.5rem 0 0;padding-left:1.2rem}.openings-problems .diagnostics[data-v-d2db13cf]{opacity:.7;font-size:.75rem;display:block}.openings-ok[data-v-d2db13cf]{opacity:.7;margin:0 0 .5rem}.error[data-v-d2db13cf]{color:var(--color-bad-ink)}@media (width<=1100px){.workspace[data-v-d2db13cf]{grid-template-columns:1fr}}:root{--md-primary:#5980a6;--md-on-primary:#f2f2f3;--md-primary-container:#d6ebff;--md-on-primary-container:#2c455d;--md-secondary:#2b2b2d;--md-on-secondary:#f2f2f3;--md-accent:#728fab;--md-accent-container:#eef6ff;--md-error:oklch(58% .16 29);--md-error-container:oklch(93% .05 29);--md-on-error-container:oklch(34% .13 29);--md-info:#597ea3;--md-info-container:#d6ebff;--md-success:oklch(58% .11 150);--md-success-container:oklch(93% .045 150);--md-surface:#f2f2f3;--md-surface-dim:#f2f2f3;--md-surface-container:#e9e9ea;--md-surface-container-high:#d4d4d7;--md-on-surface:#1d1f20;--md-on-surface-variant:#5d5d60;--md-outline:#98989b;--md-outline-variant:#1d1f2029;--md-shadow-1:0 1px 2px #2b2b2d24;--md-shadow-2:0 3px 10px #2b2b2d29;--md-radius-s:0;--md-radius-m:0;--md-radius-l:0;--md-radius-full:0;--color-good:oklch(58% .11 150);--color-good-ink:oklch(32% .09 150);--color-good-tint:oklch(93% .045 150);--color-warn-ink:oklch(38% .09 70);--color-warn-tint:oklch(94% .05 85);--color-bad:oklch(58% .16 29);--color-bad-ink:oklch(34% .13 29);--color-bad-tint:oklch(93% .05 29);--color-purple:oklch(62% .08 300);--color-purple-ink:oklch(34% .07 300);--color-purple-tint:oklch(93% .03 300);--color-divider:#1d1f2029;--corner-mark-color:#1d1f208c;--corner-marks:linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color));--corner-mark-size:11px 1px, 1px 11px, 11px 1px, 1px 11px, 11px 1px, 1px 11px, 11px 1px, 1px 11px;--corner-mark-position:left -6px top -6px, left -6px top -6px, right -6px top -6px, right -6px top -6px, left -6px bottom -6px, left -6px bottom -6px, right -6px bottom -6px, right -6px bottom -6px;color:var(--md-on-surface);background:var(--md-surface-dim);font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--md-surface-dim);margin:0}h1,h2,h3,h4,.nav-brand,.settings-tabs button,.nav-tabs button,form.inline button,.plan-form button,.primary-btn,button.ghost,.ghost.import-btn{text-transform:uppercase;letter-spacing:.03em;font-weight:600}button:focus-visible,a:focus-visible,[tabindex]:focus-visible,tr.clickable:focus-visible,.kanban-card:focus-visible,.mini-list li.clickable-li:focus-visible{outline:2px solid var(--md-primary);outline-offset:2px}#app{width:100%;margin:0;padding:1.25rem 1.75rem}header.app-header{border-bottom:1px solid var(--color-divider);box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.85rem 0 1rem;display:flex}h1{letter-spacing:.02em;color:var(--md-secondary);margin:0;font-size:1.4rem}h2{margin-top:0;font-size:1.05rem}p.subtitle{color:var(--md-on-surface-variant);margin:.1rem 0 0;font-size:.85rem}.nav-tabs{align-items:center;gap:.25rem;display:flex}.nav-tabs button{cursor:pointer;color:var(--md-on-surface);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.55rem 1.1rem;font-size:.82rem;transition:color .15s,border-color .15s}.nav-tabs button:hover{color:var(--md-primary);background:0 0}.nav-tabs button.active{color:var(--md-primary);border-bottom-color:var(--md-primary);background:0 0}.nav-tabs .star-btn{color:var(--md-outline);padding:.4rem .5rem;font-size:1rem}.nav-tabs .star-btn.active,.nav-tabs .star-btn:hover{color:var(--md-accent);background:0 0}.header-actions{align-items:center;gap:.75rem;display:flex}.locale-switch{border:1px solid var(--color-divider);border-radius:0;display:flex;overflow:hidden}.locale-switch button{cursor:pointer;color:var(--md-on-surface-variant);background:0 0;border:none;padding:.35rem .8rem;font-size:.75rem;font-weight:600}.locale-switch button.active{background:var(--md-primary);color:var(--md-on-primary)}.gear-btn{border:1px solid var(--color-divider);cursor:pointer;width:2.4rem;height:2.4rem;color:var(--md-on-surface-variant);background:0 0;border-radius:0;font-size:1.1rem}.gear-btn:hover{color:var(--md-primary);border-color:var(--md-primary)}.gear-btn.active{background:var(--md-primary);color:var(--md-on-primary);border-color:var(--md-primary)}.page-head{margin-bottom:.75rem}.back-btn{border:1px solid var(--color-divider);cursor:pointer;color:var(--md-primary);background:0 0;border-radius:0;padding:.4rem 1rem;font-weight:600}.status{border:1px solid var(--color-divider);border-radius:0;margin:0 0 1rem;padding:.55rem 1rem;font-size:.85rem}.status.online{background:var(--color-good-tint);color:var(--color-good-ink);border-color:#0000}.status.offline{background:var(--color-bad-tint);color:var(--color-bad-ink);border-color:#0000}.status.checking{background:var(--color-warn-tint);color:var(--color-warn-ink);border-color:#0000}section.card{border:1px solid var(--color-divider);border-radius:var(--md-radius-l);box-shadow:none;background-color:#0000;background-image:var(--corner-marks);background-repeat:no-repeat;background-size:var(--corner-mark-size);background-position:var(--corner-mark-position);margin-bottom:1.25rem;padding:1.25rem 1.5rem}table{border-collapse:collapse;width:100%;margin-bottom:1rem}th,td{text-align:left;border-bottom:1px solid var(--color-divider);padding:.55rem .65rem}th{text-transform:uppercase;letter-spacing:.08em;color:var(--md-on-surface-variant);border-bottom:1px solid var(--md-outline);font-size:.68rem;font-weight:600}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--md-surface-container)}td.chevron{color:var(--md-outline);width:1.5rem}td.detail-cell{background:var(--md-surface-container);border-radius:0;padding:1rem 1.25rem}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){color:var(--md-on-surface);background:var(--md-surface);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);padding:.35rem .5rem;font-family:inherit;font-size:.85rem}:where(input,select,textarea):focus-visible{outline:2px solid var(--md-primary);outline-offset:-1px;border-color:#0000}form.inline{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}form.inline input,form.inline select{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);color:var(--md-on-surface);padding:.5rem .75rem;font-size:.9rem}form.inline input:focus,form.inline select:focus{outline:2px solid var(--md-primary);outline-offset:-1px;border-color:#0000}form.inline input.narrow{width:8rem}form.inline input[type=number]{width:6.5rem}form.inline button,.plan-form button,.primary-btn{border:1px solid var(--md-primary);background:var(--md-primary);color:var(--md-on-primary);cursor:pointer;box-shadow:none;border-radius:0;padding:.5rem 1.3rem;font-size:.8rem}form.inline button:hover:not(:disabled),.plan-form button:hover:not(:disabled),.primary-btn:hover{background:color-mix(in srgb, var(--md-primary) 82%, black)}form.inline button:disabled,.plan-form button:disabled{background:var(--md-outline-variant);border-color:var(--md-outline-variant);color:var(--md-on-surface-variant);box-shadow:none;cursor:not-allowed}.empty{color:var(--md-on-surface-variant);font-style:italic}.hint{color:var(--md-on-surface-variant);font-size:.78rem}button.ghost,.ghost.import-btn{border:1px solid var(--color-divider);color:var(--md-primary);cursor:pointer;background:0 0;border-radius:0;padding:.4rem .9rem;font-family:inherit;font-size:.75rem;text-decoration:none;display:inline-block}button.ghost:hover:not(:disabled),.ghost.import-btn:hover{border-color:var(--md-primary);background:color-mix(in srgb, var(--md-primary) 8%, transparent)}button.ghost:disabled{color:var(--md-outline);cursor:not-allowed}
