@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand: #4f46e5;--accent: #10b981;--rail-bg: var(--surface);--rail-fg: var(--text-2);--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f4f5f7;--surface-3: #eceef2;--border: #e7e9ed;--border-strong: #d5d9e0;--text: #0e1116;--text-2: #565e6b;--text-3: #8a919c;--danger: #e5484d;--warn: #f5a524;--ok: #12a150;--info: #0b84f3;--brand-soft: color-mix(in srgb, var(--brand) 9%, var(--surface));--brand-softer: color-mix(in srgb, var(--brand) 5%, var(--surface));--brand-strong: color-mix(in srgb, var(--brand) 82%, black);--brand-ring: color-mix(in srgb, var(--brand) 22%, transparent);--danger-soft: color-mix(in srgb, var(--danger) 10%, var(--surface));--warn-soft: color-mix(in srgb, var(--warn) 13%, var(--surface));--ok-soft: color-mix(in srgb, var(--ok) 10%, var(--surface));--info-soft: color-mix(in srgb, var(--info) 10%, var(--surface));--shadow-xs: 0 1px 2px rgba(16, 24, 40, .04);--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 2px 8px rgba(16, 24, 40, .04);--shadow-lg: 0 12px 40px rgba(16, 24, 40, .12), 0 2px 6px rgba(16, 24, 40, .06);--radius: 16px;--radius-md: 12px;--radius-sm: 10px;--font: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "JetBrains Mono", "Cascadia Code", "SF Mono", Consolas, monospace;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--grid: #eceef1;--axis: #898781;color-scheme:light}:root[data-theme=dark]{--bg: #0b0c0f;--surface: #141519;--surface-2: #1b1d22;--surface-3: #23262c;--border: #25282e;--border-strong: #343840;--text: #ececf0;--text-2: #a4aab4;--text-3: #6f7681;--brand-soft: color-mix(in srgb, var(--brand) 18%, var(--surface));--brand-softer: color-mix(in srgb, var(--brand) 10%, var(--surface));--brand-strong: color-mix(in srgb, var(--brand) 78%, white);--brand-ring: color-mix(in srgb, var(--brand) 35%, transparent);--danger-soft: color-mix(in srgb, var(--danger) 18%, var(--surface));--warn-soft: color-mix(in srgb, var(--warn) 16%, var(--surface));--ok-soft: color-mix(in srgb, var(--ok) 16%, var(--surface));--info-soft: color-mix(in srgb, var(--info) 16%, var(--surface));--shadow-xs: none;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .5);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--grid: #2c2c2a;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--brand);text-decoration:none;font-weight:500}a:hover{text-decoration:underline;text-underline-offset:3px}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.015em}h1{font-size:24px;letter-spacing:-.025em}h2{font-size:16px}h3{font-size:14px}code,.mono{font-family:var(--mono);font-size:12.5px}hr{border:0;border-top:1px solid var(--border);margin:16px 0}::selection{background:var(--brand-ring)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:14px}.grow{flex:1;min-width:0}.right{margin-left:auto}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1180px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:12.5px}.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt{margin-top:16px}.mb{margin-bottom:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);transition:box-shadow .25s ease,border-color .25s ease}.card:hover{box-shadow:var(--shadow)}.card-h{display:flex;align-items:center;gap:10px;padding:16px 20px 0}.card-h h2{font-size:15px;font-weight:620}.card-b{padding:16px 20px 20px}.card-b.tight{padding:8px 0 4px}.card>.table-wrap{padding:4px 6px 6px}.btn{display:inline-flex;align-items:center;gap:7px;justify-content:center;height:36px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:550 13.5px var(--font);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background .15s,border-color .15s,box-shadow .15s,transform .05s}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:transparent;color:#fff;box-shadow:0 1px 2px #1018281f,inset 0 1px #ffffff24}.btn.primary:hover:not(:disabled){background:var(--brand-strong)}.btn.danger{color:var(--danger)}.btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.btn.ghost{border-color:transparent;background:transparent;box-shadow:none;color:var(--text-2)}.btn.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn.soft{background:var(--brand-soft);border-color:transparent;color:var(--brand);box-shadow:none}.btn.soft:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 15%,var(--surface))}.btn.sm{height:30px;padding:0 11px;font-size:12.5px;border-radius:8px}.btn.icon{width:36px;padding:0}.btn.sm.icon{width:30px}.btn svg{width:16px;height:16px;flex:none}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.label{font-size:13px;font-weight:550;color:var(--text)}.field .hint{font-size:12px;color:var(--text-3);line-height:1.4}.field .err{font-size:12px;color:var(--danger)}.input,select.input,textarea.input{width:100%;height:38px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:14px var(--font);box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238a919c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}textarea.input{height:auto;min-height:90px;padding:10px 12px;font-family:var(--mono);font-size:12.5px;resize:vertical}.input::placeholder{color:var(--text-3)}.input:hover:not(:disabled):not(:focus){border-color:var(--text-3)}.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring)}.input.invalid{border-color:var(--danger)}.input:disabled{background:var(--surface-2);color:var(--text-3);box-shadow:none}input[type=checkbox],input[type=radio]{accent-color:var(--brand);width:16px;height:16px;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.form-grid .full{grid-column:1 / -1}@media(max-width:760px){.form-grid{grid-template-columns:1fr}}.table-wrap{overflow-x:auto}table.t{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}table.t th{text-align:left;font-weight:550;font-size:12px;color:var(--text-3);padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:1;background:var(--surface)}table.t td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}table.t tbody tr:last-child td{border-bottom:0}table.t tbody tr{transition:background .1s}table.t tbody tr:hover td{background:var(--surface-2)}table.t tbody tr:hover td:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}table.t tbody tr:hover td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}table.t tr.clickable{cursor:pointer}table.t tr.disabled td{opacity:.45}table.t td.num,table.t th.num{text-align:right;font-variant-numeric:tabular-nums}.empty{padding:40px 20px;text-align:center;color:var(--text-3)}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:550;white-space:nowrap;background:var(--surface-3);color:var(--text-2)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.warn{background:var(--warn-soft);color:color-mix(in srgb,var(--warn) 70%,var(--text))}.badge.brand{background:var(--brand-soft);color:var(--brand)}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-3);display:inline-block;flex:none}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.dot.danger{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.alert{display:flex;gap:10px;padding:12px 14px;border-radius:var(--radius-md);font-size:13.5px;line-height:1.45}.alert.info{background:var(--brand-softer);color:var(--text);border:1px solid color-mix(in srgb,var(--brand) 16%,transparent)}.alert.warn{background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 28%,transparent)}.alert.danger{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent)}.alert svg{width:18px;height:18px;flex:none;margin-top:1px}.tabs{display:inline-flex;gap:2px;padding:3px;margin-bottom:18px;max-width:100%;overflow-x:auto;background:var(--surface-3);border-radius:12px}.tab{padding:7px 14px;border:0;background:none;color:var(--text-2);font:550 13px var(--font);cursor:pointer;border-radius:9px;white-space:nowrap;transition:background .15s,color .15s}.tab:hover{color:var(--text)}.tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #1018281a}.page{padding:28px 32px 56px;max-width:1440px;margin:0 auto;animation:page-in .2s ease-out}.page-h{display:flex;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-h p{margin:6px 0 0;color:var(--text-2);max-width:780px}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}}@media(max-width:760px){.page{padding:18px 16px 40px}h1{font-size:21px}}.stat{padding:18px 20px}.stat .k{font-size:13px;color:var(--text-2);font-weight:500;display:flex;align-items:center;gap:8px}.stat .v{font-size:28px;font-weight:650;margin-top:8px;letter-spacing:-.03em}.stat .s{font-size:12.5px;color:var(--text-3);margin-top:4px}.meter{height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}.meter>i{display:block;height:100%;background:var(--brand);border-radius:99px;transition:width .5s ease}.meter.warn>i{background:var(--warn)}.meter.danger>i{background:var(--danger)}.avatar{border-radius:50%;object-fit:cover;flex:none;display:grid;place-items:center;font-weight:650;color:#fff;background:linear-gradient(135deg,var(--brand),var(--accent))}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.uplot{font-family:var(--font)!important}.u-legend{font-size:12px!important;color:var(--text-2)}.u-select{background:var(--brand-ring)!important}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-enter-active{transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.page-leave-active{transition:opacity .1s ease}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0}.page .card{animation:card-in .32s cubic-bezier(.2,.8,.2,1) both}.page .card:nth-child(2){animation-delay:.03s}.page .card:nth-child(3){animation-delay:.06s}.page .card:nth-child(4){animation-delay:.09s}@keyframes card-in{0%{opacity:0;transform:translateY(5px)}}.badge,.btn,.input{transition:background .15s,border-color .15s,box-shadow .15s,color .15s,transform .05s}.input:focus{box-shadow:0 0 0 3px var(--brand-ring)}.t tbody tr{transition:background .15s}@media(prefers-reduced-motion:reduce){.page-enter-active,.page-leave-active{transition:none}.page .card{animation:none}}.md p{margin:0 0 6px}.md p:last-child{margin-bottom:0}.md p.h{font-weight:650;margin-top:8px}.md ul,.md ol{margin:4px 0 8px;padding-left:20px}.md li{margin:2px 0}.md code{font-family:var(--mono);font-size:.92em;background:color-mix(in srgb,var(--text) 8%,transparent);padding:1px 5px;border-radius:5px}.md pre{font-family:var(--mono);font-size:12.5px;background:color-mix(in srgb,var(--text) 7%,transparent);padding:10px 12px;border-radius:10px;overflow-x:auto;white-space:pre-wrap;margin:6px 0}.msg.user .md code{background:#ffffff2e}
