@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-BJItruJi.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-C1SKuNhx.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-BPWuI_CM.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-CTUnhTqV.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-n6oPB5VF.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-DSasf_jt.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-B97dYap6.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-OKGpH0gQ.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-BHf956ki.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-CyDjbWPV.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CdZtFfYS.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-BU83cd9M.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cfrm0EKX.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DujcQJCN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-D1zm99-P.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-BEypoZQd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-By04ZBDJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-BwBTeJfm.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-rpgY82Kd.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-V_-bWxzT.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DprGrCew.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-CgrnmiIU.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-BFLYOLbL.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-Dh0NORqx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-jBHiQjEG.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-CJ5MtzOJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-DM9A4i1K.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BuRiwhxF.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-FZrtz_q-.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-BJUfoJTU.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DHNi5J5O.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-D03elqKW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-dAZVOL-H.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-bp4QDljZ.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-BGOKnPO6.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-ZykYOGKL.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-italic-IjWjvt_y.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-italic-_QQnBNMA.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-italic-nHo6bksS.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-italic-C5ehCUIV.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-italic-Bu1sucFz.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-italic-gjD40YYW.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-italic-CIE91aEb.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-italic-Bxbpu0Km.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-italic-_iJnhvfZ.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-italic-D6r_7P1S.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-italic-BsicMZk3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-italic-B1MQ5tAZ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-B3hZxag_.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-ZyMXPjaT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-DvQQgHTq.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CJUKFyLa.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BFiUPp6R.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DLynVohM.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-DxDDqVQb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-uwM7KshN.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-Dm_PoFIZ.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-O6-GRVqx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-CmcxpzmF.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-yqk7_qG0.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-BtGHVI3Q.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-N1TV9ACq.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-CevHOlzG.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-QhwQXayn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-Dn-cqWhb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-BhDX_RLI.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-C_OblDzq.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-zoSM89R3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--font-sans: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-base: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--radius: 3px;--radius-lg: 4px;--sidebar-w: 236px;--topbar-h: 48px;--bg: #f3f4f6;--bg-panel: #ffffff;--bg-sunken: #f6f7f9;--bg-hover: #eceef2;--bg-selected: #e6edf6;--border: #d6d9df;--border-strong: #aeb4be;--rule: #e4e6ea;--text: #1a1e24;--text-2: #4a515d;--text-3: #6f7683;--text-inverse: #ffffff;--accent: #1f4f82;--accent-hover: #173d66;--accent-bg: #e7eef7;--accent-text: #1f4f82;--focus: #2f6aa8;--ok: #00805d;--warn: #9a6700;--danger: #b5470b;--danger-bg: #fbeee6;--warn-bg: #fff6df;--ok-bg: #e5f4ef;--info-bg: #eef2f7;--tag-sim-fg: #6b4a00;--tag-sim-bg: #fff3d1;--tag-sim-border: #c9a24a;--tag-replay-fg: #1f4f82;--tag-replay-bg: #e7eef7;--tag-replay-border: #7f9fc4;--tag-mock-fg: #5d2a6b;--tag-mock-bg: #f5e9f7;--tag-mock-border: #b07fbd;--tag-guest-fg: #1d5c4a;--tag-guest-bg: #e3f2ec;--tag-guest-border: #7fb5a2;--ch-1: #1f4f82;--ch-2: #a3540f;--ch-3: #5b6270;--ch-4: #6b4a9a;--chart-grid: #e7e9ed;--chart-axis: #4a515d;--chart-marker: #1a1e24;--zone-a: rgba(0, 158, 115, .1);--zone-b: rgba(240, 228, 66, .2);--zone-c: rgba(230, 159, 0, .16);--zone-d: rgba(213, 94, 0, .16);--drawing-line: #1a1e24;--drawing-thin: #59606c;--drawing-dim: #1f4f82;--drawing-hatch: #9aa1ac;--drawing-fill: #ffffff;--drawing-fill-2: #f1f2f4;--drawing-paper: #fbfbf9;--drawing-grid: #eceee8;--shadow-pop: 0 6px 24px rgba(16, 24, 40, .14), 0 1px 3px rgba(16, 24, 40, .1);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #111316;--bg-panel: #181b1f;--bg-sunken: #14161a;--bg-hover: #22262c;--bg-selected: #1d2a3a;--border: #2d3239;--border-strong: #4a515c;--rule: #252a30;--text: #e5e7ea;--text-2: #a9b0ba;--text-3: #7e8691;--text-inverse: #0f1114;--accent: #6fa2d6;--accent-hover: #8db6e0;--accent-bg: #1c2938;--accent-text: #8db6e0;--focus: #8db6e0;--ok: #3fbf98;--warn: #e0b04a;--danger: #ef8a5a;--danger-bg: #2e1d15;--warn-bg: #2b2412;--ok-bg: #132a23;--info-bg: #1a222c;--tag-sim-fg: #f0cd7a;--tag-sim-bg: #2c2410;--tag-sim-border: #8a6d2a;--tag-replay-fg: #a9c7e8;--tag-replay-bg: #1a2634;--tag-replay-border: #4c6a8c;--tag-mock-fg: #dfb9e8;--tag-mock-bg: #2a1a2e;--tag-mock-border: #7d5a87;--tag-guest-fg: #9fd8c4;--tag-guest-bg: #14271f;--tag-guest-border: #3f7a66;--ch-1: #7fb0e2;--ch-2: #e0a25a;--ch-3: #b4bac4;--ch-4: #b59ae0;--chart-grid: #262a31;--chart-axis: #a9b0ba;--chart-marker: #e5e7ea;--drawing-line: #d9dde3;--drawing-thin: #9aa2ad;--drawing-dim: #8db6e0;--drawing-hatch: #5c636e;--drawing-fill: #1b1e23;--drawing-fill-2: #23272d;--drawing-paper: #15181b;--drawing-grid: #1e2226;--shadow-pop: 0 8px 28px rgba(0, 0, 0, .5);color-scheme:dark}}:root[data-theme=dark]{--bg: #111316;--bg-panel: #181b1f;--bg-sunken: #14161a;--bg-hover: #22262c;--bg-selected: #1d2a3a;--border: #2d3239;--border-strong: #4a515c;--rule: #252a30;--text: #e5e7ea;--text-2: #a9b0ba;--text-3: #7e8691;--text-inverse: #0f1114;--accent: #6fa2d6;--accent-hover: #8db6e0;--accent-bg: #1c2938;--accent-text: #8db6e0;--focus: #8db6e0;--ok: #3fbf98;--warn: #e0b04a;--danger: #ef8a5a;--danger-bg: #2e1d15;--warn-bg: #2b2412;--ok-bg: #132a23;--info-bg: #1a222c;--tag-sim-fg: #f0cd7a;--tag-sim-bg: #2c2410;--tag-sim-border: #8a6d2a;--tag-replay-fg: #a9c7e8;--tag-replay-bg: #1a2634;--tag-replay-border: #4c6a8c;--tag-mock-fg: #dfb9e8;--tag-mock-bg: #2a1a2e;--tag-mock-border: #7d5a87;--tag-guest-fg: #9fd8c4;--tag-guest-bg: #14271f;--tag-guest-border: #3f7a66;--ch-1: #7fb0e2;--ch-2: #e0a25a;--ch-3: #b4bac4;--ch-4: #b59ae0;--chart-grid: #262a31;--chart-axis: #a9b0ba;--chart-marker: #e5e7ea;--drawing-line: #d9dde3;--drawing-thin: #9aa2ad;--drawing-dim: #8db6e0;--drawing-hatch: #5c636e;--drawing-fill: #1b1e23;--drawing-fill-2: #23272d;--drawing-paper: #15181b;--drawing-grid: #1e2226;--shadow-pop: 0 8px 28px rgba(0, 0, 0, .5);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.5;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.3;letter-spacing:-.005em}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-base)}h4{font-size:var(--fs-md)}p{margin:0 0 var(--sp-3)}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:.92em}code{background:var(--bg-sunken);border:1px solid var(--rule);border-radius:2px;padding:0 4px}pre{margin:0}hr{border:none;border-top:1px solid var(--rule);margin:var(--sp-4) 0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--accent-bg)}button,input,select,textarea{font:inherit;color:inherit}table{border-collapse:collapse}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--text-3)}.text-2{color:var(--text-2)}.small{font-size:var(--fs-sm)}.xsmall{font-size:var(--fs-xs)}.num{font-variant-numeric:tabular-nums;text-align:right}.nowrap{white-space:nowrap}.upper{text-transform:uppercase;letter-spacing:.06em}.danger-text{color:var(--danger)}.ok-text{color:var(--ok)}.warn-text{color:var(--warn)}.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100%}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--bg-panel);border-right:1px solid var(--border);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--rule);color:var(--text)}.brand:hover{text-decoration:none}.brand-mark{width:28px;height:28px;flex:none}.brand-name{font-weight:600;font-size:var(--fs-base);letter-spacing:.01em}.brand-sub{font-size:var(--fs-xs);color:var(--text-3);line-height:1.2}.nav{padding:var(--sp-2) 0 var(--sp-4);flex:1}.nav-group{margin-top:var(--sp-3)}.nav-group-label{padding:0 var(--sp-4);margin-bottom:2px;font-size:var(--fs-xs);font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em}.nav-link{display:flex;align-items:center;gap:var(--sp-3);padding:6px var(--sp-4);margin:1px var(--sp-2);border-radius:var(--radius);color:var(--text-2);font-size:var(--fs-md);border-left:2px solid transparent}.nav-link:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.nav-link.active{background:var(--bg-selected);color:var(--accent-text);font-weight:500;border-left-color:var(--accent)}.nav-link svg{width:16px;height:16px;flex:none;opacity:.85}.nav-count{margin-left:auto;font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--text-3)}.nav-count.alarm{color:var(--danger);font-weight:600}.sidebar-foot{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--rule);font-size:var(--fs-xs);color:var(--text-3);line-height:1.5}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:var(--topbar-h);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-6);background:color-mix(in srgb,var(--bg-panel) 94%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}.topbar-crumb{font-size:var(--fs-md);color:var(--text-2)}.topbar-spacer{flex:1}.btn.menu-toggle{display:none}.banner{display:flex;gap:var(--sp-3);align-items:center;padding:6px var(--sp-6);font-size:var(--fs-sm);border-bottom:1px solid var(--border)}.banner-mock{background:var(--tag-mock-bg);color:var(--tag-mock-fg)}.banner-demo{background:var(--info-bg);color:var(--text-2)}.page{padding:var(--sp-6) var(--sp-6) var(--sp-10);max-width:1680px;width:100%}.page-header{display:flex;align-items:flex-start;gap:var(--sp-4);padding-bottom:var(--sp-4);margin-bottom:var(--sp-5);border-bottom:1px solid var(--rule)}.page-header-text{flex:1;min-width:0}.page-title-row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.page-subtitle{margin:var(--sp-1) 0 0;color:var(--text-2);max-width:900px;font-size:var(--fs-md)}.page-actions{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.section{margin-top:var(--sp-6)}.section-title{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-3)}.section-title h2{font-size:var(--fs-base)}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.stack-sm{display:flex;flex-direction:column;gap:var(--sp-2)}.row{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.row-tight{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.spacer{flex:1}.grid{display:grid;gap:var(--sp-4)}.grid-2{display:grid;gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{display:grid;gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{display:grid;gap:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr))}.grid-auto{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.span-2{grid-column:span 2}.span-all{grid-column:1 / -1}@media (max-width: 1280px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1000px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;z-index:40;left:0;top:0;width:var(--sidebar-w);transform:translate(-100%);transition:transform .18s ease;box-shadow:var(--shadow-pop)}.app.nav-open .sidebar{transform:none}.btn.menu-toggle{display:inline-flex}.page{padding:var(--sp-4)}.topbar{padding:0 var(--sp-4)}.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}.page-header{flex-direction:column}}@media (max-width: 640px){.grid-4{grid-template-columns:minmax(0,1fr)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-panel);color:var(--text);font-size:var(--fs-md);font-weight:500;cursor:pointer;white-space:nowrap;transition:background .1s,border-color .1s}.btn:hover:not(:disabled){background:var(--bg-hover);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:14px;height:14px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 50%,var(--border))}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.btn-ghost{border-color:transparent;background:transparent}.btn-sm{height:26px;padding:0 8px;font-size:var(--fs-sm)}.btn-icon{width:30px;padding:0}.btn-sm.btn-icon{width:26px}.btn.active{background:var(--bg-selected);border-color:var(--accent);color:var(--accent-text)}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;display:flex;flex-direction:column}.panel-head{display:flex;align-items:center;gap:var(--sp-2);min-height:40px;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--rule);flex-wrap:wrap}.panel-title{font-size:var(--fs-md);font-weight:600;color:var(--text)}.panel-unit{font-size:var(--fs-sm);color:var(--text-3);font-weight:400}.panel-tools{margin-left:auto;display:flex;gap:var(--sp-1);align-items:center;flex-wrap:wrap}.panel-body{padding:var(--sp-4);flex:1;min-width:0}.panel-body.flush{padding:0}.panel-body.tight{padding:var(--sp-2) var(--sp-3)}.panel-caption{padding:var(--sp-2) var(--sp-4) var(--sp-3);border-top:1px solid var(--rule);font-size:var(--fs-sm);color:var(--text-3);line-height:1.45}.panel-caption b{color:var(--text-2);font-weight:600}.tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px;border:1px solid var(--border-strong);border-radius:2px;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);background:var(--bg-sunken);white-space:nowrap}.tag-sim{color:var(--tag-sim-fg);background:var(--tag-sim-bg);border-color:var(--tag-sim-border)}.tag-replay{color:var(--tag-replay-fg);background:var(--tag-replay-bg);border-color:var(--tag-replay-border)}.tag-guest{color:var(--tag-guest-fg);background:var(--tag-guest-bg);border-color:var(--tag-guest-border)}.tag-mock{color:var(--tag-mock-fg);background:var(--tag-mock-bg);border-color:var(--tag-mock-border)}.tag-real{color:var(--ok);background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 45%,var(--border))}.tag-danger{color:var(--danger);background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.tag-warn{color:var(--warn);background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 45%,var(--border))}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-3);flex:none}.dot-online{background:var(--ok);box-shadow:0 0 0 2px color-mix(in srgb,var(--ok) 25%,transparent)}.dot-offline{background:transparent;border:1.5px solid var(--text-3)}.dot-error{background:var(--danger)}.dot-pending{background:var(--warn)}.class-chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px 0 6px;border:1px solid var(--border);border-radius:2px;background:var(--bg-panel);font-size:var(--fs-sm);font-weight:500;white-space:nowrap}.class-chip .swatch{width:10px;height:10px;border-radius:1px}.class-chip.alarm{border-color:var(--danger)}.class-chip.lg{height:30px;font-size:var(--fs-base);padding:0 12px 0 10px}.class-chip.lg .swatch{width:12px;height:12px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-label{font-size:var(--fs-sm);font-weight:500;color:var(--text-2)}.field-hint{font-size:var(--fs-xs);color:var(--text-3)}.field-error{font-size:var(--fs-xs);color:var(--danger)}.input,.select,.textarea{height:30px;padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-panel);font-size:var(--fs-md);min-width:0;width:100%}.textarea{height:auto;padding:6px 8px;resize:vertical;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.5}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--focus) 25%,transparent)}.input.invalid{border-color:var(--danger)}.input-group{display:flex;align-items:stretch}.input-group .input{border-top-right-radius:0;border-bottom-right-radius:0}.input-unit{display:inline-flex;align-items:center;padding:0 8px;border:1px solid var(--border-strong);border-left:none;border-radius:0 var(--radius) var(--radius) 0;background:var(--bg-sunken);color:var(--text-3);font-size:var(--fs-sm);white-space:nowrap}.checkbox{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-md);cursor:pointer}.checkbox input{accent-color:var(--accent);width:14px;height:14px}.form-grid{display:grid;gap:var(--sp-3) var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.schema-group{grid-column:1 / -1;margin:0;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);min-width:0}.schema-group>legend{padding:0 var(--sp-1);font-weight:600;font-size:13px}.form-actions{display:flex;gap:var(--sp-2);justify-content:flex-end;margin-top:var(--sp-4)}.segmented{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;background:var(--bg-panel)}.segmented button{height:26px;padding:0 10px;border:none;border-right:1px solid var(--border);background:transparent;font-size:var(--fs-sm);cursor:pointer;color:var(--text-2)}.segmented button:last-child{border-right:none}.segmented button:hover{background:var(--bg-hover)}.segmented button[aria-pressed=true]{background:var(--accent-bg);color:var(--accent-text);font-weight:600}input[type=range].slider{width:100%;accent-color:var(--accent);height:18px;margin:0}.tabs{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--border);margin-bottom:var(--sp-4);overflow-x:auto}.tab{padding:8px 12px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-2);font-size:var(--fs-md);cursor:pointer;white-space:nowrap;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--accent-text);border-bottom-color:var(--accent);font-weight:600}.table-wrap{overflow-x:auto}.table{width:100%;font-size:var(--fs-md)}.table th{text-align:left;font-weight:600;font-size:var(--fs-sm);color:var(--text-2);padding:8px 12px;border-bottom:1px solid var(--border-strong);white-space:nowrap;background:var(--bg-panel)}.table td{padding:7px 12px;border-bottom:1px solid var(--rule);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--bg-sunken)}.table tr.clickable{cursor:pointer}.table tr.selected td{background:var(--bg-selected)}.table .num,.table th.num{text-align:right}.table td.num{font-family:var(--font-mono);font-size:var(--fs-sm);white-space:nowrap}.table .actions{display:flex;gap:var(--sp-1);justify-content:flex-end;flex-wrap:nowrap}.table.compact td,.table.compact th{padding:4px 8px}.table.academic{border-top:2px solid var(--text);border-bottom:2px solid var(--text)}.table.academic th{border-bottom:1px solid var(--text)}.table.academic td{border-bottom:none}.table.academic tr.group-start td{border-top:1px solid var(--rule)}.table .best{font-weight:700}.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px var(--sp-4);font-size:var(--fs-md);margin:0}.kv dt{color:var(--text-3)}.kv dd{margin:0;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}.stat{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:var(--fs-sm);color:var(--text-3)}.stat-value{font-size:var(--fs-2xl);font-weight:500;line-height:1.15;font-variant-numeric:tabular-nums}.stat-value small{font-size:var(--fs-md);color:var(--text-3);font-weight:400;margin-left:3px}.stat-foot{font-size:var(--fs-xs);color:var(--text-3)}.readout{display:flex;flex-direction:column;min-width:90px}.readout-label{font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.readout-value{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:500}.readout-value small{font-size:var(--fs-sm);color:var(--text-3);margin-left:2px}.readout-note{font-family:var(--font-sans);font-size:var(--fs-md);font-weight:400;color:var(--text-2)}.skeleton{background:linear-gradient(90deg,var(--bg-sunken) 25%,var(--bg-hover) 50%,var(--bg-sunken) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite linear;border-radius:2px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-6);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-2);background:var(--bg-sunken)}.empty-title{font-weight:600;color:var(--text)}.empty.compact{padding:var(--sp-4)}.notice{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--info-bg);font-size:var(--fs-md);color:var(--text-2)}.notice b{color:var(--text)}.notice-warn{border-left-color:var(--warn);background:var(--warn-bg)}.notice-danger{border-left-color:var(--danger);background:var(--danger-bg)}.notice-ok{border-left-color:var(--ok);background:var(--ok-bg)}.notice p:last-child{margin-bottom:0}.progress{height:6px;border-radius:3px;background:var(--bg-hover);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);transition:width .3s}.code{position:relative;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken)}.code pre{padding:var(--sp-3) var(--sp-4);overflow-x:auto;font-size:var(--fs-sm);line-height:1.55}.code-head{display:flex;align-items:center;padding:4px 6px 4px 12px;border-bottom:1px solid var(--rule);font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.code-head .btn{margin-left:auto}.menu{position:absolute;right:0;top:calc(100% + 4px);min-width:220px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:var(--sp-1) 0;z-index:50}.menu-item{display:flex;width:100%;align-items:center;gap:var(--sp-2);padding:7px 12px;border:none;background:transparent;text-align:left;font-size:var(--fs-md);cursor:pointer;color:var(--text)}.menu-item:hover{background:var(--bg-hover)}.menu-sep{border-top:1px solid var(--rule);margin:var(--sp-1) 0}.menu-head{padding:8px 12px;font-size:var(--fs-sm);color:var(--text-3)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e1473;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--sp-4)}.dialog{width:min(560px,100%);max-height:calc(100vh - 64px);overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.dialog-head{display:flex;align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--rule)}.dialog-body{padding:var(--sp-4)}.dialog-foot{display:flex;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--rule)}.steps{list-style:none;margin:0;padding:0;counter-reset:step}.steps li{position:relative;display:flex;gap:var(--sp-3);padding:6px 0}.step-num{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--text-2);background:var(--bg-panel)}.steps li.done .step-num{background:var(--ok);border-color:var(--ok);color:var(--text-inverse)}.steps li.current .step-num{border:2px solid var(--accent);color:var(--accent-text);font-weight:700}.steps li.current .step-text{font-weight:600}.wizard-steps{display:flex;gap:0;margin-bottom:var(--sp-5);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);overflow-x:auto}.wizard-step{flex:1;display:flex;align-items:center;gap:var(--sp-2);padding:10px 14px;border:none;border-right:1px solid var(--rule);background:transparent;font-size:var(--fs-md);color:var(--text-3);text-align:left;white-space:nowrap;cursor:pointer}.wizard-step:last-child{border-right:none}.wizard-step[aria-current=step]{color:var(--accent-text);font-weight:600;background:var(--accent-bg)}.wizard-step.done{color:var(--text-2)}.wizard-step:disabled{cursor:default}.legend{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);color:var(--text-2)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:14px;height:3px}.legend-swatch.box{height:10px;width:10px;border-radius:1px}.divider-v{width:1px;align-self:stretch;background:var(--rule)}.list-plain{list-style:none;margin:0;padding:0}.event-list li{display:grid;grid-template-columns:140px 120px minmax(0,1fr);gap:var(--sp-3);padding:7px 0;border-bottom:1px solid var(--rule);font-size:var(--fs-md)}.event-list li:last-child{border-bottom:none}.prose{max-width:820px;color:var(--text-2);line-height:1.65}.prose h2{margin:var(--sp-6) 0 var(--sp-2);color:var(--text)}.prose h3{margin:var(--sp-4) 0 var(--sp-2);color:var(--text)}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-bottom:4px}.prose dt{font-weight:600;color:var(--text);margin-top:var(--sp-3)}.prose dd{margin:2px 0 0}.uplot-host{width:100%;min-width:0;position:relative}.uplot,.uplot *{font-family:var(--font-sans)}.uplot .u-select{background:color-mix(in srgb,var(--accent) 14%,transparent)}.uplot .u-cursor-x,.uplot .u-cursor-y{border-color:var(--border-strong)!important}.u-legend{display:none}.chart-readout{display:flex;gap:var(--sp-4);min-height:18px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-3);padding:0 0 4px 46px}.chart-legend{display:flex;flex-wrap:wrap;gap:4px var(--sp-4);font-size:var(--fs-sm);color:var(--text-2);padding:0 0 6px 46px}.chart-legend .legend-item{cursor:default}.chart-overlay{position:relative}.chart-empty{display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:var(--fs-sm);border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-sunken)}.spectrogram{display:block;width:100%}.timeline svg text{font-family:var(--font-sans);font-size:11px;fill:var(--text-2)}.timeline .lane-label{font-size:11px;fill:var(--text-3)}.timeline .tick{stroke:var(--rule)}.timeline .axis-text{fill:var(--text-3);font-family:var(--font-mono);font-size:10px}.latency-bar{display:flex;height:22px;border:1px solid var(--border);border-radius:2px;overflow:hidden;background:var(--bg-sunken)}.latency-seg{height:100%;min-width:2px;border-right:1px solid var(--bg-panel)}.latency-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px var(--sp-4);margin-top:var(--sp-2);font-size:var(--fs-sm)}.latency-legend .legend-item{justify-content:space-between}.latency-legend .mono{color:var(--text)}.svg-chart text{font-family:var(--font-sans);font-size:11px;fill:var(--text-2)}.svg-chart .axis-line{stroke:var(--chart-axis);stroke-width:1}.svg-chart .grid-line{stroke:var(--chart-grid);stroke-width:1}.svg-chart .mono-text{font-family:var(--font-mono);font-size:10px}.login-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--sp-6);background:var(--bg)}.login-card{width:min(420px,100%)}.node-card{display:flex;flex-direction:column}.node-card-head{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-2)}.node-card-head .dot{margin-top:7px}.node-card-title{flex:1;min-width:0;font-weight:600;font-size:var(--fs-md)}.node-card-title a{color:var(--text)}.node-card-body{padding:0 var(--sp-4) var(--sp-3);flex:1}.node-card-decision{min-height:26px;margin-bottom:var(--sp-2)}.model-context{margin-top:var(--sp-1);color:var(--text-2);line-height:1.35}.model-context[data-transfer=other]{color:var(--warn)}.node-card-figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-2);margin:0;padding-top:var(--sp-2);border-top:1px solid var(--rule)}.node-card-figures dt{font-size:var(--fs-xs);color:var(--text-3)}.node-card-figures dd{margin:0;font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-card-foot{display:flex;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--rule);background:var(--bg-sunken)}.node-overview{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--sp-4);align-items:start}@media (max-width: 1100px){.node-overview{grid-template-columns:minmax(0,1fr)}}.photo-layout{display:flex;flex-direction:column;gap:var(--sp-3)}.photo-box{position:relative;border:1px solid var(--rule);background:#fff;-webkit-user-select:none;user-select:none;line-height:0}.photo-box img{width:100%;height:auto;display:block}.photo-box.editing{cursor:crosshair;outline:2px dashed var(--accent);outline-offset:2px}.photo-pin{position:absolute;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;border:2px solid #fff;background:#1a1e24;color:#fff;font-family:var(--font-mono);font-size:11px;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #00000073;cursor:default;padding:0}.photo-box.editing .photo-pin{cursor:grab;background:var(--accent)}.photo-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px var(--sp-4);font-size:var(--fs-md)}.photo-legend li{display:flex;align-items:center;gap:var(--sp-2)}.photo-legend-num{flex:none;width:20px;height:20px;border-radius:50%;background:var(--text);color:var(--bg-panel);font-family:var(--font-mono);font-size:10.5px;display:inline-flex;align-items:center;justify-content:center}.action-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-2) 0;border-bottom:1px solid var(--rule)}.action-row>div{flex:1}.action-row:last-of-type{border-bottom:none}.token-box{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-sunken);overflow-x:auto}.token-box code{border:none;background:none;font-size:var(--fs-md);flex:1;white-space:nowrap}.choice-card{text-align:left;padding:var(--sp-4);gap:var(--sp-2);cursor:pointer;font:inherit;color:inherit}.choice-card:hover{border-color:var(--border-strong);background:var(--bg-sunken)}.choice-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-bg)}.choice-title{font-weight:600;font-size:var(--fs-base)}.define-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--sp-4);align-items:start}@media (max-width: 1100px){.define-grid{grid-template-columns:minmax(0,1fr)}}.validation-list li{padding:2px 0}.live-toolbar .panel-body{padding:var(--sp-3) var(--sp-4)}.live-strip{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4)}.live-strip-item{display:flex;flex-direction:column;gap:4px}.sim-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--sp-4);align-items:start}@media (max-width: 1200px){.sim-layout{grid-template-columns:minmax(0,1fr)}}.drawing{width:100%;display:block;background:var(--drawing-paper);border:1px solid var(--rule);font-family:var(--font-sans);-webkit-user-select:none;user-select:none;touch-action:none}.drawing text{fill:var(--drawing-line);font-size:14px}.drawing .dim text,.drawing text.dim-text{fill:var(--drawing-dim);font-family:var(--font-mono);font-size:12.5px}.drawing .label-small{font-size:12.5px;fill:var(--drawing-thin)}.drawing .title-text{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.drawing .hot{cursor:grab}.drawing .hot:hover .hot-outline,.drawing .hot:focus .hot-outline{stroke:var(--accent);stroke-width:2}.drawing .clickable{cursor:pointer}.drawing :focus{outline:none}.drawing :focus-visible .hot-outline{stroke:var(--focus);stroke-width:2.5}.sim-controls .panel-body{display:flex;flex-direction:column;gap:var(--sp-4)}.control-group{border-top:1px solid var(--rule);padding-top:var(--sp-3)}.control-group:first-child{border-top:none;padding-top:0}.control-group h4{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:var(--sp-2)}.eng-slider{display:flex;flex-direction:column;gap:2px}.eng-slider-head{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-md)}.eng-slider-head output{font-size:var(--fs-md);font-weight:500}.eng-slider-head output small{color:var(--text-3);font-weight:400}.eng-slider-scale{display:flex;justify-content:space-between;font-size:10px;color:var(--text-3);border-top:1px solid var(--border);padding-top:1px;background-image:linear-gradient(to right,var(--border) 1px,transparent 1px);background-size:10% 4px;background-repeat:repeat-x}.profile-list{display:grid;gap:var(--sp-2)}.profile-option{display:flex;gap:var(--sp-2);align-items:flex-start;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:var(--fs-md)}.profile-option:hover{background:var(--bg-sunken)}.profile-option.selected{border-color:var(--accent);background:var(--accent-bg)}.profile-option input{margin-top:3px;accent-color:var(--accent)}.mass-palette{display:flex;gap:var(--sp-2);flex-wrap:wrap}.mass-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--border-strong);border-radius:12px;font-size:var(--fs-sm);font-family:var(--font-mono);background:var(--bg-panel);cursor:grab}.mass-chip:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--drawing-line)}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}@media (max-width: 1100px){.compare-grid{grid-template-columns:minmax(0,1fr)}}.sim-note{font-style:italic}.model-card{display:flex;flex-direction:column}.model-card .panel-body{display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-md)}.model-card .kv{font-size:var(--fs-sm)}.model-family{font-family:var(--font-mono);font-weight:600;font-size:var(--fs-base);color:var(--accent-text)}.split-schematic text{font-family:var(--font-sans);font-size:10.5px;fill:var(--text-2)}.split-schematic .mono-text{font-family:var(--font-mono);font-size:9.5px}.protocol-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.phone-page{max-width:560px;margin:0 auto;padding:var(--sp-4);min-height:100%}.phone-big{font-family:var(--font-mono);font-size:22px}.mass-ghost{position:fixed;z-index:200;transform:translate(-50%,-140%);pointer-events:none;padding:2px 8px;border-radius:12px;background:var(--accent);color:var(--text-inverse);font-family:var(--font-mono);font-size:var(--fs-sm);box-shadow:var(--shadow-pop)}.speed-dial .dial-text{font-family:var(--font-mono);font-size:7.5px;fill:var(--drawing-thin)}.speed-dial .dial-value{font-family:var(--font-mono);font-size:15px;font-weight:600;fill:var(--drawing-line)}.speed-dial:focus-visible{outline:2px solid var(--focus);border-radius:50%}.commission-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,3fr);gap:var(--sp-4);align-items:start}@media (max-width: 1000px){.commission-grid{grid-template-columns:minmax(0,1fr)}}.dataset-browser{display:grid;grid-template-columns:minmax(400px,2fr) minmax(0,4fr);gap:var(--sp-4);align-items:start}@media (max-width: 1100px){.dataset-browser{grid-template-columns:minmax(0,1fr)}}.selected-panel{border-color:var(--accent)}.cite-box{display:flex;gap:var(--sp-2);align-items:flex-start;padding:var(--sp-2) var(--sp-3);background:var(--bg-sunken);border-left:2px solid var(--border-strong);color:var(--text-2);font-style:italic}.cite-box span{flex:1}.table td.sim-cell{background-image:repeating-linear-gradient(45deg,transparent 0 5px,color-mix(in srgb,var(--tag-sim-border) 18%,transparent) 5px 6px)}.protocol-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--sp-5);align-items:start}@media (max-width: 900px){.protocol-layout{grid-template-columns:minmax(0,1fr)}}.protocol-steps{max-height:380px;overflow-y:auto;border-right:1px solid var(--rule);padding-right:var(--sp-2)}.protocol-steps li{padding:1px 0}.step-link{display:flex;align-items:center;gap:var(--sp-2);width:100%;border:none;background:transparent;padding:3px 4px;border-radius:var(--radius);text-align:left;cursor:pointer}.step-link:hover{background:var(--bg-hover)}.step-link[aria-current=step]{background:var(--accent-bg)}.docs-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--sp-6);align-items:start}.docs-toc{position:sticky;top:calc(var(--topbar-h) + 16px);font-size:var(--fs-md)}.docs-toc ol{padding-left:1.2em;margin:8px 0 0}.docs-toc li{margin-bottom:6px}@media (max-width: 1000px){.docs-layout{grid-template-columns:minmax(0,1fr)}.docs-toc{position:static}}.glossary>div{border-bottom:1px solid var(--rule);padding-bottom:var(--sp-2)}.glossary>div:last-child{border-bottom:none}section[id]{scroll-margin-top:calc(var(--topbar-h) + 16px)}.filter-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:var(--sp-2);align-items:end;padding:10px 12px;border-bottom:1px solid var(--rule)}.connect-phone-card{margin-bottom:var(--sp-4);border-left:3px solid var(--accent)}.connect-phone-card-body{display:flex;align-items:center;gap:var(--sp-4)}.connect-phone-card-icon{flex:none;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-lg);color:var(--accent-text);background:var(--accent-bg)}.connect-phone-card-text{flex:1;min-width:0}.connect-phone-card-text h2{font-size:var(--fs-base);margin:0 0 4px}.connect-phone-card-text p{margin:0;max-width:72ch}.connect-phone-intro{margin:0;line-height:1.5}.connect-phone-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-4);align-items:center}.connect-phone-qr{line-height:0}.connect-phone-steps{margin:0;padding-left:1.3em;color:var(--text-2);line-height:1.5}.connect-phone-steps li+li{margin-top:6px}.connect-phone-steps b{color:var(--text)}.connect-phone-link{flex-wrap:nowrap}.connect-phone-link .input{flex:1;font-size:var(--fs-sm);color:var(--text-2)}.connect-phone-status{display:flex;align-items:center;gap:var(--sp-2);padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken)}.connect-phone-actions{padding-top:var(--sp-1)}.phone-live-link{display:flex;flex-direction:column;align-items:flex-start;gap:4px}@media (max-width: 640px){.connect-phone-card-body{flex-direction:column;align-items:flex-start}.connect-phone-grid{grid-template-columns:minmax(0,1fr);justify-items:center}}
