.menu[data-v-8d9be091]{position:fixed;z-index:20;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 16px #0003;padding:4px;min-width:200px;max-height:calc(100vh - 8px);overflow:auto}.title[data-v-8d9be091]{font-weight:600;color:var(--muted);padding:4px 8px}button[data-v-8d9be091]{display:flex;justify-content:space-between;gap:16px;width:100%;border:0;text-align:left;padding:5px 8px}.hint[data-v-8d9be091]{color:var(--muted)}.empty[data-v-8d9be091]{color:var(--muted);padding:5px 8px}.palette[data-v-c5d72e23]{display:flex;flex-direction:column;min-height:100%}.palette.off[data-v-c5d72e23]{opacity:.5;pointer-events:none}.head[data-v-c5d72e23]{position:sticky;top:0;z-index:1;background:var(--panel);border-bottom:1px solid var(--line)}.head input[data-v-c5d72e23]{display:block;width:calc(100% - 16px);margin:8px;padding:4px 8px}.narrow .head input[data-v-c5d72e23]{width:calc(100% - 56px)}.tabs[data-v-c5d72e23]{display:flex;border-top:1px solid #eee}.tabs button[data-v-c5d72e23]{flex:1;border:0;border-radius:0;background:#fafafa;padding:6px 0;border-bottom:2px solid transparent}.tabs button.on[data-v-c5d72e23]{background:#fff;border-bottom-color:var(--accent);font-weight:600}.chips[data-v-c5d72e23]{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px;border-top:1px solid #eee}.chip[data-v-c5d72e23]{border-radius:10px;padding:1px 8px;font-size:12px}.chip.on[data-v-c5d72e23]{background:var(--accent);color:#fff;border-color:var(--accent)}.list[data-v-c5d72e23]{flex:1;padding:4px 0}.cat[data-v-c5d72e23]{border-bottom:1px solid #f0f0f0}.sum[data-v-c5d72e23]{display:flex;width:100%;border:0;border-radius:0;background:none;padding:4px 8px;font-weight:600;color:var(--muted);text-align:left}.sum .tw[data-v-c5d72e23]{width:14px}.sum .n[data-v-c5d72e23]{margin-left:auto;color:#999;font-weight:400}.item[data-v-c5d72e23]{padding:4px 8px 4px 22px;display:flex;justify-content:space-between;gap:6px;cursor:pointer}.item.place[data-v-c5d72e23]{cursor:grab;-webkit-user-select:none;user-select:none}.grip[data-v-c5d72e23]{order:-1;margin:-4px 4px -4px -18px;padding:4px 6px;color:var(--muted);touch-action:none;cursor:grab;font-size:16px;line-height:1}.item[data-v-c5d72e23]:hover{background:#eef2fb}.item.sel[data-v-c5d72e23]{background:#dde7fa}.item .name[data-v-c5d72e23]{flex:1}.item .h[data-v-c5d72e23]{color:#888;font-size:11px;text-align:right}mark[data-v-c5d72e23]{background:#ffe58a}.tag[data-v-c5d72e23]{display:inline-block;font-size:10px;border-radius:3px;padding:0 3px;margin:0 2px;border:1px solid}.tag.ass[data-v-c5d72e23]{color:var(--assumed);border-color:var(--assumed)}.tag.unk[data-v-c5d72e23]{color:var(--error);border-color:var(--error)}.tag.ref[data-v-c5d72e23]{color:var(--muted);border-color:var(--muted)}.details[data-v-c5d72e23]{margin:0 8px 6px 22px;padding:4px 6px;background:#f7f8fb;border:1px solid #e3e7f0;border-radius:4px;display:grid;grid-template-columns:auto 1fr;gap:1px 8px;font-size:12px}.details dt[data-v-c5d72e23]{color:var(--muted)}.details dd[data-v-c5d72e23]{margin:0;word-break:break-word}.details dd.assumed[data-v-c5d72e23]{color:var(--assumed)}.details dd.unknown[data-v-c5d72e23]{color:var(--error)}.empty[data-v-c5d72e23]{color:#999;padding:10px;margin:0}.tip[data-v-c5d72e23]{color:var(--muted);font-size:12px;margin:8px}.num[data-v-f02b042e]{display:inline-flex;align-items:stretch}input[data-v-f02b042e]{text-align:right}input.bad[data-v-f02b042e]{border-color:var(--error);background:#fde8e8}.spin input[data-v-f02b042e]{border-top-right-radius:0;border-bottom-right-radius:0}.arrows[data-v-f02b042e]{display:flex;flex-direction:column}.arrows button[data-v-f02b042e]{padding:0 4px;font-size:8px;line-height:1;flex:1;border-radius:0}.arrows button[data-v-f02b042e]:first-child{border-top-right-radius:3px;border-bottom:0}.arrows button[data-v-f02b042e]:last-child{border-bottom-right-radius:3px}.props[data-v-4f952f54]{padding:6px 10px}.row[data-v-4f952f54]{display:flex;align-items:center;gap:6px;margin:3px 0;flex-wrap:wrap;justify-content:space-between}.ax[data-v-4f952f54]{display:flex;align-items:center;gap:3px}.muted[data-v-4f952f54]{color:var(--muted)}.derived[data-v-4f952f54]{color:var(--derived);font-style:italic}.err[data-v-4f952f54]{color:var(--error)}.hint[data-v-4f952f54]{color:var(--assumed)}.dim[data-v-4f952f54]{display:grid;grid-template-columns:1fr auto auto auto;gap:4px;align-items:center;padding:3px 4px;margin:2px 0;border-left:4px solid}.dim .lbl[data-v-4f952f54]{grid-column:1 / -1;font-weight:600}.dim .txt[data-v-4f952f54]{color:var(--muted)}.dim.measured[data-v-4f952f54]{border-color:var(--measured)}.dim.assumed[data-v-4f952f54]{border-color:var(--assumed)}.dim.planned[data-v-4f952f54]{border-color:var(--planned)}.add[data-v-4f952f54]{margin-top:6px}.add summary[data-v-4f952f54]{cursor:pointer;color:var(--accent)}.bottom[data-v-b2b57dd8]{height:100%;display:flex;flex-direction:column}nav[data-v-b2b57dd8]{display:flex;gap:2px;padding:4px 6px 0;border-bottom:1px solid var(--line)}nav button[data-v-b2b57dd8]{border-bottom:0;border-radius:4px 4px 0 0}nav button.on[data-v-b2b57dd8]{background:var(--bg);font-weight:600}.count[data-v-b2b57dd8]{background:var(--assumed);color:#fff;border-radius:8px;padding:0 5px;font-size:11px}.pad[data-v-b2b57dd8]{padding:6px 10px;overflow:auto;flex:1}.cols[data-v-b2b57dd8]{display:flex;gap:24px;align-items:flex-start}table[data-v-b2b57dd8]{border-collapse:collapse}th[data-v-b2b57dd8],td[data-v-b2b57dd8]{padding:2px 8px;border-bottom:1px solid #eee;text-align:left}.num[data-v-b2b57dd8]{text-align:right;white-space:nowrap}.sum td[data-v-b2b57dd8]{font-weight:600;border-top:1px solid var(--line)}.muted[data-v-b2b57dd8]{color:var(--muted)}.assumed[data-v-b2b57dd8]{color:var(--assumed);font-size:11px;border:1px solid var(--assumed);border-radius:3px;padding:0 3px}.warn[data-v-b2b57dd8]{color:var(--assumed)}.err[data-v-b2b57dd8]{color:var(--error)}.info[data-v-b2b57dd8]{color:var(--muted)}.settings[data-v-b2b57dd8]{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:flex-start}.settings label[data-v-b2b57dd8]{display:flex;align-items:center;gap:6px}fieldset[data-v-b2b57dd8]{display:flex;flex-wrap:wrap;gap:6px 14px;border:1px solid var(--line);border-radius:4px}.v3d[data-v-83c60b68]{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-user-select:none;user-select:none;-moz-user-select:none;touch-action:none}.v3d[data-v-83c60b68] canvas{display:block;-webkit-user-select:none;user-select:none;-moz-user-select:none;outline:none}.pane[data-v-a7975fef]{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);min-width:0;min-height:0}header[data-v-a7975fef]{-webkit-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center;padding:2px 6px;border-bottom:1px solid var(--line);font-weight:600;color:var(--muted)}.icon[data-v-a7975fef]{padding:0 6px;font-size:14px}.body[data-v-a7975fef]{flex:1;position:relative;min-height:0;overflow:hidden}.overlay[data-v-d1570a3a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0005;display:flex;align-items:center;justify-content:center;padding:16px}.dialog[data-v-d1570a3a]{background:var(--panel);border-radius:8px;box-shadow:0 8px 32px #0004;width:min(540px,100%);max-height:100%;overflow:auto;padding:14px 16px}h2[data-v-d1570a3a]{font-size:15px;margin:0 0 10px}form[data-v-d1570a3a]{display:flex;flex-direction:column;gap:10px}.types[data-v-d1570a3a]{display:flex;gap:4px}.types label[data-v-d1570a3a]{flex:1;text-align:center;padding:6px 8px;border:1px solid var(--line);border-radius:4px;cursor:pointer}.types label.on[data-v-d1570a3a]{background:var(--accent);color:#fff;border-color:var(--accent)}.types input[data-v-d1570a3a]{position:absolute;opacity:0;pointer-events:none}.types label[data-v-d1570a3a]:focus-within{outline:2px solid #2058c066}.field[data-v-d1570a3a]{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.field span[data-v-d1570a3a]{color:var(--muted)}textarea[data-v-d1570a3a]{font:inherit;padding:4px 6px;border:1px solid var(--line);border-radius:3px;resize:vertical;min-height:90px}.row[data-v-d1570a3a]{display:flex;gap:8px}.check[data-v-d1570a3a]{display:flex;align-items:center;gap:6px;cursor:pointer}.note[data-v-d1570a3a]{margin:0;color:var(--muted);font-size:12px}.error[data-v-d1570a3a]{margin:0;padding:4px 8px;border-radius:3px;background:#fde8e8;color:var(--error)}.thanks[data-v-d1570a3a]{margin:6px 0 14px}.actions[data-v-d1570a3a]{display:flex;justify-content:flex-end;gap:6px}.actions button[data-v-d1570a3a]{padding:5px 14px}button[data-v-d1570a3a]:disabled{opacity:.6;cursor:default}@media (max-width: 820px){.overlay[data-v-d1570a3a]{align-items:flex-start}.row[data-v-d1570a3a]{flex-direction:column}textarea[data-v-d1570a3a],input[data-v-d1570a3a]{font-size:16px}}.layers[data-v-d9300718]{position:relative;display:inline-flex}.chip[data-v-d9300718]{white-space:nowrap}.chip b[data-v-d9300718]{color:var(--accent)}.muted[data-v-d9300718]{color:var(--muted);font-weight:400}.pop[data-v-d9300718]{position:fixed;z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 16px #0003;padding:4px}.row[data-v-d9300718]{display:flex;align-items:center;gap:4px;border-radius:4px}.row.on[data-v-d9300718]{background:#eef2fb}.pick[data-v-d9300718]{flex:1;text-align:left;border:0;background:none;display:flex;align-items:center;gap:8px;padding:6px 8px}.radio[data-v-d9300718]{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--muted);flex:none}.row.on .radio[data-v-d9300718]{border-color:var(--accent);background:var(--accent)}.eye[data-v-d9300718]{border:0;background:none;color:var(--accent);padding:4px 6px;display:flex}.eye.off[data-v-d9300718]{color:var(--muted)}.eye[data-v-d9300718]:disabled{color:#b8c4dc;cursor:default}.hint[data-v-d9300718]{font-size:11px;color:var(--muted);padding:4px 8px 2px}@media (max-width: 820px){.lbl[data-v-d9300718]{display:none}.pick[data-v-d9300718],.eye[data-v-d9300718]{padding:10px 8px}}.backdrop[data-v-01df794d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0004;display:flex;align-items:center;justify-content:center;padding:16px}.dialog[data-v-01df794d]{background:var(--panel);border-radius:8px;box-shadow:0 8px 32px #0005;padding:12px 16px;width:min(460px,100%);max-height:100%;overflow:auto}h2[data-v-01df794d]{font-size:15px;margin:0 0 8px}.row[data-v-01df794d]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0}.file input[data-v-01df794d]{flex:1;min-width:0}.ax[data-v-01df794d]{display:inline-flex;align-items:center;gap:4px}.summary[data-v-01df794d]{font-weight:600;margin:8px 0 4px}.muted[data-v-01df794d]{color:var(--muted);margin:4px 0}.warn[data-v-01df794d]{background:#fff4e0;color:var(--assumed);padding:4px 8px;border-radius:4px;margin:4px 0}.error[data-v-01df794d]{background:#fde8e8;color:var(--error);padding:4px 8px;border-radius:4px}.buttons[data-v-01df794d]{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.bar[data-v-a498fae1]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 8px;background:var(--panel);border-bottom:1px solid var(--line)}.logo[data-v-a498fae1]{margin-right:8px}.sep[data-v-a498fae1]{width:12px}.grow[data-v-a498fae1]{flex:1}.feedback[data-v-a498fae1]{color:var(--accent)}.toggles[data-v-a498fae1]{display:flex;gap:2px}.toggles button[data-v-a498fae1]{padding:0 6px;color:var(--muted)}.toggles button.on[data-v-a498fae1]{color:var(--accent);background:#eef2fb}.msg[data-v-a498fae1]{padding:2px 8px;border-radius:3px;max-width:50vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg.error[data-v-a498fae1]{background:#fde8e8;color:var(--error)}.msg.info[data-v-a498fae1]{background:#eaf3ea;color:var(--measured)}.dot[data-v-a498fae1]{width:10px;height:10px;border-radius:50%;background:var(--error)}.dot.on[data-v-a498fae1]{background:var(--measured)}@media (max-width: 820px){.toggles[data-v-a498fae1],.sep[data-v-a498fae1]{display:none}.logo[data-v-a498fae1]{margin-right:0}.msg[data-v-a498fae1]{max-width:100%;order:10}}.plan[data-v-f740966c]{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}svg[data-v-f740966c]{display:block}.label[data-v-f740966c]{font-size:11px;fill:#234}.grab[data-v-f740966c]{cursor:grab}.port[data-v-f740966c]{fill:#fff;stroke:#2058c0;stroke-width:1.5;cursor:crosshair}.port[data-v-f740966c]:hover,.port.pending[data-v-f740966c]{fill:#2058c0}.badge[data-v-f740966c]{font-size:11px}.badge rect[data-v-f740966c]{fill:#fff;stroke:#d07a1a}.badge .btn[data-v-f740966c]{cursor:pointer;fill:#9a5a10;font-weight:700}.rot line[data-v-f740966c]{stroke:#2058c0;stroke-dasharray:3 3}.rot circle[data-v-f740966c]{fill:#fff;stroke:#2058c0;stroke-width:2;cursor:grab}.rot text[data-v-f740966c]{font-size:11px;fill:#2058c0;font-weight:600}.link[data-v-f740966c]{stroke:#2058c0;stroke-width:2;stroke-dasharray:6 4}.ghost polygon[data-v-f740966c]{fill:#2058c022;stroke:#2058c0;stroke-width:1.5;stroke-dasharray:5 3}.band[data-v-f740966c]{fill:#2058c014;stroke:#2058c0;stroke-dasharray:4 3}.none-line[data-v-f740966c]{stroke:#c62828;stroke-dasharray:8 5;cursor:pointer}.locked[data-v-f740966c]{opacity:.35;filter:grayscale(1);pointer-events:none}.hint[data-v-f740966c]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted);pointer-events:none}.app[data-v-612125ab]{display:grid;height:100vh;grid-template-columns:220px 1fr 300px;grid-template-rows:auto 1fr 220px;grid-template-areas:"head head head" "left views right" "left bottom right"}.head[data-v-612125ab]{grid-area:head}.left[data-v-612125ab]{grid-area:left;background:var(--panel);border-right:1px solid var(--line)}.right[data-v-612125ab]{grid-area:right;background:var(--panel);border-left:1px solid var(--line)}.bottom[data-v-612125ab]{grid-area:bottom;background:var(--panel);border-top:1px solid var(--line)}.left[data-v-612125ab],.right[data-v-612125ab],.bottom[data-v-612125ab]{position:relative;overflow:hidden;min-width:0;min-height:0}.scroll[data-v-612125ab]{height:100%;overflow:auto}.grip[data-v-612125ab]{position:absolute;z-index:6}.grip.v[data-v-612125ab]{top:0;bottom:0;width:6px;cursor:col-resize}.grip.v.end[data-v-612125ab]{right:0}.grip.v.start[data-v-612125ab]{left:0}.grip.h[data-v-612125ab]{left:0;right:0;top:0;height:6px;cursor:row-resize}.split[data-v-612125ab]{position:absolute;z-index:4}.split.col[data-v-612125ab]{top:4px;bottom:4px;width:8px;cursor:col-resize}.split.row[data-v-612125ab]{left:4px;right:4px;height:8px;cursor:row-resize}.grip[data-v-612125ab]:hover,.split[data-v-612125ab]:hover{background:#2058c033}.suggest[data-v-612125ab]{position:absolute;z-index:5;left:50%;transform:translate(-50%);top:8px;background:#fff7e6;border:1px solid #e8a040;padding:6px 10px;border-radius:6px;display:flex;gap:8px;align-items:center;box-shadow:0 2px 8px #0002}.placing[data-v-612125ab]{position:fixed;z-index:50;pointer-events:none;background:var(--accent);color:#fff;padding:2px 8px;border-radius:10px;font-size:12px;white-space:nowrap;box-shadow:0 2px 6px #0003}.placing.bad[data-v-612125ab]{background:#888}.views[data-v-612125ab]{position:relative;grid-area:views;display:grid;gap:4px;padding:4px;min-height:0;min-width:0;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;grid-template-areas:"top three" "front side"}.views.single[data-v-612125ab]{grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:"only"}.views.single[data-v-612125ab]>*{grid-area:only}.app.narrow[data-v-612125ab]{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;grid-template-areas:"head" "mbar" "views";height:100dvh}.mbar[data-v-612125ab]{grid-area:mbar;display:flex;justify-content:space-between;gap:6px;padding:4px 6px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.mbar .seg[data-v-612125ab]{display:flex;gap:2px}.mbar button[data-v-612125ab]{padding:6px 10px}.mbar button.on[data-v-612125ab]{background:var(--accent);color:#fff;border-color:var(--accent)}.app.narrow .left[data-v-612125ab],.app.narrow .right[data-v-612125ab],.app.narrow .bottom[data-v-612125ab]{position:fixed;z-index:30;left:0;right:0;bottom:0;top:auto;height:60dvh;border:0;border-top:2px solid var(--accent);box-shadow:0 -4px 16px #0003;grid-area:auto}.app.narrow .grip[data-v-612125ab],.app.narrow .split[data-v-612125ab]{display:none}.app.narrow .views[data-v-612125ab]{padding:0}.app.narrow[data-v-612125ab] .pane .icon{display:none}.close[data-v-612125ab]{position:absolute;z-index:2;right:6px;top:6px;padding:2px 8px}.top[data-v-612125ab]{grid-area:top}.three[data-v-612125ab]{grid-area:three}.front[data-v-612125ab]{grid-area:front}.side[data-v-612125ab]{grid-area:side}:root{--bg: #f4f4f2;--panel: #ffffff;--line: #d6d6d0;--text: #222;--muted: #666;--accent: #2058c0;--measured: #1a7a2a;--assumed: #c77700;--planned: #2058c0;--derived: #666;--error: #c62828;font-family:system-ui,sans-serif;font-size:13px;color:var(--text)}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;background:var(--bg)}button{font:inherit;padding:3px 8px;border:1px solid var(--line);background:#fff;border-radius:4px;cursor:pointer}button:hover{background:#eef2fb}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}input,select{font:inherit;padding:2px 4px;border:1px solid var(--line);border-radius:3px}h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 0 4px}
