
:root{--surface-1:#fcfcfb;--page:#f9f9f7;--ink:#0b0b0b;--ink2:#52514e;--muted:#898781;
--grid:#e1e0d9;--axis:#c3c2b7;--border:rgba(11,11,11,.10);--series-1:#2a78d6;--series-2:#1baf7a;
--good:#0ca30c;--warn:#b97d00;--crit:#d03b3b;--chip:#eef3fb}
@media (prefers-color-scheme:dark){:root{--surface-1:#1a1a19;--page:#0d0d0d;--ink:#fff;--ink2:#c3c2b7;
--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:rgba(255,255,255,.10);--series-1:#3987e5;
--series-2:#199e70;--good:#0ca30c;--warn:#fab219;--crit:#e66767;--chip:#1e2733}}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);
font:16px/1.65 system-ui,-apple-system,"Segoe UI","Noto Sans TC",sans-serif}
a{color:var(--series-1);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:960px;margin:0 auto;padding:0 16px}
header.site{border-bottom:1px solid var(--border);background:var(--surface-1)}
header.site .wrap{display:flex;gap:18px;align-items:baseline;padding:12px 16px;flex-wrap:wrap}
header.site .brand{font-weight:700;font-size:18px;color:var(--ink)}
header.site nav{display:flex;gap:14px;font-size:14px}
main{padding:20px 0 40px}
h1{font-size:26px;line-height:1.3;margin:.4em 0}h2{font-size:19px;margin:1.4em 0 .5em}
.muted{color:var(--muted)}.sub{color:var(--ink2);font-size:14px}
.card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin:14px 0}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:14px 0}
.stat{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:10px 14px}
.stat .v{font-size:22px;font-weight:700}.stat .l{font-size:12.5px;color:var(--ink2)}
.stat .v small{font-size:13px;font-weight:400;color:var(--ink2)}
table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
th,td{padding:7px 9px;border-bottom:1px solid var(--grid);text-align:right;white-space:nowrap}
th{color:var(--ink2);font-weight:600;font-size:12.5px}
th:first-child,td:first-child,th.l,td.l{text-align:left}
.tblwrap{overflow-x:auto;background:var(--surface-1);border:1px solid var(--border);border-radius:10px}
.tblwrap table{margin:0}
.flag{display:inline-block;font-size:12px;padding:1px 8px;border-radius:99px;margin:0 3px 3px 0;border:1px solid var(--border)}
.flag.warn{color:var(--warn)}.flag.crit{color:var(--crit)}.flag.info{color:var(--series-1);background:var(--chip)}
svg{width:100%;height:auto;display:block}
svg .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
svg .grid{stroke:var(--grid);stroke-width:1}
svg .axlbl{fill:var(--muted);font-size:10.5px}
svg .lastlbl{fill:var(--ink);font-size:12px;font-weight:600}
footer.site{border-top:1px solid var(--border);margin-top:30px;padding:18px 0 30px;font-size:12.5px;color:var(--muted)}
.crumb{font-size:13px;color:var(--ink2);margin:14px 0 4px}
.updown.up{color:var(--good)}.updown.down{color:var(--crit)}
