@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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+1F??}@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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Inter Variable", Inter, "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--ink-900:#101828;--ink-700:#344054;--ink-600:#475467;--ink-500:#667085;--ink-400:#98a2b3;--line:#eaecf0;--line-strong:#d0d5dd;--bg:#fff;--bg-subtle:#f9fafb;--bg-muted:#f2f4f7;--bg-hover:#fcfcfd;--primary:#2457d6;--primary-hover:#1c47b8;--primary-soft:#eff4ff;--ok-bg:#ecfdf3;--ok-fg:#067647;--ok-dot:#17b26a;--info-bg:#eff4ff;--info-fg:#1d4ed8;--info-dot:#2e6bf0;--warn-bg:#fffaeb;--warn-fg:#b54708;--warn-dot:#f79009;--err-bg:#fef3f2;--err-fg:#b42318;--err-dot:#f04438;--idle-bg:#f2f4f7;--idle-fg:#475467;--idle-dot:#98a2b3;--move-bg:#f4f3ff;--move-fg:#5925dc;--move-dot:#7a5af8;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow-lg:0 16px 32px -8px #1018282e, 0 4px 8px -4px #1018280f;--sidebar:248px;--gutter:40px;--tabbar:48px;--toolbar:64px}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink-900);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}kbd{font-family:var(--font-mono);color:var(--ink-600);border:1px solid var(--line);background:var(--bg-subtle);border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:11px;line-height:17px}.mono{font-family:var(--font-mono);letter-spacing:-.01em;font-size:.92em}.dim{color:var(--ink-500)}.strong{color:var(--ink-900);font-weight:500}.num{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.row.tight{gap:4px}.row.nowrap{flex-wrap:nowrap}.icon{vertical-align:-.15em;flex:none}.icon-dim{color:var(--ink-400)}.meta-line{color:var(--ink-600);gap:6px 16px;font-size:13px}.text-ok{color:var(--ok-fg)}.text-warn{color:var(--warn-fg)}.text-err{color:var(--err-fg)}.shell{min-height:100vh;display:flex}.main{flex:1;min-width:0}.sidebar{height:100vh;width:var(--sidebar);background:var(--bg-subtle);border-right:1px solid var(--line);z-index:50;flex-direction:column;flex:none;align-self:flex-start;gap:14px;padding:16px 12px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{color:var(--ink-900);align-items:center;gap:10px;padding:2px 6px 2px 8px;display:flex}.sidebar-brand:hover{color:var(--ink-900)}.brand-mark{background:var(--ink-900);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.brand-name{letter-spacing:-.01em;font-size:16px;font-weight:700}.brand-ver{font-family:var(--font-mono);color:var(--ink-500);margin-left:auto;font-size:11px}.sidebar-search{border:1px solid var(--line);width:100%;height:36px;color:var(--ink-500);font:inherit;cursor:pointer;text-align:left;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 8px 0 10px;font-size:13px;display:flex}.sidebar-search:hover{border-color:var(--line-strong)}.sidebar-search>span{flex:1}.sidebar-running{background:var(--info-bg);color:var(--info-fg);font:inherit;text-align:left;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.sidebar-running:hover{background:#e3ecff}.sidebar-running b{font-size:13px;font-weight:600;display:block}.sidebar-running small{color:#3559b8;white-space:nowrap;text-overflow:ellipsis;max-width:170px;font-size:12px;display:block;overflow:hidden}.pulse{background:var(--info-dot);border-radius:999px;flex:none;width:8px;height:8px;animation:1.6s ease-in-out infinite pulse;box-shadow:0 0 0 4px #2e6bf02e}@keyframes pulse{50%{box-shadow:0 0 0 7px #2e6bf00f}}.nav{flex-direction:column;gap:2px;display:flex}.nav-group{color:var(--ink-500);padding:14px 10px 6px;font-size:12px;font-weight:600}.nav-item{height:36px;color:var(--ink-600);border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-weight:500;display:flex}.nav-item:hover{background:var(--bg-muted);color:var(--ink-900)}.nav-item.active{color:var(--ink-900);box-shadow:0 1px 2px #1018280f, 0 0 0 1px var(--line);background:#fff}.nav-item>span:first-of-type{flex:1}.sidebar-foot{border:none;border-top:1px solid var(--line);font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;width:100%;margin-top:auto;padding:12px 6px 2px 8px;display:flex}.sidebar-foot:hover .who b{color:var(--primary)}.avatar{background:var(--ink-900);color:#fff;text-transform:uppercase;border-radius:999px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:600;display:flex}.who{flex:1;min-width:0;line-height:1.3}.who b{font-size:13px;font-weight:600;display:block}.who small{color:var(--ink-500);font-size:12px}.page-header{padding:24px var(--gutter) 0}.page-header.plain{border-bottom:1px solid var(--line);padding-bottom:22px}.crumbs{color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;display:flex}.crumbs a{color:var(--ink-600)}.crumbs a:hover{color:var(--ink-900)}.ph-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ph-main{min-width:0}.ph-title{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.ph-title h1{letter-spacing:-.015em;overflow-wrap:anywhere;margin:0;font-size:24px;font-weight:600;line-height:32px}.ph-title h1 .mono{letter-spacing:-.02em;font-size:22px}.ph-title h1 small{font-size:inherit;color:var(--ink-500);font-weight:500}.ph-meta{color:var(--ink-600);flex-wrap:wrap;align-items:center;gap:6px 20px;margin-top:10px;font-size:13px;display:flex}.ph-meta>span{align-items:center;gap:6px;display:inline-flex}.ph-meta .icon{color:var(--ink-400)}.ph-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tabbar-sentinel{height:1px;margin-top:15px}.tabbar{z-index:30;height:var(--tabbar);padding:0 var(--gutter);-webkit-backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--line);background:#fffffff0;align-items:center;gap:20px;transition:box-shadow .2s;display:flex;position:sticky;top:0}.tabbar.is-stuck{box-shadow:0 8px 16px -12px #1018284d}.page-tabs .tabbar>.ant-tabs-nav{flex:1;min-width:0;height:100%;margin:0}.tabbar>.ant-tabs-nav:before{display:none}.tabbar .ant-tabs-tab{font-weight:500}.tabbar .ant-tabs-tab+.ant-tabs-tab{margin-left:4px}.tabbar .ant-tabs-nav-wrap,.tabbar .ant-tabs-nav-list{height:100%}.tab-label{align-items:center;gap:6px;display:inline-flex}.tb-title{opacity:0;white-space:nowrap;align-items:center;gap:8px;max-width:0;margin-right:-20px;font-weight:600;transition:max-width .25s,opacity .2s,margin .25s;display:flex;overflow:hidden}.is-stuck .tb-title{opacity:1;max-width:380px;margin-right:0}.tb-actions{opacity:0;visibility:hidden;gap:8px;transition:opacity .2s,visibility .2s;display:flex}.is-stuck .tb-actions{opacity:1;visibility:visible}.page-body{padding:28px var(--gutter) 96px;max-width:1440px}.page-body.flush-top{padding-top:20px}.toolbar{z-index:20;min-height:var(--toolbar);padding:14px var(--gutter);border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:sticky;top:0}.toolbar-grow{flex:1}.toolbar-note{color:var(--ink-500);font-size:13px}.stack{flex-direction:column;gap:24px;min-width:0;display:flex}.stack.tight{gap:16px}.cols{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:24px;display:grid}@media (width<=1240px){.cols{grid-template-columns:minmax(0,1fr)}}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:34px;margin-bottom:14px;display:flex}.section-title{align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600;display:flex}.section-desc{color:var(--ink-500);margin-top:2px;font-size:13px}.status{white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:6px;height:22px;padding:0 8px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.status:before{content:"";background:var(--dot);border-radius:999px;flex:none;width:6px;height:6px}.status.lg{height:26px;padding:0 10px;font-size:13px}.tone-ok{--dot:var(--ok-dot);background:var(--ok-bg);color:var(--ok-fg)}.tone-info{--dot:var(--info-dot);background:var(--info-bg);color:var(--info-fg)}.tone-warn{--dot:var(--warn-dot);background:var(--warn-bg);color:var(--warn-fg)}.tone-err{--dot:var(--err-dot);background:var(--err-bg);color:var(--err-fg)}.tone-idle{--dot:var(--idle-dot);background:var(--idle-bg);color:var(--idle-fg)}.tone-move{--dot:var(--move-dot);background:var(--move-bg);color:var(--move-fg)}a.status:hover{filter:brightness(.97)}.dot{background:var(--dot);border-radius:999px;flex:none;width:7px;height:7px;display:inline-block}.count{background:var(--bg-muted);color:var(--ink-600);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 7px;font-size:12px;font-weight:600;line-height:20px;display:inline-block}.count.tone-warn{background:#fef0c7}.count.tone-info{background:#dbe6ff}.count.tone-err{background:#fee4e2}.tab-label .count,.ant-segmented .count{padding:0 6px;font-weight:500;line-height:18px}.ant-segmented-item-selected .count{background:var(--bg-muted)}.chip{color:var(--ink-600);background:var(--bg-muted);white-space:nowrap;vertical-align:middle;border-radius:6px;align-items:center;gap:4px;max-width:100%;padding:0 7px;font-size:12px;font-weight:500;line-height:20px;display:inline-flex}.chip.mono{font-size:11.5px}.chip.tone-ok{background:var(--ok-bg);color:var(--ok-fg)}.chip.tone-info{background:var(--info-bg);color:var(--info-fg)}.chip.tone-warn{background:var(--warn-bg);color:var(--warn-fg)}.chip.tone-err{background:var(--err-bg);color:var(--err-fg)}.chip.tone-move{background:var(--move-bg);color:var(--move-fg)}a.chip:hover{color:var(--ink-900);background:var(--line)}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ident{align-items:center;gap:2px;min-width:0;max-width:100%;display:inline-flex}.ident .ant-typography-copy{color:var(--ink-400);margin-inline-start:2px}.ident .ant-typography-copy:hover{color:var(--ink-700)}.inst-name{white-space:nowrap;font-family:var(--font-mono);letter-spacing:-.01em;color:var(--ink-900);font-size:.92em;font-weight:500;display:inline}a.inst-name:hover{color:var(--primary)}.inst-name .at{color:var(--ink-500);font-weight:400}.hint-icon{color:var(--ink-400);cursor:help;vertical-align:-.15em;display:inline-flex}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;overflow:clip}.panel-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;min-height:52px;padding:10px 18px;display:flex}.panel-title{align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.panel-extra{align-items:center;gap:8px;font-size:13px;display:flex}.panel-body{padding:18px}.panel-foot{border-top:1px solid var(--line);color:var(--ink-600);background:var(--bg-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;font-size:13px;display:flex}.panel>.code-block{background:var(--bg-subtle);border:0;border-radius:0;padding:14px 18px}.panel-alert{border-bottom:1px solid var(--line);background:var(--err-bg);color:var(--err-fg);padding:9px 18px;font-size:13px;line-height:1.6}.panel>.ant-table-wrapper .ant-table,.panel>.ant-table-wrapper .ant-table-container{border-radius:0}.panel>.ant-table-wrapper .ant-table-tbody>tr:last-child>td{border-bottom:none}.panel>.ant-table-wrapper .ant-table-pagination{padding:0 16px}.panel-head+.ant-table-wrapper .ant-table-thead>tr>th{border-radius:0!important}.facts{grid-template-columns:minmax(84px,max-content) minmax(0,1fr);gap:12px 20px;margin:0;display:grid}.facts dt{color:var(--ink-500);white-space:nowrap;padding-top:1px;font-size:13px}.facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.facts.wide{grid-template-columns:minmax(84px,max-content) minmax(0,1fr) minmax(84px,max-content) minmax(0,1fr)}@media (width<=900px){.facts.wide{grid-template-columns:minmax(84px,max-content) minmax(0,1fr)}}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.stat{border:1px solid var(--line);color:inherit;border-radius:10px;min-width:0;padding:14px 16px}a.stat:hover{color:inherit;border-color:var(--line-strong)}.stat-label{color:var(--ink-500);font-size:12.5px}.stat-value{letter-spacing:-.01em;align-items:center;gap:8px;min-height:30px;margin-top:4px;font-size:20px;font-weight:600;display:flex}.stat-sub{color:var(--ink-600);margin-top:2px;font-size:12.5px}.empty{text-align:center;color:var(--ink-500);padding:32px 16px;font-size:13px}.empty-action{margin-top:12px}.fbrowser{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-rows:1fr auto;grid-template-columns:264px minmax(0,1fr);display:grid;overflow:clip}.fbrowser.single{grid-template-columns:minmax(0,1fr)}.fb-side,.fb-main{grid-row:span 2;grid-template-rows:subgrid;min-width:0;display:grid}.fb-side>:only-child,.fb-main>:only-child{grid-row:span 2}.fb-col{flex-direction:column;min-width:0;display:flex}.fb-side{background:var(--bg-subtle);border-right:1px solid var(--line)}.fb-side-head,.fb-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px 12px;min-height:52px;display:flex}.fb-side-head{padding:8px 10px 8px 16px}.fb-head{flex-wrap:wrap;padding:8px 12px 8px 18px}.fb-side-title,.fb-path{align-items:center;gap:8px;min-width:0;margin:0;font-size:14px;font-weight:600;display:flex}.fb-path .mono{overflow-wrap:anywhere;font-size:13.5px}.fb-dir{color:var(--ink-500);font-weight:400}.fb-base{color:var(--ink-900)}.fb-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fb-tree{flex:1;padding:8px}.fb-strip{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:9px 18px;font-size:13px;display:flex}.fb-body{flex:1;min-height:0}.fb-foot{border-top:1px solid var(--line);color:var(--ink-500);background:var(--bg-subtle);padding:10px 18px 12px;font-size:12.5px;line-height:1.6}.fb-side>.fb-foot{padding-inline:16px}.fb-icon{color:var(--ink-400);flex:none}.editor-loading{justify-content:center;align-items:center;display:flex}.fb-path .fb-icon{color:var(--ink-500)}.fb-refs.ant-collapse{border-bottom:1px solid var(--line);border-radius:0}.fb-refs>.ant-collapse-item>.ant-collapse-header{color:var(--ink-600);font-size:13px;padding:9px 18px!important}.fb-refs>.ant-collapse-item>.ant-collapse-panel>.ant-collapse-body{padding:0 18px 12px!important}.fb-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:40px 24px;display:flex}.fb-empty-icon{background:var(--bg-muted);width:44px;height:44px;color:var(--ink-500);border-radius:12px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.fb-empty-title{font-weight:600}.fb-empty-text{max-width:480px;color:var(--ink-500);margin-top:6px;font-size:13px;line-height:1.6}.fb-empty-action{margin-top:18px}.fb-tree .ant-tree{background:0 0}.fb-tree .ant-tree-node-content-wrapper{align-items:center;min-width:0;display:flex}.fb-tree .ant-tree-title{flex:1;min-width:0}.fb-tree .ant-tree.flat .ant-tree-switcher{display:none}.fb-node{align-items:center;gap:7px;min-width:0;display:flex}.fb-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);color:var(--ink-700);flex:1;font-size:12.5px;overflow:hidden}.fb-name.dim{color:var(--ink-400)}.fb-tags{flex:none;gap:4px;display:flex}.fb-tree .ant-tree-node-selected .fb-name{color:var(--ink-900);font-weight:500}.fb-tree .ant-tree-node-selected .fb-icon{color:var(--primary)}@media (width<=900px){.fbrowser{grid-template-columns:minmax(0,1fr)}.fb-side{border-right:none;border-bottom:1px solid var(--line)}}.tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.tile{border:1px solid var(--line);color:inherit;box-shadow:var(--shadow-xs);background:#fff;border-radius:12px;flex-direction:column;gap:14px;padding:20px;transition:border-color .15s,box-shadow .15s;display:flex}.tile:hover{color:inherit;border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.tile-label{color:var(--ink-600);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.tile-label .arrow{color:var(--ink-400);margin-left:auto}.tile-value{align-items:baseline;gap:6px;display:flex}.tile-value b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:36px}.tile-value span{color:var(--ink-500);font-size:13px}.bar{background:var(--bg-muted);border-radius:999px;gap:2px;height:6px;display:flex;overflow:hidden}.bar>span{background:var(--dot)}.legend{color:var(--ink-600);flex-wrap:wrap;gap:4px 14px;font-size:12.5px;display:flex}.legend>span{align-items:center;gap:6px;display:inline-flex}.todo{border-top:1px solid var(--line);align-items:center;gap:14px;padding:14px 18px;display:flex}.todo:first-child{border-top:none}.todo-icon{border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.todo-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.todo-name{font-family:var(--font-mono);color:var(--ink-900);overflow-wrap:anywhere;font-size:13.5px;font-weight:500}a.todo-name:hover{color:var(--primary)}.todo-text{color:var(--ink-600);font-size:13px}.todo-time{color:var(--ink-500);white-space:nowrap;text-align:right;min-width:64px;font-size:12.5px}.mini-row{border-top:1px solid var(--line);color:inherit;flex-direction:column;gap:4px;padding:12px 16px;display:flex}.mini-row:first-child{border-top:none}a.mini-row:hover{background:var(--bg-subtle);color:inherit}.progress{background:var(--bg-muted);border-radius:999px;height:6px;display:flex;overflow:hidden}.progress>span{background:var(--info-dot);border-radius:999px;transition:width .4s}.timeline{margin:0;padding:0;list-style:none}.timeline li{gap:12px;padding:0 0 18px;display:flex;position:relative}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";background:var(--line);width:2px;position:absolute;top:18px;bottom:0;left:5px}.timeline li:last-child:before{display:none}.tl-dot{background:var(--dot);width:12px;height:12px;box-shadow:0 0 0 1px var(--dot);border:2px solid #fff;border-radius:999px;flex:none;margin-top:5px}.tl-main{flex:1;min-width:0}.tl-title{flex-wrap:wrap;align-items:center;gap:8px;font-weight:500;display:flex}.tl-sub{color:var(--ink-500);overflow-wrap:anywhere;margin-top:2px;font-size:12.5px}.stages{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.stages li{color:var(--ink-500);align-items:center;gap:10px;padding:7px 0;font-size:13.5px;display:flex}.stages .st{border:2px solid var(--line-strong);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.stages li.done{color:var(--ink-900)}.stages li.done .st{border-color:var(--ok-dot);background:var(--ok-dot)}.stages li.failed{color:var(--err-fg);font-weight:500}.stages li.failed .st{border-color:var(--err-dot);background:var(--err-dot)}.stages li.running{color:var(--ink-900);font-weight:500}.stages li.running .st{border-color:var(--info-dot);border-top-color:#0000;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.stages .dur{color:var(--ink-500);margin-left:auto;font-size:12.5px;font-weight:400}.callout{color:var(--ink-900);border:1px solid;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;display:flex}.callout.tone-err{background:var(--err-bg);color:var(--ink-900);border-color:#fecdca}.callout.tone-warn{background:var(--warn-bg);color:var(--ink-900);border-color:#fedf89}.callout.tone-info{background:var(--info-bg);color:var(--ink-900);border-color:#c7d7fe}.callout.tone-move{background:var(--move-bg);color:var(--ink-900);border-color:#d9d6fe}.callout.tone-ok{background:var(--ok-bg);color:var(--ink-900);border-color:#abefc6}.callout.tone-idle{background:var(--bg-subtle);border-color:var(--line);color:var(--ink-900)}.callout-icon{color:var(--dot);flex:none;align-self:flex-start;margin-top:1px}.callout-body{flex:1;min-width:0}.callout-title{font-weight:600}.callout-text{color:var(--ink-700);overflow-wrap:anywhere;margin-top:2px;font-size:13px}.callout-actions{flex-wrap:wrap;gap:8px;display:flex}.code-block{border:1px solid var(--line);background:var(--bg-hover);font-family:var(--font-mono);white-space:pre;color:var(--ink-900);border-radius:10px;margin:0;padding:12px 14px;font-size:12.5px;line-height:1.7;overflow:auto}.diff-view{border:1px solid var(--line);background:var(--bg-hover);font-family:var(--font-mono);border-radius:10px;margin:0;padding:8px 0;font-size:12.5px;line-height:1.7;overflow-x:auto}.diff-view>div{white-space:pre;padding:0 14px}.diff-view .meta{color:var(--ink-500)}.diff-view .add{background:var(--ok-bg);color:var(--ok-fg)}.diff-view .del{background:var(--err-bg);color:var(--err-fg)}.log-wrap{position:relative}.log-jump.ant-btn{box-shadow:var(--shadow-sm);position:absolute;bottom:14px;right:18px}.log-view{color:#d0d5dd;font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:#0c111d;border-radius:10px;margin:0;padding:12px 14px;font-size:12px;line-height:1.7;overflow:auto}.log-view:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.log-view mark{color:var(--ink-900);background:#fdb022;border-radius:2px;padding:0 1px}.log-time{color:var(--ink-500)}.log-stage{color:#75e0a7}.log-stderr{color:#fda29b}.log-system{color:#7cd4fd}.log-bar{color:var(--ink-500);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.savebar{left:calc(50% + var(--sidebar) / 2);max-width:calc(100vw - var(--sidebar) - 32px);background:var(--ink-900);color:#fff;box-shadow:var(--shadow-lg);z-index:40;border-radius:12px;align-items:center;gap:12px;padding:8px 8px 8px 18px;font-size:13.5px;animation:.2s rise;display:flex;position:fixed;bottom:24px;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translate(-50%,16px)}}.savebar-text{white-space:nowrap}.savebar-problem{color:#fda29b;white-space:nowrap}.savebar-sep{background:#ffffff29;width:1px;height:20px}.savebar .ant-btn-text{color:#d0d5dd}.savebar .ant-btn-text:not(:disabled):hover{color:#fff;background:#ffffff14}.savebar .ant-btn-primary:disabled{color:#fff6;background:#ffffff1f;border-color:#0000}.palette .ant-modal-container{padding:0;overflow:hidden}.palette-input{border-bottom:1px solid var(--line);height:56px;color:var(--ink-500);align-items:center;gap:10px;padding:0 16px;display:flex}.palette-input input{font:inherit;height:100%;color:var(--ink-900);background:0 0;border:none;outline:none;flex:1;font-size:15px}.palette-list{max-height:400px;margin:0;padding:6px;list-style:none;overflow:auto}.palette-group{color:var(--ink-500);padding:10px 10px 4px;font-size:12px;font-weight:500}.palette-item{cursor:pointer;height:40px;color:var(--ink-700);border-radius:8px;align-items:center;gap:10px;padding:0 10px;display:flex}.palette-item[aria-selected=true]{background:var(--bg-muted);color:var(--ink-900)}.palette-item .palette-hint{color:var(--ink-500);margin-left:auto;font-size:12.5px}.palette-foot{border-top:1px solid var(--line);color:var(--ink-500);background:var(--bg-subtle);gap:16px;padding:10px 16px;font-size:12px;display:flex}.form-sections{flex-direction:column;max-width:960px;display:flex}.fsec{border-top:1px solid var(--line);padding:28px 0}.fsec:first-child{border-top:none;padding-top:0}.fsec-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.fsec-title{margin:0;font-size:15px;font-weight:600}.fsec-desc{color:var(--ink-500);margin-top:2px;font-size:13px}.fgrid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;display:grid}.fgrid>.span-2{grid-column:1/-1}@media (width<=900px){.fgrid{grid-template-columns:minmax(0,1fr)}}.minor-title{color:var(--ink-700);align-items:center;gap:6px;margin:0 0 8px;font-size:13px;font-weight:600;display:flex}.switches{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 20px;display:grid}.switches>label{cursor:pointer;align-items:center;gap:10px;display:flex}.config-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.valid{color:var(--ok-fg);align-items:center;gap:6px;font-size:13px;display:inline-flex}.invalid{color:var(--err-fg);align-items:center;gap:6px;font-size:13px;display:inline-flex}.sub-row{border-top:1px solid var(--line);align-items:center;gap:14px;padding:12px 16px;display:flex}.sub-row:first-child{border-top:none}.login{isolation:isolate;background:var(--bg-subtle);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex;position:relative;overflow:hidden}.login:before{content:"";z-index:-1;background-image:radial-gradient(circle,#10182824 1px,#0000 1.4px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(72% 64% at 50% 46%,#000 25%,#0000 78%);mask-image:radial-gradient(72% 64% at 50% 46%,#000 25%,#0000 78%)}.login:after{content:"";z-index:-2;background:radial-gradient(560px 380px at 28% 22%,#2457d621,#0000 70%),radial-gradient(520px 360px at 74% 80%,#7a5af81a,#0000 70%);position:absolute;inset:0}.login-panel{width:100%;max-width:400px}.login-card{-webkit-backdrop-filter:blur(12px)saturate(160%);backdrop-filter:blur(12px)saturate(160%);background:#ffffffe0;border:1px solid #10182814;border-radius:16px;padding:40px 36px 32px;box-shadow:0 1px 2px #1018280a,0 24px 48px -16px #10182833}.login-head{text-align:center;flex-direction:column;align-items:center;margin-bottom:28px;display:flex}.login-mark{color:#fff;background:linear-gradient(150deg, #24314f, var(--ink-900));border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:18px;display:flex;box-shadow:0 10px 22px -8px #10182880,inset 0 1px #ffffff24}.login-title{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:600}.login-sub{color:var(--ink-500);margin:6px 0 0}.login-card .ant-form-item{margin-bottom:16px}.login-card .ant-btn{margin-top:8px}.login-foot{color:var(--ink-400);justify-content:center;gap:6px;margin:20px 0 0;font-size:12.5px;display:flex}@media (width<=480px){.login-card{padding:32px 22px 24px}}.ant-table-wrapper .ant-table-thead>tr>th{white-space:nowrap;font-size:12.5px;font-weight:500}.ant-table-wrapper .ant-table-thead>tr>th:before{display:none}.ant-btn .icon{vertical-align:0}.ant-dropdown-menu-item .icon,.ant-btn .icon{flex:none}.ant-modal .ant-modal-title{font-weight:600}.ant-drawer .ant-drawer-title{min-width:0;font-size:16px;font-weight:600}.drawer-title{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.ant-alert{border-radius:10px}.ant-form-item-extra{font-size:12.5px}.ant-typography code{font-family:var(--font-mono);background:var(--bg-muted);border:none;border-radius:4px;padding:.1em .4em;font-size:.88em}@media (width<=900px){:root{--sidebar:0px;--gutter:16px}.shell{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--line);width:auto;height:auto;position:static}.nav-group{display:none}.nav{flex-flow:wrap}.sidebar-foot{margin-top:0}.toolbar{position:static}}
