@media(max-width:900px){.xyz[data-v-e0c02861]{grid-template-columns:1fr;gap:6px}}.check[data-v-e0c02861]{display:flex;align-items:center;gap:7px;font-size:12px}.check input[data-v-e0c02861]{width:auto}.ends[data-v-e0c02861]{display:grid;grid-template-columns:1fr 1fr;gap:5px}.braces[data-v-e0c02861]{border-top:1px solid var(--line-soft);padding-top:8px;display:flex;flex-direction:column;gap:8px}.brace-group[data-v-e0c02861]{display:flex;flex-direction:column;gap:4px}.brace-opt[data-v-e0c02861]{display:flex;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:12px;text-align:left}.tiny[data-v-e0c02861]{font-size:11px}.rails[data-v-e0c02861]{border-top:1px solid var(--line-soft);padding-top:8px;display:flex;flex-direction:column;gap:8px}.rails-head[data-v-e0c02861]{display:flex;align-items:center;justify-content:space-between}.rail[data-v-e0c02861]{display:flex;flex-direction:column;gap:5px;padding:7px;background:var(--bg-input);border-radius:4px}.rail-row[data-v-e0c02861]{display:grid;grid-template-columns:1fr auto auto;gap:5px}.rail-row[data-v-e0c02861]:first-child{grid-template-columns:1fr auto}.rail-row input[data-v-e0c02861]{width:68px}.rail-span[data-v-e0c02861]{font-family:var(--mono);font-size:11px}.plates[data-v-e0c02861]{display:flex;flex-direction:column;gap:4px}.plate-row[data-v-e0c02861]{display:flex;align-items:center;gap:6px}.plate-name[data-v-e0c02861]{flex:1;min-width:0;font-family:var(--mono);font-size:11px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plate-row.lit .plate-name[data-v-e0c02861]{color:var(--accent)}.plate-row .boxed[data-v-e0c02861]{width:52px;flex:0 0 auto}.axes[data-v-e0c02861]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;min-width:0}header .title[data-v-e0c02861]{display:inline-flex;align-items:center;gap:6px}.body.resizing[data-v-e0c02861]>*:not(.resize-step),.panel.resizing>header button[data-v-e0c02861]{filter:blur(1.4px);opacity:.4;pointer-events:none;-webkit-user-select:none;user-select:none;transition:filter .12s,opacity .12s}.resize-step[data-v-e0c02861]{display:flex;flex-direction:column;gap:8px;padding:10px;margin:2px -2px;border:1px solid var(--accent);border-radius:5px}.step-actions[data-v-e0c02861]{display:flex;align-items:center;gap:8px}button.link[data-v-e0c02861]{background:transparent;border:none;padding:0 0 0 8px;color:var(--accent);cursor:pointer;font-size:12px}.delta[data-v-e0c02861]{font-family:var(--mono);font-size:11px}button.rename[data-v-e0c02861]{background:transparent;border:none;padding:0;width:14px;height:14px;cursor:pointer;color:var(--text-faint);opacity:0;transition:opacity .12s}.panel:hover button.rename[data-v-e0c02861],button.rename[data-v-e0c02861]:focus-visible{opacity:1}button.rename[data-v-e0c02861]:hover{color:var(--text)}button.rename svg[data-v-e0c02861]{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}.rename-input[data-v-e0c02861]{flex:1;min-width:0;margin-right:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.resize[data-v-e0c02861]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.resize .seg button[data-v-e0c02861]{font-size:11px;padding:0 7px}.scroll[data-v-944493cc]{max-height:320px;overflow-y:auto;overflow-x:auto}.spec[data-v-944493cc]{font-size:11px;line-height:1.4;margin-top:2px;white-space:normal;max-width:260px}.spec.note[data-v-944493cc]{color:var(--accent);opacity:.85}td a[data-v-944493cc]{color:var(--text);text-decoration:none;border-bottom:1px dotted var(--text-faint)}td a[data-v-944493cc]:hover{color:var(--accent)}.actions[data-v-944493cc]{display:flex;gap:8px}.actions>button[data-v-944493cc]:first-child{flex:1}.hint[data-v-944493cc]{font-size:12px;margin:0;line-height:1.5}pre[data-v-944493cc]{background:var(--bg-input);border:1px solid var(--line-soft);border-radius:4px;padding:8px;font-size:11px;overflow-x:auto;margin:6px 0 0;white-space:pre}@media(max-width:900px){.scroll[data-v-944493cc]{max-height:none}.spec[data-v-944493cc]{max-width:none}}.model[data-v-88add227]{border:1px solid var(--line-soft);border-radius:4px;padding:7px 8px;display:flex;flex-direction:column;gap:6px;cursor:pointer}.model.selected[data-v-88add227]{border-color:var(--accent)}.model-head[data-v-88add227]{display:flex;align-items:center;gap:6px}.name[data-v-88add227]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.eye[data-v-88add227],.remove[data-v-88add227]{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:0 3px;font-size:13px;line-height:1}.eye.off[data-v-88add227]{color:var(--text-faint)}.remove[data-v-88add227]:hover{color:var(--warn)}.size[data-v-88add227]{margin:0;font-family:var(--mono);font-size:11px;color:var(--text-dim);display:flex;flex-wrap:wrap;gap:6px}.tris[data-v-88add227]{color:var(--text-faint)}.tris.heavy[data-v-88add227]{color:var(--warn)}.triple[data-v-88add227]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px}.triple-label[data-v-88add227]{grid-column:1 / -1;font-size:11px;color:var(--text-dim)}.file-button[data-v-88add227]{display:block;text-align:center;border:1px solid var(--line);border-radius:4px;padding:6px;cursor:pointer;font-size:12px}.file-button[data-v-88add227]:hover{border-color:var(--accent)}.file-button>input[data-v-88add227]{display:none}.wide[data-v-88add227]{width:100%}.note[data-v-88add227]{margin:0;font-size:11px;line-height:1.45;color:var(--text-dim)}.note.bad[data-v-88add227]{color:var(--warn)}.note.ok[data-v-88add227]{color:var(--ok)}.note.faint[data-v-88add227]{color:var(--text-faint)}.badge[data-v-88add227]{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:1px 5px;border-radius:3px}.badge.bad[data-v-88add227]{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn)}.badge.ok[data-v-88add227]{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.backdrop[data-v-4dbefa1c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal[data-v-4dbefa1c]{background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;width:min(560px,100%);max-height:min(680px,92vh);display:flex;flex-direction:column;overflow:hidden}.modal>header[data-v-4dbefa1c]{padding:10px 14px;border-bottom:1px solid var(--line-soft);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);display:flex;align-items:center;justify-content:space-between}.body[data-v-4dbefa1c]{padding:14px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:0}.lede[data-v-4dbefa1c]{margin:0;font-size:14px}.path[data-v-4dbefa1c]{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:transparent;cursor:pointer}.path[data-v-4dbefa1c]:hover{border-color:var(--accent)}.path-title[data-v-4dbefa1c]{font-size:14px;color:var(--text)}.path-note[data-v-4dbefa1c]{font-size:12px;color:var(--text-dim);line-height:1.5;white-space:normal}.note[data-v-4dbefa1c]{margin:0;font-size:12px;color:var(--text-dim);line-height:1.5}.table-wrap[data-v-4dbefa1c]{overflow:auto;min-height:0}.table-wrap.tall[data-v-4dbefa1c]{max-height:340px}tbody tr[data-v-4dbefa1c]{cursor:pointer}tbody tr[data-v-4dbefa1c]:hover{background:var(--bg-hover, rgb(255 255 255 / .04))}tr.picked[data-v-4dbefa1c]{background:color-mix(in srgb,var(--accent) 22%,transparent)}td.grade[data-v-4dbefa1c],td[data-v-4dbefa1c]:first-child{white-space:nowrap}td.better[data-v-4dbefa1c]{color:var(--ok)}button.path.demo[data-v-4dbefa1c]{padding:9px 12px;gap:2px}.group+.group[data-v-4dbefa1c]{margin-top:6px}.group-head[data-v-4dbefa1c]{width:100%;display:flex;justify-content:space-between;gap:8px;padding:6px 8px;background:transparent;border:1px solid var(--line-soft);border-radius:4px;cursor:pointer;font-size:12px}.modal>footer[data-v-4dbefa1c]{padding:10px 14px;border-top:1px solid var(--line-soft);display:flex;align-items:center;gap:10px}.picked-label[data-v-4dbefa1c]{flex:1;font-size:12px;color:var(--text-dim);font-family:var(--mono);text-align:center}button.link[data-v-4dbefa1c]{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:12px;padding:2px 4px}button.primary[data-v-4dbefa1c]{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary[data-v-4dbefa1c]:disabled{opacity:.4;cursor:not-allowed}.scroll[data-v-123aed71]{max-height:260px;overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch}.analysis td[data-v-123aed71],.analysis th[data-v-123aed71]{white-space:nowrap}.pickable[data-v-123aed71]{cursor:pointer}.msg.pickable[data-v-123aed71]:hover{filter:brightness(1.25)}.msg .look[data-v-123aed71]{align-self:start;margin-left:auto;padding:1px 7px;min-height:0;font-size:11px}.msg.lit[data-v-123aed71]{outline:1px solid var(--accent);outline-offset:-1px}.pickable:hover td[data-v-123aed71]{background:#ffffff0a}.pickable.lit td[data-v-123aed71]{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--text)}.deflection-bar[data-v-123aed71]{display:flex;flex-direction:column;gap:7px}.load-row[data-v-123aed71]{display:flex;align-items:baseline;gap:10px}.load-row>.link[data-v-123aed71]{margin-left:auto}.deflection-bar .scale[data-v-123aed71]{width:100%;margin:0;accent-color:#6ee7a8}@media(max-width:900px){.scroll[data-v-123aed71]{max-height:60vh}.scroll>table[data-v-123aed71]{min-width:440px}.summary[data-v-123aed71]{flex-wrap:wrap;gap:6px 14px}}.counts[data-v-123aed71]{display:flex;gap:5px}.summary[data-v-123aed71]{display:flex;gap:14px;color:var(--text-dim);border-top:1px solid var(--line-soft)}.nest-head[data-v-123aed71]{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.stick[data-v-123aed71]{display:flex;align-items:center;gap:8px;margin-bottom:3px}.bar[data-v-123aed71]{flex:1;height:9px;background:var(--bg-input);border-radius:2px;overflow:hidden}.fill[data-v-123aed71]{height:100%;background:var(--accent-dim)}td.ok[data-v-123aed71]{color:var(--ok)}td.marginal[data-v-123aed71]{color:var(--warn)}td.fails[data-v-123aed71]{color:var(--error)}.sway[data-v-123aed71]{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.sway-figure[data-v-123aed71]{display:flex;align-items:baseline;gap:6px}.sway-figure strong[data-v-123aed71]{font-family:var(--mono);font-size:17px}.sway-ratio[data-v-123aed71]{font-size:15px}.sway-figure.ok strong[data-v-123aed71],.sway-ratio.ok[data-v-123aed71]{color:var(--ok)}.sway-figure.marginal strong[data-v-123aed71],.sway-ratio.marginal[data-v-123aed71]{color:var(--warn)}.sway-figure.fails strong[data-v-123aed71],.sway-ratio.fails[data-v-123aed71]{color:var(--error)}.seg.small>button[data-v-123aed71]{padding:2px 8px;min-height:0;font-size:11px}.actions[data-v-123aed71]{display:flex;gap:6px}.actions>button[data-v-123aed71]{flex:1}.tiny[data-v-123aed71]{font-size:11px;margin:0;line-height:1.5}.limits[data-v-123aed71]{margin:6px 0 0;padding-left:18px;color:var(--text-dim);font-size:12px}.backdrop[data-v-9a353449]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal[data-v-9a353449]{background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;width:min(620px,100%);max-height:min(700px,92vh);display:flex;flex-direction:column;overflow:hidden}.modal>header[data-v-9a353449]{padding:10px 14px;border-bottom:1px solid var(--line-soft);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);display:flex;align-items:center;justify-content:space-between}.modal>.body[data-v-9a353449]{overflow-y:auto;min-height:0;padding:14px}.current[data-v-9a353449]{padding-bottom:2px;border-bottom:1px solid var(--line-soft)}.modal>footer[data-v-9a353449]{padding:10px 14px;border-top:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);display:flex;align-items:center;gap:10px}.confirm[data-v-9a353449]{flex:1;font-size:12px;line-height:1.45}button.link[data-v-9a353449]{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:12px;padding:2px 4px}button.primary[data-v-9a353449]{background:var(--accent);color:#fff;border-color:var(--accent)}.note[data-v-9a353449]{margin:0;font-size:12px;color:var(--text-dim);line-height:1.5}.table-wrap[data-v-9a353449]{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -10px;padding:0 10px}@media(max-width:900px){.table-wrap>table[data-v-9a353449]{min-width:460px}}td[data-v-9a353449]:first-child,td.grade[data-v-9a353449],th[data-v-9a353449]{white-space:nowrap}td.grade[data-v-9a353449]{color:var(--text-dim)}table[data-v-9a353449]{font-size:11px}table th[data-v-9a353449],table td[data-v-9a353449]{padding-left:3px;padding-right:3px}table th[data-v-9a353449]:first-child,table td[data-v-9a353449]:first-child{padding-left:0}table th[data-v-9a353449]{letter-spacing:0}table td[data-v-9a353449]:last-child{padding-right:0}table td button[data-v-9a353449]{padding:2px 7px}td.better[data-v-9a353449]{color:var(--ok)}td.worse[data-v-9a353449]{color:var(--text-dim)}td.over[data-v-9a353449]{color:var(--warn)}.cube-wrap[data-v-01b80b78]{position:absolute;top:12px;right:12px;width:96px;height:112px;pointer-events:none}.stage[data-v-01b80b78]{position:absolute;top:16px;right:0;bottom:0;left:0;perspective:300px;pointer-events:auto;cursor:grab;touch-action:none}.stage[data-v-01b80b78]:active{cursor:grabbing}.cube[data-v-01b80b78]{position:absolute;top:50%;left:50%;width:0;height:0;transform-style:preserve-3d}.face[data-v-01b80b78]{position:absolute;width:46px;height:46px;margin:-23px 0 0 -23px;box-sizing:border-box;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #4d5866;background:#262c36db;color:#9aa6b6;font-family:ui-monospace,monospace;font-size:8px;font-weight:600;line-height:1;letter-spacing:.06em;text-indent:.06em;cursor:pointer;pointer-events:auto;backface-visibility:hidden}.face[data-v-01b80b78]:hover{background:#4f8fbfd9;color:#eaf2fb}.home[data-v-01b80b78]{position:absolute;top:0;right:0;width:22px;height:22px;padding:0;border:1px solid #4d5866;border-radius:4px;background:#262c36e6;color:#9aa6b6;font-size:13px;line-height:1;cursor:pointer;pointer-events:auto}.home[data-v-01b80b78]:hover{color:#eaf2fb;border-color:#4f8fbf}.columns[data-v-930e8fc9]{position:absolute;bottom:8px;display:flex;z-index:3}.columns.at-left[data-v-930e8fc9]{left:10px}.columns.at-right[data-v-930e8fc9]{right:10px}.columns button[data-v-930e8fc9]{padding:3px;width:24px;height:24px;background:transparent;border:none;color:var(--text-faint);cursor:pointer}.columns button[data-v-930e8fc9]:hover{color:var(--text)}.columns svg[data-v-930e8fc9]{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3}.columns svg .fill[data-v-930e8fc9]{fill:currentColor;stroke:none;opacity:.85}.columns button.off svg .fill[data-v-930e8fc9]{display:none}.viewport.placing[data-v-930e8fc9],.viewport.measuring[data-v-930e8fc9]{cursor:crosshair}.place-target[data-v-930e8fc9]{height:26px}.extend-mode[data-v-930e8fc9]{height:24px;margin-bottom:6px}.extend-mode button[data-v-930e8fc9],.place-target button[data-v-930e8fc9]{font-size:11px;padding:0 8px}.anchor-label.target[data-v-930e8fc9]{background:#000000bf}.anchor-label.target.picked[data-v-930e8fc9]{background:var(--accent);color:#fff}.target-pick[data-v-930e8fc9]{font-family:var(--mono);font-size:12px;color:var(--text-dim);padding-right:4px}.anchor-label[data-v-930e8fc9]{position:absolute;transform:translate(10px,-50%);pointer-events:none;font-family:var(--mono);font-size:11px;color:var(--text);background:#0009;border-radius:3px;padding:1px 5px;white-space:nowrap;z-index:3}.viewport[data-v-930e8fc9]{position:relative;height:100%;min-height:0;border:1px solid var(--line-soft);border-radius:6px;overflow:hidden;touch-action:none}.viewport[data-v-930e8fc9] canvas{display:block;width:100%!important;height:100%!important;touch-action:none}.overlay[data-v-930e8fc9]{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 16px)}.overlay>button[data-v-930e8fc9]{background:#1b1e24e6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hint[data-v-930e8fc9]{color:var(--text-dim);font-size:12px;background:#14161ae0;padding:3px 8px;border-radius:4px}.extend-prompt[data-v-930e8fc9]{position:absolute;left:50%;bottom:14px;transform:translate(-50%);background:#1b1e24f5;border:1px solid var(--accent);border-radius:6px;padding:9px 11px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:calc(100% - 20px)}.extend-head[data-v-930e8fc9]{font-size:12px;color:var(--text-dim);margin-bottom:6px;white-space:nowrap}.extend-prompt form[data-v-930e8fc9]{display:flex;align-items:center;gap:6px}.extend-prompt input[data-v-930e8fc9],.extend-prompt .boxed[data-v-930e8fc9]{width:96px}.remedy-box[data-v-930e8fc9]{margin-top:8px;padding:8px;border-radius:4px;background:#ff7a1a1f;border:1px solid var(--accent-dim);max-width:340px}.remedy-text[data-v-930e8fc9]{font-size:11px;line-height:1.5;color:var(--text-dim);margin-bottom:7px}.remedy-text em[data-v-930e8fc9]{color:var(--text);font-style:normal}.brace-issue[data-v-930e8fc9]{margin-top:6px;font-size:11px;color:var(--warn);max-width:320px;line-height:1.45}.extend-facts[data-v-930e8fc9]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;font-size:11px;color:var(--text-dim)}.extend-prompt .unit[data-v-930e8fc9]{font-size:12px}.extend-prompt.measure[data-v-930e8fc9]{border-color:#5ad1ff}.measure-hover[data-v-930e8fc9]{margin-left:8px;font-family:var(--mono);color:#5ad1ff}.measure-pair[data-v-930e8fc9]{display:flex;align-items:center;gap:7px;font-size:11px;font-family:var(--mono);color:var(--text-dim);margin-bottom:6px;white-space:nowrap}.measure-pair .set[data-v-930e8fc9]{color:var(--text)}.measure-readout[data-v-930e8fc9]{display:flex;align-items:baseline;gap:10px;margin-bottom:7px;white-space:nowrap}.measure-readout .figure[data-v-930e8fc9]{font-family:var(--mono);font-size:18px;color:#5ad1ff}.measure-readout .num[data-v-930e8fc9]{font-family:var(--mono);font-size:11px}.load-label[data-v-930e8fc9]{position:absolute;transform:translate(-50%,-50%);pointer-events:none;font-family:var(--mono);font-size:11px;color:#1a1204;background:#ffb020;border-radius:3px;padding:1px 5px;white-space:nowrap;z-index:3}.measure-figure[data-v-930e8fc9]{position:absolute;transform:translate(-50%,-50%);pointer-events:none;font-family:var(--mono);font-size:12px;color:#06121a;background:#5ad1ff;border-radius:3px;padding:1px 6px;white-space:nowrap;z-index:3}@media(max-width:900px){.hint[data-v-930e8fc9]{display:none}}.app[data-v-eabbce85]{display:flex;flex-direction:column;height:100%}.topbar[data-v-eabbce85]{display:flex;align-items:center;gap:18px;padding:8px 14px;padding-top:max(8px,env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--bg-panel);flex-shrink:0}.mobile .topbar[data-v-eabbce85]{gap:8px;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top))}.group[data-v-eabbce85]{display:flex;align-items:center;gap:7px;font-size:12px}button.unsaved[data-v-eabbce85]:after{content:"";display:inline-block;width:5px;height:5px;margin-left:6px;border-radius:50%;background:var(--accent);vertical-align:middle}.recovered[data-v-eabbce85]{position:fixed;left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;background:#1b1e24f5;border:1px solid var(--accent);font-size:12px;z-index:40}button.tube[data-v-eabbce85]{font-family:var(--mono)}.mini[data-v-eabbce85]{width:62px;flex:0 0 auto}.spacer[data-v-eabbce85]{flex:1}.file[data-v-eabbce85]{display:inline-block;padding:4px 10px;border:1px solid var(--line);border-radius:4px;background:var(--bg-input);cursor:pointer;text-align:center}.file[data-v-eabbce85]:hover{background:var(--bg-hover)}.file input[data-v-eabbce85]{display:none}.export-strip[data-v-eabbce85]{display:flex;align-items:center;gap:12px;padding:6px 14px;background:var(--bg-input);border-bottom:1px solid var(--line);font-size:12px;flex-shrink:0}.export-strip.error[data-v-eabbce85]{color:var(--error)}.progress[data-v-eabbce85]{width:220px;max-width:40vw;height:4px;background:var(--line);border-radius:2px;overflow:hidden;flex-shrink:0}.progress>div[data-v-eabbce85]{height:100%;background:var(--accent);transition:width .2s}main.desktop[data-v-eabbce85]{flex:1;min-height:0;display:grid;grid-template-columns:var(--left-column, 290px) 1fr var(--right-column, 380px);gap:10px;padding:10px}main.desktop>.left[data-v-eabbce85]{grid-column:1}main.desktop>.centre[data-v-eabbce85]{grid-column:2}main.desktop>.right[data-v-eabbce85]{grid-column:3}main.desktop aside[data-v-eabbce85]{overflow-y:auto;display:flex;flex-direction:column;gap:10px}main.desktop aside[data-v-eabbce85]>*{flex-shrink:0}.centre[data-v-eabbce85]{min-width:0;min-height:0}main.mobile-layout[data-v-eabbce85]{flex:1;min-height:0;display:flex;flex-direction:column}.mobile-viewport[data-v-eabbce85]{height:42vh;min-height:200px;flex-shrink:0;padding:8px 8px 0}.tabs[data-v-eabbce85]{display:flex;gap:0;padding:8px 8px 0;flex-shrink:0}.tabs>button[data-v-eabbce85]{flex:1;border-radius:0;border-right-width:0;min-height:40px;position:relative}.tabs>button[data-v-eabbce85]:first-child{border-radius:5px 0 0 5px}.tabs>button[data-v-eabbce85]:last-child{border-radius:0 5px 5px 0;border-right-width:1px}.tab-dot[data-v-eabbce85]{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:5px;vertical-align:middle}.tab-dot.error[data-v-eabbce85]{background:var(--error)}.tab-dot.warn[data-v-eabbce85]{background:var(--warn)}.mobile-panel[data-v-eabbce85]{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.sheet-backdrop[data-v-eabbce85]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40}.sheet[data-v-eabbce85]{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--bg-panel);border-top:1px solid var(--line);border-radius:12px 12px 0 0;padding:8px 14px 14px;padding-bottom:max(14px,env(safe-area-inset-bottom));max-height:75vh;overflow-y:auto}.tap-shield[data-v-eabbce85]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:transparent}.sheet-grip[data-v-eabbce85]{width:36px;height:4px;border-radius:2px;background:var(--line);margin:2px auto 12px}.sheet .field[data-v-eabbce85]{grid-template-columns:72px 1fr}.sheet-actions[data-v-eabbce85]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:4px}:root{--bg: #14161a;--bg-panel: #1b1e24;--bg-input: #23272f;--bg-hover: #2a2f38;--line: #333a45;--line-soft: #262b33;--text: #e6e9ee;--text-dim: #9aa3b0;--text-faint: #6b7482;--accent: #ff7a1a;--accent-dim: #b3560f;--error: #ff5f56;--warn: #f0b429;--ok: #4caf7d;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:13px;line-height:1.45;overflow:hidden}button{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--line);border-radius:4px;padding:4px 10px;cursor:pointer}button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-faint)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#17130e;font-weight:600}button.primary:hover:not(:disabled){background:#ff8c39;border-color:#ff8c39}button.active{background:var(--accent-dim);border-color:var(--accent);color:#fff}input,select{font:inherit;font-family:var(--mono);color:var(--text);background:var(--bg-input);border:1px solid var(--line);border-radius:4px;padding:3px 6px;width:100%}input:focus,select:focus{outline:none;border-color:var(--accent)}input[type=number]{text-align:right}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.panel{background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:6px;overflow:hidden}.panel>header{padding:6px 10px;border-bottom:1px solid var(--line-soft);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);display:flex;align-items:center;justify-content:space-between;gap:8px}.panel>.body{padding:10px}.panel.folded>*:not(header){display:none}.panel>header>button.fold{background:transparent;border:none;padding:0;margin-right:2px;width:14px;height:14px;color:var(--text-faint);cursor:pointer;order:-1}.panel>header>button.fold:hover{color:var(--text)}.panel>header>button.fold svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;transition:transform .14s}.panel.folded>header>button.fold svg{transform:rotate(-90deg)}.rows{display:flex;flex-direction:column;gap:8px}.field{display:grid;grid-template-columns:74px 1fr;align-items:center;gap:8px}.field>label{color:var(--text-dim);font-size:12px}.xyz{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;min-width:0}.toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);white-space:nowrap;cursor:pointer}.toggle input{width:auto;margin:0}.toggle.indent{padding-left:18px}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.boxed{position:relative;display:flex;min-width:0}.boxed>input,.boxed>select{width:100%;min-width:0}.boxed[data-tag]>input{padding-left:17px;text-align:right}.boxed[data-unit]>input{padding-right:26px}.boxed[data-tag]:before,.boxed[data-unit]:after{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none;font-family:var(--mono);font-size:11px;color:var(--text-faint)}.boxed[data-tag]:before{content:attr(data-tag);left:6px}.boxed[data-unit]:after{content:attr(data-unit);right:8px}.seg{display:flex;gap:0}.seg>button{border-radius:0;flex:1;border-right-width:0;white-space:nowrap}.seg>button:first-child{border-radius:4px 0 0 4px}.seg>button:last-child{border-radius:0 4px 4px 0;border-right-width:1px}.list{display:flex;flex-direction:column;max-height:220px;overflow-y:auto}.list-row{display:flex;align-items:center;gap:8px;padding:3px 10px;cursor:pointer;border-left:2px solid transparent;font-family:var(--mono);font-size:12px}.list-row:hover{background:var(--bg-hover)}.list-row.selected{background:#ff7a1a24;border-left-color:var(--accent)}.list-row .grow{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:12px}th{text-align:left;font-weight:500;color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:4px 6px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg-panel)}td{padding:3px 6px;border-bottom:1px solid var(--line-soft)}td.r,th.r{text-align:right}.msg{display:flex;gap:8px;padding:7px 10px;border-left:2px solid var(--line);background:var(--bg-input);border-radius:0 4px 4px 0}.msg.error{border-left-color:var(--error)}.msg.warning{border-left-color:var(--warn)}.msg.info{border-left-color:var(--text-faint)}.msg .remedy{color:var(--text-dim);font-size:12px;margin-top:2px}.badge{font-family:var(--mono);font-size:11px;padding:0 5px;border-radius:3px;background:var(--bg-input);border:1px solid var(--line);color:var(--text-dim)}.badge.error{color:var(--error);border-color:var(--error)}.badge.warning{color:var(--warn);border-color:var(--warn)}.badge.ok{color:var(--ok);border-color:var(--ok)}@media(max-width:900px){input,select{font-size:16px;padding:7px 9px}button{min-height:38px;padding:7px 12px}.list-row{padding:9px 12px;font-size:13px}.list{max-height:none}.field{grid-template-columns:78px 1fr;gap:10px}.panel>.body{padding:12px}td,th{padding:7px 8px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll>table{min-width:460px}}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}::-webkit-scrollbar-track{background:transparent}
