:root{--bg: #000;--surface: #0b0b0c;--surface2: #161618;--border: rgba(255, 255, 255, .1);--border2: rgba(255, 255, 255, .2);--text: #f4f4f5;--muted: #a0a0a8;--faint: #62626a;--accent: #c9a962;--up: #f0556a;--down: #2dbe7e;--danger: #f0556a;--warn: #e0a030;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 system-ui,-apple-system,Noto Sans TC,Microsoft JhengHei,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:20px;font-weight:600;margin:0 0 16px}h2{font-size:16px;font-weight:600;margin:0 0 10px}h3{font-size:14px;font-weight:600;margin:0 0 6px}.shell{display:flex;min-height:100vh}.nav{width:200px;flex:none;border-right:1px solid var(--border);padding:16px 8px;position:sticky;top:0;height:100vh;overflow-y:auto}.nav .brand{font-weight:200;letter-spacing:3px;padding:0 10px 14px}.nav a{display:block;padding:7px 10px;border-radius:8px;color:var(--muted)}.nav a.active{background:var(--surface2);color:var(--text)}.nav a:hover{text-decoration:none;color:var(--text)}.main{flex:1;min-width:0;padding:24px 28px 60px;max-width:1200px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.stat .k{color:var(--muted);font-size:12px}.stat .v{font-size:22px;font-weight:300}.stat .s{color:var(--faint);font-size:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--muted)}.faint{color:var(--faint);font-size:12px}.err{color:var(--danger)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:500;font-size:12px;white-space:nowrap}tr.click{cursor:pointer}tr.click:hover{background:var(--surface2)}button,.btn{background:var(--surface2);color:var(--text);border:1px solid var(--border2);border-radius:8px;padding:6px 12px;cursor:pointer;font:inherit}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#0a0805;border-color:var(--accent)}button.danger{color:var(--danger);border-color:var(--danger)}button:disabled{opacity:.45;cursor:default}input,select,textarea{background:var(--surface2);color:var(--text);border:1px solid var(--border2);border-radius:8px;padding:6px 10px;font:inherit}textarea{width:100%;min-height:90px}label.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}label.field>span{color:var(--muted);font-size:12px}.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.tabs button.on{background:var(--text);color:#000}.bar{height:8px;background:var(--surface2);border-radius:4px;overflow:hidden}.bar>div{height:100%;background:var(--down)}.bar.warn>div{background:var(--warn)}.bar.over>div{background:var(--danger)}.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;border:1px solid var(--border2);color:var(--muted)}.badge.ok{color:var(--down);border-color:var(--down)}.badge.warn{color:var(--warn);border-color:var(--warn)}.toast{position:fixed;right:16px;bottom:16px;background:var(--surface2);border:1px solid var(--border2);border-radius:10px;padding:10px 14px;z-index:50;max-width:420px}.modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:40}.modal>div{background:var(--surface);border:1px solid var(--border2);border-radius:12px;padding:18px;width:min(420px,92vw)}.center{max-width:420px;margin:14vh auto;text-align:center}.mono{font-family:ui-monospace,Menlo,Consolas,monospace}.metric{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border)}.metric .name{color:var(--muted)}.note{color:var(--faint);font-size:12px}.locked-note{color:var(--faint)}details>summary{cursor:pointer;color:var(--muted)}@media (max-width: 760px){.shell{flex-direction:column}.nav{width:auto;height:auto;position:static;display:flex;flex-wrap:wrap}.main{padding:16px}}
