.gate[data-v-d6869926]{background:radial-gradient(circle at 1px 1px, var(--grid) 1px, transparent 0) 0 0/22px 22px, var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.card[data-v-d6869926]{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);width:min(392px,100%);box-shadow:var(--shadow-lg);flex-direction:column;gap:13px;padding:28px 26px 24px;display:flex}.head .mark[data-v-d6869926]{color:var(--accent);margin:0 0 13px;display:block}.head b[data-v-d6869926]{letter-spacing:-.01em;font-size:17px;font-weight:600;display:block}.head p[data-v-d6869926]{color:var(--ink-3);margin:5px 0 0;font-size:12.5px;line-height:1.5}.oauth[data-v-d6869926]{gap:9px;display:grid}.oauth-btn[data-v-d6869926]{cursor:pointer;width:100%;min-height:40px;transition:filter var(--dur,.12s) ease, box-shadow var(--dur,.12s) ease;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:0 14px;font-family:inherit;font-size:13.5px;font-weight:500;display:flex}.oauth-btn[data-v-d6869926]:disabled{opacity:.55;cursor:default}.oauth-btn[data-v-d6869926]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.oauth-google[data-v-d6869926]{color:#1f1f1f;background:#fff;border-color:#dadce0}.oauth-github[data-v-d6869926]{color:#fff;background:#24292f;border-color:#24292f}:root[data-theme=dark] .oauth-github[data-v-d6869926],:root:not([data-theme=light]) .oauth-github[data-v-d6869926]{border-color:#3d444d}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .oauth-github[data-v-d6869926]{border-color:#24292f}}.oauth-btn[data-v-d6869926]:not(:disabled):hover{filter:brightness(1.08)}.oauth-google[data-v-d6869926]:not(:disabled):hover{filter:brightness(.97)}@media (prefers-reduced-motion:reduce){.oauth-btn[data-v-d6869926]{transition:none}}.or[data-v-d6869926]{color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;margin:15px 0 3px;font-size:10px;font-weight:600;display:flex}.or[data-v-d6869926]:before,.or[data-v-d6869926]:after{content:"";background:var(--line);flex:1;height:1px}.ico[data-v-d6869926]{flex:none;width:14px;height:14px}.wide[data-v-d6869926]{justify-content:center;width:100%;height:34px}.swap[data-v-d6869926]{color:var(--ink-3);justify-content:center;align-items:center;gap:6px;margin:0;font-size:12.5px;display:flex}.legal[data-v-d6869926]{color:var(--ink-3);text-align:center;flex-wrap:wrap;justify-content:center;gap:8px 14px;margin-top:14px;font-size:12px;line-height:1.5;display:flex}.legal a[data-v-d6869926]{color:inherit;-webkit-text-decoration-color:color-mix(in srgb, var(--ink-3) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--ink-3) 70%, transparent);text-underline-offset:.16em}.legal a[data-v-d6869926]:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.cb-trigger[data-v-0ac2292c]{text-align:left;cursor:pointer;align-items:center;gap:6px;font-size:12.5px;display:flex}.cb-trigger[data-v-0ac2292c]:hover:not(.disabled){border-color:var(--line-2)}.cb-trigger[aria-expanded=true][data-v-0ac2292c]{border-color:var(--accent)}.cb-trigger.disabled[data-v-0ac2292c]{cursor:default;opacity:.7}.cb-trigger.empty .cb-value[data-v-0ac2292c]{color:var(--ink-3)}.cb-value[data-v-0ac2292c]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cb-caret[data-v-0ac2292c]{color:var(--ink-3)}.cb-tick[data-v-0ac2292c]{color:var(--accent);margin-left:auto}.cb-popup[data-v-0ac2292c]{z-index:90;background:var(--surface);border:1px solid var(--line-2);min-width:0;box-shadow:var(--shadow-lg);border-radius:7px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.cb-search[data-v-0ac2292c]{border:0;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--ink);flex:none;padding:7px 9px;font-size:12.5px}.cb-search[data-v-0ac2292c]:focus{outline:none}.cb-list[data-v-0ac2292c]{padding:4px;overflow-y:auto}.cb-option[data-v-0ac2292c]{cursor:pointer;text-align:left;width:100%;color:var(--ink-2);background:0 0;border:0;border-radius:5px;align-items:baseline;gap:8px;padding:5px 7px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12.5px;display:flex}.cb-row[data-v-0ac2292c]{border-radius:5px;align-items:center;display:flex}.cb-row.on[data-v-0ac2292c],.cb-row[data-v-0ac2292c]:hover{background:var(--surface-2)}.cb-option[data-v-0ac2292c]{flex:1;min-width:0}.cb-option.on[data-v-0ac2292c]{color:var(--ink);background:0 0}.cb-action[data-v-0ac2292c]{width:26px;height:26px;color:var(--ink-3);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;margin-right:3px;padding:0;display:grid}.cb-row:hover .cb-action[data-v-0ac2292c],.cb-action[data-v-0ac2292c]:focus-visible{opacity:1}.cb-action[data-v-0ac2292c]:hover{background:var(--danger-soft);color:var(--danger)}.cb-option.sel[data-v-0ac2292c]{color:var(--ink);font-weight:500}.cb-option.custom .cb-label[data-v-0ac2292c]{font-style:italic}.cb-label[data-v-0ac2292c]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cb-hint[data-v-0ac2292c]{color:var(--ink-3);flex:none;margin-left:auto;font-family:IBM Plex Sans,sans-serif;font-size:10.5px}.cb-none[data-v-0ac2292c]{text-align:center;color:var(--ink-3);padding:10px;font-size:12px}.av[data-v-8f46e510]{width:var(--size);height:var(--size);border-radius:calc(var(--r) - 1px);object-fit:cover;background:var(--surface-2);flex:none}.gen[data-v-8f46e510]{background:var(--tint);color:var(--accent-ink);font-size:var(--fs);letter-spacing:.02em;-webkit-user-select:none;user-select:none;place-items:center;font-weight:600;display:grid}.badge.shared[data-v-08153e16]{background:var(--accent-soft);color:var(--accent)}@media (width<=1720px){#topbar .btn.keep-lbl[data-v-08153e16]{width:auto;padding-inline:9px;display:inline-flex}#topbar .btn.keep-lbl .lbl[data-v-08153e16]{display:inline}}.header-tooltip[data-v-08153e16]{z-index:120;background:var(--ink);border:1px solid color-mix(in srgb, var(--surface) 18%, transparent);max-width:min(240px,100vw - 16px);box-shadow:var(--shadow);color:var(--surface);text-align:center;white-space:nowrap;pointer-events:none;border-radius:5px;padding:5px 8px;font-size:11.5px;font-weight:500;line-height:1.25;position:fixed;transform:translate(-50%)}.acct[data-v-08153e16]{gap:7px}.brand[data-v-08153e16] svg{color:var(--accent)}.railfoot[data-v-6321c10e]{border-top:1px solid var(--line);padding:8px 12px}#legend i[data-v-6c6365d3]{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:4px;font-style:normal}#empty-canvas[data-v-6c6365d3]{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}#empty-canvas h2[data-v-6c6365d3]{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}#empty-canvas p[data-v-6c6365d3]{max-width:42ch;color:var(--ink-3);margin:0;font-size:13px;line-height:1.55}#empty-canvas .acts[data-v-6c6365d3]{pointer-events:auto;gap:8px;margin-top:4px;display:flex}.sec.collapsed[data-v-84e92b86]{padding-bottom:8px}h3[data-v-84e92b86]{margin:0 0 9px}.sec.collapsed h3[data-v-84e92b86]{margin-bottom:0}.sectoggle[data-v-84e92b86]{cursor:pointer;min-width:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:7px;padding:2px 0;display:flex}.sectoggle:hover .stitle[data-v-84e92b86]{color:var(--ink)}.stitle[data-v-84e92b86]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chev[data-v-84e92b86]{color:var(--ink-3);transition:transform .12s}.chev.open[data-v-84e92b86]{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.chev[data-v-84e92b86]{transition:none}}.keyrow[data-v-cee949a8]{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;flex-direction:column;gap:8px;margin-bottom:6px;padding:8px;display:flex}.khead[data-v-cee949a8]{align-items:center;gap:6px;display:flex}.khead[data-v-cee949a8]>:first-child{flex:1;min-width:0}.kcols[data-v-cee949a8]{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.kcol[data-v-cee949a8]{align-items:center;gap:4px;width:100%;display:flex}.kcol[data-v-cee949a8]>:first-child{flex:1;min-width:0}.kcol .btn.sm[data-v-cee949a8]{flex:none;justify-content:center;width:24px;padding:0}.kpreview[data-v-cee949a8]{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);white-space:pre;border-radius:5px;padding:6px 8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;line-height:1.5;display:block;overflow-x:auto}.kadd[data-v-cee949a8]{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.keys .mut[data-v-cee949a8]{margin:0}.dropzone[data-v-5379e4a4]{border:1px dashed var(--line);background:var(--surface-2);width:100%;color:var(--ink-2);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:7px;padding:15px 14px;display:flex}.dropzone[data-v-5379e4a4]:hover,.dropzone.drag[data-v-5379e4a4]{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.dropzone[data-v-5379e4a4]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dropzone svg[data-v-5379e4a4]{color:var(--accent)}.vh[data-v-5379e4a4]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dropzone-title[data-v-5379e4a4]{color:var(--ink);font-size:13px;font-weight:600}.dropzone-meta[data-v-5379e4a4]{color:var(--ink-2);font-size:12px}.dropzone-hint[data-v-5379e4a4]{color:var(--ink-3);font-size:11.5px;line-height:1.5}.paste[data-v-5379e4a4]{flex-direction:column;gap:8px;margin-top:14px;display:flex}.paste-label[data-v-5379e4a4]{color:var(--ink-2);font-size:12px;font-weight:600}.import-text[data-v-5379e4a4]{resize:vertical;min-height:18dvh}@media (prefers-reduced-motion:reduce){.dropzone[data-v-5379e4a4]{transition:none}}.export-list[data-v-c21733ab]{flex-direction:column;gap:16px;display:flex}.export-group[data-v-c21733ab]{flex-direction:column;gap:8px;display:flex}.export-head[data-v-c21733ab]{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.export-head h3[data-v-c21733ab]{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.export-row[data-v-c21733ab]{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;display:grid}.export-row.busy[data-v-c21733ab]{border-color:var(--accent);background:var(--accent-soft)}.export-row.locked[data-v-c21733ab]{background:linear-gradient(0deg, var(--surface-2), var(--surface-2))}.export-meta[data-v-c21733ab]{flex-direction:column;gap:4px;min-width:0;display:flex}.export-label[data-v-c21733ab]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.export-name[data-v-c21733ab]{color:var(--ink);font-size:13px;font-weight:600}.export-note[data-v-c21733ab]{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;line-height:1.5;overflow:hidden}.export-actions[data-v-c21733ab]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.export-actions .btn.sm[data-v-c21733ab]{justify-content:center;min-width:98px}.export-actions .btn.sm.primary[data-v-c21733ab]{min-width:112px}.badge.pro[data-v-c21733ab]{background:var(--accent-soft);color:var(--accent)}@media (prefers-reduced-motion:reduce){.export-row[data-v-c21733ab]{transition:none}}.badge.view[data-v-e23055c4]{background:var(--surface-2);color:var(--ink-2)}.badge.embed[data-v-e23055c4]{background:color-mix(in srgb, var(--accent) 12%, var(--surface-2));color:var(--accent)}.vmsg.mono[data-v-e23055c4]{font-family:IBM Plex Mono,monospace;font-size:11.5px}.lede[data-v-df2fa0ff]{color:var(--ink-2);margin:0 0 14px;font-size:13px;line-height:1.45}.cmp[data-v-df2fa0ff]{border-collapse:collapse;width:100%;font-size:12.5px}.cmp thead th[data-v-df2fa0ff]{border-bottom:1px solid var(--line);color:var(--ink-3);letter-spacing:.06em;text-align:right;text-transform:uppercase;padding:0 0 6px;font-size:10.5px;font-weight:600}.cmp thead th[data-v-df2fa0ff]:first-child{text-align:left}.cmp tbody th[data-v-df2fa0ff]{color:var(--ink-2);text-align:left;white-space:nowrap;padding:7px 12px 7px 0;font-weight:400}.cmp td[data-v-df2fa0ff]{color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums;padding:7px 0 7px 12px}.cmp td.pro[data-v-df2fa0ff]{color:var(--ink);font-weight:500}.cmp tbody tr+tr th[data-v-df2fa0ff],.cmp tbody tr+tr td[data-v-df2fa0ff]{border-top:1px solid var(--line)}.cmp tbody tr.hit th[data-v-df2fa0ff]{color:var(--ink);font-weight:500}.cmp tbody tr.hit td[data-v-df2fa0ff]:not(.pro){color:var(--danger)}.soon[data-v-df2fa0ff]{color:var(--ink-3);margin:14px 0 0;font-size:12px;line-height:1.45}.plan-title[data-v-a615bde5]{margin:0 0 2px;font-size:14.5px;font-weight:600}.reason[data-v-a615bde5]{color:var(--ink-2);margin:0 0 12px;font-size:12.5px;line-height:1.55}.limits[data-v-a615bde5]{flex-direction:column;gap:6px;margin:0;display:flex}.limits div[data-v-a615bde5]{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.limits dt[data-v-a615bde5]{color:var(--ink-2);font-size:12.5px}.limits dd[data-v-a615bde5]{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;margin:0}.limits dd.atLimit[data-v-a615bde5]{color:var(--danger)}.pending h3[data-v-99161ea3]{margin:0 0 4px;font-size:14.5px;font-weight:600}.pending>p[data-v-99161ea3]{color:var(--ink-2);margin:0 0 10px;font-size:12.5px;line-height:1.55}.meta[data-v-99161ea3]{color:var(--ink-3);font-size:12px}.actions[data-v-99161ea3]{gap:10px;display:grid}.note[data-v-99161ea3]{color:var(--ink-3);margin:0;font-size:12px;line-height:1.5}.block[data-v-de0c3cd1]{border-bottom:1px solid var(--line);padding-bottom:14px}.block[data-v-de0c3cd1]:last-child{border-bottom:0;padding-bottom:0}.name[data-v-de0c3cd1]{margin:0 0 4px;font-size:16px;font-weight:600}.email[data-v-de0c3cd1]{color:var(--ink-2);margin:0 0 8px;font-size:12.5px}.since[data-v-de0c3cd1]{color:var(--ink-3);margin:0;font-size:12px}.reason[data-v-de0c3cd1]{color:var(--ink-2);margin:0 0 12px;font-size:12.5px;line-height:1.55}.themes[data-v-de0c3cd1]{flex-wrap:wrap;gap:8px;display:flex}.support-link[data-v-de0c3cd1]{color:var(--accent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-underline-offset:.16em;align-self:start;font-size:13px}.support-link[data-v-de0c3cd1]:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.danger-zone h3[data-v-de0c3cd1]{margin:0 0 4px;font-size:14.5px;font-weight:600}.danger-zone>p[data-v-de0c3cd1]{color:var(--ink-2);margin:0 0 12px;font-size:12.5px;line-height:1.55}.confirm[data-v-de0c3cd1]{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.confirm .f[data-v-de0c3cd1]{width:100%}.derr[data-v-de0c3cd1]{color:var(--danger);margin:8px 0 0;font-size:12.5px}.sent[data-v-de0c3cd1]{color:var(--ink-2);margin:0;font-size:12.5px;line-height:1.55}.account-footer[data-v-de0c3cd1]{justify-content:space-between;gap:8px;width:100%;display:flex}.in[data-v-de0c3cd1]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ident[data-v-de0c3cd1]{grid-template-columns:auto 1fr auto;grid-template-areas:"av who act""err err err";align-items:start;gap:0 14px;display:grid}.ident[data-v-de0c3cd1]>:first-child{grid-area:av}.who[data-v-de0c3cd1]{grid-area:who;min-width:0}.identactions[data-v-de0c3cd1]{grid-area:act;align-self:center}.ident .derr[data-v-de0c3cd1]{grid-area:err}.nameinput[data-v-de0c3cd1]{border-radius:calc(var(--r) - 2px);width:100%;color:var(--ink);font:inherit;letter-spacing:-.011em;background:0 0;border:1px solid #0000;margin:-3px 0 1px -7px;padding:2px 7px;font-size:19px;font-weight:600}.nameinput[data-v-de0c3cd1]:hover{border-color:var(--line)}.nameinput[data-v-de0c3cd1]:focus{border-color:var(--accent);background:var(--surface);outline:none}.nameinput[data-v-de0c3cd1]::placeholder{color:var(--ink-3)}.vh[data-v-de0c3cd1]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#app-shell[data-v-41cb24eb]{grid-template-rows:52px auto minmax(0,1fr);width:100%;min-width:0;height:100dvh;display:grid}#app-shell>#topbar[data-v-41cb24eb]{grid-row:1}#app-shell>#banner[data-v-41cb24eb]{grid-row:2}#app-shell>#main[data-v-41cb24eb]{grid-row:3;min-height:0}.gate[data-v-3011988c]{background:radial-gradient(circle at 1px 1px, var(--grid) 1px, transparent 0) 0 0/22px 22px, var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.card[data-v-3011988c]{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);width:min(520px,100%);box-shadow:var(--shadow-lg);flex-direction:column;gap:18px;padding:28px 26px 24px;display:flex}.head .mark[data-v-3011988c]{color:var(--accent);margin:0 0 13px;display:block}.head b[data-v-3011988c]{letter-spacing:-.01em;font-size:17px;font-weight:600;display:block}.head p[data-v-3011988c]{color:var(--ink-3);margin:5px 0 0;font-size:12.5px;line-height:1.5}.identity[data-v-3011988c]{color:var(--ink-3);margin:-6px 0 0;font-size:12px}.footer-actions[data-v-3011988c]{justify-content:flex-end;display:flex}.boot[data-v-dead6b67]{height:100dvh;color:var(--ink-3);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}:root{--bg:#e2e7ef;--grid:#d4dbe5;--surface:#fcfdff;--surface-2:#f1f4f9;--ink:#131820;--ink-2:#48525f;--ink-3:#79838f;--line:#c2ccda;--line-2:#a9b6c6;--edge:#9faec2;--accent:#1f5fd0;--accent-soft:#dce7fb;--accent-ink:#fff;--danger:#b4322b;--danger-soft:#fae8e6;--ok:#1d7a4d;--shadow:0 1px 2px #13182014, 0 10px 28px -16px #1318204d;--shadow-lg:0 2px 5px #1318201a, 0 28px 60px -24px #1318206b;--dom-l:52%;--dom-c:.17;--dom-l2:38%;--dom-c2:.13;--r:7px}::selection{background:color-mix(in srgb, var(--accent) 30%, transparent);color:var(--ink)}:root{accent-color:var(--accent)}input,textarea{caret-color:var(--accent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1014;--grid:#171c23;--surface:#141a21;--surface-2:#1a2028;--ink:#e7ecf3;--ink-2:#a3aebc;--ink-3:#798492;--line:#252d38;--line-2:#323c49;--edge:#4c5b6e;--accent:#5b8ff9;--accent-soft:#182540;--accent-ink:#0b0e13;--danger:#f1786e;--danger-soft:#331a18;--ok:#4fbf87;--shadow:0 1px 2px #00000080, 0 8px 24px -14px #000000b3;--shadow-lg:0 2px 6px #0009, 0 24px 56px -22px #000000d9;--dom-l:74%;--dom-c:.15;--dom-l2:59%;--dom-c2:.13}}:root[data-theme=dark]{--bg:#0c1014;--grid:#171c23;--surface:#141a21;--surface-2:#1a2028;--ink:#e7ecf3;--ink-2:#a3aebc;--ink-3:#798492;--line:#252d38;--line-2:#323c49;--edge:#4c5b6e;--accent:#5b8ff9;--accent-soft:#182540;--accent-ink:#0b0e13;--danger:#f1786e;--danger-soft:#331a18;--ok:#4fbf87;--shadow:0 1px 2px #00000080, 0 8px 24px -14px #000000b3;--shadow-lg:0 2px 6px #0009, 0 24px 56px -22px #000000d9;--dom-l:74%;--dom-c:.15;--dom-l2:59%;--dom-c2:.13}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.mono{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace}#app,#admin{width:100%;min-width:0;height:100dvh}#admin{overflow:auto}#topbar{scrollbar-width:none;background:var(--surface);border-bottom:1px solid var(--line);z-index:30;align-items:center;gap:10px;min-width:0;max-width:100vw;padding:0 14px;display:flex;overflow:auto hidden}#topbar>*{flex:none}#topbar>.spacer{flex:16px;min-width:0}#topbar::-webkit-scrollbar{display:none}.brand{align-items:center;gap:8px;min-width:0;display:flex}.brand img{flex:none;display:block}.brand b{letter-spacing:-.01em;white-space:nowrap;font-size:14.5px;font-weight:600}.brand span{color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.stats{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;gap:14px;margin-left:4px;font-size:11.5px;display:flex}.stats b{color:var(--ink-2);font-weight:600}.spacer{flex:1}.btn{background:var(--surface-2);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;height:30px;padding:0 11px;font-size:12.5px;font-weight:500;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.btn:hover{background:var(--accent-soft);border-color:var(--accent)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2);border-color:var(--line);color:var(--ink)}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn[disabled]{opacity:.45;pointer-events:none}.btn.sm{height:25px;padding:0 8px;font-size:11.5px}.dot{border-radius:50%;flex:none;width:8px;height:8px}#saveState{color:var(--ink-3);white-space:nowrap;font-size:11.5px}#saveState.dirty{color:var(--danger)}#saveState.ok{color:var(--ok)}#main{grid-template-columns:268px minmax(0,1fr) 0;min-height:0;display:grid;position:relative}#main.insp{grid-template-columns:268px minmax(0,1fr) 356px}#main.rail-collapsed{grid-template-columns:0 minmax(0,1fr) 0}#main.rail-collapsed.insp{grid-template-columns:0 minmax(0,1fr) 356px}#main.rail-collapsed>#rail{display:none}#rail{grid-column:1}#stage{grid-column:2}#inspector{grid-column:3}#rail{background:var(--surface);border-right:1px solid var(--line);z-index:20;flex-direction:column;min-height:0;display:flex}.railhead{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:11px 12px 9px;display:flex}.search{display:flex;position:relative}.search input{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;width:100%;height:31px;padding:0 28px 0 10px;font-size:13px}.search input::placeholder{color:var(--ink-3)}.search .clear{width:23px;height:23px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:4px;font-size:15px;line-height:1;position:absolute;top:4px;right:4px}.search .clear:hover{background:var(--line);color:var(--ink)}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;height:22px;color:var(--ink-2);background:0 0;border-radius:999px;align-items:center;gap:5px;padding:0 7px;font-size:11px;display:inline-flex}.chip:hover{border-color:var(--line-2);color:var(--ink)}.chip.on{background:var(--surface-2);border-color:currentColor}.chip .dot{width:7px;height:7px}.chip i{font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:10px;font-style:normal}.railscroll{flex:1;padding:5px 6px 20px;overflow-y:auto}.railgroup{margin-top:8px}.railgroup h4{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:6px;margin:0;padding:5px 7px;font-size:10px;font-weight:600;display:flex}.railgroup h4 em{font-variant-numeric:tabular-nums;margin-left:auto;font-style:normal}.tlink{cursor:pointer;text-align:left;width:100%;color:var(--ink-2);background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;padding:4px 7px;font-size:12.5px;display:flex}.tlink:hover{background:var(--surface-2);color:var(--ink)}.tlink.sel{background:var(--accent-soft);color:var(--ink);font-weight:500}.tlink .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tlink .ct{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:10.5px}.empty{color:var(--ink-3);text-align:center;padding:18px 10px;font-size:12.5px}#stage{background:radial-gradient(circle at 1px 1px, var(--grid) 1px, transparent 0) 0 0 / 22px 22px, var(--bg);cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}#stage.grab{cursor:grab}#stage.panning{cursor:grabbing}#stage.panning *{cursor:grabbing!important}#world{transform-origin:0 0;width:9600px;height:6600px;position:absolute;top:0;left:0}#wires{pointer-events:auto;width:9600px;height:6600px;position:absolute;inset:0;overflow:visible}#wires path{fill:none;stroke:var(--edge);stroke-width:1.4px;opacity:.32;pointer-events:none}#wires path.hot{stroke-width:2.2px;opacity:1;stroke-dasharray:8 10;animation:1.2s linear infinite wire-flow}#wires path.hot.out{stroke:var(--accent);animation-direction:normal}#wires path.hot.in{stroke:var(--ok);animation-direction:reverse}#wires path.hot.both{stroke:var(--accent)}#wires path.dim{opacity:.06}#wires circle{fill:var(--edge);opacity:.32;pointer-events:none}#wires circle.hot{fill:var(--accent);opacity:1}#wires circle.edge-handle{fill:var(--bg);stroke:var(--accent);stroke-width:1.6px;opacity:1;cursor:grab;pointer-events:all}#wires circle.edge-handle.hot{fill:var(--accent);stroke:var(--bg)}#wires circle.edge-handle:active{cursor:grabbing}@keyframes wire-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-18px}}.node{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);width:280px;box-shadow:var(--shadow);z-index:1;position:absolute;overflow:hidden}.node.open{z-index:4}.node:hover{z-index:5}.node.sel{z-index:6;border-color:var(--accent);box-shadow:var(--shadow-lg), 0 0 0 1px var(--accent)}.node.faded{opacity:.32}.node.hit{border-color:var(--line-2)}.nhead{cursor:grab;-webkit-user-select:none;user-select:none;background:var(--surface);border-left:3px solid var(--dom,var(--line-2));align-items:center;gap:8px;padding:8px 10px;display:flex}.nhead:active{cursor:grabbing}.nhead .nm{text-overflow:ellipsis;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:12.5px;font-weight:500;overflow:hidden}.nhead .meta{color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none;gap:6px;margin-left:auto;font-size:10.5px;display:flex}.nhead .meta span{align-items:center;gap:3px;display:inline-flex}.nbody{border-top:1px solid var(--line);background:var(--surface);max-height:340px;overflow-y:auto}.crow{border-bottom:1px solid #0000;align-items:baseline;gap:7px;padding:3px 10px;font-family:IBM Plex Mono,monospace;font-size:11.5px;display:flex}.crow:hover{background:var(--surface-2)}.crow .cn{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.crow .ct{color:var(--ink-3);white-space:nowrap;margin-left:auto;font-size:10.5px}.crow .k{letter-spacing:.06em;background:var(--accent-soft);color:var(--accent);border-radius:3px;padding:0 3px;font-family:IBM Plex Sans,sans-serif;font-size:9px;font-weight:600}.crow .k.fk{background:var(--surface-2);color:var(--ink-2)}.nmore{color:var(--ink-2);background:var(--surface-2);text-align:left;cursor:pointer;border:0;width:100%;padding:5px 10px;font-size:11px;position:relative}.nmore:hover{color:var(--accent)}#bottombar{overscroll-behavior-inline:contain;scrollbar-width:none;background:var(--surface);border:1px solid var(--line);width:max-content;max-width:calc(100vw - 24px);box-shadow:var(--shadow);z-index:11;border-radius:999px;align-items:center;gap:6px;padding:6px;display:flex;position:absolute;bottom:12px;left:50%;overflow-x:auto;transform:translate(-50%)}#bottombar::-webkit-scrollbar{display:none}#bottombar .btn{flex:none}#bottombar>.btn:first-child{border-start-start-radius:15px;border-end-start-radius:15px}#bottombar>.btn:last-child{border-start-end-radius:15px;border-end-end-radius:15px}#bottombar .spacer{flex:10px;min-width:0}#bottombar .z{color:var(--ink-2);text-align:center;font-variant-numeric:tabular-nums;min-width:40px;font-size:11.5px}#bottombar .theme{justify-content:center;min-width:92px}#bottombar .theme .lbl{display:inline}#main.rail-open #legend{display:none}#legend{background:var(--surface);border:1px solid var(--line);max-width:340px;box-shadow:var(--shadow);z-index:10;color:var(--ink-2);border-radius:8px;flex-wrap:wrap;gap:4px 10px;padding:8px 10px;font-size:10.5px;display:flex;position:absolute;bottom:12px;right:12px}#legend span{align-items:center;gap:5px;display:inline-flex}.legend-x{width:15px;height:15px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;margin-left:2px;padding:0;transition:background .12s,color .12s;display:inline-flex}.legend-x:hover{background:var(--surface-2);color:var(--ink)}#hint{z-index:10;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);box-shadow:var(--shadow);border-radius:999px;padding:5px 14px;font-size:11.5px;position:absolute;top:12px;left:50%;transform:translate(-50%)}#inspector{background:var(--surface);border-left:1px solid var(--line);z-index:20;flex-direction:column;min-height:0;display:flex;overflow:hidden}.ihead{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 14px 10px;display:flex}.ihead .top{align-items:center;gap:8px;display:flex}.ihead input.title{background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;margin-left:-6px;padding:3px 6px;font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:600}.ihead input.title:hover{border-color:var(--line)}.ihead input.title:focus{background:var(--surface-2);border-color:var(--accent);outline:none}.iscroll{flex:1;padding:0 14px 40px;overflow-y:auto}.sec{border-bottom:1px solid var(--line);padding:14px 0}.sec:last-child{border-bottom:0}.sec>h3{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin:0 0 9px;font-size:10px;font-weight:600;display:flex}.sec>h3 em{color:var(--ink-3);font-variant-numeric:tabular-nums;font-style:normal}.sec>h3 .add{margin-left:auto}label.f{color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;flex-direction:column;gap:4px;font-size:10.5px;font-weight:600;display:flex}.in,select.in,textarea.in{background:var(--surface-2);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:5px;padding:6px 8px;font-size:12.5px}textarea.in{resize:vertical;min-height:74px;font-size:12.5px;line-height:1.55}label.f:empty{display:none}.in:focus{border-color:var(--accent);background:var(--surface);outline:none}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.stack{flex-direction:column;gap:9px;display:flex}.col{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;margin-bottom:6px;overflow:hidden}.col>summary{cursor:pointer;align-items:center;gap:7px;padding:6px 8px;font-family:IBM Plex Mono,monospace;font-size:12px;list-style:none;display:flex}.col>summary::-webkit-details-marker{display:none}.col>summary:hover{background:var(--accent-soft)}.col>summary .t{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:110px;margin-left:auto;font-size:10.5px;overflow:hidden}.col[open]>summary{border-bottom:1px solid var(--line);background:var(--surface)}.colbody{background:var(--surface);flex-direction:column;gap:8px;padding:9px;display:flex}.rowact{justify-content:flex-end;gap:6px;display:flex}.rel{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;flex-direction:column;gap:7px;margin-bottom:6px;padding:8px;display:flex}.rel .path{flex-wrap:wrap;align-items:center;gap:6px;font-family:IBM Plex Mono,monospace;font-size:11.5px;display:flex}.rel .path b{font-weight:500}.rel .path a{color:var(--accent);cursor:pointer;border-bottom:1px dotted;text-decoration:none}.rel .path .arw{color:var(--ink-3)}.rel .meaning{color:var(--ink-2);font-size:11.5px;line-height:1.5}.inb{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:4px 0;font-family:IBM Plex Mono,monospace;font-size:11.5px;display:flex}.inb:last-child{border-bottom:0}.inb a{color:var(--accent);cursor:pointer;text-decoration:none}.inb a:hover{text-decoration:underline}.inb .c{color:var(--ink-3);margin-left:auto;font-size:10.5px}.vocab{margin-bottom:8px}.vocab .vn{margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:11.5px}.vals{flex-wrap:wrap;gap:4px;display:flex}.val{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:4px;padding:1px 6px;font-family:IBM Plex Mono,monospace;font-size:10.5px}pre.ddl{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:6px;margin:0;padding:9px;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.6;overflow-x:auto}ul.rules{flex-direction:column;gap:6px;margin:0;padding-left:16px;display:flex}ul.rules li{color:var(--ink-2);font-size:12px;line-height:1.5}.desc{color:var(--ink-2);font-size:12.5px;line-height:1.6}#veil{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;background:#0a0e1480;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}#veil.on{display:flex}.modal{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:10px;flex-direction:column;width:min(860px,100%);max-height:86dvh;display:flex}.modal header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:13px 16px;display:flex}.modal header h2{margin:0;font-size:14.5px;font-weight:600}.modal .body{flex-direction:column;gap:12px;padding:14px 16px;display:flex;overflow:auto}.modal footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.tabs{gap:4px;display:flex}.tab{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:6px;height:26px;padding:0 10px;font-size:12px}.tab.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}textarea.out{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;width:100%;min-height:46dvh;padding:10px;font-family:IBM Plex Mono,monospace;font-size:11.5px;line-height:1.6}.note{color:var(--ink-2);font-size:12px;line-height:1.6}.file-pick{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:6px;align-items:center;gap:10px;padding:10px;font-size:12.5px;display:flex}.file-pick input{min-width:0;max-width:100%}.import-error{min-height:18px;color:var(--danger);margin:0;font-size:12px;font-weight:500}.warn{background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);border-radius:6px;padding:8px 10px;font-size:12px}#toast{z-index:80;background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;box-shadow:var(--shadow-lg);border-radius:999px;padding:8px 16px;font-size:12.5px;transition:opacity .18s,transform .18s;position:fixed;top:52px;left:50%;transform:translate(-50%,-10px)}#toast.on{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.docpick{flex:0 auto;align-items:center;gap:5px;min-width:0;display:flex}.docpick .cb-trigger{background:var(--surface-2);border-radius:6px;width:230px;height:30px;padding:0 9px;font-weight:500}.docpick .cb-trigger:hover{border-color:var(--accent)}.docpick .btn.sm{justify-content:center;width:26px;padding:0}#banner{background:var(--accent-soft);border-bottom:1px solid var(--line);color:var(--ink);align-items:center;gap:10px;padding:8px 14px;font-size:12.5px;display:flex}#banner[hidden]{display:none}#banner.warn{background:var(--danger-soft);border-bottom-color:var(--danger);color:var(--danger)}#banner .msg{flex:1;min-width:0}#banner .btn{height:26px;font-size:12px}.listrow{align-items:flex-start;gap:6px;margin-bottom:6px;display:flex}.listrow textarea.in,.listrow input.in{flex:1;min-width:0}.listrow textarea.in{height:56px;min-height:0}.listrow .btn{flex:none}.vocab{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;padding:8px}.vocab .vhead{align-items:center;gap:6px;margin-bottom:6px;display:flex}.vocab .vhead input{flex:1;min-width:0}.mut{color:var(--ink-3);font-size:11.5px;line-height:1.5}.vlist{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:0;max-height:56dvh;display:flex;overflow:auto}.vrow{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:9px 11px;display:flex}.vrow:last-child{border-bottom:0}.vrow:hover{background:var(--surface-2)}.vrow.cur{background:var(--accent-soft)}.vrow .vno{min-width:34px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600}.vrow .vmeta{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.vrow .vmsg{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.vrow .vwhen{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px}.vrow .vacts{flex:none;gap:5px;display:flex}.badge{letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.expbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.expbar .grow{flex:1}.modal .body .row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spin{vertical-align:-1px;border:2px solid;border-right-color:#0000;border-radius:50%;width:11px;height:11px;animation:.6s linear infinite sp;display:inline-block}@keyframes sp{to{transform:rotate(360deg)}}#stage.busy{opacity:.5;pointer-events:none}.btn>svg{flex:none}.btn.sm>svg:only-child{margin:0 -2px}.search .clear{justify-content:center;align-items:center;display:flex}.ihead .top .btn.ghost.sm{padding:0 7px}.vacts .btn.sm>svg:only-child{margin:0 1px}#main{position:relative}.topbar-more{display:none}.topbar-more>summary{list-style:none}.topbar-more>summary::-webkit-details-marker{display:none}.topbar-menu{z-index:95;background:var(--surface);border:1px solid var(--line-2);min-width:210px;max-height:calc(100dvh - 58px);box-shadow:var(--shadow-lg);border-radius:7px;padding:5px;display:grid;position:fixed;top:46px;right:8px;overflow-y:auto}.topbar-menu button{width:100%;min-height:36px;color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:9px;padding:0 9px;font-size:12.5px;display:flex}.topbar-menu button:hover,.topbar-menu button:focus-visible{background:var(--surface-2);color:var(--ink)}@media (width<=1720px){#topbar .btn .lbl{display:none}#topbar .btn.primary .lbl{display:inline}#topbar .btn{justify-content:center;width:30px;padding-inline:0}#topbar .btn.primary{width:auto;padding-inline:11px}#topbar{gap:7px}#bottombar .btn .lbl{display:none}#bottombar .btn{justify-content:center;width:30px;padding-inline:0}#bottombar .theme{min-width:0}}@media (width<=1360px){.stats{display:none}.docpick .cb-trigger{width:200px}}@media (width<=900px){.brand,#saveState{display:none}.docpick .cb-trigger{width:170px}}@media (width<=720px){#topbar .topbar-action{display:none}#topbar .btn.primary{width:30px;padding-inline:0}#topbar .btn.primary .lbl{display:none}.topbar-more{display:block}}@media (width<=1080px){#main,#main.insp{grid-template-columns:0 minmax(0,1fr) 0}#main{--rail-cover:0px;--inspector-cover:0px}#main.rail-open{--rail-cover:min(288px, 84vw)}#main.insp{--inspector-cover:min(400px, 92vw)}#bottombar{left:calc((100% + var(--rail-cover) - var(--inspector-cover)) / 2);max-width:max(0px, calc(100% - var(--rail-cover) - var(--inspector-cover) - 24px))}#rail{inset-block:0;z-index:42;width:min(288px,84vw);box-shadow:var(--shadow-lg);transition:transform .18s;position:absolute;left:0;transform:translate(-100%)}#main.rail-open #rail{transform:none}#inspector{inset-block:0;z-index:42;width:min(400px,92vw);box-shadow:var(--shadow-lg);position:absolute;right:0}#scrim{z-index:41;background:#0a0e1461;position:absolute;inset:0}#main.rail-open #bottombar{opacity:.45;filter:saturate(.7)}}@media (width>=1081px){#scrim{display:none}}@media (width<=900px){#legend,#hint{display:none}}@media (width<=640px){#topbar{padding-inline:10px}#saveState{display:none}.brand b{font-size:13px}.docpick .cb-trigger{width:120px}#rail{width:min(320px,92vw)}#inspector{width:100vw}#bottombar{max-width:calc(100vw - 16px);bottom:8px}}@media (prefers-reduced-motion:reduce){#rail{transition:none}#wires path.hot{animation:none}}
