/* 移植自 build_dashboard.py 內嵌樣式（同一套視覺）*/
:root{--bg:#faf9f7;--card:#fff;--ink:#1a1a1a;--ink2:#555;--mut:#8a8a8a;--line:#e5e2dc;
--ok:#1a7f4e;--okbg:#e3f2e9;--wt:#8a6d1a;--wtbg:#f7efd8;--sk:#8a8a8a;--skbg:#eeece8;--bar:#3568b8;--barbg:#e3e9f2}
@media(prefers-color-scheme:dark){:root{--bg:#161616;--card:#1f1f1f;--ink:#e8e8e8;--ink2:#b5b5b5;--mut:#7f7f7f;--line:#333;
--ok:#5fc98e;--okbg:#12301f;--wt:#d9b95c;--wtbg:#33290e;--sk:#9a9a9a;--skbg:#2a2a2a;--bar:#6f9fe0;--barbg:#22304a}}
body{background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,"PingFang TC",sans-serif;margin:24px}
h1{font-size:20px;margin:0 0 4px} .sub{color:var(--ink2);margin-bottom:16px;max-width:1080px}
.tiles{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.tile{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 16px}
.tile b{font-size:22px} .tile span{color:var(--ink2);font-size:12px;display:block}
.wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:8px}
table{border-collapse:collapse;width:100%;min-width:1080px}
th{text-align:left;font-size:12px;color:var(--ink2);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;cursor:help}
td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums}
td:first-child{white-space:nowrap}
tr:last-child td{border-bottom:0} tr:hover td{background:color-mix(in srgb,var(--bar) 6%,transparent)}
.badge{font-size:12px;font-weight:700;padding:2px 8px;border-radius:10px;white-space:nowrap}
.ok{color:var(--ok);background:var(--okbg)} .wt{color:var(--wt);background:var(--wtbg)} .pre{color:var(--bar);background:var(--barbg)} .wt2{color:var(--wt)}
.sk{color:var(--sk);background:var(--skbg)} .mut{color:var(--mut);font-size:12px}
.bar{display:inline-block;width:64px;height:8px;background:var(--barbg);border-radius:4px;margin-right:6px;vertical-align:middle}
.fill{height:8px;background:var(--bar);border-radius:4px}
.note{color:var(--ink2);font-size:12px;margin-top:14px;line-height:1.7;max-width:1080px}
.mtx{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 16px;margin-top:12px;max-width:1180px}
.mtx summary{cursor:pointer;padding:4px 0;font-size:14px}
table.mt{min-width:auto;margin-top:10px}
table.mt th{padding:6px 8px;text-align:center;border-bottom:1px solid var(--line);font-weight:600}
table.mt th.sk-th{text-align:right;white-space:nowrap;color:var(--ink);border-right:1px solid var(--line)}
td.mc{padding:6px 8px;text-align:center;border-bottom:1px solid var(--line);line-height:1.3}
td.mc.sel{outline:2px solid var(--ok);outline-offset:-2px;border-radius:4px}
td.mc.dim{opacity:.4}
.anch{display:inline-block;font-size:10px;background:var(--wtbg);color:var(--wt);border-radius:3px;padding:0 4px;margin-top:2px}
.ctrl{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin-bottom:14px;display:block;max-width:1180px}
.ctrl label{font-size:13px;color:var(--ink2)}
.ctrl-head{margin-bottom:10px} .ctrl-head b{margin-right:8px}
table.lst{min-width:auto;width:auto;border-collapse:collapse;margin-bottom:10px}
table.lst th{font-size:12px;color:var(--ink2);font-weight:600;padding:4px 8px;text-align:left;border:0;cursor:default}
table.lst td{padding:3px 8px;border:0}
.ctrl input{padding:6px 9px;border:1px solid var(--line);border-radius:6px;width:190px;
background:var(--bg);color:var(--ink);font:13px/1.4 ui-monospace,Menlo,monospace}
.ctrl input.t{width:110px;text-transform:uppercase}
.ctrl-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ctrl button.ghost{background:transparent;color:var(--ink2);border:1px solid var(--line)}
.ctrl button{padding:7px 18px;border:0;border-radius:6px;background:var(--bar);color:#fff;font-size:13px;cursor:pointer}
.ctrl button:disabled{opacity:.5;cursor:wait}
.intro{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin-bottom:16px;line-height:1.8;max-width:1080px}
