@font-face{font-family:'Baloo 2';font-style:normal;font-display:swap;font-weight:100 900;unicode-range:U+0020,U+004C,U+0053,U+0064,U+0069,U+006D,U+006F,U+0074,U+0075;src:url(data:font/woff2;base64,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) format('woff2');}
:root{
color-scheme:dark;--text-primary:#e2e2e3;--text-secondary:#b7b7bb;--text-muted:#a1a1aa;--text-subtle:#787880;--text-disabled:#65656b;--text-inverse:#fff;--text-rgb:226,226,227;--bg:#1b1b1f;--browser-theme-color:#1e1e1e;--text:var(--text-primary);--line:#2e2e32;--panel-bg:#202127;--highlight-surface:#2a2a2f;--highlight:var(--highlight-surface);--hover-highlight:#fff;--hover-highlight-soft:rgba(255,255,255,.12);--hover-highlight-border:rgba(255,255,255,.68);--hover-highlight-overlay:rgba(255,255,255,.14);--footer-border:var(--line);--accent:#05A5A6;--accent-soft:rgba(5,165,166,.12);--accent-glow:rgba(5,165,166,.2);--focus-ring:var(--accent);--danger:#f43f5e;--danger-strong:#ff4757;--danger-soft:rgba(255,71,87,.12);--success:#4ade80;--success-soft:rgba(34,197,94,.13);--info:#60a5fa;--info-soft:rgba(59,130,246,.13);--warning:#fbbf24;--warning-soft:rgba(245,158,11,.13);--purple:#c084fc;--purple-soft:rgba(168,85,247,.16);--status-down:#dc2626;--status-pending:#d97706;--shadow-soft:rgba(0,0,0,.15);--ease-out:cubic-bezier(.23,1,.32,1);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--ls-scale:.65;--switch-icon:#dfdfd6;--switch-shadow:0 1px 3px var(--shadow-panel);--shadow-panel:rgba(0,0,0,.35);--muted:var(--text-muted);--up:var(--accent);--down:var(--status-down);--pending:var(--status-pending)
}
html[lang^="en"]{--ls-scale:.3}
.light-mode{color-scheme:light;--text-primary:#1f2328;--text-secondary:#45474c;--text-muted:#6b7280;--text-subtle:#858b94;--text-disabled:#9ca3af;--text-inverse:#fff;--text-rgb:31,35,40;--bg:#fff;--browser-theme-color:#fff;--text:var(--text-primary);--line:#e2e2e3;--panel-bg:#f6f6f7;--highlight-surface:#f2f2f3;--highlight:var(--highlight-surface);--footer-border:var(--line);--switch-icon:#67676c;--shadow-soft:rgba(0,0,0,.15);--switch-shadow:0 1px 2px var(--shadow-soft);--muted:var(--text-muted)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0;width:100%}
body{background:var(--bg);color:var(--text);font:500 15px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}

/* Header rules equivalent to the main site navigation and VitePress mobile screen. */
.site-nav{position:fixed;top:0;left:0;width:100%;height:70px;z-index:100;background:var(--bg)}
@media(min-width:768px){.site-nav{height:100px}}
.nav-inner{display:flex;align-items:center;width:100%;max-width:80rem;height:100%;margin:0 auto;padding:0 20px}
@media(min-width:768px){.nav-inner{padding:0 2rem}}
.nav-brand-link{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.nav-brand-logo{display:block;width:64px;height:64px;object-fit:contain}
.nav-brand{font-family:'Baloo 2',ui-rounded,system-ui,sans-serif;font-weight:700;line-height:1;font-size:1.125rem;letter-spacing:.05em;color:var(--text)}
@media(min-width:768px){.nav-brand{font-size:1.5rem}}
@media(max-width:767px){.nav-brand-logo{width:48px;height:48px}}
.nav-right{display:flex;align-items:center;margin-left:auto}
.global-nav{display:none;align-items:center}
@media(min-width:768px){.global-nav{display:flex}}
.global-nav a{display:inline-flex;align-items:center;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;color:var(--text);transition:color 200ms var(--ease-out);-webkit-font-smoothing:antialiased;white-space:nowrap}
.global-nav a.active,.global-nav a:hover{color:var(--accent)}
.nav-external{display:inline-block;margin-left:4px;width:11px;height:11px;flex-shrink:0;opacity:.45}
.nav-divider{display:none;width:1px;height:24px;background:var(--line);margin:0 12px;flex-shrink:0}
@media(min-width:768px){.nav-divider{display:block}}
.nav-divider-lang-theme{display:block}
.nav-divider-mobile{display:none}
.icon-btn,.theme-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:none;background:none;cursor:pointer;color:var(--text);opacity:.75;text-decoration:none;transition:transform 200ms var(--ease-out),background 200ms var(--ease-out),opacity 200ms var(--ease-out)}
.icon-btn:active,.theme-btn:active{transform:scale(.92)}
.nav-social-link svg{width:18px;height:18px;fill:currentColor}
@media(hover:hover) and (pointer:fine){.icon-btn:hover,.theme-btn:hover{background:var(--highlight);opacity:1}}
.lang-toggle{position:relative;display:flex;align-items:center}
.lang-btn{display:flex;align-items:center;padding:0 12px;height:36px;border:none;background:none;cursor:pointer;color:var(--text);transition:color 200ms var(--ease-out)}
@media(hover:hover) and (pointer:fine){.lang-btn:hover{color:var(--accent)}}
.lang-icon{width:16px;height:16px}
.lang-chevron{width:14px;height:14px;margin-left:4px;opacity:.6}
.appearance-switch{position:relative;display:block;width:40px;height:22px;flex-shrink:0;padding:0;border:1px solid var(--line);border-radius:11px;background:var(--highlight);cursor:pointer;transition:border-color 200ms var(--ease-out),background-color 200ms var(--ease-out)}
@media(hover:hover) and (pointer:fine){.appearance-switch:hover{border-color:var(--accent)}}
.appearance-check{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background:var(--bg);box-shadow:var(--switch-shadow);transform:translateX(18px);transition:transform 250ms var(--ease-out)}
.appearance-icon{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}
.appearance-icon svg{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--switch-icon);transition:opacity 250ms var(--ease-out)}
.appearance-icon .sun{opacity:0}
.appearance-icon .moon{opacity:1}
.light-mode .appearance-icon .sun{opacity:1}
.light-mode .appearance-icon .moon{opacity:0}
.light-mode .appearance-check{transform:translateX(0)}
.nav-mobile-menu{position:relative;display:flex;align-items:center}
@media(min-width:768px){.nav-mobile-menu{display:none}}
.nav-menu-button{position:relative;z-index:1;width:48px;height:70px}
.nav-menu-button svg{width:18px;height:18px}
.nav-hamburger{position:relative;display:block;width:16px;height:14px;overflow:hidden}
.nav-hamburger>span{position:absolute;left:0;width:16px;height:2px;background:currentColor;transition:top 250ms var(--ease-out),background-color 500ms var(--ease-out),transform 250ms var(--ease-out)}
.nav-hamburger .top{top:0;transform:translateX(0)}
.nav-hamburger .middle{top:6px;transform:translateX(8px)}
.nav-hamburger .bottom{top:12px;transform:translateX(4px)}
.nav-menu-button.active .nav-hamburger .top{top:6px;transform:translateX(0) rotate(225deg)}
.nav-menu-button.active .nav-hamburger .middle{top:6px;transform:translateX(16px)}
.nav-menu-button.active .nav-hamburger .bottom{top:6px;transform:translateX(0) rotate(135deg)}
@media(hover:hover) and (pointer:fine){.nav-menu-button:not(.active):hover .nav-hamburger .top{top:0;transform:translateX(4px)}.nav-menu-button:not(.active):hover .nav-hamburger .middle{top:6px;transform:translateX(0)}.nav-menu-button:not(.active):hover .nav-hamburger .bottom{top:12px;transform:translateX(8px)}}
.lang-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:132px;padding:4px;z-index:200;background:var(--panel-bg);border:1px solid var(--line);border-radius:var(--radius-md);opacity:0;visibility:hidden;transform:translateY(-4px) scale(.92);transform-origin:top right;transition:opacity 150ms var(--ease-out),transform 150ms var(--ease-out),visibility 150ms;box-shadow:0 8px 28px var(--shadow-soft)}
.lang-menu.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.theme-option{display:block;padding:8px 14px;margin:2px 0;border-radius:var(--radius-sm);font-size:12px;font-weight:600;letter-spacing:calc(.05em*var(--ls-scale));cursor:pointer;white-space:nowrap;text-decoration:none;opacity:.5;color:var(--text);transition:background 150ms var(--ease-out)}
.theme-option.selected{opacity:1;background:var(--highlight)}
@media(hover:hover) and (pointer:fine){.theme-option:hover{opacity:1;background:var(--highlight)}}
.lang-flag{margin-right:6px}
.nav-screen{position:fixed;inset:0;z-index:99;padding:calc(70px + 1px) 2rem 0;width:100%;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);pointer-events:none;opacity:0;visibility:hidden;transition:opacity 250ms ease,visibility 0s linear 250ms,background-color 250ms ease}
.nav-screen.open{pointer-events:auto;opacity:1;visibility:visible;transition:opacity 250ms ease,visibility 0s,background-color 250ms ease}
.nav-screen-container{max-width:18rem;margin:0 auto;padding:1.5rem 0 6rem;transform:translateY(-.5rem);transition:transform 250ms ease}
.nav-screen.open .nav-screen-container{transform:translateY(0)}
.nav-screen-links{display:block}
.nav-screen-link{display:block;border-bottom:1px solid var(--line);padding:.75rem 0 .6875rem;line-height:1.7142857;color:var(--text);font-size:.875rem;font-weight:500;text-decoration:none;transition:color 250ms var(--ease-out),border-color 250ms var(--ease-out)}
.nav-screen-link.active,.nav-screen-link:hover{color:var(--accent)}
.nav-screen-translations{margin-top:1.5rem}
.nav-screen-language-toggle{display:flex;align-items:center;width:100%;padding:0;border:0;background:none;color:var(--text);text-align:left;font:inherit;font-size:.875rem;font-weight:500;cursor:pointer}
.nav-screen-language-icon{width:1rem;height:1rem;margin-right:.5rem}
.nav-screen-chevron{width:1rem;height:1rem;margin-left:.25rem;transition:transform 250ms var(--ease-out)}
.nav-screen-translations.open .nav-screen-chevron{transform:rotate(-90deg)}
.nav-screen-language-list{margin:0;padding:.25rem 0 0 1.5rem;max-height:0;overflow:hidden;opacity:0;transition:max-height 250ms var(--ease-out),opacity 180ms var(--ease-out)}
.nav-screen-language-list.open{max-height:12rem;opacity:1}
.nav-screen-language-list li{list-style:none}
.nav-screen-language-option{display:block;line-height:2.4615385;font-size:.8125rem;color:var(--text);text-decoration:none;opacity:.75}
.nav-screen-language-option.selected,.nav-screen-language-option:hover{color:var(--accent);opacity:1}
.nav-screen-appearance{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;border-radius:.5rem;padding:.75rem 1rem;background:var(--panel-bg)}
.nav-screen-appearance-label{color:var(--text-secondary);font-size:.875rem;font-weight:500;line-height:2}
.nav-screen-socials{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem}
.nav-screen-social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text);opacity:.55;transition:opacity 200ms var(--ease-out),color 200ms var(--ease-out)}
.nav-screen-social-link svg{width:24px;height:24px;fill:currentColor}
.nav-screen-social-link:hover{opacity:1}
@media(min-width:768px){.nav-screen{display:none}}
@media(max-width:767px){.nav-divider,.nav-divider.nav-divider-lang-theme,.nav-desktop-language,.nav-right>.appearance-switch,.nav-desktop-social{display:none}.nav-brand{font-size:1.125rem}}
html.nav-screen-open,html.nav-screen-open body{overflow:hidden}
@media(prefers-reduced-motion:reduce){.nav-screen,.nav-screen-container,.nav-hamburger>span,.nav-screen-chevron,.nav-screen-language-list{transition:none}}

/* Footer (equivalent CSS for _footer.html) */
.global-footer{position:fixed;bottom:0;left:0;width:100%;z-index:90;border-top:1px solid var(--footer-border);background:var(--bg);display:flex;align-items:center;justify-content:center}
.footer-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:1.25rem 0;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));color:inherit;text-decoration:none}
.footer-text{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;row-gap:.45em;column-gap:0;padding-inline:1rem;font-size:10px;font-weight:600;letter-spacing:calc(.15em*var(--ls-scale));opacity:.5;text-align:center;line-height:1}
.footer-text>span,.footer-text>a{white-space:nowrap}
.footer-text>.footer-item{display:inline-block}
.footer-text>.footer-item:not(:first-child)::before{content:"\00b7";margin:0 .55em;opacity:.7}
@media(max-width:559px){.footer-text>.footer-copyright{flex:0 0 100%;white-space:nowrap}.footer-text>.footer-copyright+.footer-item::before{content:none}}
.footer-brand-logo{display:inline-block;width:1.6em;height:1.6em;margin-inline-start:.25em;object-fit:contain;vertical-align:-.3em}
.footer-source-link{color:inherit;text-decoration:underline;white-space:nowrap}

/* Status content */
.status-main{max-width:880px;margin:0 auto;padding:96px 20px 110px}
@media(min-width:768px){.status-main{padding-top:132px}}
h1{font-size:28px;margin:0 0 6px}
.sub{color:var(--muted);margin:0 0 28px}
.overall{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-bg)}
.overall.all{border-color:var(--up)}
.overall.partial{border-color:var(--pending)}
.overall.down{border-color:var(--down)}
.dot{width:10px;height:10px;border-radius:50%;background:var(--muted);flex:0 0 auto}
/* The overview uses all/partial/down and cards use up/down/pending; both groups need colors:
   改版前卡片圆点只有 .dot 一条规则，故障卡的圆点是灰的（与状态文字不同色）。 */
.dot.all,.dot.up{background:var(--up)}
.dot.partial,.dot.pending{background:var(--pending)}
.dot.down{background:var(--down)}
.overall h2{font-size:17px;margin:0}
.count{color:var(--muted);font-size:14px}
section{margin-top:32px}
.sec-title{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-bg);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.card-top{display:flex;align-items:center;gap:8px}
.card h3{font-size:15px;font-weight:600;margin:0}
.card-bottom{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.state{font-size:13px}
.state.up{color:var(--up)}
.state.down{color:var(--down)}
.state.pending{color:var(--pending)}
.uptime{color:var(--muted);font-size:13px}
.status-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-top:28px;border-top:1px solid var(--line);padding-top:14px}
.reason{color:var(--muted);font-size:12.5px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.empty{color:var(--muted);font-size:14px;border:1px dashed var(--line);border-radius:var(--radius-lg);padding:16px 18px;margin:0}
.note{color:var(--muted);font-size:12px;margin-top:10px}

/* Error pages (404 or render failure) */
.err-box{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-bg);padding:20px}
.err-box p{margin:0;color:var(--muted)}
.err-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.btn{display:inline-flex;align-items:center;height:38px;padding:0 18px;border-radius:var(--radius-full);border:1px solid var(--line);color:var(--text);text-decoration:none;font-size:14px;font-weight:600;transition:border-color 200ms var(--ease-out),color 200ms var(--ease-out)}
.btn.primary{border-color:var(--accent);color:var(--accent)}
@media(hover:hover) and (pointer:fine){.btn:hover{color:var(--hover-highlight);background:var(--hover-highlight-soft)}}