/* ============================================================
   Launchpad · Base (consumes tokens.css only)
   Cropped from 演示站-en/assets/styles.css; all values are var().
   No JS. No external images. No bare hex.
   ============================================================ */

* { margin: 0; padding: 0; box-sizing: border-box; }

html { background: var(--bg); }
body {
  font-family: var(--font-ui);
  background: var(--bg);
  color: var(--text-1);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; color: inherit; }
img, svg { display: block; }
::selection { background: color-mix(in srgb, var(--accent) 28%, transparent); color: var(--text-1); }

/* subtle instrument grid, never competes with content */
body::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(var(--border) 1px, transparent 1.4px);
  background-size: 26px 26px;
  opacity: 0.55;
}

/* ---------- helpers ---------- */
.wrap { max-width: var(--shell); margin: 0 auto; padding: 0 var(--gutter); position: relative; z-index: 1; }
.mono, .num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.muted { color: var(--text-2); }
.dim { color: var(--text-3); }
.up { color: var(--up); }
.down { color: var(--down); }
.gold-t { color: var(--gold); }
.cyan-t { color: var(--cyan); }
.violet-t { color: var(--violet); }
.pink-t { color: var(--pink); }
.row { display: flex; align-items: center; }
.spread { justify-content: space-between; }
.grow { flex: 1; min-width: 0; }
.wrap-any { overflow-wrap: anywhere; }
.tagline { font-size: var(--fs-2xs); line-height: var(--lh-2xs); color: var(--text-3); }
.hair { height: 1px; background: var(--border); }
.stack-1 > * + * { margin-top: var(--sp-1); }
.stack-2 > * + * { margin-top: var(--sp-2); }
.stack-3 > * + * { margin-top: var(--sp-3); }
.stack-4 > * + * { margin-top: var(--sp-4); }
.stack-6 > * + * { margin-top: var(--sp-6); }
.stack-8 > * + * { margin-top: var(--sp-8); }
.section-gap { margin-top: var(--sp-8); }

/* icon masks: inherit color, no inline color values */
.ico { display: inline-block; flex: none; width: 16px; height: 16px; background: currentColor;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: contain; mask-size: contain; }
.ico-12 { width: 12px; height: 12px; }
.ico-14 { width: 14px; height: 14px; }
.ico-20 { width: 20px; height: 20px; }
.ico-search { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-search%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m21%2021-4.34-4.34%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-search%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m21%2021-4.34-4.34%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-chevron-down { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-chevron-down%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m6%209%206%206%206-6%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-chevron-down%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m6%209%206%206%206-6%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-chevron-right { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-chevron-right%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-chevron-right%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-arrow-up-right { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-arrow-up-right%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M7%207h10v10%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M7%2017%2017%207%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-arrow-up-right%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M7%207h10v10%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M7%2017%2017%207%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-external-link { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-external-link%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M15%203h6v6%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M10%2014%2021%203%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-external-link%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M15%203h6v6%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M10%2014%2021%203%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-circle-check { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-circle-check%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m16%209-5.5%205.5L8%2012%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-circle-check%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m16%209-5.5%205.5L8%2012%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-clock { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-clock%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%206v6l4%202%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-clock%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%206v6l4%202%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-users { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-users%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M16%203.128a4%204%200%200%201%200%207.744%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.87%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-users%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M16%203.128a4%204%200%200%201%200%207.744%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.87%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-gavel { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-gavel%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m14%2013-8.381%208.38a1%201%200%200%201-3.001-3l8.384-8.381%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m16%2016%206-6%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m21.5%2010.5-8-8%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m8%208%206-6%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m8.5%207.5%208%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-gavel%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m14%2013-8.381%208.38a1%201%200%200%201-3.001-3l8.384-8.381%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m16%2016%206-6%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m21.5%2010.5-8-8%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m8%208%206-6%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m8.5%207.5%208%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-chart-line { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-chart-line%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M3%203v16a2%202%200%200%200%202%202h16%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m19%209-5%205-4-4-3%203%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-chart-line%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M3%203v16a2%202%200%200%200%202%202h16%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m19%209-5%205-4-4-3%203%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-copy { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-copy%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Crect%20width%3D%2214%22%20height%3D%2214%22%20x%3D%228%22%20y%3D%228%22%20rx%3D%222%22%20ry%3D%222%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4%2016c-1.1%200-2-.9-2-2V4c0-1.1.9-2%202-2h10c1.1%200%202%20.9%202%202%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-copy%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Crect%20width%3D%2214%22%20height%3D%2214%22%20x%3D%228%22%20y%3D%228%22%20rx%3D%222%22%20ry%3D%222%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4%2016c-1.1%200-2-.9-2-2V4c0-1.1.9-2%202-2h10c1.1%200%202%20.9%202%202%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-flame { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-flame%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M12%203q1%204%204%206.5t3%205.5a1%201%200%200%201-14%200%205%205%200%200%201%201-3%201%201%200%200%200%205%200c0-2-1.5-3-1.5-5q0-2%202.5-4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-flame%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M12%203q1%204%204%206.5t3%205.5a1%201%200%200%201-14%200%205%205%200%200%201%201-3%201%201%200%200%200%205%200c0-2-1.5-3-1.5-5q0-2%202.5-4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-droplet { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-droplet%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M12%2022a7%207%200%200%200%207-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5%202.5-2%204.9-4%206.5C6%2011.1%205%2013%205%2015a7%207%200%200%200%207%207z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-droplet%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M12%2022a7%207%200%200%200%207-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5%202.5-2%204.9-4%206.5C6%2011.1%205%2013%205%2015a7%207%200%200%200%207%207z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-shield-check { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-shield-check%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M20%2013c0%205-3.5%207.5-7.66%208.95a1%201%200%200%201-.67-.01C7.5%2020.5%204%2018%204%2013V6a1%201%200%200%201%201-1c2%200%204.5-1.2%206.24-2.72a1.17%201.17%200%200%201%201.52%200C14.51%203.81%2017%205%2019%205a1%201%200%200%201%201%201z%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-shield-check%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M20%2013c0%205-3.5%207.5-7.66%208.95a1%201%200%200%201-.67-.01C7.5%2020.5%204%2018%204%2013V6a1%201%200%200%201%201-1c2%200%204.5-1.2%206.24-2.72a1.17%201.17%200%200%201%201.52%200C14.51%203.81%2017%205%2019%205a1%201%200%200%201%201%201z%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-lock { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-lock%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Crect%20width%3D%2218%22%20height%3D%2211%22%20x%3D%223%22%20y%3D%2211%22%20rx%3D%222%22%20ry%3D%222%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M7%2011V7a5%205%200%200%201%2010%200v4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-lock%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Crect%20width%3D%2218%22%20height%3D%2211%22%20x%3D%223%22%20y%3D%2211%22%20rx%3D%222%22%20ry%3D%222%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M7%2011V7a5%205%200%200%201%2010%200v4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-coins { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-coins%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M13.744%2017.736a6%206%200%201%201-7.48-7.48%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M15%206h1v4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m6.134%2014.768.866-.5%202%203.464%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2216%22%20cy%3D%228%22%20r%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-coins%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M13.744%2017.736a6%206%200%201%201-7.48-7.48%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M15%206h1v4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m6.134%2014.768.866-.5%202%203.464%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2216%22%20cy%3D%228%22%20r%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-info { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-info%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2016v-4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%208h.01%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-info%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2016v-4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%208h.01%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-wallet { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-wallet%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M19%207V4a1%201%200%200%200-1-1H5a2%202%200%200%200%200%204h15a1%201%200%200%201%201%201v4h-3a2%202%200%200%200%200%204h3a1%201%200%200%200%201-1v-2a1%201%200%200%200-1-1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%205v14a2%202%200%200%200%202%202h15a1%201%200%200%200%201-1v-4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-wallet%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M19%207V4a1%201%200%200%200-1-1H5a2%202%200%200%200%200%204h15a1%201%200%200%201%201%201v4h-3a2%202%200%200%200%200%204h3a1%201%200%200%200%201-1v-2a1%201%200%200%200-1-1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%205v14a2%202%200%200%200%202%202h15a1%201%200%200%200%201-1v-4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-zap { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-zap%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M15.914%204a1.5%201.5%200%2000-2.474-1.561l-9%209A1.5%201.5%200%20005.5%2014h4.002a.5.5%200%2001.471.666L8.086%2020a1.5%201.5%200%20002.475%201.56l9-9A1.5%201.5%200%200018.5%2010h-3.997a.5.5%200%2001-.472-.667z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-zap%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M15.914%204a1.5%201.5%200%2000-2.474-1.561l-9%209A1.5%201.5%200%20005.5%2014h4.002a.5.5%200%2001.471.666L8.086%2020a1.5%201.5%200%20002.475%201.56l9-9A1.5%201.5%200%200018.5%2010h-3.997a.5.5%200%2001-.472-.667z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-trending-up { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-trending-up%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M16%207h6v6%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m22%207-8.5%208.5-5-5L2%2017%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-trending-up%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M16%207h6v6%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m22%207-8.5%208.5-5-5L2%2017%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-x { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-x%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M18%206%206%2018%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m6%206%2012%2012%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-x%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M18%206%206%2018%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m6%206%2012%2012%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }

/* ---------- navigation ---------- */
.nav {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--bg) 78%, transparent);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
}
.nav-in { display: flex; align-items: center; gap: var(--sp-4); height: var(--nav-h); }
.brand { display: flex; align-items: center; gap: var(--sp-2); font-weight: var(--fw-semibold); font-size: 17px; letter-spacing: -0.01em; }
.brand-mark { width: 22px; height: 22px; border-radius: 7px; background: var(--grad); box-shadow: none; }
.beta {
  font-family: var(--font-mono); font-size: var(--fs-2xs); color: var(--text-3);
  border: 1px solid var(--border-strong); border-radius: var(--r-sm); padding: 1px 6px;
}
.search {
  flex: 1; max-width: 420px; display: flex; align-items: center; gap: var(--sp-2);
  height: 34px; padding: 0 var(--sp-3); margin-left: var(--sp-3);
  background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--r-md);
}
.search input { flex: 1; min-width: 0; background: none; border: 0; outline: 0; font-size: var(--fs-sm); }
.search input::placeholder { color: var(--text-3); }
.search .key { font-family: var(--font-mono); font-size: var(--fs-2xs); color: var(--text-3); border: 1px solid var(--border-strong); border-radius: 4px; padding: 0 5px; }
.nav-actions { margin-left: auto; display: flex; align-items: center; gap: var(--sp-2); }

/* ---------- buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  height: 36px; padding: 0 18px; border-radius: var(--r-full);
  border: 1px solid var(--border-strong); background: var(--surface-2); color: var(--text-1);
  font-size: var(--fs-sm); font-weight: var(--fw-semibold); white-space: nowrap; cursor: pointer;
  transition: background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), box-shadow var(--dur-2) var(--ease), color var(--dur-1) var(--ease);
}
.btn:hover { background: var(--surface-3); border-color: var(--border-hover); }
.btn-sm { height: 28px; padding: 0 12px; font-size: var(--fs-xs); }
.btn-lg { height: 44px; padding: 0 22px; font-size: var(--fs-body); }
.btn-block { display: flex; width: 100%; }

/* the only strong glow on any screen */
.btn-launch {
  border: 0; color: var(--on-accent); background: var(--grad);
  box-shadow: var(--glow-cta);
}
.btn-launch:hover { box-shadow: var(--glow-cta-hover); transform: translateY(-1px); }

/* large panel CTA: dark center, neutral rim, faint green backlight (not a halo) */
.btn-panel {
  border: 1px solid var(--border-strong); background: color-mix(in srgb, var(--accent) 6%, var(--surface-2));
  color: var(--accent); box-shadow: var(--backlight-cta);
}
.btn-panel:hover { background: color-mix(in srgb, var(--accent) 10%, var(--surface-2)); border-color: var(--border-hover); box-shadow: var(--backlight-cta-hover); }

/* row-level action: matte solid, no glow */
.btn-row { border: 0; background: var(--accent); color: var(--on-accent); }
.btn-row:hover { background: color-mix(in srgb, var(--accent) 88%, var(--text-1)); }
.btn-ghost { border-color: transparent; background: transparent; color: var(--text-2); }
.btn-ghost:hover { background: var(--surface-2); color: var(--text-1); }
.btn-quiet { border-color: var(--border); background: var(--surface-1); color: var(--text-2); }
.btn-quiet:hover { color: var(--text-1); background: var(--surface-3); }
.btn:disabled, .is-disabled { opacity: 0.42; cursor: not-allowed; box-shadow: none; }
.btn .link-ico { opacity: 0.7; }

/* ---------- pills / filters / tabs ---------- */
.pill {
  display: inline-flex; align-items: center; gap: 6px;
  height: 32px; padding: 0 14px; border-radius: var(--r-full);
  border: 1px solid var(--border-strong); background: var(--surface-2);
  color: var(--text-2); font-size: var(--fs-sm); white-space: nowrap; cursor: pointer;
  transition: color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);
}
.pill:hover { color: var(--text-1); border-color: var(--border-hover); }
.pill.on { background: var(--surface-3); color: var(--text-1); border-color: var(--border-hover); font-weight: var(--fw-semibold); }
.pill.on::before { content: ""; width: 6px; height: 6px; border-radius: 2px; background: var(--accent); }
.pill-sm { height: 26px; padding: 0 10px; font-size: var(--fs-2xs); font-family: var(--font-mono); }
.seg { display: inline-flex; padding: 2px; border: 1px solid var(--border); border-radius: var(--r-full); background: var(--surface-inset); }
.seg .pill { height: 28px; border: 0; background: transparent; }
.seg .pill.on { background: var(--surface-3); }
.seg .pill.on::before { display: none; }
.tabbar { display: flex; gap: var(--sp-2); overflow-x: auto; scrollbar-width: none; }
.tabbar::-webkit-scrollbar { display: none; }
.group-label { font-size: var(--fs-2xs); color: var(--text-3); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: var(--sp-2); }

/* ---------- badges ---------- */
.vbadge {
  display: inline-flex; align-items: center; gap: 5px;
  height: 22px; padding: 0 9px; border-radius: var(--r-full);
  font-size: var(--fs-2xs); font-weight: var(--fw-medium); white-space: nowrap;
}
.vbadge .glyph { font-size: var(--fs-xs); line-height: 1; }
.vbadge.rev { color: var(--trust); border: 1px solid color-mix(in srgb, var(--trust) 42%, transparent); background: color-mix(in srgb, var(--trust) 10%, transparent); }
.vbadge.tra { color: var(--cyan); border: 1px solid color-mix(in srgb, var(--cyan) 38%, transparent); background: color-mix(in srgb, var(--cyan) 9%, transparent); }
.vbadge.none { color: var(--text-3); border: 1px dashed var(--border-hover); background: transparent; }
.vbadge.xv { color: var(--text-3); border: 1px solid var(--border); background: var(--surface-2); font-family: var(--font-mono); }
.vbadge.rev .glyph { animation: badgeBreath var(--loop-heartbeat) var(--ease) infinite; }

.mbadge {
  display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 9px;
  border-radius: var(--r-sm); border: 1px solid var(--border-strong);
  background: var(--surface-3); font-size: var(--fs-2xs); font-family: var(--font-mono);
}
.mbadge.gold { color: var(--gold); border-color: color-mix(in srgb, var(--gold) 38%, transparent); }
.mbadge.violet { color: var(--violet); border-color: color-mix(in srgb, var(--violet) 38%, transparent); }
.mbadge.locked { color: var(--text-3); border-style: dashed; background: transparent; }

/* achievement hexagon (五色语义，稀有度不扩色相) */
.hex { width: 34px; height: 38px; position: relative; flex: none;
  clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  display: flex; align-items: center; justify-content: center; }
.hex::after { content: ""; position: absolute; inset: 1px; clip-path: inherit; background: linear-gradient(180deg, color-mix(in srgb, var(--text-1) 16%, transparent), transparent 46%); }
.hex > * { position: relative; z-index: 1; }
.hex.mint { background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 34%, var(--surface-3)), var(--surface-2)); }
.hex.pink { background: linear-gradient(180deg, color-mix(in srgb, var(--pink) 34%, var(--surface-3)), var(--surface-2)); }
.hex.gold { background: linear-gradient(180deg, color-mix(in srgb, var(--gold) 36%, var(--surface-3)), var(--surface-2)); }
.hex.violet { background: linear-gradient(180deg, color-mix(in srgb, var(--violet) 36%, var(--surface-3)), var(--surface-2)); }
.hex.cyan { background: linear-gradient(180deg, color-mix(in srgb, var(--cyan) 34%, var(--surface-3)), var(--surface-2)); }
.hex.sm { width: 24px; height: 27px; }
.hex .ico { color: var(--text-1); }
.hex.locked { opacity: 0.5; background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--border-hover); }
.hex.locked::after { display: none; }
.hexwrap { display: inline-flex; gap: 6px; }
.hexwrap .hex { transition: transform var(--dur-2) var(--ease), filter var(--dur-2) var(--ease); }
.hexwrap .hex:hover { transform: translateY(-2px) scale(1.04); }

/* ---------- cards ---------- */
.card { position: relative; background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-lg); }
.card-pad { padding: var(--sp-5); }
.card-hover { transition: border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), transform var(--dur-2) var(--ease), background var(--dur-2) var(--ease); }
.card-hover:hover { border-color: var(--border-hover); box-shadow: var(--shadow-card-hover); background: color-mix(in srgb, var(--surface-1) 88%, var(--surface-2)); }
.card-hover:hover .quick-buy { opacity: 1; transform: none; }
.quick-buy { opacity: 0; transform: translateY(4px); transition: opacity var(--dur-2) var(--ease), transform var(--dur-2) var(--ease); }

/* ---------- logos ---------- */
.logo { display: flex; align-items: center; justify-content: center; flex: none;
  border-radius: 50%; color: var(--text-1); font-weight: var(--fw-semibold);
  box-shadow: inset 0 0 0 1px var(--border-strong); }
.logo-40 { width: 40px; height: 40px; font-size: 15px; }
.logo-56 { width: 56px; height: 56px; font-size: 20px; }
.logo-72 { width: 72px; height: 72px; font-size: 24px; }
.logo.helios { background: radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--gold) 42%, var(--surface-3)), var(--surface-1)); color: var(--gold); }
.logo.nebula { background: radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--cyan) 40%, var(--surface-3)), var(--surface-1)); color: var(--cyan); }
.logo.lumen { background: radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--violet) 40%, var(--surface-3)), var(--surface-1)); color: var(--violet); }
.logo.kite { background: radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--pink) 34%, var(--surface-3)), var(--surface-1)); color: var(--pink); }
.logo-wrap { position: relative; flex: none; }
.logo-dot { position: absolute; right: -2px; bottom: -2px; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--surface-1); border: 1px solid var(--border-strong); font-size: 10px; }
.logo-dot.rev { color: var(--trust); border-color: color-mix(in srgb, var(--trust) 45%, transparent); }

/* ---------- token card (App segment + Token segment + verification strip) ---------- */
.tok-card { display: flex; flex-direction: column; padding: var(--sp-4); cursor: pointer; }
.tok-card .app-seg { display: flex; gap: var(--sp-3); align-items: flex-start; }
.tok-name { font-size: var(--fs-h3); font-weight: var(--fw-semibold); line-height: var(--lh-h3); display: flex; align-items: center; gap: 6px; }
.tok-ticker { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--text-3); }
.tok-line { margin-top: 3px; font-size: var(--fs-xs); line-height: var(--lh-xs); color: var(--text-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cat { font-size: var(--fs-2xs); color: var(--text-3); border: 1px solid var(--border); border-radius: 4px; padding: 0 5px; }
.conn-dots { display: flex; gap: 6px; margin-top: var(--sp-2); }
.conn-dot { display: inline-flex; align-items: center; gap: 3px; font-size: var(--fs-2xs); color: var(--text-3); }
.conn-dot .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--text-3); }
.conn-dot.ok { color: var(--text-2); }
.conn-dot.ok .dot { background: var(--accent); }
.conn-dot.pending .dot { background: transparent; box-shadow: inset 0 0 0 1px var(--text-3); }
.conn-dot.off .dot { background: transparent; box-shadow: inset 0 0 0 1px var(--down); }
.tok-card .token-seg { margin-top: var(--sp-4); padding-top: var(--sp-3); border-top: 1px solid var(--border); }
.price-line { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-2); }
.price-line .p { font-family: var(--font-mono); font-size: var(--fs-h3); font-variant-numeric: tabular-nums; }
.price-line .chg { font-family: var(--font-mono); font-size: var(--fs-xs); }
.kvline { display: flex; justify-content: space-between; gap: var(--sp-2); font-size: var(--fs-xs); color: var(--text-2); margin-top: var(--sp-2); }
.kvline .v { font-family: var(--font-mono); color: var(--text-1); }
.prog { margin-top: var(--sp-3); }
.prog-head { display: flex; justify-content: space-between; font-size: var(--fs-2xs); color: var(--text-3); margin-bottom: 6px; }
.prog-head b { font-family: var(--font-mono); color: var(--text-2); font-weight: var(--fw-regular); }
.tube { height: 6px; border-radius: var(--r-full); background: var(--surface-3); overflow: hidden; }
.tube > i { display: block; height: 100%; border-radius: inherit; background: var(--grad-gold); }
.tube.mint > i { background: var(--grad); }
.tube.violet > i { background: var(--grad-violet); }
.tube.pink > i { background: var(--grad-pink); }
.tube.sm { height: 4px; }
.vstrip {
  margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--border);
  display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; min-height: 24px;
}
.vstrip .src { font-size: var(--fs-2xs); color: var(--text-3); }
.vstrip .src b { color: var(--text-2); font-weight: var(--fw-regular); font-family: var(--font-mono); }

/* ---------- section headers ---------- */
.sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--sp-4); margin-bottom: var(--sp-4); }
.sec-title { font-size: var(--fs-h2); line-height: var(--lh-h2); font-weight: var(--fw-semibold); letter-spacing: -0.01em; display: flex; align-items: center; gap: var(--sp-2); }
.sec-sub { font-size: var(--fs-xs); color: var(--text-3); margin-top: 2px; }
.sec-link { font-size: var(--fs-xs); color: var(--text-2); display: inline-flex; align-items: center; gap: 4px; }
.sec-link:hover { color: var(--accent); }

/* ---------- home: story bar ---------- */
.story { margin-top: var(--sp-5); border: 1px solid var(--border); border-radius: var(--r-xl);
  background: linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 55%, transparent), transparent 70%), var(--surface-1);
  padding: var(--sp-7) var(--sp-6) var(--sp-6); position: relative; overflow: hidden; }
.story::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(60% 120% at 18% -30%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 62%); }
.story > * { position: relative; z-index: 1; }
.story h1 { font-size: var(--fs-display); line-height: var(--lh-display); letter-spacing: -0.025em; font-weight: var(--fw-semibold); max-width: 760px; }
.story h1 em { font-style: normal; color: var(--accent); }
.story-sub { margin-top: var(--sp-3); color: var(--text-2); font-size: var(--fs-body); max-width: 720px; }
.entry-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); margin-top: var(--sp-6); }
.entry { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-inset); }
.entry:hover { border-color: var(--border-hover); background: var(--surface-2); }
.entry .e-ico { width: 30px; height: 30px; border-radius: var(--r-sm); display: flex; align-items: center; justify-content: center; background: var(--surface-3); border: 1px solid var(--border); color: var(--accent); }
.entry .e-t { font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
.entry .e-s { font-size: var(--fs-2xs); color: var(--text-3); margin-top: 1px; }
.evidence-row { display: flex; align-items: stretch; gap: var(--sp-5); margin-top: var(--sp-6); padding-top: var(--sp-4); border-top: 1px solid var(--border); flex-wrap: wrap; }
.evidence { display: flex; align-items: baseline; gap: var(--sp-2); }
.evidence .e-v { font-family: var(--font-mono); font-size: var(--fs-h1); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.evidence .e-k { font-size: var(--fs-xs); color: var(--text-3); }
.evidence a { border-bottom: 1px dashed var(--border-hover); }
.evidence a:hover { color: var(--accent); border-color: var(--accent); }

/* ---------- home: live evidence strip ---------- */
.live-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: var(--sp-4);
  background: var(--border); border: 1px solid var(--border); border-radius: var(--r-md); overflow: hidden; }
.live-item { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); background: var(--surface-1); }
.live-item:hover { background: var(--surface-2); }
.live-item .l-ico { color: var(--cyan); display: flex; }
.live-item .l-t { font-size: var(--fs-xs); color: var(--text-2); }
.live-item .l-s { font-family: var(--font-mono); font-size: var(--fs-2xs); color: var(--text-3); margin-top: 1px; }
.live-item .l-go { margin-left: auto; color: var(--text-3); }

/* ---------- home: filters + grid ---------- */
.filterbar { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; margin-top: var(--sp-8); }
.filter-groups { display: flex; align-items: center; gap: var(--sp-5); flex-wrap: wrap; }
.fgroup { display: flex; align-items: center; gap: 6px; }
.fgroup .group-label { margin: 0 var(--sp-1) 0 0; }
.grid-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--card-gap); margin-top: var(--sp-4); }

/* ---------- project page: header ---------- */
.proj-head { margin-top: var(--sp-5); display: flex; align-items: flex-start; gap: var(--sp-4); }
.proj-title { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
.proj-title h1 { font-size: 28px; line-height: 34px; letter-spacing: -0.02em; font-weight: var(--fw-semibold); }
.proj-title .ticker { font-family: var(--font-mono); font-size: var(--fs-body); color: var(--text-3); }
.proj-meta { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; margin-top: var(--sp-2); font-size: var(--fs-xs); color: var(--text-2); }
.proj-meta .dot-sep { width: 3px; height: 3px; border-radius: 50%; background: var(--text-3); }
.proj-head .head-right { margin-left: auto; display: flex; align-items: center; gap: var(--sp-2); }
.entity { font-family: var(--font-mono); font-size: var(--fs-2xs); color: var(--text-2); border: 1px solid var(--border-strong); border-radius: 4px; padding: 1px 6px; text-transform: uppercase; letter-spacing: 0.06em; }

/* ---------- project page: three columns ---------- */
.cols { display: grid; grid-template-columns: var(--anchor-w) minmax(0, 1fr) var(--rail-w); gap: var(--sp-5); align-items: start; margin-top: var(--sp-5); }
.anchor-nav { position: sticky; top: calc(var(--nav-h) + var(--sp-4)); }
.anchor-link { display: flex; align-items: center; gap: var(--sp-2); padding: 7px 10px; border-radius: var(--r-sm); font-size: var(--fs-sm); color: var(--text-2); border-left: 2px solid transparent; }
.anchor-link:hover { background: var(--surface-2); color: var(--text-1); }
.anchor-link.on { color: var(--text-1); background: var(--surface-2); border-left-color: var(--accent); font-weight: var(--fw-semibold); }
.anchor-link .n { font-family: var(--font-mono); font-size: var(--fs-2xs); color: var(--text-3); width: 18px; }
.conn-list { margin-top: var(--sp-4); padding-top: var(--sp-4); border-top: 1px solid var(--border); }
.conn-list .k { font-size: var(--fs-2xs); color: var(--text-3); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: var(--sp-2); }
.conn-row { display: flex; align-items: center; gap: 6px; font-size: var(--fs-xs); color: var(--text-2); padding: 3px 0; }
.conn-row .st { font-family: var(--font-mono); font-size: var(--fs-2xs); }
.conn-row.ok .st { color: var(--accent); }
.conn-row.pending .st { color: var(--cyan); }
.conn-row.off .st { color: var(--down); }
.rail { position: sticky; top: calc(var(--nav-h) + var(--sp-4)); display: flex; flex-direction: column; gap: var(--sp-4); }

/* ---------- project page: conclusion card / trust chain / fund machine ---------- */
.conclusion { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 0.9fr); gap: 1px; background: var(--border); border: 1px solid color-mix(in srgb, var(--trust) 30%, transparent); border-radius: var(--r-lg); overflow: hidden; }
.conclusion > div { background: var(--surface-1); padding: var(--sp-4) var(--sp-5); }
.conclusion .c-k { font-size: var(--fs-2xs); letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-3); }
.conclusion .c-v { margin-top: var(--sp-2); font-size: var(--fs-h1); line-height: var(--lh-h1); font-weight: var(--fw-semibold); display: flex; align-items: center; gap: var(--sp-2); }
.conclusion .c-amt { font-family: var(--font-mono); font-size: var(--fs-num-display); line-height: var(--lh-num-display); letter-spacing: -0.02em; }
.conclusion .c-amt small { font-size: var(--fs-xs); color: var(--text-3); letter-spacing: 0; margin-left: 6px; }
.conclusion .c-facts { font-size: var(--fs-xs); line-height: 2; color: var(--text-2); }
.conclusion .c-facts b { font-family: var(--font-mono); color: var(--text-1); font-weight: var(--fw-regular); }
.conclusion .share { margin-left: auto; }

/* Trust Chain: 6 nodes */
.tc { display: flex; align-items: flex-start; gap: 0; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface-1); padding: var(--sp-4) var(--sp-5); }
.tc-node { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; padding: 0 4px; }
.tc-node .tc-dot { width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 1px solid var(--border-strong); background: var(--surface-2); color: var(--text-3); z-index: 1; }
.tc-node.passed .tc-dot { color: var(--on-gold); background: var(--grad-gold); border-color: transparent; }
.tc-node.current .tc-dot { color: var(--gold); border-color: color-mix(in srgb, var(--gold) 60%, transparent); background: color-mix(in srgb, var(--gold) 12%, var(--surface-2)); }
.tc-node.pending .tc-dot { color: var(--text-3); border-style: dashed; }
.tc-node .tc-t { margin-top: 8px; font-size: var(--fs-xs); color: var(--text-1); font-weight: var(--fw-medium); white-space: nowrap; }
.tc-node .tc-s { margin-top: 2px; font-family: var(--font-mono); font-size: 10px; line-height: 15px; color: var(--text-3); }
.tc-line { flex: none; width: 100%; height: 1px; background: var(--border-strong); margin-top: 13px; position: absolute; left: 50%; right: -50%; width: 100%; z-index: 0; }
.tc-node:last-child .tc-line { display: none; }
.tc .tc-node .tc-line.passed { background: color-mix(in srgb, var(--gold) 50%, transparent); }

/* fund state machine: four cells */
.fund { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.fund-cell { background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-md); padding: var(--sp-3) var(--sp-4); }
.fund-cell .k { font-size: var(--fs-2xs); color: var(--text-3); letter-spacing: 0.06em; text-transform: uppercase; }
.fund-cell .v { margin-top: 6px; font-family: var(--font-mono); font-size: var(--fs-num-xl); line-height: var(--lh-num-xl); }
.fund-cell .s { margin-top: 3px; font-size: var(--fs-2xs); line-height: 15px; color: var(--text-2); }
.fund-cell.gold { border-color: color-mix(in srgb, var(--trust) 26%, transparent); }
.fund-cell.gold .v { color: var(--trust); }

/* mid column sections */
.bsec { margin-top: var(--sp-4); background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--sp-5); }
.bsec-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.bsec-title { font-size: var(--fs-h3); font-weight: var(--fw-semibold); }
.bsec-sub { font-size: var(--fs-2xs); color: var(--text-3); margin-top: 2px; }
.statrow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.stat-card { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--r-md); padding: var(--sp-3) var(--sp-4); }
.stat-card .k { font-size: var(--fs-2xs); color: var(--text-3); display: flex; align-items: center; gap: 4px; }
.stat-card .v { margin-top: 5px; font-family: var(--font-mono); font-size: var(--fs-num-xl); line-height: var(--lh-num-xl); }
.stat-card .s { margin-top: 2px; font-size: 10px; line-height: 15px; color: var(--text-3); }
.stat-card.hint { border-style: dashed; background: transparent; }
.stat-card.hint .v { color: var(--text-3); }

/* chart frame */
.chart { margin-top: var(--sp-2); }
.chart svg { width: 100%; height: auto; display: block; }
.chart-foot { margin-top: var(--sp-2); display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
.chart text { fill: var(--text-3); font-family: var(--font-mono); font-size: 10px; font-variant-numeric: tabular-nums; }
.chart .c-grid { stroke: var(--border); stroke-width: 1; }
.chart .c-axis { stroke: var(--border-strong); stroke-width: 1; }
.chart .c-lbl { fill: var(--text-3); }
.chart .c-cat { fill: var(--text-2); font-family: var(--font-ui); font-size: 11px; }
.chart .c-val { fill: var(--text-1); font-size: 11px; }
.chart .c-nullline { stroke: var(--text-3); stroke-width: 1; stroke-dasharray: 3 4; }
.chart .c-nulltext { fill: var(--text-3); font-size: 10px; }
.chart .c-bar { fill: url(#gGold); }
.chart .c-bar-mint { fill: url(#gMint); }
.chart .c-bar-violet { fill: url(#gViolet); }
.chart .c-bar-cyan { fill: url(#gCyan); }
.chart .c-bar-pink { fill: url(#gPink); }
.chart .g-gold-a { stop-color: var(--gold-from); stop-opacity: 0.9; }
.chart .g-gold-b { stop-color: var(--gold-to); stop-opacity: 0.9; }
.chart .g-mint-a { stop-color: var(--accent-from); }
.chart .g-mint-b { stop-color: var(--accent-to); }
.chart .g-violet-a { stop-color: var(--violet-from); }
.chart .g-violet-b { stop-color: var(--violet-to); }
.chart .g-cyan-a { stop-color: var(--cyan-from); }
.chart .g-cyan-b { stop-color: var(--cyan-to); }
.chart .g-pink-a { stop-color: var(--pink-from); }
.chart .g-pink-b { stop-color: var(--pink-to); }
.chart-legend { display: flex; align-items: center; gap: var(--sp-4); margin-top: var(--sp-2); font-size: var(--fs-2xs); color: var(--text-3); }
.chart-legend i { width: 10px; height: 10px; border-radius: 2px; display: inline-block; margin-right: 5px; vertical-align: -1px; }
.chart-legend .lg-gold { background: var(--grad-gold); }
.chart-legend .lg-null { background: transparent; box-shadow: inset 0 0 0 1px var(--text-3); border-radius: 2px; }

/* milestone / tranche rows */
.tranches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.tranche { border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-2); padding: var(--sp-3); }
.tranche .t-h { display: flex; align-items: center; justify-content: space-between; font-size: var(--fs-xs); }
.tranche .t-amt { margin-top: 6px; font-family: var(--font-mono); font-size: var(--fs-h3); }
.tranche .t-when { margin-top: 2px; font-size: 10px; line-height: 15px; color: var(--text-3); }
.tranche.locked { background: transparent; border-style: dashed; }
.tranche.next { border-color: color-mix(in srgb, var(--gold) 34%, transparent); }

/* tables */
.table { width: 100%; border-collapse: collapse; font-size: var(--fs-xs); }
.table th { text-align: left; font-size: var(--fs-2xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-3); font-weight: var(--fw-regular); padding: var(--sp-2) var(--sp-2); border-bottom: 1px solid var(--border); }
.table td { padding: 10px var(--sp-2); border-bottom: 1px solid var(--border); color: var(--text-2); }
.table td.num, .table th.num { text-align: right; font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.table td b { color: var(--text-1); font-weight: var(--fw-medium); }
.table tr:last-child td { border-bottom: 0; }
.table .soft { color: var(--text-3); }

/* right rail */
.rail-card { background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--sp-4) var(--sp-5); }
.rail-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); margin-bottom: var(--sp-2); }
.rail-title { font-size: var(--fs-h3); font-weight: var(--fw-semibold); }
.price-big { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-2); }
.price-big .p { font-family: var(--font-mono); font-size: 28px; line-height: 34px; letter-spacing: -0.02em; }
.price-big .d { font-family: var(--font-mono); font-size: var(--fs-xs); }
.rail-kv { display: flex; justify-content: space-between; gap: var(--sp-2); font-size: var(--fs-xs); color: var(--text-2); padding: 5px 0; border-bottom: 1px solid var(--border); }
.rail-kv:last-child { border-bottom: 0; }
.rail-kv b { font-family: var(--font-mono); color: var(--text-1); font-weight: var(--fw-regular); }
.auction-strip { display: flex; align-items: center; gap: var(--sp-2); padding: 8px 10px; border-radius: var(--r-sm); background: color-mix(in srgb, var(--violet) 10%, var(--surface-2)); border: 1px solid color-mix(in srgb, var(--violet) 32%, transparent); color: var(--violet); font-size: var(--fs-xs); }
.batch-line { display: flex; gap: 3px; margin-top: var(--sp-2); }
.batch-line i { display: block; height: 5px; border-radius: var(--r-full); background: var(--surface-3); }
.batch-line i.done { background: color-mix(in srgb, var(--violet) 62%, transparent); }
.batch-line i.now { background: var(--grad-violet); }
.batch-line i.b1 { width: 40%; }
.batch-line i.b2 { width: 35%; }
.batch-line i.b3 { width: 25%; }

/* bid panel */
.bid-panel .field { margin-top: var(--sp-3); }
.field label { display: flex; align-items: center; justify-content: space-between; font-size: var(--fs-2xs); color: var(--text-3); margin-bottom: 6px; }
.field label b { color: var(--text-2); font-weight: var(--fw-regular); font-family: var(--font-mono); }
.input-box { display: flex; align-items: center; gap: var(--sp-2); height: 42px; padding: 0 var(--sp-3); background: var(--surface-inset); border: 1px solid var(--border-strong); border-radius: var(--r-md); }
.input-box input { flex: 1; min-width: 0; background: none; border: 0; outline: 0; font-family: var(--font-mono); font-size: var(--fs-body); }
.input-box .unit { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--text-3); }
.calc-box { margin-top: var(--sp-3); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-inset); padding: var(--sp-3); }
.calc-row { display: flex; justify-content: space-between; gap: var(--sp-2); font-size: var(--fs-xs); padding: 3px 0; color: var(--text-2); }
.calc-row b { font-family: var(--font-mono); color: var(--text-1); font-weight: var(--fw-regular); }
.calc-row.worst b { color: var(--trust); }
.refund-line { margin-top: var(--sp-3); font-size: var(--fs-2xs); line-height: 16px; color: var(--text-2); display: flex; gap: 6px; align-items: flex-start; }
.refund-line .ico { color: var(--trust); margin-top: 2px; }
.helper { font-size: 10px; line-height: 15px; color: var(--text-3); margin-top: var(--sp-2); }
.panel-divider { height: 1px; background: var(--border); margin: var(--sp-4) 0; }

/* ---------- status chips (全站唯一词表) ---------- */
.status { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 9px; border-radius: var(--r-full); font-size: var(--fs-2xs); white-space: nowrap; border: 1px solid var(--border-strong); background: var(--surface-2); color: var(--text-2); }
.status .dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status.auction { color: var(--violet); border-color: color-mix(in srgb, var(--violet) 40%, transparent); background: color-mix(in srgb, var(--violet) 10%, transparent); }
.status.live { color: var(--text-1); }
.status.live .dot { background: var(--cyan); }
.status.verified { color: var(--trust); border-color: color-mix(in srgb, var(--trust) 40%, transparent); background: color-mix(in srgb, var(--trust) 10%, transparent); }
.status.graduated { color: var(--trust); border-color: color-mix(in srgb, var(--trust) 32%, transparent); }
.status.refunding { color: var(--pink); border-color: color-mix(in srgb, var(--pink) 40%, transparent); }
.status.verifying { color: var(--cyan); border-style: dashed; }
.status.unverified { color: var(--text-3); border-style: dashed; }
.status.upcoming { color: var(--text-2); border-style: dashed; }
.status.beta { color: var(--text-3); border-style: dashed; font-family: var(--font-mono); }
.status-row { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }

/* ---------- verify page ---------- */
.crumb { margin-top: var(--sp-5); font-size: var(--fs-xs); color: var(--text-3); display: flex; align-items: center; gap: 6px; }
.verify-hero { margin-top: var(--sp-4); display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 0.95fr); gap: 1px; background: var(--border); border: 1px solid color-mix(in srgb, var(--trust) 32%, transparent); border-radius: var(--r-lg); overflow: hidden; }
.verify-hero > div { background: var(--surface-1); padding: var(--sp-5); }
.verdict-big { font-size: var(--fs-h1); line-height: var(--lh-h1); font-weight: var(--fw-semibold); display: flex; align-items: center; gap: var(--sp-2); color: var(--text-1); }
.verdict-big .ok { color: var(--trust); display: flex; }
.verdict-amt { font-family: var(--font-mono); font-size: var(--fs-num-display); line-height: var(--lh-num-display); letter-spacing: -0.02em; margin-top: var(--sp-2); }
.fact-list { font-size: var(--fs-xs); line-height: 2; color: var(--text-2); margin-top: var(--sp-2); }
.fact-list b { font-family: var(--font-mono); color: var(--text-1); font-weight: var(--fw-regular); }
.checks { margin-top: var(--sp-4); background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; }
.check-row { display: grid; grid-template-columns: 112px minmax(0, 1fr) minmax(0, 1.25fr); gap: var(--sp-3); align-items: center; padding: var(--sp-3) var(--sp-5); border-bottom: 1px solid var(--border); }
.check-row:last-child { border-bottom: 0; }
.check-row .st { display: flex; }
.check-row .what { font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.check-row .why { font-size: var(--fs-xs); color: var(--text-2); font-family: var(--font-mono); }
.export-row { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
.recheck { border: 1px dashed var(--border-hover); border-radius: var(--r-md); background: transparent; padding: var(--sp-4); display: flex; align-items: center; gap: var(--sp-4); }
.recheck .re-t { font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.recheck .re-s { font-size: var(--fs-2xs); color: var(--text-3); }
.two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); }

/* ---------- launch wizard ---------- */
.stepbar { display: flex; gap: var(--sp-2); margin-top: var(--sp-4); }
.step { flex: 1; padding: 10px 12px; border-radius: var(--r-md); border: 1px solid var(--border); background: var(--surface-1); }
.step .s-n { font-family: var(--font-mono); font-size: var(--fs-2xs); color: var(--text-3); }
.step .s-t { font-size: var(--fs-xs); color: var(--text-3); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.step.done { border-color: color-mix(in srgb, var(--accent) 28%, transparent); }
.step.done .s-n { color: var(--accent); }
.step.current { background: var(--surface-2); border-color: var(--border-hover); border-bottom: 2px solid var(--accent); }
.step.current .s-t { color: var(--text-1); font-weight: var(--fw-semibold); }
.wizard { display: grid; grid-template-columns: minmax(0, 1fr) var(--rail-w); gap: var(--sp-5); align-items: start; margin-top: var(--sp-4); }
.form-card { background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--sp-5); }
.form-card + .form-card { margin-top: var(--sp-4); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3) var(--sp-4); }
.form-grid .full { grid-column: 1 / -1; }
.source-row { display: flex; align-items: center; gap: var(--sp-3); padding: 10px 0; border-bottom: 1px solid var(--border); }
.source-row:last-child { border-bottom: 0; }
.source-row .s-ico { width: 28px; height: 28px; border-radius: var(--r-sm); display: flex; align-items: center; justify-content: center; background: var(--surface-3); color: var(--text-2); }
.source-row .s-nm { font-size: var(--fs-sm); }
.source-row .s-d { font-size: var(--fs-2xs); color: var(--text-3); }
.source-row .s-st { margin-left: auto; }
.zk-nodes { display: flex; gap: var(--sp-2); align-items: stretch; }
.zk-node { flex: 1; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--r-sm); font-size: var(--fs-2xs); color: var(--text-3); background: var(--surface-2); display: flex; align-items: center; gap: 5px; }
.zk-node.done { color: var(--text-1); border-color: color-mix(in srgb, var(--cyan) 30%, transparent); background: color-mix(in srgb, var(--cyan) 8%, var(--surface-2)); }
.zk-node.current { color: var(--cyan); border-style: dashed; border-color: color-mix(in srgb, var(--cyan) 50%, transparent); }
.callout { border-radius: var(--r-md); padding: var(--sp-4); border: 1px solid var(--border); background: var(--surface-2); }
.callout .c-t { font-size: var(--fs-sm); font-weight: var(--fw-semibold); display: flex; align-items: center; gap: 6px; }
.callout .c-b { margin-top: 6px; font-size: var(--fs-xs); line-height: 20px; color: var(--text-2); }
.callout.warn { border-color: color-mix(in srgb, var(--gold) 30%, transparent); background: color-mix(in srgb, var(--gold) 7%, var(--surface-1)); }
.callout.warn .c-t { color: var(--trust); }
.callout.info { border-color: color-mix(in srgb, var(--cyan) 26%, transparent); background: color-mix(in srgb, var(--cyan) 6%, var(--surface-1)); }
.callout.info .c-t { color: var(--cyan); }
.choice-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-2); }
.choice { border: 1px solid var(--border-strong); border-radius: var(--r-md); padding: var(--sp-3); background: var(--surface-2); cursor: pointer; }
.choice .ch-t { font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.choice .ch-s { font-size: var(--fs-2xs); color: var(--text-3); margin-top: 2px; }
.choice.on { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, var(--surface-2)); }
.fee-list { font-size: var(--fs-xs); color: var(--text-2); }
.fee-row { display: flex; justify-content: space-between; gap: var(--sp-2); padding: 5px 0; border-bottom: 1px solid var(--border); }
.fee-row:last-child { border-bottom: 0; }
.fee-row b { font-family: var(--font-mono); color: var(--text-1); font-weight: var(--fw-regular); }
.fee-row.total b { color: var(--trust); }

/* ---------- design system board ---------- */
.ds-hero { margin-top: var(--sp-6); }
.ds-hero h1 { font-size: var(--fs-display); line-height: var(--lh-display); letter-spacing: -0.02em; }
.ds-meta { margin-top: var(--sp-2); font-family: var(--font-mono); font-size: var(--fs-2xs); color: var(--text-3); }
.ds-sec { margin-top: var(--sp-8); }
.ds-sec > h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); display: flex; align-items: baseline; gap: var(--sp-3); }
.ds-note { font-size: var(--fs-2xs); color: var(--text-3); line-height: 18px; }
.ds-block { margin-top: var(--sp-4); background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--sp-5); }
.ds-block h3 { font-size: var(--fs-h3); margin-bottom: var(--sp-3); }
.swatches { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.swatch .chip { height: 44px; border-radius: var(--r-sm); border: 1px solid var(--border-strong); }
.swatch .lbl { margin-top: 6px; font-family: var(--font-mono); font-size: 10px; line-height: 15px; color: var(--text-2); }
.swatch .lbl b { display: block; color: var(--text-1); font-weight: var(--fw-medium); }
.grad-row { display: flex; align-items: center; gap: var(--sp-4); padding: 8px 0; border-bottom: 1px solid var(--border); }
.grad-row:last-child { border-bottom: 0; }
.grad-band { width: 220px; height: 30px; border-radius: var(--r-sm); flex: none; }
.grad-meta { width: 260px; flex: none; }
.grad-meta .vn { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--text-1); }
.grad-meta .hexv { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); margin-top: 1px; }
.grad-use { font-size: var(--fs-2xs); color: var(--text-2); line-height: 16px; }
.type-row { display: flex; align-items: baseline; gap: var(--sp-4); padding: 7px 0; border-bottom: 1px solid var(--border); }
.type-row:last-child { border-bottom: 0; }
.type-spec { width: 190px; flex: none; font-family: var(--font-mono); font-size: 10px; color: var(--text-3); }
.space-row { display: flex; align-items: center; gap: var(--sp-3); padding: 4px 0; }
.space-row .bar { height: 8px; border-radius: 2px; background: var(--accent); opacity: 0.75; }
.radius-row { display: flex; gap: var(--sp-3); flex-wrap: wrap; }
.radius-box { width: 86px; height: 62px; background: var(--surface-2); border: 1px solid var(--border-strong); display: flex; align-items: flex-end; justify-content: center; padding-bottom: 5px; font-family: var(--font-mono); font-size: 10px; color: var(--text-3); }
.btn-grid { display: grid; grid-template-columns: 150px repeat(3, minmax(0, 1fr)); gap: var(--sp-2) var(--sp-3); align-items: center; }
.btn-grid .cap { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); }
.badge-grid { display: flex; gap: var(--sp-3); flex-wrap: wrap; align-items: center; }
.status-grid { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.chart-demo { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--r-md); padding: var(--sp-4); }

/* ---------- footer ---------- */
.footer { margin-top: var(--sp-10); border-top: 1px solid var(--border); padding: var(--sp-5) 0 var(--sp-8); }
.footer-in { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-6); flex-wrap: wrap; }
.footer .f-brand { display: flex; align-items: center; gap: var(--sp-2); font-weight: var(--fw-semibold); }
.footer .f-links { display: flex; gap: var(--sp-5); font-size: var(--fs-xs); color: var(--text-3); flex-wrap: wrap; }
.footer .f-links a:hover { color: var(--text-1); }
.footer .f-note { margin-top: var(--sp-4); font-size: var(--fs-2xs); line-height: 17px; color: var(--text-3); max-width: 980px; }
.footer .f-caliber { margin-top: var(--sp-3); font-family: var(--font-mono); font-size: 10px; color: var(--text-3); letter-spacing: 0.04em; }

/* ---------- pagination ---------- */
.pager { display: flex; align-items: center; justify-content: center; gap: var(--sp-2); margin-top: var(--sp-6); }
.pager .pg { min-width: 34px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border-strong); border-radius: var(--r-sm); font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--text-2); }
.pager .pg.on { background: var(--surface-3); color: var(--text-1); border-color: var(--border-hover); }
.page-toplink { display: inline-flex; align-items: center; gap: 4px; color: var(--text-3); font-size: var(--fs-xs); }
.page-toplink:hover { color: var(--text-1); }

/* ---------- demo hint bar (only on index, not screens) ---------- */
.demo-note { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); }

/* ---------- motion ---------- */
@keyframes badgeBreath { 0%, 100% { opacity: 0.55; } 50% { opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.fade-in { animation: fadeIn var(--dur-3) var(--ease) both; }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  :root { --rail-w: 330px; --anchor-w: 176px; }
  .grid-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .swatches { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .cols { grid-template-columns: minmax(0, 1fr) var(--rail-w); }
  .anchor-nav { display: none; }
  .conclusion, .verify-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .conclusion > div:first-child, .verify-hero > div:first-child { grid-column: 1 / -1; }
  .grid-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fund { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wizard { grid-template-columns: minmax(0, 1fr); }
  .live-strip { grid-template-columns: minmax(0, 1fr); }
  .story h1 { font-size: 26px; line-height: 34px; }
  .search { display: none; }
  .tc { overflow-x: auto; }
  .tc-node .tc-t { white-space: nowrap; }
  .statrow, .tranches { grid-template-columns: minmax(0, 1fr); }
  .entry-row { grid-template-columns: minmax(0, 1fr); }
  .grad-row { flex-wrap: wrap; gap: var(--sp-2); }
  .grad-band { width: 100%; }
  .grad-meta { width: auto; }
  .check-row { grid-template-columns: 100px minmax(0, 1fr); }
  .check-row .why { grid-column: 2; }
}
@media (max-width: 720px) {
  :root { --gutter: 16px; }
  .cols { grid-template-columns: minmax(0, 1fr); }
  .rail { position: static; }
  .grid-cards, .form-grid, .choice-row, .two-col { grid-template-columns: minmax(0, 1fr); }
  .fund { grid-template-columns: minmax(0, 1fr); }
  .conclusion, .verify-hero { grid-template-columns: minmax(0, 1fr); }
  .entry-row { grid-template-columns: minmax(0, 1fr); }
  .stepbar { overflow-x: auto; }
  .step { min-width: 150px; }
  .nav-actions .btn:not(.btn-launch) { display: none; }
  .proj-head { flex-wrap: wrap; }
  .proj-head .head-right { margin-left: 0; }
  .swatches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .btn-grid { grid-template-columns: minmax(0, 1fr); }
  .zk-nodes { flex-direction: column; }
  .table-scroll { overflow-x: auto; }
  .story { padding: var(--sp-5) var(--sp-4); }
  .footer-in { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}
/* connection dots (avoid glyph characters in markup) */
.conn-row .cdot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; }
.conn-row.ok .cdot { background: var(--accent); }
.conn-row.pending .cdot { background: transparent; box-shadow: inset 0 0 0 1px var(--cyan); }
.conn-row.off .cdot { background: transparent; box-shadow: inset 0 0 0 1px var(--down); }
.conclusion .btn-sm { padding: 0 10px; }

/* static hi-fi: quick actions stay visible (no hover to demo in a screenshot) */
.quick-buy { opacity: 1; transform: none; }
.entry .e-t, .entry .e-s { display: block; }
.live-item .l-t, .live-item .l-s { display: block; }


/* ---------- final build fixes (lead review round 1) ---------- */
body { font-variant-numeric: tabular-nums; }
.numeric, .p, .v, .c-amt, .verdict-amt, .t-amt, .e-v, .price-big .p, .stat-card .v, .fund-cell .v,
.calc-row b, .rail-kv b, .fee-row b, .table td.num, .evidence .e-v, .s-n, .tagline b, .pill-sm { font-variant-numeric: tabular-nums; }

/* input unit as an in-field suffix chip, never a floating label */
.input-box .unit {
  display: flex; align-items: center; height: 22px; padding: 0 8px;
  border-left: 1px solid var(--border); background: var(--surface-2);
  border-radius: 5px; color: var(--text-2); font-size: var(--fs-2xs); flex: none;
}

/* four equal wizard steps, no clipping */
.stepbar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-2); }
.step { min-width: 0; }
.step .s-n { white-space: nowrap; }
.step .s-t { white-space: normal; overflow: visible; text-overflow: clip; line-height: 18px; }

/* design-system buttons matrix */
.ds-btn-table { display: grid; grid-template-columns: 200px 96px repeat(3, minmax(0, 1fr)); gap: 10px 16px; align-items: center; }
.ds-btn-table .h { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); text-transform: uppercase; letter-spacing: 0.08em; }
.ds-btn-table .variant { font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.ds-btn-table .variant small { display: block; font-family: var(--font-mono); font-size: 10px; color: var(--text-3); font-weight: var(--fw-regular); margin-top: 2px; }
.ds-btn-table .size { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); }
.ds-btn-table .cell { display: flex; justify-content: flex-start; }
.btn-launch.state-hover { box-shadow: none; filter: brightness(1.06); transform: translateY(-1px); }
.btn-panel.is-hover { background: color-mix(in srgb, var(--accent) 10%, var(--surface-2)); border-color: var(--border-hover); box-shadow: var(--backlight-cta-hover); }
.btn-row.is-hover { background: color-mix(in srgb, var(--accent) 88%, var(--text-1)); }
.btn-quiet.is-hover { color: var(--text-1); background: var(--surface-3); border-color: var(--border-hover); }
.leader-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ds-footrow { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 32px; }
@media (max-width: 980px) {
  .ds-btn-table { grid-template-columns: 150px 80px repeat(3, minmax(0, 1fr)); gap: 8px; }
  .stepbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .leader-grid { grid-template-columns: minmax(0, 1fr); }
  .ds-btn-table { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ds-btn-table .h:nth-child(n+4) { display: none; }
  .ds-btn-table .cell { grid-column: span 1; }
}

.ds-sec > h2 { flex-wrap: wrap; }

@media (max-width: 720px) {
  .type-row { flex-direction: column; align-items: flex-start; gap: 2px; }
  .type-spec { width: auto; }
  .ds-hero h1 { font-size: 26px; line-height: 34px; }
  .grad-meta .hexv, .ds-meta { overflow-wrap: anywhere; }
}
.ico-rocket { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-rocket%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M12%2015v5s3.03-.55%204-2c1.08-1.62%200-5%200-5%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4.5%2016.5c-1.5%201.26-2%205-2%205s3.74-.5%205-2c.71-.84.7-2.13-.09-2.91a2.18%202.18%200%200%200-2.91-.09%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M9%2012a22%2022%200%200%201%202-3.95A12.88%2012.88%200%200%201%2022%202c0%202.72-.78%207.5-6%2011a22.4%2022.4%200%200%201-4%202z%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M9%2012H4s.55-3.03%202-4c1.62-1.08%205%20.05%205%20.05%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-rocket%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M12%2015v5s3.03-.55%204-2c1.08-1.62%200-5%200-5%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4.5%2016.5c-1.5%201.26-2%205-2%205s3.74-.5%205-2c.71-.84.7-2.13-.09-2.91a2.18%202.18%200%200%200-2.91-.09%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M9%2012a22%2022%200%200%201%202-3.95A12.88%2012.88%200%200%201%2022%202c0%202.72-.78%207.5-6%2011a22.4%2022.4%200%200%201-4%202z%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M9%2012H4s.55-3.03%202-4c1.62-1.08%205%20.05%205%20.05%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-droplet { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-droplet%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M12%2022a7%207%200%200%200%207-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5%202.5-2%204.9-4%206.5C6%2011.1%205%2013%205%2015a7%207%200%200%200%207%207z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%0A%20%20class%3D%22lucide%20lucide-droplet%22%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M12%2022a7%207%200%200%200%207-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5%202.5-2%204.9-4%206.5C6%2011.1%205%2013%205%2015a7%207%200%200%200%207%207z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.ico-star { -webkit-mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%20class%3D%22lucide%20lucide-star%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M11.525%202.295a.53.53%200%200%201%20.95%200l2.31%204.679a2.123%202.123%200%200%200%201.595%201.16l5.166.756a.53.53%200%200%201%20.294.904l-3.736%203.638a2.123%202.123%200%200%200-.611%201.878l.882%205.14a.53.53%200%200%201-.771.56l-4.618-2.428a2.122%202.122%200%200%200-1.973%200L6.396%2021.01a.53.53%200%200%201-.77-.56l.881-5.139a2.122%202.122%200%200%200-.611-1.879L2.16%209.795a.53.53%200%200%201%20.294-.906l5.165-.755a2.122%202.122%200%200%200%201.597-1.16z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml,%3C%21--%20%40license%20lucide-static%20v1.56.0%20-%20ISC%20--%3E%0A%3Csvg%20class%3D%22lucide%20lucide-star%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M11.525%202.295a.53.53%200%200%201%20.95%200l2.31%204.679a2.123%202.123%200%200%200%201.595%201.16l5.166.756a.53.53%200%200%201%20.294.904l-3.736%203.638a2.123%202.123%200%200%200-.611%201.878l.882%205.14a.53.53%200%200%201-.771.56l-4.618-2.428a2.122%202.122%200%200%200-1.973%200L6.396%2021.01a.53.53%200%200%201-.77-.56l.881-5.139a2.122%202.122%200%200%200-.611-1.879L2.16%209.795a.53.53%200%200%201%20.294-.906l5.165-.755a2.122%202.122%200%200%200%201.597-1.16z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }

/* ============================================================
   D7 · Portfolio (06-portfolio.html)
   ============================================================ */
.wallet-chip { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 6px 0 12px; border-radius: var(--r-full); border: 1px solid var(--border-strong); background: var(--surface-2); font-size: var(--fs-xs); }
.wallet-chip .addr { font-family: var(--font-mono); color: var(--text-1); }
.wallet-chip .bal { font-family: var(--font-mono); color: var(--text-3); border-left: 1px solid var(--border); padding-left: 8px; }
.wallet-chip .av { width: 22px; height: 22px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--cyan) 45%, var(--surface-3)), var(--surface-2)); box-shadow: inset 0 0 0 1px var(--border-strong); }

.sum-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--sp-3); }
.sum-card { background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--sp-4); }
.sum-card .k { font-size: var(--fs-2xs); color: var(--text-3); text-transform: uppercase; letter-spacing: 0.07em; display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.sum-card .v { margin-top: 8px; font-family: var(--font-mono); font-size: 22px; line-height: 28px; letter-spacing: -0.01em; }
.sum-card .s { margin-top: 3px; font-size: 10px; line-height: 15px; color: var(--text-3); }
.sum-card.hero { border-color: color-mix(in srgb, var(--trust) 26%, transparent); }
.sum-card.hero .v { color: var(--trust); }
.sum-card.muted .v { color: var(--text-3); }
.formula { margin-top: var(--sp-3); border: 1px dashed var(--border-strong); border-radius: var(--r-md); padding: 8px 12px; font-family: var(--font-mono); font-size: 10.5px; line-height: 18px; color: var(--text-3); background: var(--surface-inset); }
.formula b { color: var(--text-2); font-weight: var(--fw-regular); }

.state-chips { display: flex; gap: var(--sp-2); flex-wrap: wrap; align-items: center; }
.state-chips .pill { gap: 6px; }
.chip-count { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); border-left: 1px solid var(--border-strong); padding-left: 6px; }
.pill.on .chip-count { color: var(--text-2); border-color: var(--border-hover); }
.pill.zero { opacity: 0.55; }

.state-card { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; }
.state-card > div { background: var(--surface-1); padding: var(--sp-4) var(--sp-5); }
.state-card .s-title { font-size: var(--fs-h3); font-weight: var(--fw-semibold); display: flex; align-items: center; gap: var(--sp-2); }
.state-card .s-sub { font-size: var(--fs-xs); line-height: 20px; color: var(--text-2); margin-top: 6px; }
.state-card .s-actions { display: flex; gap: var(--sp-2); margin-top: var(--sp-3); flex-wrap: wrap; }
.state-kv { display: flex; justify-content: space-between; gap: var(--sp-2); font-size: var(--fs-xs); color: var(--text-2); padding: 5px 0; border-bottom: 1px solid var(--border); }
.state-kv:last-child { border-bottom: 0; }
.state-kv b { font-family: var(--font-mono); color: var(--text-1); font-weight: var(--fw-regular); }
.status.clearing { color: var(--violet); border-style: dashed; border-color: color-mix(in srgb, var(--violet) 40%, transparent); }
.status.claimable { color: var(--on-gold); background: var(--grad-gold); border-color: transparent; }
.status.unlocking { color: var(--trust); border-style: dashed; border-color: color-mix(in srgb, var(--trust) 44%, transparent); animation: badgeBreath var(--loop-heartbeat) var(--ease) infinite; }
.status.abnormal { color: var(--pink); background: var(--surface-2); border-color: var(--border-strong); }

/* buy table — responsive, collapses to cards at 720 */
.atable { width: 100%; border-collapse: collapse; font-size: var(--fs-xs); }
.atable th { text-align: left; font-size: var(--fs-2xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-3); font-weight: var(--fw-regular); padding: var(--sp-2); border-bottom: 1px solid var(--border); white-space: nowrap; }
.atable td { padding: 10px var(--sp-2); border-bottom: 1px solid var(--border); color: var(--text-2); vertical-align: middle; }
.atable td.num { text-align: right; font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.atable td .tokname { color: var(--text-1); font-weight: var(--fw-medium); }
.atable tr:last-child td { border-bottom: 0; }
.atable .st-cell { white-space: nowrap; }
.atable .action-cell { text-align: right; white-space: nowrap; }
.atable .up { color: var(--up); }
.atable .muted-num { color: var(--text-3); }

.owned-card { background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--sp-5); }
.owned-head { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
.owned-head .oh-name { font-size: var(--fs-h3); font-weight: var(--fw-semibold); display: flex; align-items: center; gap: var(--sp-2); }
.owned-head .oh-right { margin-left: auto; display: flex; align-items: center; gap: var(--sp-2); }
.sub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); margin-top: var(--sp-4); }
.sub-card { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--r-md); padding: var(--sp-4); }
.sub-card .sc-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); }
.sub-card .sc-t { font-size: var(--fs-xs); font-weight: var(--fw-semibold); display: flex; align-items: center; gap: 6px; }
.sub-card .sc-v { font-family: var(--font-mono); font-size: var(--fs-h3); margin-top: 8px; }
.sub-card .sc-s { font-size: 10px; line-height: 15px; color: var(--text-3); margin-top: 3px; }
.sub-card .sc-s b { color: var(--text-2); font-weight: var(--fw-regular); font-family: var(--font-mono); }
.owned-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-top: var(--sp-4); flex-wrap: wrap; }

.previews { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); }
.preview-card { border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface-1); padding: var(--sp-5); }
.preview-tag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; color: var(--text-3); border: 1px dashed var(--border-strong); border-radius: var(--r-full); padding: 2px 9px; }
.preview-card h4 { font-size: var(--fs-h3); margin: 10px 0 4px; }
.preview-card p { font-size: var(--fs-xs); line-height: 20px; color: var(--text-2); }
.empty-state { text-align: center; padding: var(--sp-6) var(--sp-4); border: 1px dashed var(--border-hover); border-radius: var(--r-lg); background: var(--surface-inset); }
.empty-state .es-ico { width: 52px; height: 52px; margin: 0 auto; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--surface-2); border: 1px solid var(--border-strong); color: var(--text-2); }
.empty-state h4 { font-size: var(--fs-h3); margin: 12px 0 4px; }
.empty-state p { font-size: var(--fs-xs); line-height: 20px; color: var(--text-2); max-width: 420px; margin: 0 auto; }
.empty-state .es-actions { display: flex; justify-content: center; gap: var(--sp-2); margin-top: var(--sp-4); flex-wrap: wrap; }
.warn-line { display: flex; align-items: flex-start; gap: 8px; margin-top: var(--sp-3); padding: 10px 12px; border-radius: var(--r-md); background: color-mix(in srgb, var(--pink) 7%, var(--surface-1)); border: 1px solid color-mix(in srgb, var(--pink) 32%, transparent); font-size: var(--fs-xs); line-height: 20px; color: var(--text-2); }
.warn-line .ico { color: var(--pink); margin-top: 3px; }

@media (max-width: 1180px) {
  .sum-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .sum-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .state-card { grid-template-columns: minmax(0, 1fr); }
  .previews { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .sum-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sub-grid { grid-template-columns: minmax(0, 1fr); }
  .sum-card .v { font-size: 18px; line-height: 24px; }
  .atable thead { display: none; }
  .atable, .atable tbody { display: block; }
  .atable tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2px var(--sp-3); padding: var(--sp-3); border: 1px solid var(--border); border-radius: var(--r-md); margin-bottom: 8px; background: var(--surface-2); }
  .atable td { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; border: 0; padding: 3px 0; text-align: left; }
  .atable td::before { content: attr(data-l); font-size: 10px; line-height: 15px; color: var(--text-3); }
  .atable td.action-cell { grid-column: 1 / -1; padding-top: 8px; justify-content: flex-start; }
  .atable td.action-cell::before { content: ""; }
  .atable td:first-child { grid-column: 1 / -1; border-bottom: 1px solid var(--border); padding-bottom: 6px; margin-bottom: 2px; }
  .atable td:first-child::before { content: ""; }
}

@media (max-width: 720px) {
  .wallet-chip { padding: 0 6px; gap: 0; }
  .wallet-chip .addr, .wallet-chip .bal { display: none; }
}

/* portfolio mobile hardening */
.owned-head .oh-name { flex-wrap: wrap; }
.oh-name .vbadge { flex: none; }
.tagline { overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .atable tr { grid-template-columns: minmax(0, 1fr); }
  .atable td { align-items: flex-start; }
  .atable td.action-cell { grid-column: 1; }
  .owned-head { align-items: flex-start; }
  .owned-head .oh-right { margin-left: 0; }
}
