.hint-tip[data-v-5e7c116f]{position:relative;display:inline-flex;align-items:center;vertical-align:middle;outline:none}.glyph[data-v-5e7c116f]{width:15px;height:15px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-strong);color:var(--tx3);font-size:10px;font-style:normal;font-weight:700;line-height:1;cursor:help;transition:color var(--mo-fast) var(--ease-state),border-color var(--mo-fast) var(--ease-state)}.hint-tip:hover .glyph[data-v-5e7c116f],.hint-tip:focus-visible .glyph[data-v-5e7c116f]{color:var(--tx);border-color:var(--tx3)}.hint-tip.warn .glyph[data-v-5e7c116f]{color:var(--warn);border-color:var(--warn-line);background:var(--warn-bg)}.bubble[data-v-5e7c116f]{position:absolute;z-index:70;left:50%;transform:translate(-50%);width:max-content;max-width:320px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);box-shadow:var(--shadow-lg);color:var(--tx2);font-size:12px;line-height:1.6;font-weight:400;text-align:left;white-space:normal;animation:tipIn-5e7c116f var(--mo-fast) var(--ease-enter) both}.hint-tip.bottom .bubble[data-v-5e7c116f]{top:calc(100% + 6px)}.hint-tip.top .bubble[data-v-5e7c116f]{bottom:calc(100% + 6px)}.bubble b[data-v-5e7c116f]{display:block;color:var(--tx);font-weight:600}.bubble .d[data-v-5e7c116f]{display:block;margin-top:3px;color:var(--tx3);white-space:pre-line}@keyframes tipIn-5e7c116f{0%{opacity:0;transform:translate(-50%) translateY(-3px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.bubble[data-v-5e7c116f]{animation:none}}.app-icon[data-v-c9f84722]{width:1em;height:1em;min-width:12px;min-height:12px;flex:none;vertical-align:-.125em;overflow:visible}.nav-burger[data-v-141dc836],.nav-scrim[data-v-141dc836]{display:none}.sidebar[data-v-141dc836]{display:flex;flex-direction:column;overflow:hidden;scrollbar-width:none}.sidebar[data-v-141dc836]::-webkit-scrollbar{width:0;height:0;display:none}.brand[data-v-141dc836]{display:flex;align-items:center;gap:10px;min-width:0}.rail-btn[data-v-141dc836]{flex:none;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--tx);cursor:pointer;font:inherit;transition:transform .18s var(--ease-enter),background-color var(--mo-fast) var(--ease-state),border-color var(--mo-fast) var(--ease-state)}.rail-btn[data-v-141dc836]:hover{border-color:var(--line-strong);transform:translateY(-1px)}.mark[data-v-141dc836]{display:block;width:14px;height:14px;border-radius:4px;background:linear-gradient(135deg,var(--mark-a),var(--mark-b))}.brand-copy[data-v-141dc836]{min-width:0;transition:opacity .18s ease,transform .22s var(--ease-enter)}.brand-copy b[data-v-141dc836],.brand-copy span[data-v-141dc836]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav[data-v-141dc836]{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;padding-right:2px}.nav[data-v-141dc836]::-webkit-scrollbar{width:0;height:0;display:none}.nav-sec[data-v-141dc836]{display:flex;flex-direction:column}.sec-h[data-v-141dc836]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 2px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--tx3);font:inherit;font-size:10.5px;font-weight:650;letter-spacing:.09em;cursor:pointer;text-align:left}.sec-h[data-v-141dc836]:hover{background:color-mix(in srgb,var(--panel2) 70%,transparent);color:var(--tx2)}.chev[data-v-141dc836]{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .22s var(--ease-enter)}.nav-sec.closed .chev[data-v-141dc836]{transform:rotate(-45deg)}.sec-fold[data-v-141dc836]{display:grid;grid-template-rows:0fr;opacity:.35;transition:grid-template-rows .28s var(--ease-enter),opacity .2s ease}.sec-fold.open[data-v-141dc836]{grid-template-rows:1fr;opacity:1}.sec-list[data-v-141dc836]{list-style:none;margin:0;padding:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:1px}[data-v-141dc836] .nav-item,.nav-item[data-v-141dc836]{position:relative;display:flex;align-items:center;gap:8px;padding:0 10px 0 8px;height:34px;border-radius:8px;font-size:13px;color:var(--tx2);text-decoration:none;transition:background .16s ease,color .16s ease,transform .16s ease}.glyph[data-v-141dc836]{flex:none;box-sizing:content-box;width:16px;height:16px;padding:3px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--panel2) 80%,transparent);color:var(--tx3);transition:background-color var(--mo-fast) var(--ease-state),color var(--mo-fast) var(--ease-state)}.nav-item .lbl[data-v-141dc836]{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item[data-v-141dc836]:hover{background:var(--panel2);color:var(--tx)}.nav-item.on[data-v-141dc836]{background:var(--nav-active);color:var(--tx);font-weight:600}.nav-item.on .glyph[data-v-141dc836]{background:var(--acc);color:var(--on-acc)}.nav-item.on[data-v-141dc836]:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--acc)}.nav-item .n[data-v-141dc836]{flex:none;font-size:11px;font-variant-numeric:tabular-nums;color:var(--tx3)}.nav-item.off[data-v-141dc836]{cursor:not-allowed;opacity:.45}.nav-item.off[data-v-141dc836]:hover{background:transparent;color:var(--tx2)}.nav-note[data-v-141dc836]{margin:8px 0 0;padding:0 10px;font-size:11px;line-height:1.6;color:var(--tx3)}.sidebar-dock[data-v-141dc836]{flex:none;margin-top:8px}.foot-caliber[data-v-141dc836]{margin-top:6px}.sidebar-user[data-v-141dc836]{margin-top:var(--s3);padding:var(--s3) var(--s2) 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.su-head[data-v-141dc836]{display:flex;align-items:center;gap:8px;min-width:0}.avatar[data-v-141dc836]{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--acc);color:var(--on-acc);font-size:12px;font-weight:700}.su-name[data-v-141dc836]{font-size:13px;font-weight:600;color:var(--tx);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.su-head .tag[data-v-141dc836]{margin-left:auto}.su-id[data-v-141dc836]{font-size:11px;color:var(--tx3)}.su-note[data-v-141dc836]{font-size:11.5px;color:var(--tx3);line-height:1.65}.su-note.warn[data-v-141dc836]{color:var(--warn)}.su-btns[data-v-141dc836]{display:flex;gap:6px;margin-top:2px}.su-btns .btn[data-v-141dc836]{flex:1 1 0;min-width:0;text-align:center}.sidebar.is-rail[data-v-141dc836]{--nav-w: 72px}.sidebar.is-rail .brand-copy[data-v-141dc836],.sidebar.is-rail .sec-label[data-v-141dc836],.sidebar.is-rail .chev[data-v-141dc836],.sidebar.is-rail .lbl[data-v-141dc836],.sidebar.is-rail .n[data-v-141dc836],.sidebar.is-rail .nav-note[data-v-141dc836],.sidebar.is-rail .sidebar-foot[data-v-141dc836],.sidebar.is-rail .su-name[data-v-141dc836],.sidebar.is-rail .su-id[data-v-141dc836],.sidebar.is-rail .su-note[data-v-141dc836],.sidebar.is-rail .tag[data-v-141dc836]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sidebar.is-rail .brand[data-v-141dc836]{justify-content:center;padding-left:0;padding-right:0}.sidebar.is-rail .sec-h[data-v-141dc836]{height:0;margin:0;padding:0;overflow:hidden;border:0}.sidebar.is-rail .sec-fold[data-v-141dc836],.sidebar.is-rail .sec-fold.open[data-v-141dc836]{grid-template-rows:1fr}.sidebar.is-rail .nav-item[data-v-141dc836]{justify-content:center;padding:0;height:40px}.sidebar.is-rail .nav-item.on[data-v-141dc836]:before{display:none}.sidebar.is-rail .su-head[data-v-141dc836]{justify-content:center}.sidebar.is-rail .su-btns[data-v-141dc836]{flex-direction:column}.sidebar.is-rail .su-btns .btn[data-v-141dc836]{padding:0;min-height:30px;justify-content:center}.sidebar.is-rail .su-btns .btn .btn-txt[data-v-141dc836]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sidebar.is-rail .theme-switch[data-v-141dc836]{flex-direction:column;align-items:center;padding:0;gap:6px}.sidebar.is-rail .theme-switch button[data-v-141dc836]{width:28px;height:28px;padding:0;font-size:0;justify-content:center}@media(max-width:900px){.nav-burger[data-v-141dc836]{display:inline-flex;align-items:center;gap:8px;position:sticky;top:0;z-index:30;margin:10px 12px 0;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--tx);font:inherit;font-size:13px;cursor:pointer;box-shadow:var(--shadow-lg)}.burger-bars[data-v-141dc836]{width:14px;height:10px;background:linear-gradient(var(--tx),var(--tx)) 0 0 / 100% 1.5px no-repeat,linear-gradient(var(--tx),var(--tx)) 0 50% / 100% 1.5px no-repeat,linear-gradient(var(--tx),var(--tx)) 0 100% / 100% 1.5px no-repeat}.nav-scrim[data-v-141dc836]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;background:var(--mask)}.sidebar[data-v-141dc836]{position:fixed;z-index:40;top:0;left:0;height:100vh;width:min(280px,86vw);transform:translate(-105%);transition:transform .28s var(--ease-enter);box-shadow:var(--shadow-xl)}.sidebar.is-open[data-v-141dc836]{transform:none}.sidebar.is-rail[data-v-141dc836]{--nav-w: min(280px, 86vw)}}@media(prefers-reduced-motion:reduce){.nav-item[data-v-141dc836],.sec-fold[data-v-141dc836],.chev[data-v-141dc836],.sidebar[data-v-141dc836]{transition:none}}[data-v-141dc836]:focus-visible{outline:2px solid var(--info-fg);outline-offset:1px}.crumb[data-v-de62a662]{display:flex;align-items:center;gap:6px;min-width:0}.seg[data-v-de62a662]{display:inline-flex;align-items:center;gap:6px;color:var(--tx3)}.sep[data-v-de62a662]{color:var(--tx4)}.seg[data-v-de62a662] svg{width:11px;height:11px}.avatar[data-v-33f792ee]{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700}.tb-pop .row.on[data-v-33f792ee]{color:var(--tx);background:var(--panel2)}.rowtxt[data-v-33f792ee]{display:flex;flex-direction:column;min-width:0;line-height:1.5}.rowtxt .sub[data-v-33f792ee]{font-size:var(--fs-caption);color:var(--tx3)}@media(max-width:1100px){.tb-search .ph[data-v-33f792ee]{display:none}}.pwd[data-v-9b470d32]{display:flex;flex-direction:column;gap:var(--s3)}.pwd-lead[data-v-9b470d32]{margin:0;font-size:13px;color:var(--tx2);line-height:1.75}.pwd-fields[data-v-9b470d32]{display:grid;gap:var(--s3);grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:720px){.pwd-fields[data-v-9b470d32]{grid-template-columns:1fr}}.pwd-rules[data-v-9b470d32]{list-style:none;margin:0;padding:var(--s3) var(--s3) var(--s3) var(--s2);background:var(--panel2);border:1px solid var(--line);border-radius:var(--r-sm);display:grid;gap:4px;font-size:12px;color:var(--tx3)}.pwd-rules li[data-v-9b470d32]{display:flex;align-items:baseline;gap:6px}.pwd-rules .mk[data-v-9b470d32]{width:12px;text-align:center;color:var(--tx4)}.pwd-rules li.ok[data-v-9b470d32]{color:var(--good-fg)}.pwd-rules li.ok .mk[data-v-9b470d32]{color:var(--good-fg);font-weight:700}.pwd-rules .sr[data-v-9b470d32]{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pwd-err[data-v-9b470d32]{margin:0;padding:var(--s2) var(--s3);border:1px solid var(--bad-line);background:var(--bad-bg);color:var(--bad-fg);border-radius:var(--r-sm);font-size:12.5px;line-height:1.7}:root{--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 64px;--topbar-h: 48px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 9999px;--r-card: var(--r-md);--fs-display: 28px;--fs-h1: 22px;--fs-h2: 17px;--fs-h3: 13.5px;--fs-body: 13.5px;--fs-sm: 12.5px;--fs-caption: 11.5px;--fs-micro: 10.5px;--lh-tight: 1.25;--lh-body: 1.65;--ff-ui: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;--ff-num: "SF Mono", "JetBrains Mono", "Cascadia Mono", Consolas, "Courier New", monospace;--mo-fast: .12s;--mo: .18s;--mo-slow: .28s;--ease-state: cubic-bezier(.4, 0, .2, 1);--ease-enter: cubic-bezier(.22, 1, .36, 1);--z-nav: 40;--z-topbar: 45;--z-pop: 50;--z-modal: 60;--z-toast: 70;--nav-w: 224px;--nav-w-rail: 68px;--content-max: 1360px;--video-bg: #000000;--density-row: 8px 9px;--density-card: 18px 20px;--density-kpi: 14px 16px}:root,[data-theme=dark]{color-scheme:dark;--bg: oklch(.19 .008 250);--panel: oklch(.235 .009 250);--panel2: oklch(.268 .01 250);--panel3: oklch(.298 .011 250);--line: oklch(.325 .012 250);--line-strong: oklch(.44 .016 250);--tx: oklch(.955 .004 250);--tx2: oklch(.79 .012 250);--tx3: oklch(.655 .014 250);--tx4: oklch(.46 .014 250);--accent: oklch(.72 .13 232);--accent-strong: oklch(.66 .15 232);--accent-soft: oklch(.34 .055 232);--on-accent: oklch(.16 .02 250);--good: oklch(.76 .15 158);--bad: oklch(.72 .17 20);--warn: oklch(.81 .14 82);--info: oklch(.76 .11 245);--good-fg: oklch(.82 .13 158);--bad-fg: oklch(.79 .14 20);--info-fg: oklch(.82 .09 245);--good-line: oklch(.42 .075 158);--bad-line: oklch(.44 .095 20);--warn-line: oklch(.46 .07 82);--info-line: oklch(.42 .06 245);--good-bg: oklch(.27 .035 158);--good-bg2: oklch(.3 .04 158);--bad-bg: oklch(.27 .045 20);--bad-bg2: oklch(.3 .055 20);--warn-bg: oklch(.28 .035 82);--info-bg: oklch(.27 .035 245);--good-row: oklch(.27 .028 158);--hi: var(--good);--lo: var(--bad);--acc: var(--accent);--sidebar-a: oklch(.215 .009 250);--sidebar-b: oklch(.185 .008 250);--nav-active: oklch(.3 .03 232);--bar-track: oklch(.31 .012 250);--heat-line: oklch(.27 .01 250);--stripe-a: oklch(.3 .01 250);--stripe-b: oklch(.34 .012 250);--tl-a: oklch(.245 .01 250);--tl-b: oklch(.285 .012 250);--tl-divider: oklch(.215 .008 250);--marker: oklch(.97 0 0);--scroll-thumb: oklch(.4 .016 250);--code-bg: oklch(.28 .014 250);--code-fg: oklch(.86 .07 232);--row-uncovered: oklch(.245 .008 250);--sk-a: oklch(.25 .01 250);--sk-b: oklch(.31 .012 250);--on-tint: oklch(.16 .02 250);--on-tint-strong: oklch(.98 0 0);--heat-empty: oklch(.55 .014 250);--cat-fallback: oklch(.68 .02 250);--cat-ink: 100%;--cat-ink-base: transparent;--btn-acc: var(--accent);--btn-acc-hover: oklch(.78 .13 232);--on-acc: oklch(.16 .02 250);--btn-hover-bg: oklch(.3 .014 250);--focus-ring: oklch(.72 .13 232 / .35);--mask: oklch(.12 .01 250 / .72);--shadow-sm: 0 1px 2px oklch(0 0 0 / .35);--shadow-md: 0 4px 12px oklch(0 0 0 / .4);--shadow-lg: 0 14px 32px oklch(0 0 0 / .48);--shadow-xl: 0 24px 60px oklch(0 0 0 / .58);--mark-a: oklch(.72 .13 232);--mark-b: oklch(.66 .12 200)}[data-theme=ink]{color-scheme:dark;--bg: #000000;--panel: oklch(.135 .003 250);--panel2: oklch(.175 .004 250);--panel3: oklch(.205 .005 250);--line: oklch(.235 .006 250);--line-strong: oklch(.35 .01 250);--tx: oklch(.96 .002 250);--tx2: oklch(.78 .008 250);--tx3: oklch(.63 .01 250);--tx4: oklch(.42 .01 250);--accent: oklch(.72 .13 232);--accent-strong: oklch(.66 .15 232);--accent-soft: oklch(.26 .05 232);--on-accent: oklch(.12 .02 250);--good: oklch(.76 .15 158);--bad: oklch(.72 .17 20);--warn: oklch(.81 .14 82);--info: oklch(.76 .11 245);--good-fg: oklch(.82 .13 158);--bad-fg: oklch(.79 .14 20);--info-fg: oklch(.82 .09 245);--good-line: oklch(.36 .07 158);--bad-line: oklch(.38 .09 20);--warn-line: oklch(.4 .065 82);--info-line: oklch(.36 .055 245);--good-bg: oklch(.2 .03 158);--good-bg2: oklch(.23 .035 158);--bad-bg: oklch(.2 .04 20);--bad-bg2: oklch(.23 .048 20);--warn-bg: oklch(.21 .03 82);--info-bg: oklch(.2 .03 245);--good-row: oklch(.2 .025 158);--hi: var(--good);--lo: var(--bad);--acc: var(--accent);--sidebar-a: oklch(.105 .003 250);--sidebar-b: #000000;--nav-active: oklch(.235 .028 232);--bar-track: oklch(.215 .005 250);--heat-line: oklch(.185 .004 250);--stripe-a: oklch(.155 .004 250);--stripe-b: oklch(.195 .005 250);--tl-a: oklch(.16 .004 250);--tl-b: oklch(.2 .005 250);--tl-divider: oklch(.11 .003 250);--marker: #ffffff;--scroll-thumb: oklch(.3 .008 250);--code-bg: oklch(.185 .006 250);--code-fg: oklch(.86 .07 232);--row-uncovered: oklch(.155 .003 250);--sk-a: oklch(.155 .004 250);--sk-b: oklch(.215 .006 250);--on-tint: oklch(.12 .02 250);--on-tint-strong: oklch(.99 0 0);--heat-empty: oklch(.52 .01 250);--cat-fallback: oklch(.68 .02 250);--cat-ink: 100%;--cat-ink-base: transparent;--btn-acc: var(--accent);--btn-acc-hover: oklch(.78 .13 232);--on-acc: oklch(.12 .02 250);--btn-hover-bg: oklch(.21 .006 250);--focus-ring: oklch(.72 .13 232 / .4);--mask: oklch(0 0 0 / .82);--shadow-sm: 0 1px 2px oklch(0 0 0 / .5);--shadow-md: 0 4px 12px oklch(0 0 0 / .55);--shadow-lg: 0 14px 32px oklch(0 0 0 / .62);--shadow-xl: 0 24px 60px oklch(0 0 0 / .72);--mark-a: oklch(.72 .13 232);--mark-b: oklch(.66 .12 200)}[data-theme=forest]{color-scheme:dark;--bg: oklch(.185 .022 165);--panel: oklch(.235 .026 165);--panel2: oklch(.268 .028 165);--panel3: oklch(.298 .03 165);--line: oklch(.32 .03 165);--line-strong: oklch(.44 .036 165);--tx: oklch(.95 .012 165);--tx2: oklch(.79 .026 165);--tx3: oklch(.64 .028 165);--tx4: oklch(.45 .028 165);--accent: oklch(.75 .14 168);--accent-strong: oklch(.68 .15 168);--accent-soft: oklch(.32 .055 168);--on-accent: oklch(.16 .03 165);--good: oklch(.78 .15 152);--bad: oklch(.73 .17 22);--warn: oklch(.82 .14 84);--info: oklch(.77 .11 220);--good-fg: oklch(.84 .13 152);--bad-fg: oklch(.8 .14 22);--info-fg: oklch(.83 .09 220);--good-line: oklch(.42 .075 152);--bad-line: oklch(.44 .095 22);--warn-line: oklch(.46 .07 84);--info-line: oklch(.42 .06 220);--good-bg: oklch(.27 .035 152);--good-bg2: oklch(.3 .04 152);--bad-bg: oklch(.27 .045 22);--bad-bg2: oklch(.3 .055 22);--warn-bg: oklch(.28 .035 84);--info-bg: oklch(.27 .035 220);--good-row: oklch(.27 .028 152);--hi: var(--good);--lo: var(--bad);--acc: var(--accent);--sidebar-a: oklch(.215 .024 165);--sidebar-b: oklch(.175 .02 165);--nav-active: oklch(.31 .045 168);--bar-track: oklch(.31 .03 165);--heat-line: oklch(.27 .026 165);--stripe-a: oklch(.3 .028 165);--stripe-b: oklch(.34 .03 165);--tl-a: oklch(.245 .026 165);--tl-b: oklch(.285 .028 165);--tl-divider: oklch(.215 .022 165);--marker: oklch(.97 0 0);--scroll-thumb: oklch(.4 .036 165);--code-bg: oklch(.28 .032 165);--code-fg: oklch(.86 .1 168);--row-uncovered: oklch(.245 .02 165);--sk-a: oklch(.25 .026 165);--sk-b: oklch(.31 .03 165);--on-tint: oklch(.16 .03 165);--on-tint-strong: oklch(.98 0 0);--heat-empty: oklch(.55 .03 165);--cat-fallback: oklch(.68 .03 165);--cat-ink: 100%;--cat-ink-base: transparent;--btn-acc: oklch(.62 .13 168);--btn-acc-hover: oklch(.72 .14 168);--on-acc: oklch(.14 .03 165);--btn-hover-bg: oklch(.3 .032 165);--focus-ring: oklch(.75 .14 168 / .32);--mask: oklch(.1 .02 165 / .76);--shadow-sm: 0 1px 2px oklch(0 0 0 / .35);--shadow-md: 0 4px 12px oklch(0 0 0 / .42);--shadow-lg: 0 14px 32px oklch(0 0 0 / .5);--shadow-xl: 0 24px 60px oklch(0 0 0 / .6);--mark-a: oklch(.75 .14 168);--mark-b: oklch(.7 .13 140)}[data-theme=carbon]{color-scheme:dark;--bg: oklch(.205 .004 90);--panel: oklch(.252 .005 90);--panel2: oklch(.286 .006 90);--panel3: oklch(.318 .007 90);--line: oklch(.345 .007 90);--line-strong: oklch(.46 .01 90);--tx: oklch(.945 .006 90);--tx2: oklch(.78 .01 90);--tx3: oklch(.645 .012 90);--tx4: oklch(.46 .012 90);--accent: oklch(.79 .13 78);--accent-strong: oklch(.72 .15 78);--accent-soft: oklch(.33 .05 78);--on-accent: oklch(.18 .02 90);--good: oklch(.77 .14 155);--bad: oklch(.72 .17 25);--warn: oklch(.83 .13 90);--info: oklch(.77 .1 230);--good-fg: oklch(.83 .12 155);--bad-fg: oklch(.8 .14 25);--info-fg: oklch(.83 .08 230);--good-line: oklch(.43 .07 155);--bad-line: oklch(.45 .09 25);--warn-line: oklch(.47 .075 90);--info-line: oklch(.43 .055 230);--good-bg: oklch(.28 .032 155);--good-bg2: oklch(.31 .038 155);--bad-bg: oklch(.28 .042 25);--bad-bg2: oklch(.31 .052 25);--warn-bg: oklch(.29 .038 90);--info-bg: oklch(.28 .032 230);--good-row: oklch(.28 .026 155);--hi: var(--good);--lo: var(--bad);--acc: var(--accent);--sidebar-a: oklch(.232 .005 90);--sidebar-b: oklch(.196 .004 90);--nav-active: oklch(.33 .035 78);--bar-track: oklch(.33 .008 90);--heat-line: oklch(.29 .006 90);--stripe-a: oklch(.32 .006 90);--stripe-b: oklch(.36 .008 90);--tl-a: oklch(.262 .006 90);--tl-b: oklch(.302 .007 90);--tl-divider: oklch(.23 .004 90);--marker: oklch(.97 0 0);--scroll-thumb: oklch(.42 .01 90);--code-bg: oklch(.3 .008 90);--code-fg: oklch(.88 .08 78);--row-uncovered: oklch(.26 .004 90);--sk-a: oklch(.268 .006 90);--sk-b: oklch(.33 .008 90);--on-tint: oklch(.18 .02 90);--on-tint-strong: oklch(.98 0 0);--heat-empty: oklch(.56 .01 90);--cat-fallback: oklch(.68 .02 90);--cat-ink: 100%;--cat-ink-base: transparent;--btn-acc: var(--accent);--btn-acc-hover: oklch(.85 .12 78);--on-acc: oklch(.18 .02 90);--btn-hover-bg: oklch(.32 .01 90);--focus-ring: oklch(.79 .13 78 / .32);--mask: oklch(.13 .005 90 / .74);--shadow-sm: 0 1px 2px oklch(0 0 0 / .35);--shadow-md: 0 4px 12px oklch(0 0 0 / .42);--shadow-lg: 0 14px 32px oklch(0 0 0 / .5);--shadow-xl: 0 24px 60px oklch(0 0 0 / .6);--mark-a: oklch(.79 .13 78);--mark-b: oklch(.72 .12 55)}[data-theme=light]{color-scheme:light;--bg: oklch(.972 .004 250);--panel: oklch(.998 .001 250);--panel2: oklch(.955 .006 250);--panel3: oklch(.932 .008 250);--line: oklch(.885 .01 250);--line-strong: oklch(.76 .016 250);--tx: oklch(.26 .015 250);--tx2: oklch(.45 .018 250);--tx3: oklch(.575 .018 250);--tx4: oklch(.72 .014 250);--accent: oklch(.52 .16 250);--accent-strong: oklch(.45 .17 250);--accent-soft: oklch(.92 .035 250);--on-accent: oklch(.99 0 0);--good: oklch(.53 .14 155);--bad: oklch(.52 .18 25);--warn: oklch(.62 .13 75);--info: oklch(.52 .14 250);--good-fg: oklch(.46 .13 155);--bad-fg: oklch(.47 .17 25);--info-fg: oklch(.47 .14 250);--good-line: oklch(.78 .08 155);--bad-line: oklch(.79 .09 25);--warn-line: oklch(.82 .08 75);--info-line: oklch(.78 .06 250);--good-bg: oklch(.955 .025 155);--good-bg2: oklch(.935 .035 155);--bad-bg: oklch(.955 .025 25);--bad-bg2: oklch(.935 .035 25);--warn-bg: oklch(.965 .03 75);--info-bg: oklch(.955 .025 250);--good-row: oklch(.955 .022 155);--hi: var(--good);--lo: var(--bad);--acc: var(--accent);--sidebar-a: oklch(.995 .002 250);--sidebar-b: oklch(.962 .006 250);--nav-active: oklch(.925 .03 250);--bar-track: oklch(.915 .01 250);--heat-line: oklch(.935 .008 250);--stripe-a: oklch(.955 .008 250);--stripe-b: oklch(.925 .01 250);--tl-a: oklch(.955 .008 250);--tl-b: oklch(.93 .01 250);--tl-divider: oklch(.905 .01 250);--marker: oklch(.45 .16 250);--scroll-thumb: oklch(.8 .014 250);--code-bg: oklch(.945 .01 250);--code-fg: oklch(.44 .15 250);--row-uncovered: oklch(.955 .004 250);--sk-a: oklch(.955 .006 250);--sk-b: oklch(.915 .01 250);--on-tint: oklch(.26 .02 250);--on-tint-strong: oklch(.99 0 0);--heat-empty: oklch(.66 .014 250);--cat-fallback: oklch(.62 .02 250);--cat-ink: 56%;--cat-ink-base: oklch(.24 .02 250);--btn-acc: var(--accent);--btn-acc-hover: oklch(.45 .17 250);--on-acc: oklch(.99 0 0);--btn-hover-bg: oklch(.94 .012 250);--focus-ring: oklch(.52 .16 250 / .28);--mask: oklch(.3 .02 250 / .42);--shadow-sm: 0 1px 2px oklch(.3 .02 250 / .06);--shadow-md: 0 4px 12px oklch(.3 .02 250 / .1);--shadow-lg: 0 14px 32px oklch(.3 .02 250 / .14);--shadow-xl: 0 24px 60px oklch(.3 .02 250 / .18);--mark-a: oklch(.52 .16 250);--mark-b: oklch(.58 .13 220)}[data-theme=warm]{color-scheme:light;--bg: oklch(.955 .012 80);--panel: oklch(.988 .008 80);--panel2: oklch(.938 .018 80);--panel3: oklch(.915 .024 80);--line: oklch(.875 .026 80);--line-strong: oklch(.75 .038 80);--tx: oklch(.29 .026 70);--tx2: oklch(.47 .03 70);--tx3: oklch(.59 .03 70);--tx4: oklch(.735 .026 80);--accent: oklch(.55 .13 55);--accent-strong: oklch(.48 .14 55);--accent-soft: oklch(.91 .035 55);--on-accent: oklch(.99 .005 80);--good: oklch(.53 .13 152);--bad: oklch(.51 .17 28);--warn: oklch(.6 .13 70);--info: oklch(.5 .13 255);--good-fg: oklch(.45 .12 152);--bad-fg: oklch(.46 .16 28);--info-fg: oklch(.45 .13 255);--good-line: oklch(.79 .07 152);--bad-line: oklch(.81 .08 28);--warn-line: oklch(.83 .08 70);--info-line: oklch(.79 .06 255);--good-bg: oklch(.945 .028 152);--good-bg2: oklch(.922 .038 152);--bad-bg: oklch(.945 .028 28);--bad-bg2: oklch(.925 .038 28);--warn-bg: oklch(.955 .032 70);--info-bg: oklch(.945 .028 255);--good-row: oklch(.945 .024 152);--hi: var(--good);--lo: var(--bad);--acc: var(--accent);--sidebar-a: oklch(.945 .016 80);--sidebar-b: oklch(.915 .024 80);--nav-active: oklch(.905 .038 60);--bar-track: oklch(.905 .026 80);--heat-line: oklch(.918 .024 80);--stripe-a: oklch(.938 .022 80);--stripe-b: oklch(.905 .028 80);--tl-a: oklch(.935 .024 80);--tl-b: oklch(.908 .028 80);--tl-divider: oklch(.885 .026 80);--marker: oklch(.48 .12 55);--scroll-thumb: oklch(.79 .03 80);--code-bg: oklch(.925 .026 80);--code-fg: oklch(.45 .14 55);--row-uncovered: oklch(.945 .014 80);--sk-a: oklch(.94 .018 80);--sk-b: oklch(.9 .026 80);--on-tint: oklch(.29 .03 70);--on-tint-strong: oklch(.99 .008 80);--heat-empty: oklch(.65 .03 80);--cat-fallback: oklch(.62 .03 80);--cat-ink: 56%;--cat-ink-base: oklch(.27 .03 70);--btn-acc: var(--accent);--btn-acc-hover: oklch(.48 .14 55);--on-acc: oklch(.99 .005 80);--btn-hover-bg: oklch(.925 .028 80);--focus-ring: oklch(.55 .13 55 / .28);--mask: oklch(.45 .04 70 / .4);--shadow-sm: 0 1px 2px oklch(.5 .05 70 / .08);--shadow-md: 0 4px 12px oklch(.5 .05 70 / .12);--shadow-lg: 0 14px 32px oklch(.5 .05 70 / .16);--shadow-xl: 0 24px 60px oklch(.5 .05 70 / .22);--mark-a: oklch(.55 .13 55);--mark-b: oklch(.62 .12 75)}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--ff-ui);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--mo) var(--ease-state),color var(--mo) var(--ease-state)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}.num,.kpi .v,th,td,.mono,.tag,.pill{font-variant-numeric:tabular-nums}.mono{font-family:var(--ff-num)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:var(--accent-soft);color:var(--tx)}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid transparent;background-clip:content-box;border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--line-strong);background-clip:content-box}.shell{display:flex;min-height:100vh;align-items:stretch}.shell.nav-rail{--nav-w: var(--nav-w-rail)}.shell.nav-hidden .sidebar{display:none}.sidebar{width:var(--nav-w);flex:0 0 var(--nav-w);background:linear-gradient(180deg,var(--sidebar-a),var(--sidebar-b));border-right:1px solid var(--line);padding:var(--s4) var(--s3) var(--s4);position:sticky;top:0;height:100vh;overflow:hidden;scrollbar-width:none;transition:width var(--mo-slow) var(--ease-enter),flex-basis var(--mo-slow) var(--ease-enter),background var(--mo) var(--ease-state),border-color var(--mo) var(--ease-state)}.sidebar::-webkit-scrollbar{width:0;height:0;display:none}.brand{padding:0 var(--s2) var(--s4);border-bottom:1px solid var(--line);margin-bottom:var(--s3)}.brand b{display:block;font-size:15px;letter-spacing:.4px}.brand span{font-size:var(--fs-caption);color:var(--tx3)}.nav{display:flex;flex-direction:column;gap:var(--s3)}.nav a.nav-item{border-left:0;justify-content:flex-start}.nav a.nav-item.router-link-active{border-left-color:transparent}.sidebar-foot{margin-top:var(--s4);padding:var(--s3) var(--s2) 0;border-top:1px solid var(--line);font-size:var(--fs-caption);color:var(--tx3);line-height:1.7}.main{flex:1 1 auto;min-width:0}.wrap{max-width:var(--content-max);margin:0 auto;padding:var(--s5) 22px 90px}h1{font-size:var(--fs-h1);margin:0 0 6px;letter-spacing:-.01em;line-height:var(--lh-tight);font-weight:700}h2{font-size:var(--fs-h2);margin:0 0 4px;letter-spacing:-.005em;font-weight:650}h3{font-size:var(--fs-h3);margin:0 0 10px;color:var(--tx2);font-weight:600}.sub{color:var(--tx2);font-size:var(--fs-sm);margin-bottom:var(--s5);line-height:1.7}.small{font-size:var(--fs-sm);color:var(--tx3)}.hl{color:var(--good-fg);font-weight:700}.hl2{color:var(--bad-fg);font-weight:700}.hlw{color:var(--warn);font-weight:700}.nowrap{white-space:nowrap}.link-warn{background:none;border:0;padding:0;font:inherit;color:var(--warn);cursor:pointer;text-align:left}.link-warn:hover{text-decoration:underline}.section-title{display:flex;align-items:baseline;gap:var(--s3);margin:var(--s5) 0 var(--s3);flex-wrap:wrap}.section-title h2{margin:0}.section-title .hint{font-size:var(--fs-sm);color:var(--tx3)}.page-head{display:flex;align-items:flex-start;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s5);padding-bottom:var(--s4);border-bottom:1px solid var(--line)}.page-head .ph-main{min-width:0;flex:1 1 320px}.page-head h1{margin:0 0 4px}.page-head .ph-sub{font-size:var(--fs-sm);color:var(--tx3);line-height:1.7}.page-head .ph-acts{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}.rule{height:1px;background:var(--line);border:0;margin:var(--s5) 0}.rule.accent{height:2px;width:48px;background:linear-gradient(to right,var(--accent),transparent);border:0;margin:var(--s3) 0 var(--s4)}.kbd{display:inline-block;min-width:18px;padding:1px 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:var(--r-xs);background:var(--panel2);font-family:var(--ff-num);font-size:var(--fs-micro);color:var(--tx2);text-align:center;line-height:1.5}.ico{display:inline-flex;align-items:center;justify-content:center;flex:none;vertical-align:-.15em}.density-comfortable{--density-row: 10px 11px;--density-card: 20px 22px;--density-kpi: 16px 18px}.density-compact{--density-row: 8px 9px;--density-card: 18px 20px;--density-kpi: 14px 16px}.density-dense{--density-row: 5px 7px;--density-card: 14px 16px;--density-kpi: 11px 13px}.density-dense table{font-size:var(--fs-sm)}.density-dense .kpi .v{font-size:19px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--density-card);margin-bottom:var(--s4);transition:background-color var(--mo) var(--ease-state),border-color var(--mo) var(--ease-state),box-shadow var(--mo) var(--ease-state)}.card.tight{padding:14px 16px}.card.hi,.card.accent{border-left:3px solid var(--accent)}.card.lo{border-left:3px solid var(--bad)}.card.warn{border-left:3px solid var(--warn)}.card.info{border-left:3px solid var(--info)}.card.good{border-left:3px solid var(--good)}.card.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft) inset}.card.hoverable{cursor:pointer}.card.hoverable:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card.hoverable{transition:background-color var(--mo) var(--ease-state),border-color var(--mo) var(--ease-state),box-shadow var(--mo) var(--ease-state),transform var(--mo-fast) var(--ease-enter)}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}.g6{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:1180px){.g6,.g5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.g6,.g5,.g4,.g3,.g2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.g6,.g5,.g4,.g3,.g2{grid-template-columns:1fr}}.kpi{background:var(--panel2);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--density-kpi);min-width:0;transition:background-color var(--mo) var(--ease-state),border-color var(--mo) var(--ease-state)}.kpi .v{font-size:23px;font-weight:700;letter-spacing:-.015em;line-height:1.3}.kpi .l{font-size:var(--fs-sm);color:var(--tx2);margin-top:3px}.kpi .n{font-size:var(--fs-caption);color:var(--tx3);margin-top:2px;line-height:1.6}.kpi.tone-good{border-top:2px solid var(--good)}.kpi.tone-bad{border-top:2px solid var(--bad)}.kpi.tone-warn{border-top:2px solid var(--warn)}.kpi.tone-accent{border-top:2px solid var(--accent)}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel)}.tablewrap.scrolly{max-height:560px;overflow-y:auto}.scrollbox{max-height:var(--scrollbox-h, 480px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}th,td{padding:var(--density-row);text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--tx2);font-weight:600;font-size:var(--fs-sm);position:sticky;top:0;background:var(--panel);z-index:2;letter-spacing:.01em}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--tx)}th .arrow{color:var(--accent);font-size:10px;margin-left:3px}td.l,th.l{text-align:left;white-space:normal}td.l.nowrap,th.l.nowrap{white-space:nowrap}tbody tr{transition:background-color var(--mo-fast) var(--ease-state)}tbody tr:hover td{background:var(--panel3)}tbody tr.row-hi td{background:var(--good-row)}tbody tr.row-uncovered td{background:var(--row-uncovered);color:var(--tx3)}tbody tr.row-dim td{color:var(--tx3)}tbody tr:last-child td{border-bottom:0}table.dense th,table.dense td{padding:5px 7px;font-size:var(--fs-sm)}.cell-wrap{white-space:normal;max-width:300px;line-height:1.6}.table-empty{padding:26px 16px;text-align:center;color:var(--tx3);font-size:var(--fs-sm)}.tag{display:inline-block;padding:1px 8px;border-radius:var(--r-xs);font-size:var(--fs-caption);line-height:18px;font-weight:600;white-space:nowrap}.dot{width:10px;height:10px;border-radius:3px;display:inline-block;flex:0 0 auto}.bar{height:9px;border-radius:var(--r-xs);background:var(--bar-track);overflow:hidden;min-width:60px}.bar>i{display:block;height:100%;border-radius:var(--r-xs)}.lg{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s2) 0 14px;font-size:var(--fs-sm);color:var(--tx2)}.lg span{display:flex;align-items:center;gap:5px}.pill{border:1px solid var(--line);background:var(--panel2);border-radius:var(--r-xs);padding:2px 9px;font-size:var(--fs-sm);color:var(--tx2)}input,select,textarea{background:var(--panel2);border:1px solid var(--line);color:var(--tx);border-radius:var(--r-sm);padding:6px 10px;font-size:var(--fs-body);font-family:inherit;line-height:1.5;transition:border-color var(--mo-fast) var(--ease-state),background-color var(--mo-fast) var(--ease-state),box-shadow var(--mo-fast) var(--ease-state)}input::placeholder,textarea::placeholder{color:var(--tx3)}input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--focus-ring)}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}textarea{width:100%;resize:vertical;line-height:1.65;font-family:var(--ff-num);font-size:var(--fs-sm)}input[type=checkbox],input[type=radio]{width:15px;height:15px;accent-color:var(--btn-acc);vertical-align:-2px}input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.filters{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s3);align-items:center;padding-bottom:var(--s3);border-bottom:1px solid var(--line)}.filters input[type=text],.filters input[type=search]{width:230px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>label{font-size:var(--fs-sm);color:var(--tx2)}.field>label .req{color:var(--bad-fg)}.field .hint{font-size:var(--fs-caption);color:var(--tx3)}.row-form{display:grid;gap:var(--s3);grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}@media(max-width:980px){.row-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.row-form{grid-template-columns:1fr}}.checkline{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--tx2)}.checkline input{flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--panel2);border:1px solid var(--line);color:var(--tx2);border-radius:var(--r-sm);padding:6px 12px;min-height:30px;font-size:var(--fs-sm);font-family:inherit;line-height:1.2;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color var(--mo-fast) var(--ease-state),border-color var(--mo-fast) var(--ease-state),color var(--mo-fast) var(--ease-state),transform var(--mo-fast) var(--ease-state)}.btn:hover:not(:disabled){color:var(--tx);border-color:var(--line-strong);background:var(--btn-hover-bg);text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.on,.btn.primary{background:var(--btn-acc);border-color:var(--btn-acc);color:var(--on-acc);font-weight:600}.btn.primary:hover:not(:disabled),.btn.on:hover:not(:disabled){background:var(--btn-acc-hover);border-color:var(--btn-acc-hover);color:var(--on-acc)}.btn.danger{color:var(--bad-fg);border-color:var(--bad-line);background:transparent}.btn.danger:hover:not(:disabled){background:var(--bad-bg2);color:var(--bad-fg);border-color:var(--bad)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover:not(:disabled){background:var(--panel2);border-color:var(--line)}.btn.sm{padding:3px 9px;min-height:24px;font-size:var(--fs-caption)}.btn.icon{width:30px;min-height:30px;padding:0}.btn.icon.sm{width:24px;min-height:24px}.btn.block{width:100%}.btnbar{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}.notes{font-size:var(--fs-sm);color:var(--tx2);line-height:1.8}.notes b{color:var(--warn);font-weight:700}.notes strong{color:var(--tx)}.notes code{background:var(--code-bg);padding:1px 5px;border-radius:var(--r-xs);color:var(--code-fg);font-size:var(--fs-caption);font-family:var(--ff-num)}.notes ol,.notes ul{margin:6px 0 0;padding-left:20px}.notes li{margin-bottom:6px}.insight{border-radius:var(--r-sm);padding:12px 14px;border:1px solid var(--line);border-left-width:3px;background:var(--panel2);min-width:0}.insight.good{border-left-color:var(--good)}.insight.warn{border-left-color:var(--bad)}.insight.info{border-left-color:var(--info)}.insight .t{font-weight:700;font-size:var(--fs-body);margin-bottom:3px}.insight.good .t{color:var(--good-fg)}.insight.warn .t{color:var(--bad-fg)}.insight.info .t{color:var(--info-fg)}.insight .d{font-size:var(--fs-sm);color:var(--tx2);line-height:1.75}.insight .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.heat{overflow-x:auto;padding-bottom:6px}.heat table{font-size:var(--fs-caption)}.heat th,.heat td{padding:4px 6px;text-align:center;border:1px solid var(--heat-line);position:static}.heat thead th{position:sticky;top:0;background:var(--panel);z-index:2}.heat td.c{font-variant-numeric:tabular-nums;border-radius:3px;font-weight:600;letter-spacing:.2px}.heat td.colhead{max-width:92px;white-space:normal;line-height:1.35;font-size:var(--fs-micro)}.heat .rowhead{text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--tx2)}.heat td.empty{color:var(--heat-empty)}.stackrow{margin-bottom:10px}.stackrow .head{display:flex;justify-content:space-between;gap:var(--s3);font-size:var(--fs-sm);color:var(--tx2);margin-bottom:3px;flex-wrap:wrap}.stackbar{display:flex;height:16px;border-radius:var(--r-xs);overflow:hidden;background:var(--heat-line);border:1px solid var(--heat-line)}.stackbar i{display:block;height:100%}.stackbar i.uncovered{background:repeating-linear-gradient(45deg,var(--stripe-a),var(--stripe-a) 4px,var(--stripe-b) 4px,var(--stripe-b) 8px)}.tl{position:relative;background:var(--panel2);border:1px solid var(--line);border-radius:var(--r-sm);overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.tl-inner{display:flex;align-items:stretch;height:104px;min-width:100%}.tl-min{flex:1 0 auto;min-width:3px;position:relative;border-right:1px solid var(--tl-divider);display:flex;flex-direction:column-reverse}.tl-min.uncovered{background:repeating-linear-gradient(45deg,var(--tl-a),var(--tl-a) 3px,var(--tl-b),var(--tl-b) 6px)}.tl-min i{display:block;width:100%}.tl-min .mk{position:absolute;top:0;bottom:22px;left:50%;width:2px;margin-left:-1px;background:var(--marker)}.tl-min .mk:after{content:""}.tl-axis{margin-top:6px;display:flex;justify-content:space-between;font-size:var(--fs-caption);color:var(--tx3);gap:var(--s2);flex-wrap:wrap}.tl-legend{display:flex;gap:var(--s4);font-size:var(--fs-caption);color:var(--tx3);margin-top:6px;flex-wrap:wrap;align-items:center}.tl-swatch-uncovered{background:repeating-linear-gradient(45deg,var(--tl-a),var(--tl-a) 3px,var(--tl-b),var(--tl-b) 6px)}.tl-swatch-order{background:var(--marker)}.toast-wrap{position:fixed;right:16px;top:60px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--s2);max-width:360px}.toast{position:relative;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-sm);padding:10px 14px;box-shadow:var(--shadow-lg);animation:rise var(--mo-slow) var(--ease-enter) both}.toast.ok{border-left-color:var(--good)}.toast.err{border-left-color:var(--bad)}.toast.warn{border-left-color:var(--warn)}.toast .t{font-size:var(--fs-body);font-weight:700}.toast .d{font-size:var(--fs-sm);color:var(--tx2);margin-top:3px;white-space:pre-wrap;word-break:break-word;max-height:42px;overflow:hidden}.toast:hover .d,.toast:focus-within .d{max-height:190px;overflow:auto}.toast .x{position:absolute}.toast .close{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--tx3);cursor:pointer;font-size:var(--fs-body);line-height:1}.toast .close:hover{color:var(--tx)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.stagger>*{animation:fadeIn var(--mo-slow) var(--ease-enter) both}.stagger>*:nth-child(2){animation-delay:40ms}.stagger>*:nth-child(3){animation-delay:80ms}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(n+6){animation-delay:.2s}.state{padding:26px 18px;text-align:center;color:var(--tx3);font-size:var(--fs-sm)}.state .big{font-size:15px;color:var(--tx2);margin-bottom:6px}.state .spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--scroll-thumb);border-top-color:var(--accent);display:inline-block;margin-right:8px;vertical-align:-3px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton,.skel{background:linear-gradient(90deg,var(--sk-a),var(--sk-b),var(--sk-a));background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-sm);height:12px}.skel.row{height:34px;margin-bottom:6px}.skel.kpi{height:76px}.skel.title{height:20px;width:40%;margin-bottom:10px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--mask);z-index:var(--z-modal);display:flex;align-items:flex-start;justify-content:center;padding:60px 16px;overflow:auto}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:720px;padding:20px 22px;animation:rise var(--mo-slow) var(--ease-enter) both;box-shadow:var(--shadow-xl)}.modal.wide{max-width:980px}.modal h3{color:var(--tx);font-size:16px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.modal .modal-foot{display:flex;justify-content:flex-end;gap:var(--s2);margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.tabs{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:14px}.crumb{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--tx3);min-width:0}.crumb a{color:var(--tx3)}.crumb a:hover{color:var(--tx);text-decoration:none}.crumb .sep{color:var(--tx4)}.crumb .cur{color:var(--tx2);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:30ch}.topbar{position:sticky;top:0;z-index:var(--z-topbar);display:flex;align-items:center;gap:var(--s2);min-height:var(--topbar-h);padding:7px 14px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);border-bottom:1px solid var(--line)}.topbar .grow{flex:1 1 auto;min-width:0}.tb-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:var(--tx2);font:inherit;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;transition:color var(--mo-fast) var(--ease-state),border-color var(--mo-fast) var(--ease-state),background var(--mo-fast) var(--ease-state)}.tb-btn:hover{color:var(--tx);border-color:var(--line-strong)}.tb-btn.on{border-color:var(--accent);color:var(--tx)}.tb-btn.icon{width:30px;padding:0;justify-content:center}.tb-btn .gl{display:inline-flex;align-items:center;font-size:13px;line-height:1}.tb-btn .cnt{font-variant-numeric:tabular-nums}.tb-search{display:inline-flex;align-items:center;gap:var(--s2);height:30px;padding:0 8px 0 10px;min-width:200px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel2);color:var(--tx3);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:color var(--mo-fast) var(--ease-state),border-color var(--mo-fast) var(--ease-state)}.tb-search:hover{color:var(--tx2);border-color:var(--line-strong)}.tb-search .ph{flex:1 1 auto;text-align:left}.tb-search .k{flex:none}.tb-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel2);color:var(--tx3);font-size:var(--fs-sm);text-decoration:none;font-variant-numeric:tabular-nums}.tb-chip:hover{color:var(--tx);border-color:var(--line-strong);text-decoration:none}.tb-chip b{color:var(--tx2);font-weight:600}.tb-wrap{position:relative}.tb-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:var(--z-pop);min-width:240px;padding:var(--s2);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--panel);box-shadow:var(--shadow-lg);animation:fadeIn var(--mo-fast) var(--ease-enter) both}.tb-pop .hd{padding:2px 6px 8px;font-size:var(--fs-caption);color:var(--tx3);letter-spacing:.06em}.tb-pop .row{display:flex;align-items:center;gap:var(--s2);width:100%;padding:7px 8px;border:0;border-radius:var(--r-sm);background:transparent;font:inherit;font-size:var(--fs-sm);color:var(--tx2);text-align:left;cursor:pointer;text-decoration:none}.tb-pop .row:hover{background:var(--panel2);color:var(--tx);text-decoration:none}.tb-pop .sep{height:1px;margin:6px 4px;background:var(--line)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s2)}.theme-card{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel2);color:var(--tx2);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:border-color var(--mo-fast) var(--ease-state),color var(--mo-fast) var(--ease-state)}.theme-card:hover{border-color:var(--line-strong);color:var(--tx)}.theme-card.on{border-color:var(--accent);color:var(--tx)}.theme-card .sw{flex:none;width:26px;height:26px;border-radius:var(--r-md);border:1px solid var(--line-strong);box-shadow:inset 0 0 0 3px var(--panel2)}.cmdk-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--mask);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:11vh 16px 16px}.cmdk{width:100%;max-width:640px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);overflow:hidden;animation:rise var(--mo-slow) var(--ease-enter) both}.cmdk-in{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.cmdk-in input{flex:1 1 auto;background:transparent;border:0;padding:2px 0;font-size:15px;color:var(--tx);box-shadow:none}.cmdk-in input:hover,.cmdk-in input:focus{border:0;box-shadow:none;background:transparent}.cmdk-in .hint{font-size:var(--fs-caption);color:var(--tx3);flex:none}.cmdk-list{max-height:54vh;overflow:auto;padding:6px}.cmdk-group{padding:8px 10px 4px;font-size:var(--fs-micro);letter-spacing:.09em;color:var(--tx4);text-transform:uppercase}.cmdk-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--r-sm);background:transparent;font:inherit;font-size:var(--fs-body);color:var(--tx2);text-align:left;cursor:pointer}.cmdk-item.on{background:var(--nav-active);color:var(--tx)}.cmdk-item .sub{margin:0;font-size:var(--fs-caption);color:var(--tx3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item .k{margin-left:auto;flex:none;font-size:var(--fs-caption);color:var(--tx3);font-family:var(--ff-num)}.cmdk-item .txt{min-width:0;flex:1 1 auto}.cmdk-empty{padding:26px 14px;text-align:center;color:var(--tx3);font-size:var(--fs-sm)}.cmdk-foot{display:flex;align-items:center;gap:var(--s4);padding:8px 14px;border-top:1px solid var(--line);background:var(--panel2);font-size:var(--fs-caption);color:var(--tx3)}.cmdk-foot .s{display:inline-flex;align-items:center;gap:5px}@media(max-width:900px){.shell{flex-direction:column}.sidebar{width:min(280px,86vw);flex:none;position:fixed;z-index:var(--z-nav);top:0;left:0;height:100vh;border-right:1px solid var(--line);border-bottom:none;padding:var(--s4) var(--s3);transform:translate(-105%);box-shadow:var(--shadow-xl)}.sidebar.is-open{transform:none}.wrap{padding:var(--s4) 14px 70px}}@media(max-width:700px){.tb-chip .lbl{display:none}.tb-search{min-width:0}.tb-search .ph{display:none}.toast-wrap{left:12px;right:12px;max-width:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.skeleton,.skel,.state .spinner{animation:none}}
