:root{--ink:#111315;--panel:#181b1e;--line:#34383c;--paper:#e8e4dc;--muted:#a8aaab;--hot:#e6402e;--ok:#79c7ab;--warn:#f0c85b;font:16px/1.55 -apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC",sans-serif;color:var(--paper);background:var(--ink)}*{box-sizing:border-box;min-width:0}body{margin:0;min-height:100dvh;overflow-x:hidden;background:linear-gradient(#ffffff05 1px,transparent 1px) 0 0/100% 44px,var(--ink)}header{height:72px;padding:max(10px,env(safe-area-inset-top)) 4vw 0;display:flex;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;background:#111315ed;backdrop-filter:blur(14px);z-index:5}.mark{min-width:44px;min-height:44px;display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.mark span{width:44px;height:44px;display:grid;place-items:center;background:var(--hot);font-weight:900;clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}.mark b{letter-spacing:.08em}.pulse{margin-left:auto;display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.875rem}.pulse i,.pip{width:8px;height:8px;border-radius:50%;background:var(--warn);flex:0 0 auto}.quiet,button{min-height:44px}.quiet{margin-left:18px;background:none;color:var(--muted);border:0}nav{width:19rem;position:fixed;top:72px;bottom:0;border-right:1px solid var(--line);padding:8vh 2vw;display:flex;flex-direction:column;gap:2px;background:#111315}nav button{min-height:52px;padding:0 14px;background:transparent;border:0;color:var(--muted);text-align:left;font-size:.95rem;border-left:2px solid transparent}nav button small{display:inline-block;width:34px;color:#707477}nav button:hover,nav button:focus-visible,nav button.active{background:#ffffff08;color:var(--paper)}nav button.active{border-left-color:var(--hot)}main{margin-left:19rem;padding:6vh 5vw 12vh}.page{display:none;max-width:1180px;margin:auto}.page.active{display:block}.page-head{display:grid;grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:2rem;align-items:end;border-bottom:1px solid var(--line);padding-bottom:28px}.page-head p{grid-column:1/-1;margin:0;color:var(--hot);font-size:.75rem;letter-spacing:.18em}.page-head h1{margin:0;font-size:clamp(2.8rem,6vw,5.4rem);line-height:.92;letter-spacing:0}.page-head h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--paper)}.page-head span{color:var(--muted);max-width:34em}.fault-stream{border-top:1px solid var(--line);margin-top:36px}.fault{display:grid;grid-template-columns:4rem minmax(0,1fr) auto auto;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}.fault h3,.fault p{margin:0}.fault p{color:var(--muted);overflow-wrap:anywhere}.fault time{color:var(--muted);white-space:nowrap}.fault button{background:transparent;color:var(--paper);border:1px solid var(--line);padding:0 14px}.severity{color:var(--hot);font-weight:800}.empty{padding:32px 0;color:var(--muted)}.decision-tiles,.data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:42px}.metric{background:var(--panel);padding:24px;min-height:150px;display:flex;flex-direction:column;gap:10px}.metric small,.metric p{color:var(--muted);overflow-wrap:anywhere}.metric strong{font-size:2.25rem;line-height:1.05;overflow-wrap:anywhere}.metric p{margin:0}.metric .compare{color:var(--paper);font-size:.88rem;display:flex;gap:8px;align-items:center}.pip.ok{background:var(--ok)}.pip.warn{background:var(--warn)}.pip.bad{background:var(--hot)}.trend,.sources{margin-top:42px;background:var(--panel);border:1px solid var(--line);padding:26px}.trend h2,.sources h2{margin:0}.trend>p,.sources>p{color:var(--muted);margin:4px 0 20px}.chart-wrap{overflow-x:auto}.source-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.source-row .state{display:flex;gap:8px;align-items:center}.source-row .age{color:var(--muted)}dialog{background:var(--panel);color:var(--paper);border:1px solid var(--line);max-width:420px;width:calc(100% - 32px)}dialog::backdrop{background:#000b}dialog form{display:grid;gap:18px;padding:36px}dialog label{display:grid;gap:8px}dialog input,dialog button{min-height:48px;font:inherit}dialog button{background:var(--hot);color:#fff;border:0;font-weight:700}output{color:var(--warn)}
@media(max-width:900px){header{height:64px}nav{top:auto;bottom:0;width:100%;height:76px;padding:0 max(8px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(6,1fr);z-index:8}nav button{font-size:0;text-align:center;padding:0;border:0;border-top:2px solid transparent}nav button small{width:auto;font-size:.72rem}nav button.active{border-top-color:var(--hot)}main{margin-left:0;padding:4vh 5vw calc(100px + env(safe-area-inset-bottom))}.page-head{display:block}.page-head span{display:block;padding-top:20px}.fault{grid-template-columns:3.5rem minmax(0,1fr)}.fault time,.fault button{grid-column:2}.data-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.mark b{display:none}.page-head h1{font-size:clamp(2.7rem,17vw,5rem)}.data-grid,.decision-tiles{grid-template-columns:1fr}.metric{min-height:130px}.source-row{grid-template-columns:minmax(0,1fr) auto}.source-row .age{grid-column:2}.trend,.sources{padding:18px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}