@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.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}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-cyrillic-ext-wght-normal-BbRulJFC.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:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-cyrillic-wght-normal-se3OnFSl.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-vietnamese-wght-normal-DTJpi3oK.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:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-latin-ext-wght-normal-CeZZaleV.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:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-latin-wght-normal-CLTz0ja0.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}@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-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,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-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.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-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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+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-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,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-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.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-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.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+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:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,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:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.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:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.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:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper-0: oklch(95.2% .016 92);--paper-1: oklch(97.7% .011 95);--paper-2: oklch(92.5% .019 92);--paper-3: oklch(89% .022 90);--paper-bright: oklch(98.8% .007 96);--ink-1: oklch(25% .024 168);--ink-2: oklch(41% .026 162);--ink-3: oklch(51% .024 145);--rule: oklch(84% .022 100);--rule-strong: oklch(66% .03 130);--vault: oklch(36% .07 168);--vault-deep: oklch(29% .058 170);--vault-wash: oklch(36% .07 168 / .09);--panel: oklch(27.5% .046 172);--panel-deep: oklch(23.5% .04 174);--panel-raise: oklch(32.5% .052 170);--panel-edge: oklch(38% .05 168);--panel-text: oklch(80% .028 140);--panel-text-bright: oklch(94% .018 100);--brass: oklch(57% .103 80);--brass-bright: oklch(70% .118 86);--brass-wash: oklch(57% .103 80 / .13);--ok: oklch(41% .092 162);--ok-dim: oklch(41% .092 162 / .09);--warn: oklch(49% .105 70);--warn-dim: oklch(49% .105 70 / .11);--danger: oklch(44% .142 28);--danger-dim: oklch(44% .142 28 / .09);--info: oklch(43% .072 248);--info-dim: oklch(43% .072 248 / .09);--neutral: oklch(47% .02 130);--neutral-dim: oklch(47% .02 130 / .1);--font-display: "Fraunces Variable", "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", "Noto Serif SC", serif;--font-sans: "Libre Franklin Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", "PingFang SC", "Microsoft YaHei", monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 19px;--text-xl: 23px;--radius-sm: 2px;--radius-md: 3px;--row-h: 40px;--sidebar-w: 232px;--topbar-h: 54px;--shadow-card: 0 1px 0 oklch(30% .03 130 / .04), 0 1px 3px oklch(30% .03 130 / .07);--shadow-pop: 0 10px 32px oklch(27% .04 150 / .16);--shadow-modal: 0 2px 6px oklch(25% .04 155 / .12), 0 28px 64px oklch(25% .04 155 / .3);--duration-fast: .12s;--duration-normal: .22s;--duration-slow: .38s;--ease-out: cubic-bezier(.16, 1, .3, 1);--focus-ring: 0 0 0 2px oklch(57% .103 80 / .4)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 420px at 50% -8%,oklch(99% .012 98 / .55),transparent 70%),repeating-linear-gradient(0deg,transparent 0px,transparent 3px,oklch(40% .04 130 / .012) 3px,oklch(40% .04 130 / .012) 4px),var(--paper-0);background-attachment:fixed;color:var(--ink-1);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p{margin:0}a{color:var(--vault);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--brass)}button{font:inherit;color:inherit}input,select,textarea{font:inherit}code,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}::selection{background:#9770244d}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--paper-3);border-radius:2px;border:2px solid var(--paper-0)}::-webkit-scrollbar-thumb:hover{background:var(--rule-strong)}.card{background:var(--paper-1);border:1px solid var(--rule);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:border-color var(--duration-normal) var(--ease-out)}.card:hover{border-color:#aaad99}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--rule)}.card-title{font-family:var(--font-display);font-size:15px;font-weight:580;letter-spacing:.01em}.card-body{padding:18px}.card-body.flush{padding:0}.card>p.muted{padding:14px 18px}.card>.form-error{margin:12px 14px}.kv{display:grid;grid-template-columns:110px 1fr;gap:5px 12px;font-size:var(--text-sm)}.kv dt{color:var(--ink-3);margin:0}.kv dd{margin:0;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--ink-3)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-error{border:1px solid oklch(44% .142 28 / .4);background:var(--danger-dim);color:var(--danger);border-radius:var(--radius-sm);padding:8px 10px;font-size:var(--text-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);display:flex;flex-direction:column;background:radial-gradient(420px 280px at 50% 108%,oklch(34% .06 168 / .5),transparent 70%),linear-gradient(180deg,var(--panel),var(--panel-deep));border-right:1px solid var(--panel-deep);box-shadow:inset -1px 0 #ffffff0f;z-index:30}.sidebar-logo{display:flex;align-items:center;gap:10px;height:var(--topbar-h);padding:0 16px;border-bottom:1px solid var(--panel-edge);color:var(--panel-text-bright);font-family:var(--font-display);font-size:17px;font-weight:560;letter-spacing:.015em}.logo-mark{display:inline-flex;flex:none;color:var(--brass-bright)}.logo-vault{color:var(--brass-bright);font-style:italic;font-weight:520}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--panel-raise);border-color:var(--panel)}.nav-group-label{padding:16px 10px 6px;font-size:10px;font-weight:640;letter-spacing:.2em;text-transform:uppercase;color:#9b8b5a;-webkit-user-select:none;user-select:none}.sidebar-nav>.nav-group-label:first-child{padding-top:2px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:var(--radius-sm);color:var(--panel-text);font-size:var(--text-base);font-weight:460;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.nav-item:hover{background:var(--panel-raise);color:var(--panel-text-bright);text-decoration:none}.nav-item.active{background:var(--paper-1);color:var(--ink-1);font-weight:560;box-shadow:0 1px 3px #00000040}.nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--brass)}.nav-item svg{flex:none;opacity:.72;transition:opacity var(--duration-fast) var(--ease-out)}.nav-item:hover svg{opacity:1}.nav-item.active svg{color:var(--vault);opacity:1}.sidebar-foot{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--panel-edge);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:#888966}.sidebar-foot:before{content:"";width:6px;height:6px;flex:none;transform:rotate(45deg);background:var(--brass-bright);animation:pulse-dot 2.6s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.main{flex:1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;height:var(--topbar-h);padding:0 28px;background:#f3efe3d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:3px double var(--rule-strong)}.topbar-lags{display:flex;align-items:center;gap:8px;overflow-x:auto;flex:1;min-width:0;scrollbar-width:none}.topbar-lags::-webkit-scrollbar{display:none}.lag-chip{display:inline-flex;align-items:center;gap:7px;flex:none;height:24px;padding:0 9px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper-1);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-2);transition:border-color var(--duration-fast) var(--ease-out)}.lag-chip:hover{border-color:var(--rule-strong)}.lag-chip .dot{width:5px;height:5px;transform:rotate(45deg)}.lag-chip.tone-ok .dot{background:var(--ok)}.lag-chip.tone-warn{border-color:#86540373;color:var(--warn)}.lag-chip.tone-warn .dot{background:var(--warn)}.lag-chip.tone-danger{border-color:#91272173;color:var(--danger)}.lag-chip.tone-danger .dot{background:var(--danger)}.topbar-user{display:flex;align-items:center;gap:10px;flex:none;font-size:var(--text-sm);color:var(--ink-2)}.page{padding:26px 32px 64px;display:flex;flex-direction:column;gap:18px;max-width:1480px;width:100%;animation:page-in var(--duration-slow) var(--ease-out)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--rule)}.page-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:560;letter-spacing:.01em}.page-sub{margin-top:4px;font-size:var(--text-sm);color:var(--ink-3)}.page-actions{display:flex;align-items:center;gap:8px}.filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.filters .spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--rule-strong);background:var(--paper-1);color:var(--ink-1);font-size:var(--text-base);font-weight:540;letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.btn:hover{background:var(--paper-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--vault);border-color:var(--vault-deep);color:#f8f5ec;font-weight:580;box-shadow:inset 0 1px #ffffff24,0 1px 2px #0034274d;box-shadow:inset 0 1px #ffffff24,0 1px 2px oklch(29% .058 170 / .3)}.btn-primary:hover{background:var(--vault-deep)}.btn-ghost{background:transparent;border-color:var(--rule-strong);color:var(--ink-2)}.btn-ghost:hover{background:var(--vault-wash);color:var(--ink-1)}.btn-danger{background:transparent;border-color:#91272173;color:var(--danger)}.btn-danger:hover{background:var(--danger-dim);border-color:var(--danger)}.btn-subtle{background:transparent;border-color:transparent;color:var(--ink-2)}.btn-subtle:hover{background:var(--paper-2);color:var(--ink-1)}.btn-sm{height:26px;padding:0 9px;font-size:var(--text-sm)}.btn-block{width:100%}.btn .spin{width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:1px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;border:1px solid color-mix(in oklch,currentColor 38%,transparent);background:color-mix(in oklch,currentColor 7%,transparent)}.badge .dot{width:5px;height:5px;flex:none;transform:rotate(45deg);background:currentColor}.badge.tone-ok{color:var(--ok)}.badge.tone-warn{color:var(--warn)}.badge.tone-danger{color:var(--danger)}.badge.tone-info{color:var(--info)}.badge.tone-neutral{color:var(--neutral)}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field-label{font-size:var(--text-sm);color:var(--ink-2)}.field-hint{font-size:var(--text-xs);color:var(--ink-3)}.input,.select,.textarea{height:32px;padding:0 10px;background:var(--paper-bright);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);color:var(--ink-1);min-width:0;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.textarea{height:auto;padding:8px 10px;resize:vertical}.input::placeholder,.textarea::placeholder{color:#858c7f}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-3)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brass);box-shadow:var(--focus-ring)}.select{appearance:none;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 14px) 14px,calc(100% - 10px) 14px;background-size:4px 4px;background-repeat:no-repeat;cursor:pointer}.toggle{position:relative;width:34px;height:19px;flex:none;border-radius:var(--radius-sm);border:1px solid var(--rule-strong);background:var(--paper-2);cursor:pointer;padding:0;transition:background var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}.toggle .knob{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:1px;background:var(--ink-3);transition:transform var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out)}.toggle.on{background:var(--vault);border-color:var(--vault-deep)}.toggle.on .knob{transform:translate(15px);background:var(--paper-1)}.toggle:disabled{opacity:.45;cursor:not-allowed}.checkbox{appearance:none;width:15px;height:15px;border:1px solid var(--rule-strong);border-radius:1px;background:var(--paper-bright);cursor:pointer;display:inline-grid;place-content:center;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.checkbox:hover{border-color:var(--vault)}.checkbox:checked{background:var(--vault);border-color:var(--vault-deep)}.checkbox:checked:before{content:"";width:8px;height:8px;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);background:var(--paper-1)}.modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:9vh 16px 16px;background:#0820166b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in var(--duration-fast) var(--ease-out);overflow-y:auto}.modal{width:100%;max-width:480px;background:var(--paper-1);border:1px solid var(--rule-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);animation:modal-in .3s var(--ease-out)}.modal.wide{max-width:680px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:3px double var(--rule-strong)}.modal-title{font-family:var(--font-display);font-size:16px;font-weight:580;letter-spacing:.01em}.modal-body{padding:18px;display:flex;flex-direction:column;gap:14px;max-height:64vh;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--rule);background:#efebdf99;border-radius:0 0 var(--radius-md) var(--radius-md)}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.985)}}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .span-2{grid-column:span 2}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--rule-strong)}.tab{position:relative;height:36px;padding:0 14px;background:none;border:none;color:var(--ink-3);font-size:var(--text-base);font-weight:540;letter-spacing:.02em;cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.tab:hover,.tab.active{color:var(--ink-1)}.tab.active:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:var(--vault)}.tab .count{margin-left:6px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--brass);font-weight:600}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.stat-card{position:relative;padding:18px 20px 16px;overflow:hidden;transition:border-color var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);animation:stat-in .48s var(--ease-out) backwards}.stat-grid .stat-card:nth-child(1){animation-delay:30ms}.stat-grid .stat-card:nth-child(2){animation-delay:80ms}.stat-grid .stat-card:nth-child(3){animation-delay:.13s}.stat-grid .stat-card:nth-child(4){animation-delay:.18s}.stat-grid .stat-card:nth-child(5){animation-delay:.23s}.stat-grid .stat-card:nth-child(6){animation-delay:.28s}@keyframes stat-in{0%{opacity:0;transform:translateY(8px)}}.stat-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-pop)}.stat-card:before{content:"";position:absolute;inset:4px;border:1px solid color-mix(in oklch,var(--rule) 60%,transparent);border-radius:1px;pointer-events:none}.stat-card:after{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--rule)}.stat-card.tone-ok:after{background:var(--ok)}.stat-card.tone-warn:after{background:var(--warn)}.stat-card.tone-danger:after{background:var(--danger)}.stat-label{font-size:10.5px;font-weight:620;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}.stat-value{margin-top:7px;font-family:var(--font-display);font-variant-numeric:lining-nums;font-size:31px;font-weight:560;line-height:1.1;letter-spacing:.01em;color:var(--ink-1)}.stat-card.tone-warn .stat-value{color:var(--warn)}.stat-card.tone-danger .stat-value{color:var(--danger)}.stat-sub{margin-top:5px;font-size:var(--text-xs);color:var(--ink-3)}.hash{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-2);background:none;border:none;padding:2px 4px;margin:-2px -4px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.hash:hover{background:var(--brass-wash);color:var(--ink-1)}.hash svg{opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.hash:hover svg{opacity:.7}.hash.copied{color:var(--ok)}.hash.copied svg{opacity:1}.secret-block{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--paper-bright);border:1px dashed var(--rule-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);word-break:break-all}.secret-block .grow{flex:1;min-width:0}.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:var(--text-base)}.tbl th{height:36px;padding:0 14px;text-align:left;font-size:10.5px;font-weight:640;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);border-bottom:3px double var(--rule-strong);white-space:nowrap}.tbl td{height:var(--row-h);padding:0 14px;border-bottom:1px solid var(--rule);white-space:nowrap;vertical-align:middle;max-width:320px;overflow:hidden;text-overflow:ellipsis}.tbl tbody tr{transition:background var(--duration-fast) var(--ease-out)}.tbl tbody tr:hover{background:color-mix(in oklch,var(--brass) 6%,transparent)}.tbl tbody tr:last-child td{border-bottom:none}.tbl tr.clickable{cursor:pointer}.tbl tr.selected{background:var(--brass-wash);box-shadow:inset 2px 0 0 var(--brass)}.tbl .right{text-align:right}.tbl .center{text-align:center}.tbl td.mono,.tbl .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.tbl .amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;font-weight:500}.tbl tr.expanded-row td{height:auto;padding:0;background:var(--paper-0);white-space:normal}.expanded-panel{padding:14px 16px;border-left:2px solid var(--vault);animation:fade-in var(--duration-normal) var(--ease-out)}.tbl-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:44px 16px;color:var(--ink-3);font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.02em}.tbl-state .hash{font-family:var(--font-mono)}.tbl-state.error{color:var(--danger);font-family:var(--font-sans);font-size:var(--text-sm)}.skl{display:block;height:12px;border-radius:2px;background:linear-gradient(100deg,var(--paper-2) 40%,var(--paper-3) 50%,var(--paper-2) 60%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-80% 0}}.pager{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--rule);font-size:var(--text-sm);color:var(--ink-3)}.pager .grow{flex:1}.pager .pg-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-2)}.pager button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:transparent;color:var(--ink-2);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.pager button:hover:not(:disabled){background:var(--vault-wash);border-color:var(--ink-3);color:var(--ink-1)}.pager button:disabled{opacity:.35;cursor:not-allowed}.login-screen{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(640px 420px at 50% -10%,oklch(99% .012 98 / .7),transparent 70%),radial-gradient(560px 420px at 88% 100%,oklch(57% .103 80 / .05),transparent 70%),var(--paper-0);overflow:hidden}.login-screen:before{content:"";position:absolute;inset:16px;border:1px solid var(--rule-strong);pointer-events:none;z-index:1}.login-screen:after{content:"";position:absolute;inset:21px;border:1px solid var(--rule);pointer-events:none;z-index:1}.login-watermark{position:absolute;right:-130px;bottom:-150px;color:var(--rule);opacity:.55;animation:watermark-spin 240s linear infinite;pointer-events:none}@keyframes watermark-spin{to{transform:rotate(360deg)}}.login-card{position:relative;z-index:2;width:404px;padding:42px 38px 34px;display:flex;flex-direction:column;gap:14px;background:var(--paper-1);border:1px solid var(--rule-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);animation:login-in .52s var(--ease-out)}.login-card:before{content:"";position:absolute;inset:6px;border:1px solid var(--rule);border-radius:1px;pointer-events:none}@keyframes login-in{0%{opacity:0;transform:translateY(12px) scale(.99)}}.login-logo{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:4px}.login-rosette{color:var(--brass)}.login-rosette circle{stroke-dasharray:100;stroke-dashoffset:100;animation:rosette-draw 1.5s var(--ease-out) .12s forwards}.login-rosette circle:nth-child(2n){animation-duration:2.1s}@keyframes rosette-draw{to{stroke-dashoffset:0}}.login-wordmark{font-family:var(--font-display);font-size:27px;font-weight:560;letter-spacing:.02em;color:var(--ink-1)}.login-wordmark .logo-vault{color:var(--vault)}.login-sub{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.login-sub:before,.login-sub:after{content:"";flex:1;height:1px;background:var(--rule)}.dash-section-title{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:10.5px;font-weight:640;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.dash-section-title:before{content:"";width:5px;height:5px;flex:none;transform:rotate(45deg);background:var(--brass)}.dash-section-title:after{content:"";flex:1;height:1px;background:var(--rule)}.lag-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.lag-val.tone-warn{color:var(--warn);font-weight:600}.lag-val.tone-danger{color:var(--danger);font-weight:600}.chain-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}.chain-card .card-head{align-items:flex-start}.chain-name{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.chain-name .key{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-3);border:1px solid var(--rule);border-radius:1px;padding:1px 6px;background:var(--paper-bright)}.rpc-result{font-family:var(--font-mono);font-size:var(--text-xs);padding:6px 10px;border-radius:var(--radius-sm);margin:0 18px 12px}.rpc-result.ok{color:var(--ok);background:var(--ok-dim);box-shadow:inset 0 0 0 1px #00593b40;box-shadow:inset 0 0 0 1px oklch(41% .092 162 / .25)}.rpc-result.err{color:var(--danger);background:var(--danger-dim);box-shadow:inset 0 0 0 1px #9127214d;white-space:normal;word-break:break-all}.chain-card .tbl th,.chain-card .tbl td{padding:0 9px}.chain-card .tbl th:first-child,.chain-card .tbl td:first-child{padding-left:18px}.chain-card .tbl th:last-child,.chain-card .tbl td:last-child{padding-right:18px}.chain-kv{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px;padding:13px 18px;border-bottom:1px solid var(--rule)}.chain-kv .item .k{font-size:var(--text-xs);color:var(--ink-3)}.chain-kv .item .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--ink-2);margin-top:2px;overflow:hidden;text-overflow:ellipsis}.detail-grid{display:grid;grid-template-columns:minmax(340px,5fr) minmax(420px,7fr);gap:16px;align-items:start}@media(max-width:1100px){.detail-grid{grid-template-columns:1fr}}.detail-col{display:flex;flex-direction:column;gap:16px;min-width:0}.count-chips{display:flex;gap:8px;flex-wrap:wrap}.count-chip{display:inline-flex;align-items:baseline;gap:6px;border:1px solid var(--rule);background:var(--paper-1);border-radius:var(--radius-sm);padding:5px 11px;font-size:var(--text-xs);color:var(--ink-3)}.count-chip b{font-family:var(--font-mono);font-size:var(--text-md);color:var(--ink-1);font-weight:600}.batch-bar{display:flex;align-items:center;gap:12px;padding:9px 14px;border:1px solid oklch(57% .103 80 / .5);background:var(--brass-wash);border-radius:var(--radius-sm);font-size:var(--text-sm);animation:fade-in var(--duration-fast) var(--ease-out)}.batch-bar .grow{flex:1}.payload-pre{margin:0;padding:12px;background:var(--paper-bright);border:1px solid var(--rule);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.6;color:var(--ink-2);white-space:pre-wrap;word-break:break-all;max-height:50vh;overflow:auto}.hw-balances{display:flex;flex-direction:column;gap:8px}.hw-bal-row{display:flex;align-items:center;gap:14px;font-family:var(--font-mono);font-size:var(--text-sm)}.hw-bal-row .chain{width:110px;color:var(--ink-3)}.hw-bal-row .tok{display:inline-flex;gap:5px;align-items:baseline}.hw-bal-row .tok .sym{color:var(--ink-3);font-size:var(--text-xs)}
