:root{--bg:#060a18;--surface:#0c1224;--surface-2:#111a31;--surface-3:#16213d;--line:hsla(0,0%,100%,.08);--line-strong:hsla(0,0%,100%,.14);--brand:#004de7;--brand-hi:#3d7bff;--brand-soft:rgba(0,77,231,.16);--cyan:#22d3ee;--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444;--neutral:#94a3b8;--text:#f6f9fb;--text-2:#c9d2e8;--muted:#8b97b8;--display:"Space Grotesk",system-ui,sans-serif;--body:"Manrope",system-ui,sans-serif;--mono:"Space Mono",ui-monospace,monospace;--radius:14px;--shadow:0 24px 60px -28px rgba(0,0,0,.75)}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--brand-hi);outline-offset:2px}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.lockup{display:inline-flex;align-items:center;gap:10px;line-height:1}.lockup img{height:30px;width:auto;display:block}.lockup .sep{width:1px;height:22px;background:var(--line-strong)}.lockup .product{font-family:var(--display);font-weight:700;font-size:20px;color:var(--text);letter-spacing:-.01em}.lockup.sm img{height:23px}.lockup.sm .sep{height:18px}.lockup.sm .product{font-size:17px}.lockup.lg img{height:34px}.lockup.lg .sep{height:28px}.lockup.lg .product{font-size:26px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:11px;border:1px solid transparent;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s,opacity .15s;white-space:nowrap;color:var(--text);background:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 10px 26px -12px rgba(0,77,231,.9)}.btn-primary:hover{background:#0a5bff}.btn-ghost{border-color:var(--line-strong);background:hsla(0,0%,100%,.03)}.btn-ghost:hover{background:hsla(0,0%,100%,.07)}.btn-danger{border-color:rgba(239,68,68,.4);color:#fca5a5}.btn-danger:hover{background:rgba(239,68,68,.1)}.btn-sm{padding:7px 11px;font-size:13px;border-radius:9px}.btn-lg{padding:14px 24px;font-size:15px;border-radius:13px}.field{display:block;margin-bottom:14px}.field>span{display:block;font-size:12.5px;font-weight:600;color:var(--text-2);margin-bottom:6px}.field small{display:block;color:var(--muted);font-size:12px;margin-top:6px;line-height:1.5}.field input,.field select,.field textarea,.input{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--line-strong);background:hsla(0,0%,100%,.035);color:var(--text);font-size:14.5px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{outline:none;border-color:var(--brand-hi);box-shadow:0 0 0 3px rgba(61,123,255,.2)}.field select option{background:var(--surface-2)}.input-prefix{position:relative}.input-prefix>b{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-family:var(--mono);font-size:14px;font-weight:400}.input-prefix input{padding-left:42px;font-family:var(--mono)}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1 1;min-width:180px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head h2,.card-head h3{font-family:var(--display);font-size:16px;margin:0;letter-spacing:-.01em}.card-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.card.flush{padding:0;overflow:hidden}.card.flush .card-head{padding:18px 20px 0}.grid{display:grid;grid-gap:16px;gap:16px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.span-2{grid-column:span 2}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 16px}.stat .label{font-size:12.5px;color:var(--muted);font-weight:600}.stat .value{font-family:var(--mono);font-size:clamp(17px,1.55vw,23px);font-weight:700;margin-top:8px;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat .value small{font-size:14px;color:var(--muted)}.stat .sub{font-size:12px;color:var(--muted);margin-top:6px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid;white-space:nowrap}.badge i{font-style:normal;font-size:11px;line-height:1}.badge.ok{color:#86efac;border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.1)}.badge.warn{color:#fcd34d;border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.1)}.badge.bad{color:#fca5a5;border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.1)}.badge.info{color:#9cc0ff;border-color:rgba(61,123,255,.4);background:rgba(61,123,255,.12)}.badge.neutral{color:#cbd5e1;border-color:rgba(148,163,184,.3);background:rgba(148,163,184,.08)}.table-wrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:13.5px}table.t th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:12px 16px;white-space:nowrap}table.t td,table.t th{border-bottom:1px solid var(--line)}table.t td{padding:13px 16px;vertical-align:middle}table.t tr:last-child td{border-bottom:0}table.t tbody tr.click{cursor:pointer}table.t tbody tr.click:hover{background:hsla(0,0%,100%,.025)}table.t .num{text-align:right;font-family:var(--mono);white-space:nowrap}table.t .ref{font-family:var(--mono);font-size:12.5px}table.t .sub{display:block;color:var(--muted);font-size:12px;margin-top:2px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.toolbar .input{max-width:320px}.seg{display:inline-flex;background:hsla(0,0%,100%,.04);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:none;color:var(--muted);padding:6px 11px;border-radius:7px;font-weight:700;font-size:12.5px;cursor:pointer}.seg button[aria-pressed=true]{background:var(--surface-3);color:var(--text)}.pager{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px solid var(--line);font-size:13px}.empty,.pager{color:var(--muted)}.empty{text-align:center;padding:44px 20px}.empty h3{font-family:var(--display);color:var(--text);font-size:17px;margin:0 0 6px}.empty p{margin:0 0 16px;font-size:14px}.notice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;border:1px solid;font-size:13.5px;line-height:1.55}.notice.info{border-color:rgba(61,123,255,.35);background:rgba(61,123,255,.08);color:#c7d8ff}.notice.warn{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08);color:#fde6b0}.notice b{color:var(--text)}.code{font-family:var(--mono);font-size:12.5px;background:#070c1c;border:1px solid var(--line);border-radius:10px;padding:14px 16px;overflow-x:auto;white-space:pre;color:#c9d7ff;line-height:1.6}.secret{display:flex;gap:8px;align-items:center}.secret code{flex:1 1;font-family:var(--mono);font-size:13px;background:#070c1c;border:1px solid var(--line);border-radius:10px;padding:10px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart{position:relative}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart .gridline{stroke:hsla(0,0%,100%,.06);stroke-width:1}.chart .axis{fill:var(--muted);font-size:10.5px;font-family:var(--mono)}.chart .bar{fill:var(--brand-hi);transition:opacity .12s}.chart .bar.dim{opacity:.35}.chart .hit{fill:transparent;cursor:crosshair}.chart .tip{position:absolute;pointer-events:none;background:var(--surface-3);border:1px solid var(--line-strong);border-radius:10px;padding:8px 10px;font-size:12px;box-shadow:var(--shadow);white-space:nowrap;transform:translate(-50%,-100%);margin-top:-10px}.chart .tip b{font-family:var(--mono);display:block;font-size:13px}.breakdown{display:flex;flex-direction:column;gap:12px}.breakdown .line{display:grid;grid-template-columns:150px 1fr 44px;grid-gap:12px;gap:12px;align-items:center;font-size:13px}.breakdown .track{height:8px;background:hsla(0,0%,100%,.05);border-radius:999px;overflow:hidden}.breakdown .fill{height:100%;border-radius:999px}.breakdown .line>span:first-child{white-space:nowrap}.breakdown .n{text-align:right;font-family:var(--mono);color:var(--text-2)}.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.side{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;border-right:1px solid var(--line);background:linear-gradient(180deg,#0a1024,#070b1a);padding:20px 14px}.side .lockup{padding:4px 8px 22px}.side nav{display:flex;flex-direction:column;gap:2px}.side .group{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700;padding:16px 10px 6px}.side a.item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;color:var(--text-2);font-size:14px;font-weight:600;transition:background .12s,color .12s}.side a.item:hover{background:hsla(0,0%,100%,.04);color:var(--text)}.side a.item[aria-current=page]{background:var(--brand-soft);color:#fff;box-shadow:inset 2px 0 0 var(--brand-hi)}.side a.item .ico{width:18px;text-align:center;opacity:.9}.side a.item .count{margin-left:auto;font-size:11px;font-family:var(--mono);background:rgba(245,158,11,.18);color:#fcd34d;border-radius:999px;padding:1px 7px}.side .foot{margin-top:auto;border-top:1px solid var(--line);padding-top:14px}.who{gap:10px;padding:8px}.avatar,.who{display:flex;align-items:center}.avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--brand),#5b8cff);justify-content:center;font-weight:800;font-family:var(--display);font-size:14px;flex:none}.who .n{font-size:13.5px;font-weight:700;line-height:1.2}.who .e{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.main{min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:14px 28px;background:rgba(6,10,24,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar h1{font-family:var(--display);font-size:20px;margin:0;letter-spacing:-.015em}.topbar .spacer{flex:1 1}.env{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:7px;border:1px solid rgba(245,158,11,.4);color:#fcd34d;background:rgba(245,158,11,.08)}.env.live{border-color:rgba(34,197,94,.4);color:#86efac;background:rgba(34,197,94,.08)}.content{padding:26px 28px 60px;max-width:1240px}.menu-btn,.scrim{display:none}.drawer-scrim{position:fixed;inset:0;background:rgba(2,5,14,.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60}.drawer{position:fixed;right:0;bottom:0;width:min(520px,100%);border-left:1px solid var(--line-strong);z-index:61;overflow-y:auto;box-shadow:-30px 0 60px -20px rgba(0,0,0,.7);animation:slidein .2s ease-out}.drawer,.drawer header{top:0;background:var(--surface)}.drawer header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky}.drawer header h2{font-family:var(--display);font-size:17px;margin:0}.drawer .body{padding:22px}.kv{display:grid;grid-template-columns:140px 1fr;grid-gap:10px 14px;gap:10px 14px;font-size:13.5px}.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-all}.timeline{list-style:none;padding:0;border-left:1px solid var(--line-strong);margin:0 0 0 6px}.timeline li{position:relative;padding:0 0 16px 18px;font-size:13px}.timeline li:before{content:"";position:absolute;left:-5px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--brand-hi)}.timeline li.fail:before{background:var(--bad)}.timeline time{display:block;color:var(--muted);font-size:12px;font-family:var(--mono)}@keyframes slidein{0%{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}.toasts{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:80}.toast{background:var(--surface-3);border:1px solid var(--line-strong);border-radius:12px;padding:12px 16px;font-size:13.5px;box-shadow:var(--shadow);animation:slidein .18s ease-out;max-width:360px}.toast.ok{border-color:rgba(34,197,94,.45)}.toast.bad{border-color:rgba(239,68,68,.5)}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(640px 440px at 82% -10%,rgba(0,77,231,.32),transparent 60%),radial-gradient(520px 420px at 0 110%,rgba(34,211,238,.1),transparent 60%),var(--bg)}.auth-card{width:100%;max-width:420px;background:rgba(12,18,36,.88);border:1px solid var(--line);border-radius:22px;padding:34px 30px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-card .lockup{margin-bottom:26px}.auth-card h1{font-family:var(--display);font-size:26px;letter-spacing:-.02em;margin:0 0 6px}.auth-sub{color:var(--muted);font-size:14px;margin:0 0 24px}.auth-err{color:#fca5a5;font-size:13px;margin:2px 0 10px;line-height:1.5}.auth-alt{text-align:center;margin-top:18px;font-size:14px;color:var(--muted)}.auth-alt a{color:var(--brand-hi);font-weight:700}.w-full{width:100%}@media (max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.app{grid-template-columns:1fr}.side{position:fixed;left:0;top:0;bottom:0;width:264px;z-index:50;transform:translateX(-100%);transition:transform .2s}.side.open{transform:none}.scrim.open{display:block;position:fixed;inset:0;background:rgba(2,5,14,.6);z-index:40}.menu-btn{display:inline-flex}.grid-2,.grid-3{grid-template-columns:1fr}.span-2{grid-column:auto}.content{padding:20px 16px 60px}.topbar{padding:12px 16px}.kv{grid-template-columns:1fr}.kv dt{margin-top:6px}.breakdown .line{grid-template-columns:140px 1fr 40px}}@media (max-width:560px){.grid-4{grid-template-columns:1fr 1fr}.stat .value{font-size:19px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}