/* ==========================================================================
   Trace — UI v3 "command deck". Loaded after styles.css.
   Black, silver, one phosphor-green signal. Inter for copy, JetBrains Mono for data.
   New in v3: the trace console comes first, a live pulse panel sits beside it,
   sections are numbered, the monitor is a bento grid, cards glow on hover.
   Same class names as the app, so every route keeps working.
   ========================================================================== */
:root {
  --bg: #060606; --panel: #0d0d0d; --panel-2: #131313; --panel-3: #191919;
  --fg: #f2f2f2; --dim: #8e8e8e; --faint: #525252;
  --line: rgba(255,255,255,.09); --line-strong: rgba(255,255,255,.18);
  --sig: #b6ff6e; --sig-2: #7fe34a; --sig-dim: rgba(182,255,110,.12); --sig-glow: 0 0 0 1px rgba(182,255,110,.35), 0 0 40px -10px rgba(182,255,110,.55);
  --paper: var(--bg); --surface: var(--panel); --surface-2: var(--panel-2);
  --ink: var(--fg); --ink-2: var(--dim); --ink-3: var(--faint);
  --hivis: var(--sig); --on-hivis: #000; --link: var(--fg); --focus: var(--sig);
  --danger: #ff5c7a; --warn: #ffb257; --gold: #ffcf7a; --ok: var(--sig);
  --sans: "Inter", "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --tm: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
  --mono: var(--tm); --disp: var(--sans); --num: var(--sans); --cond: var(--sans);
  --r: 16px; --r-sm: 10px; --r-xs: 7px; --gx: max(16px, 3.5vw); --wrap: 1280px;
  --glow: none; --glow-teal: none; --glow-red: none;
}

/* ---------------------------------------------------------------- base */
html { background: var(--bg); scroll-behavior: smooth; }
body { background: var(--bg) !important; color: var(--fg); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
::selection { background: var(--sig); color: #000; }
* { scrollbar-width: thin; scrollbar-color: #2a2a2a transparent; }
:focus-visible { outline: 1px solid var(--sig); outline-offset: 4px; border-radius: 3px; }
.fx { z-index: 0 !important; }
.fx-glow { background: radial-gradient(70vw 60vh at 85% -10%, rgba(182,255,110,.07), transparent 60%), radial-gradient(50vw 50vh at 10% 110%, rgba(255,255,255,.05), transparent 70%) !important; }
.fx-stars { display: block !important; opacity: .5 !important; inset: 0; background-size: 220px 220px !important; mix-blend-mode: screen;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .9 0 0 0 0 .9 0 0 0 0 .9 0 0 0 .35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") !important;
  mask-image: radial-gradient(90vw 70vh at 50% 20%, #000 10%, rgba(0,0,0,.3) 60%, transparent 100%); -webkit-mask-image: radial-gradient(90vw 70vh at 50% 20%, #000 10%, rgba(0,0,0,.3) 60%, transparent 100%); }
main, .top, .foot, .nav-bottom { position: relative; z-index: 1; }

/* Home section order: console first, then the victim guide, the chain band, the file check, the monitor. */
main { display: flex; flex-direction: column; }
main > * { order: 50; }
main > #ft-ticker { order: 1; }
main > .aurora { order: 2; }
main > .vf { order: 3; }
main > .rh { order: 4; }
main > .dlsafe { order: 5; }
main > .mon { order: 6; }

/* type */
h1, h2, h3, .vf-h1, .vf-h2, .aurora-h, .verdict-line, .cc-title h1, .mon-brand h1 { font-family: var(--sans) !important; font-weight: 600 !important; letter-spacing: -0.035em !important; color: var(--fg); }
h1 { font-size: clamp(2rem, 1.3rem + 2.4vw, 2.8rem); }
h2 { font-size: clamp(1.5rem, 1rem + 1.6vw, 2.3rem); }
h2::before { content: none !important; }
h3 { font-size: 1.15rem; letter-spacing: -0.015em !important; }
p { color: var(--dim); }
.eyebrow, .vf-k, .mp-t, .panel-h, .mon-brand p, .journey-l, .journey-s, .hud-tr-h, .ts-tag, .hack-strip b, .mon-right, .omni-help, .mon-note { font-family: var(--tm) !important; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--sig); margin: 0 0 16px; }
.eyebrow::before { content: ""; width: 18px; height: 1px; background: var(--sig); }
.grad { color: var(--dim) !important; background: none !important; -webkit-text-fill-color: var(--dim); text-shadow: none !important; }

/* card primitive */
.card, .vf-now, .vf-how, .vf-opt, .mp, .panel, .finding, .xp-panel, .dlsafe, .tools3 .tool, .mon-cases a, .hud, .nav-menu, .aurora-omni .choose, .rh-facts li {
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)) , var(--panel) !important;
  border: 1px solid var(--line) !important; border-radius: var(--r) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 20px 60px -40px rgba(0,0,0,.9) !important;
  clip-path: none !important; backdrop-filter: none !important; }
.tools3 .tool, .mon-cases a, .vf-opt { transition: border-color .25s, box-shadow .25s, transform .25s cubic-bezier(.2,.7,.2,1); }
.tools3 .tool:hover, .mon-cases a:hover, .vf-opt:hover { border-color: rgba(182,255,110,.45) !important; box-shadow: var(--sig-glow), inset 0 1px 0 rgba(255,255,255,.06) !important; transform: translateY(-2px); }

/* ---------------------------------------------------------------- header */
.top { position: sticky; top: 0; z-index: 20; background: rgba(6,6,6,.72) !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3); }
.top-in { max-width: none; height: auto; padding: 12px var(--gx); gap: clamp(14px, 2vw, 30px); }
.brand { font-family: var(--tm) !important; font-weight: 500 !important; font-size: 15px !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--fg); gap: 10px; }
.brand::after { content: none !important; }
.brand-mark { display: inline-block !important; width: 32px; height: 32px; background: none !important; border: 0; box-shadow: none; color: var(--fg); }
.nav-top { gap: 2px; margin-left: auto; margin-right: auto; padding: 4px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.02); }
.nav-top a { font-family: var(--sans) !important; font-size: 13px; font-weight: 500; color: var(--dim); padding: 7px 13px; border-radius: 999px !important; background: none !important; box-shadow: none !important; opacity: 1; transition: color .2s, background .2s; white-space: nowrap; }
.nav-top a:hover { color: var(--fg); background: rgba(255,255,255,.06) !important; }
.nav-top a[aria-current="page"] { color: #000 !important; background: var(--fg) !important; box-shadow: none !important; }
.nav-top > a::after, .nav-drop > a::after { display: none !important; }
.nav-top a.nav-account { border: 0 !important; margin: 0; }
.nav-top a.nav-account span { display: none; }
.nav-menu { padding: 8px; margin-top: 10px; min-width: 260px; box-shadow: 0 30px 60px -30px rgba(0,0,0,1) !important; }
.nav-menu a { font-family: var(--sans) !important; border-radius: var(--r-sm) !important; padding: 10px 12px; color: var(--fg); }
.nav-menu a:hover { background: var(--panel-2); }
.nav-menu small { color: var(--dim); }
.top-in a.hacked { display: inline-flex; align-items: center; gap: 8px; font-family: var(--sans); font-size: 13px; font-weight: 600; color: #000; background: var(--sig); border: 0; border-radius: 999px !important; padding: 9px 16px; transition: background .25s, box-shadow .25s; }
.top-in a.hacked::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #000; animation: live 1.6s infinite; }
.top-in a.hacked:hover { background: var(--fg); box-shadow: 0 0 30px -6px rgba(255,255,255,.5); }
@keyframes live { 50% { opacity: .25; } }
.lang-pick { font-family: var(--tm) !important; font-size: 12px; color: var(--dim); background: transparent !important; border: 1px solid var(--line) !important; border-radius: 999px !important; padding: 6px 26px 6px 12px !important; }

/* ---------------------------------------------------------------- controls */
.btn { font-family: var(--sans) !important; font-size: 13px; font-weight: 600; padding: 10px 18px; border-radius: 999px !important; background: rgba(255,255,255,.04); border: 1px solid var(--line-strong); color: var(--fg); letter-spacing: 0; text-transform: none; box-shadow: none; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.btn:hover { background: rgba(255,255,255,.1); border-color: var(--fg); color: var(--fg); transform: translateY(-1px); }
.btn-primary { background: var(--sig) !important; color: #000 !important; border-color: var(--sig) !important; box-shadow: 0 10px 30px -12px rgba(182,255,110,.7) !important; }
.btn-primary:hover { background: var(--fg) !important; border-color: var(--fg) !important; box-shadow: 0 10px 30px -12px rgba(255,255,255,.6) !important; }
.btn-danger { background: var(--danger) !important; border-color: var(--danger) !important; color: #000 !important; }
.copy, .chip, .chain-badge, .status, .pill-live, .banner a { border-radius: 999px !important; }
.copy { font-family: var(--sans); font-size: 12px; font-weight: 600; padding: 6px 14px; border: 1px solid var(--line-strong); background: transparent; color: var(--fg); }
.copy:hover { background: var(--fg); color: #000; }
input[type="text"], input[type="search"], input[type="email"], input[type="number"], input:not([type]), textarea, select {
  font-family: var(--tm); font-size: 13px; color: var(--fg); background: var(--panel) !important; border: 1px solid var(--line) !important; border-radius: var(--r-sm) !important; caret-color: var(--sig); }
input:focus, textarea:focus, select:focus { border-color: var(--sig) !important; box-shadow: 0 0 0 3px rgba(182,255,110,.15) !important; outline: none; }

/* ---------------------------------------------------------------- 01 · trace console (aurora) */
.aurora { background: transparent; border: 0; min-height: 0; padding: clamp(40px, 7vh, 80px) 0 32px; }
.aurora-fx { opacity: .14; filter: grayscale(1) brightness(1.2); }
.aurora::before { background: linear-gradient(90deg, rgba(6,6,6,.95), rgba(6,6,6,.6) 45%, rgba(6,6,6,.2) 75%), linear-gradient(0deg, var(--bg), transparent 30%); }
.aurora-in { max-width: var(--wrap); padding: 0 var(--gx); gap: 40px; align-items: stretch; }
.aurora-copy { max-width: 700px; flex: 1 1 auto; }
.aurora-h { font-size: clamp(2.6rem, 1.4rem + 4.2vw, 5rem); line-height: 1; margin-bottom: 22px; }
.aurora-sub { font-size: 16px; line-height: 1.7; color: var(--dim); max-width: 58ch; margin-bottom: 28px; }
.aurora-omni { max-width: 740px; }
.aurora-omni .omni-row { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 18px; border-radius: 14px; background: var(--panel); border: 1px solid var(--line-strong); backdrop-filter: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 30px 60px -40px rgba(0,0,0,1); }
.aurora-omni .omni-row::before { content: "trace ›"; font: 500 12px var(--tm); color: var(--sig); white-space: nowrap; }
.aurora-omni .omni-row:focus-within { border-color: var(--sig); box-shadow: var(--sig-glow); }
.aurora-omni input#q { font: 400 13.5px/1.5 var(--tm); color: var(--fg); padding: 9px 0; }
.aurora-omni input#q::placeholder { color: var(--faint); }
.aurora-omni .btn-primary { border-radius: 10px !important; padding: 10px 20px; }
.aurora-omni .omni-help { font-size: 11px; line-height: 1.7; color: var(--faint); margin: 12px 0 0 2px; }
.aurora-omni .choose { padding: 16px; }
.aurora-cta { gap: 10px; margin-top: 22px; }
.play { font-family: var(--sans); font-size: 13px; font-weight: 600; gap: 10px; padding: 8px 16px 8px 8px; border-radius: 999px; border: 1px solid var(--line-strong); color: var(--fg); transition: background .2s, border-color .2s; }
.play:hover { background: rgba(255,255,255,.08); border-color: var(--fg); }
.play-ring { width: 26px; height: 26px; border: 1px solid var(--line-strong); background: none; }
.play-ring svg { width: 11px; height: 11px; stroke: var(--fg); }
.play:first-child .play-ring svg { fill: var(--fg); }
.play:hover .play-ring { background: var(--fg); } .play:hover .play-ring svg { stroke: #000; } .play:first-child:hover .play-ring svg { fill: #000; }
.play-urgent { border-color: rgba(255,92,122,.45); }
.play-urgent .play-ring { border-color: rgba(255,92,122,.6) !important; }
.play-urgent .play-ring svg { stroke: var(--danger) !important; }
.play-urgent:hover { background: rgba(255,92,122,.12); border-color: var(--danger); }
.hack-strip { font: 400 12px var(--tm); color: var(--dim); border: 0; background: none; padding: 0; margin-top: 24px; gap: 8px; }
.hack-strip:hover { background: none; color: var(--fg); }
.hack-strip b { color: var(--danger); font-size: 11px; }
.hack-strip em { color: var(--sig); font-weight: 500; }
.hack-strip i { width: 6px; height: 6px; animation: live 1.6s infinite; box-shadow: none; }
.token-strip { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding: 8px 8px 8px 14px; border-radius: 12px !important; background: var(--panel); border: 1px solid var(--line); }
.token-strip .ts-tag { font: 500 11.5px var(--tm); color: var(--sig); letter-spacing: 0; text-transform: none; }
.token-strip .ts-ca { font: 400 12px var(--tm); color: var(--fg); flex: 1; }
.token-strip .ts-more { font-family: var(--sans); font-size: 12px; font-weight: 600; color: #000; background: var(--sig); border-radius: 999px; padding: 6px 14px; }
.token-strip .ts-more:hover { text-decoration: none; background: var(--fg); }
.aurora-side { display: none !important; }  /* replaced by the live pulse panel (features.js) */
.aurora-foot { max-width: var(--wrap); padding: 24px var(--gx) 0; }
.scroll, .aurora-foot .eyebrow { font: 400 11px var(--tm); letter-spacing: .14em; color: var(--faint); margin: 0; text-transform: uppercase; }
.scroll::after, .eyebrow-r::before { display: none; }
.mouse { display: none; }

/* ---------------------------------------------------------------- 02 · victim guide */
.vf { background: none; border: 0; border-top: 1px solid var(--line); padding: clamp(32px, 6vh, 64px) 0 0; }
.vf-in { max-width: var(--wrap); padding: 0 var(--gx) 12px; gap: 16px; }
@media (min-width: 900px) { .vf-in { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, .9fr); gap: 16px; } }
.vf-k { font-size: 11px; font-weight: 500; letter-spacing: .18em; color: var(--sig); gap: 10px; margin-bottom: 14px; }
.vf-n { display: inline; width: auto; height: auto; border: 0; background: none; color: var(--faint); font-size: 11px; }
.vf-n::before { content: "0"; }
.vf-h1 { font-size: clamp(2.2rem, 1.3rem + 3.2vw, 3.8rem) !important; line-height: 1.02; margin: 0 0 22px; }
.vf-h2 { font-size: 1.35rem !important; margin: 0 0 8px; color: var(--fg); }
.vf-now, .vf-how { padding: 26px 26px 28px; }
.vf-now { border-color: rgba(182,255,110,.4) !important; box-shadow: var(--sig-glow), inset 0 1px 0 rgba(255,255,255,.05) !important; }
.vf-opts { gap: 10px; }
.vf-opt { padding: 18px; min-height: 100px; gap: 6px; }
.vf-opt b { font-family: var(--sans) !important; font-size: 1rem; font-weight: 600; letter-spacing: -0.01em; color: var(--fg); }
.vf-opt span { font-size: 13px; line-height: 1.5; color: var(--dim); }
.vf-opt[aria-pressed="true"] { border-color: var(--sig) !important; background: linear-gradient(180deg, rgba(182,255,110,.12), rgba(182,255,110,.03)), var(--panel) !important; }
.vf-opt[aria-pressed="true"] b::before { content: "● "; color: var(--sig); font-size: .7em; vertical-align: middle; }
.vf-for { font-size: 13px; color: var(--dim); margin-bottom: 16px; }
.vf-acts { gap: 14px; margin-bottom: 18px; }
.vf-acts li { grid-template-columns: 28px minmax(0, 1fr); column-gap: 10px; }
.vf-acts li::before { content: "0" counter(vf); width: auto; height: auto; background: none; color: var(--faint); font: 500 11px/1.6 var(--tm); letter-spacing: .1em; justify-self: start; align-self: start; }
.vf-acts b { font-size: 1rem; font-weight: 600; color: var(--fg); }
.vf-acts span { font-size: 13px; line-height: 1.55; color: var(--dim); }
.vf-go { border-radius: 999px !important; justify-content: center; }
.vf-helps { gap: 16px; }
.vf-helps li { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; }
.vf-helps svg { width: 34px; height: 34px; padding: 8px; border-radius: 10px; border: 1px solid var(--line); background: var(--panel-2); stroke: var(--sig); stroke-width: 1.6; }
.vf-helps b { font-family: var(--sans) !important; font-size: 1rem; font-weight: 600; color: var(--fg); }
.vf-helps span { font-size: 13px; line-height: 1.55; color: var(--dim); }
.vf-trace { font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--sig); border: 0; margin-top: 6px; }
.vf-trace:hover { color: var(--fg); }
.vf-strip { max-width: var(--wrap); padding: 12px var(--gx) 48px; }

/* journey */
.journey ol { background: var(--panel); border: 1px solid var(--line); border-radius: var(--r); padding: 6px; gap: 4px; overflow: hidden; }
.journey li { border-left: 0 !important; border-radius: var(--r-sm); }
.journey-a { flex-direction: column; gap: 8px; padding: 16px 18px; color: var(--fg); border-radius: var(--r-sm); }
a.journey-a:hover { background: var(--panel-2); color: var(--fg); }
.journey-n { display: inline; width: auto; height: auto; border: 0; font: 500 11px var(--tm); letter-spacing: .1em; color: var(--faint); }
.journey-n::before { content: "0"; }
.journey-l { font-family: var(--sans) !important; font-size: 1rem; font-weight: 600; letter-spacing: -0.01em; color: var(--fg); }
.journey-h { font-size: 13px; color: var(--dim); }
.journey li.on { background: var(--panel-2); box-shadow: inset 0 -2px 0 var(--sig); }
.journey li.on .journey-n, .journey li.done .journey-n { background: none; color: var(--sig); }

/* ---------------------------------------------------------------- 03 · robinhood band + 04 · file check */
.rh { border-top: 1px solid var(--line); }
.rh-facts { border: 0; gap: 10px; }
.rh-facts li { border-right: 1px solid var(--line) !important; border-bottom: 1px solid var(--line) !important; }
.dlsafe { max-width: var(--wrap); margin: 0 auto 56px; padding: 28px 30px; gap: 24px; }
.dlsafe-icon { border-radius: 14px; width: 56px; height: 56px; background: var(--panel-2); border: 1px solid var(--line-strong); }
.dlsafe-icon svg { stroke: var(--sig); }
.dlsafe h2 { font-size: 1.5rem !important; margin: 0 0 8px; }
.dlsafe p { font-size: 14px; line-height: 1.65; }
.dlsafe-go { font-family: var(--sans); font-size: 13px; font-weight: 600; padding: 10px 18px; border-radius: 999px; background: var(--fg); color: #000; white-space: nowrap; }
.dlsafe:hover .dlsafe-go { background: var(--sig); }

/* ---------------------------------------------------------------- 05 · monitor (bento) */
.mon { --m-bg: transparent; --m-panel: var(--panel); --m-edge: var(--line); --m-cyan: var(--sig); --m-blue: var(--sig); --m-ink: var(--fg); --m-dim: var(--dim); --num: var(--sans);
  background: none !important; border-top: 1px solid var(--line) !important; max-width: none; padding: 56px var(--gx) 72px; }
.mon::before { display: none; }
.mon-head { background: none !important; border: 0 !important; clip-path: none !important; box-shadow: none !important; padding: 0 0 24px; margin-bottom: 24px; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; }
.mon-head::after { display: none; }
.mon-logo { display: none; }
.mon-brand h1 { font-size: clamp(1.6rem, 1rem + 1.8vw, 2.5rem) !important; text-transform: none; text-shadow: none; margin: 0; }
.mon-brand h1::after { content: " The hunt, live, on Solana."; color: var(--dim); }
.mon-brand p, .mon-deco { display: none; }
.mon-right { font: 400 12px var(--tm); color: var(--dim); gap: 12px; letter-spacing: 0; }
.mon-mode { border: 1px solid rgba(182,255,110,.5); border-radius: 999px; color: var(--sig); background: var(--sig-dim); font-size: 10px; letter-spacing: .14em; padding: 4px 10px; }
.mon-mode.demo { border-color: rgba(255,178,87,.6); color: var(--warn); }
.mon-clock { color: var(--fg); font-size: 14px; font-weight: 500; }
.mon-date { color: var(--faint); font-size: 12px; }
.mon-grid { gap: 14px; }
@media (min-width: 1100px) { .mon-grid { grid-template-columns: minmax(260px, 1fr) minmax(0, 2.3fr) minmax(260px, 1fr); } }
.mon-col, .mon-center { gap: 14px; }
.mp { padding: 22px 22px 24px; }
.mp::before { display: none !important; }
.mp-t { display: flex; align-items: center; gap: 8px; background: none; border: 0; padding: 0; margin: 0 0 4px; font: 500 11px/1.4 var(--tm); letter-spacing: .18em; text-transform: uppercase; color: var(--faint); }
.mp-t span { color: var(--faint); }
.mp-t-sm { font-size: 10px; }
.mp-s { font: 400 13px/1.5 var(--sans); color: var(--dim); letter-spacing: 0; margin-bottom: 18px; }
.mon-num { font: 600 2.6rem/1 var(--sans); letter-spacing: -0.045em; color: var(--fg); text-shadow: none; }
.mon-num.hot, .hot { color: var(--fg); text-shadow: none; }
.mon-cap { font: 400 13px/1.5 var(--sans) !important; color: var(--dim); letter-spacing: 0; margin-top: 8px; }
.gauge-row { gap: 20px; }
.ring { width: 96px; height: 96px; }
.ring-ticks { display: none; }
.ring-bg { stroke: rgba(255,255,255,.08); stroke-width: 5; }
.ring-fg { stroke-width: 5; stroke-linecap: round; filter: none !important; }
.ring-n { font: 600 20px var(--sans); fill: var(--fg); }
.ring-n tspan { font-size: 10px; fill: var(--dim); }
.ring-w { fill: var(--faint); font: 500 7px var(--tm); }
.hb { font: 400 13px var(--sans); }
.hb span { color: var(--fg); } .hb b { color: var(--dim); font-family: var(--tm); font-size: 12px; font-weight: 400; }
.hb-t { height: 6px; border-radius: 999px; background: rgba(255,255,255,.07); }
.hb-t i { background: var(--sig); box-shadow: 0 0 12px rgba(182,255,110,.4); border-radius: 999px; } .hb-t i::after { display: none; }
.rank li { font: 400 13px var(--sans); }
.rank em { display: inline; font: 500 11px var(--tm); color: var(--faint); background: none !important; border: 0; width: auto; height: auto; text-align: left; }
.rank em::before { content: "0"; }
.rank span { color: var(--fg); } .rank b { color: var(--dim); font-family: var(--tm); font-size: 12px; font-weight: 400; }
.vbars rect[fill^="url"] { fill: var(--sig); } .vbars rect[fill="#FFA64D"] { fill: var(--fg); }
.vbars text, .area text { font: 400 9px var(--tm); fill: var(--faint); }
.area-l { stroke: var(--sig); stroke-width: 1.5; filter: none; }
.area circle { fill: #000; stroke: var(--sig); stroke-width: 1.5; }
.area path[fill^="url"] { opacity: .5; }
.mon-foot, .mon-row { border: 0; border-top: 1px solid var(--line); background: none; padding: 14px 0 0; margin-top: 16px; font: 400 13px var(--sans); border-radius: 0; }
.mon-row { margin: 0; padding: 14px 0; border-top: 0; border-bottom: 1px solid var(--line); }
.mon-rows { gap: 0; }
.mon-foot span, .mon-row span { color: var(--dim); }
.mon-foot b, .mon-row b { color: var(--fg); font-family: var(--sans); font-weight: 600; font-size: 14px; }
.mon-row i { border: 1px solid var(--line); border-radius: 999px; font: 400 11px var(--tm); color: var(--faint); padding: 1px 8px; }
.mon-legend li { font: 400 13px var(--sans); }
.mon-legend i { border-radius: 50%; width: 7px; height: 7px; }
.mon-legend b { color: var(--fg); font-weight: 600; font-size: 14px; }
.mon-legend li:nth-child(1) i { background: var(--danger) !important; } .mon-legend li:nth-child(2) i { background: var(--fg) !important; } .mon-legend li:nth-child(3) i { background: var(--sig) !important; }
.mon-alarm { border: 1px solid rgba(255,92,122,.4); border-radius: var(--r-sm); background: rgba(255,92,122,.06); font: 400 13px var(--sans); }

/* centre stage */
.mp-hero { padding: 0 !important; overflow: hidden; }
.mp-hero > * { position: absolute; z-index: 2; }
.mon-globe { z-index: 0; }
.mon-globe canvas.globe { filter: saturate(.3) brightness(1.1); }
.mon-banner { top: 16px; min-width: 0; padding: 8px 18px; border: 1px solid var(--line); border-radius: 999px; background: rgba(13,13,13,.9); clip-path: none; backdrop-filter: blur(8px); }
.mon-banner b { font: 600 12px var(--sans); color: var(--fg); text-transform: none; letter-spacing: 0; }
.mon-banner span { font: 400 10px var(--tm); color: var(--faint); letter-spacing: .14em; text-transform: uppercase; }
.hud { background: rgba(13,13,13,.92) !important; border: 1px solid var(--line) !important; border-radius: 12px !important; padding: 14px 16px !important; clip-path: none !important; backdrop-filter: blur(8px); box-shadow: none !important; }
.hud-tl, .hud-tl2, .hud-bl { width: 224px; } .hud-tr { width: 256px; }
.hud-tl { top: 76px; } .hud-tl2 { top: 192px; } .hud-tr { top: 76px; }
.hud .mp-t { display: block; }
.mon-big { font: 600 2.8rem/1 var(--sans); letter-spacing: -0.045em; color: var(--fg); text-shadow: none; margin-top: 8px; }
.mon-mid { font: 600 1.9rem/1 var(--sans); letter-spacing: -0.035em; color: var(--fg); text-shadow: none; margin-top: 8px; }
.mon-unit { font: 400 12px var(--sans); color: var(--dim); }
.mon-trend { font: 400 12px var(--sans); color: var(--dim); }
.mon-trend .up { color: var(--fg); } .mon-trend .down { color: var(--sig); }
.hud-tr-h { font: 500 11px var(--tm); letter-spacing: .18em; text-transform: uppercase; color: var(--faint); }
.hud-list a { font: 400 12px/1.45 var(--sans); color: var(--fg); border-top: 1px solid var(--line); padding-top: 8px; }
.hud-list .t { font: 400 11px var(--tm); color: var(--sig); }
.hud-br { background: none !important; border: 0 !important; backdrop-filter: none; padding: 0 !important; width: 90px; height: 90px; }
.hud-br span { font: 600 1.2rem var(--sans); color: var(--fg); text-shadow: none; }
.radar { border: 1px solid var(--line-strong); box-shadow: none; background: none; }
.radar i { background: conic-gradient(from 0deg, rgba(182,255,110,.4), transparent 25%); }
.mon-note { font: 400 11px var(--tm); color: var(--faint); letter-spacing: 0; }
.mon-live { font: 400 11px var(--tm); color: var(--sig); letter-spacing: .06em; }
.mon-live.off { color: var(--faint); }
.mon-log { gap: 0; }
.ev { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; padding: 10px 0; font: 400 13px var(--sans); grid-template-columns: 44px 38px minmax(0, 1fr) auto; }
.ev:hover { background: none; }
.ev .t { font: 400 11px var(--tm); color: var(--sig); } .ev .c { font: 400 11px var(--tm); color: var(--faint); }
.ev a { color: var(--fg); } .ev.critical .t { color: var(--danger); } .ev.high .t { color: var(--fg); }
.ev-w, .ev-x { border: 1px solid var(--line); border-radius: 999px; font: 400 10px var(--tm); color: var(--faint); padding: 2px 8px; letter-spacing: .08em; }
.ev-x { color: var(--danger) !important; border-color: rgba(255,92,122,.4); }
.mon-cases { gap: 10px; }
.mon-cases a { padding: 16px 18px; }
.mc-q { font: 400 12px var(--tm); color: var(--fg); } .mc-amt { font: 600 1.3rem var(--sans); letter-spacing: -0.03em; color: var(--fg); } .mon-cases small { font: 400 11px var(--tm); color: var(--faint); }
.chain-badge { font: 400 10px var(--tm); color: var(--dim); border: 1px solid var(--line); background: none; padding: 1px 8px; }
.mon .tools3 { margin-top: 14px; gap: 14px; }
.mon .tool { padding: 24px 24px 26px; }
.mon .tool h3 { font: 600 1.2rem var(--sans) !important; letter-spacing: -0.025em !important; text-transform: none; color: var(--fg); margin-bottom: 8px; }
.mon .tool p { font-size: 13px; line-height: 1.6; color: var(--dim); }

/* ---------------------------------------------------------------- generic panels (other routes) */
.panel-h { font: 500 11px/1.4 var(--tm) !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: var(--faint) !important; background: none; border-bottom: 1px solid var(--line); padding: 14px 20px; }
.panel-h::before { display: none; }
.panel-b { padding: 20px; }
.finding .action { border-radius: var(--r-sm); background: var(--panel-2); border-color: var(--line); }
.finding .action b, .finding .action strong { color: var(--sig); }
.finding::before { background: var(--faint); box-shadow: none !important; }
.finding.medium::before { background: var(--sig); }
.verdict { background: none !important; border-bottom: 1px solid var(--line); }
.verdict-line .hot { color: var(--sig) !important; }
.verdict-line .cool { color: var(--dim) !important; background: none !important; -webkit-text-fill-color: var(--dim); }
.demo-banner { background: var(--panel); border-bottom: 1px solid var(--line); }
.demo-banner strong { color: var(--warn); font-family: var(--tm); font-size: 11px; letter-spacing: .18em; }
.log th, .table th { font: 500 11px var(--tm) !important; letter-spacing: .14em !important; color: var(--faint); }
.log tbody tr:hover, .table tbody tr:hover { background: var(--panel-2); }
.toast { background: var(--fg); color: #000; border: 0; border-radius: 999px; box-shadow: 0 20px 50px -20px rgba(0,0,0,.9); font-family: var(--sans); font-size: 13px; font-weight: 600; }
.tile, .tiles { background: var(--panel) !important; border-color: var(--line) !important; }
.big-counts b { font: 600 2.1rem var(--sans) !important; letter-spacing: -0.045em; color: var(--fg); }
.pill-live { background: var(--sig-dim); border: 1px solid rgba(182,255,110,.5); color: var(--sig); font: 400 11px var(--tm); letter-spacing: .1em; }
.pill-live::before { background: var(--sig); animation: live 1.6s infinite; box-shadow: none; }
.view-tog { border-color: var(--line-strong); }
.view-tog button { font: 500 10px var(--tm); color: var(--dim); }
.view-tog button[aria-pressed="true"] { background: var(--fg); color: #000; }

/* ---------------------------------------------------------------- footer */
.foot { background: none; border-top: 1px solid var(--line); margin-top: 0; }
.foot-in { max-width: none; padding: 40px var(--gx) 48px; display: grid; gap: 22px; }
.never { border: 0; padding: 0; background: none; font: 400 13px/1.7 var(--sans); color: var(--dim); max-width: 70ch; }
.never strong { color: var(--fg); font-weight: 600; }
.foot-links { gap: 8px 22px; }
.foot-links a { font: 400 12px var(--sans); color: var(--dim); text-decoration: none; padding: 0; border: 0; background: none; transition: color .25s; }
.foot-links a:hover { color: var(--fg); background: none; }
.foot .small { font: 400 12px/1.7 var(--sans); color: var(--faint); }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 1180px) { .nav-top { gap: 0; } .nav-top a { font-size: 12px; padding: 6px 10px; } }
@media (max-width: 980px) { .nav-top a[data-nav="method"], .nav-top a[data-nav="safe"], .nav-top a[data-nav="guard"] { display: none; } }
@media (max-width: 1099px) {
  .mp-hero > * { position: relative; }
  .mon-globe { position: relative; }
  .hud { margin: 10px 12px 0; width: auto !important; }
  .mon-head { grid-template-columns: 1fr auto; }
}
@media (max-width: 760px) {
  .nav-top { display: none; }
  .top-in { gap: 10px; }
  .brand { font-size: 13px !important; }
  .brand-mark { width: 28px; height: 28px; }
  .top-in a.hacked { padding: 8px 12px; font-size: 12px; }
  .top-in a.hacked::before { display: none; }
  .nav-bottom { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; padding: 8px max(10px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)); gap: 0;
    background: rgba(6,6,6,.9); border-top: 1px solid var(--line); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
  .nav-bottom a { flex: 1; display: grid; justify-items: center; gap: 4px; padding: 6px 2px; color: var(--dim); text-decoration: none; font: 500 10px var(--sans); }
  .nav-bottom a svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; filter: none !important; }
  .nav-bottom a[aria-current="page"] { color: var(--sig); background: none; }
  .nav-bottom a[aria-current="page"] svg { stroke: var(--sig); }
  main { padding-bottom: 90px; }
  .aurora { padding-top: 28px; }
  .aurora-in { flex-direction: column; gap: 20px; }
  .aurora-h { font-size: 2.4rem; }
  .aurora-omni .omni-row::before { display: none; }
  .token-strip { flex-wrap: wrap; }
  .vf-h1 { font-size: 2.2rem !important; }
  .vf-opt { min-height: 68px; padding: 14px; }
  .vf-now, .vf-how { padding: 18px; }
  .journey-a { padding: 12px 8px; }
  .dlsafe { margin: 0 16px 36px; padding: 20px; }
  .mon { padding: 36px 16px 56px; }
  .mon-brand h1 { font-size: 1.4rem !important; }
  .mon-brand h1::after { content: none; }
  .mon-right { flex-wrap: wrap; }
  .foot-in { padding-bottom: 110px; }
}
@media (prefers-reduced-motion: reduce) { .top-in a.hacked::before, .hack-strip i, .pill-live::before { animation: none; } }
