:root{--bg: #0b0e13;--surface: #12161d;--surface-2: #171d26;--border: #232a35;--border-strong: #2f3949;--text: #dbe2ea;--muted: #8b96a5;--accent: #58a6ff;--green: #3fb950;--red: #f85149;--amber: #d29922;--amber-bg: #2a2110;--red-bg: #2a1412;--green-bg: #10241a;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, "Liberation Mono", Menlo, monospace;--radius: 6px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5}h1,h2,h3{font-weight:600;margin:0 0 .5rem}h1{font-size:1.25rem}h2{font-size:1rem;color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--font-mono);font-size:.875rem}.container{max-width:1200px;margin:0 auto;padding:1rem 1.25rem 3rem}.page-title{margin:.75rem 0 1rem;letter-spacing:.02em}.topnav{background:var(--surface);border-bottom:1px solid var(--border)}.topnav-inner{max-width:1200px;margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;gap:1.5rem;height:48px}.brand{font-weight:700;font-size:.8rem;letter-spacing:.14em;color:var(--text);text-transform:uppercase}.topnav nav{display:flex;gap:.25rem;min-width:0}.topnav nav a{color:var(--muted);padding:.35rem .75rem;border-radius:var(--radius);font-size:.875rem;white-space:nowrap;transition:color .15s,background-color .15s}.topnav nav a:hover{color:var(--text);background:var(--surface-2);text-decoration:none}.topnav nav a[aria-current=page]{color:var(--text);background:var(--surface-2);box-shadow:inset 0 -2px 0 var(--accent)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .9rem}.card .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.3rem}.card .value{font-family:var(--font-mono);font-size:1.05rem;overflow-wrap:anywhere}.card .sub{color:var(--muted);font-size:.8rem;margin-top:.15rem}.banner{display:flex;flex-wrap:wrap;gap:.3rem .6rem;align-items:baseline;border-radius:var(--radius);padding:.65rem .9rem;margin:.75rem 0;border:1px solid;font-size:.9rem}.banner strong{letter-spacing:.04em}.banner>span{flex:1 1 18rem;min-width:0}.banner-amber{background:var(--amber-bg);border-color:var(--amber);color:var(--text)}.banner-amber strong{color:var(--amber)}.banner-red{background:var(--red-bg);border-color:var(--red);color:var(--text)}.banner-red strong{color:var(--red)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.45rem;background:var(--muted);vertical-align:baseline}.dot-green{background:var(--green)}.dot-red{background:var(--red)}.table-wrap{position:relative;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap}tbody tr:last-child td{border-bottom:none}th{color:var(--muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;background:var(--surface-2);position:sticky;top:0}td.num,th.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--surface-2)}th button.sort{all:unset;cursor:pointer;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;display:inline-flex;gap:.3rem;align-items:baseline}th button.sort:hover{color:var(--text)}th button.sort:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.pos{color:var(--green)}.neg{color:var(--red)}.warn{color:var(--amber)}.muted{color:var(--muted)}button.btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);padding:.45rem .9rem;font:inherit;font-size:.875rem;cursor:pointer}button.btn:hover:not(:disabled){border-color:var(--accent)}button.btn:disabled{opacity:.5;cursor:not-allowed}button.btn-danger{border-color:var(--red);color:var(--red)}button.btn-danger:hover:not(:disabled){background:var(--red-bg);border-color:var(--red)}button.btn-primary{border-color:var(--accent);color:var(--accent)}button.btn-primary:hover:not(:disabled){background:#58a6ff1a}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select{max-width:100%;text-overflow:ellipsis}input[type=password],input[type=text],select{background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);padding:.4rem .6rem;font:inherit;font-size:.875rem}label{font-size:.8rem;color:var(--muted)}.empty{color:var(--muted);padding:1.5rem;text-align:center;font-size:.9rem;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface)}.section{margin-top:1.75rem}details.gate-detail summary{cursor:pointer;list-style:none}pre.json{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem;font-family:var(--font-mono);font-size:.78rem;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:.5rem 0 0}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.note{color:var(--muted);font-size:.82rem}@media(max-width:720px){.topnav-inner{gap:.75rem;padding:0 .75rem}.brand{display:none}.topnav nav{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}.topnav nav::-webkit-scrollbar{display:none}.topnav nav a{padding:.45rem .65rem}.container{padding:.75rem .75rem 2.5rem}}.skip-link{position:absolute;left:.75rem;top:-3rem;z-index:10;background:var(--accent);color:#0b0e13;padding:.45rem .8rem;border-radius:var(--radius);font-weight:600}.skip-link:focus{top:.5rem;text-decoration:none}main:focus{outline:none}::selection{background:#58a6ff59;color:var(--text)}html{scrollbar-color:var(--border-strong) var(--bg);-webkit-text-size-adjust:100%}h1,h2,h3{text-wrap:balance}.mono,.card .value,td{font-variant-numeric:tabular-nums}button.btn,a{transition:color .15s,background-color .15s,border-color .15s}input::placeholder{color:var(--muted);opacity:.8}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.notfound{max-width:520px;margin:3rem auto;text-align:center;padding:2rem 1.5rem}.notfound .code{font-size:2.5rem;color:var(--muted);margin:0 0 .5rem}a.brand{text-decoration:none;white-space:nowrap}.brand .priv{margin-left:.45rem;font-size:.6rem;letter-spacing:.08em;color:var(--amber);border:1px solid var(--amber);border-radius:999px;padding:0 .35rem;vertical-align:middle}.site-foot{max-width:1200px;margin:0 auto;padding:1.25rem 1.25rem 2rem;border-top:1px solid var(--border);font-size:.78rem;color:var(--text);display:grid;gap:.3rem}.chips{display:flex;gap:.3rem;flex-wrap:wrap}.chip{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--muted);border-radius:999px;padding:.15rem .7rem;min-height:28px;display:inline-flex;align-items:center;font:inherit;font-size:.8rem;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.chip:hover{color:var(--text)}.chip.on{color:var(--text);border-color:var(--accent);background:#58a6ff24}.flash-up,.flash-down{position:relative}.flash-up:after,.flash-down:after{content:"";position:absolute;inset:0;border-radius:3px;pointer-events:none;animation:tick-flash 1s ease-out forwards}.flash-up:after{background:#3fb95059}.flash-down:after{background:#f8514959}@keyframes tick-flash{0%{opacity:1}to{opacity:0}}.rise{animation:rise .45s ease-out both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.live-dot{position:relative}.live-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:live-ring 2s ease-out infinite}@keyframes live-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(2.6);opacity:0}}.refresh-track{height:2px;background:var(--border);border-radius:2px;overflow:hidden}.refresh-fill{height:100%;background:var(--accent);opacity:.6;transform-origin:left;animation:refresh-fill linear forwards}@keyframes refresh-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}
