@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700;800&family=Noto+Sans+Thai:wght@400;500;700;800&family=Noto+Sans+Lao:wght@400;500;700;800&family=Noto+Sans+Devanagari:wght@400;500;700;800&family=Noto+Sans+SC:wght@400;700&family=Noto+Sans+JP:wght@400;700&family=Noto+Sans+KR:wght@400;700&family=Noto+Sans+Arabic:wght@400;700&display=swap");

:root {
  --ink: #0A0E17;
  --fog: #F4F7FF;
  --mist: #9AA6C4;
  --panel: #12182C;
  --line: rgba(0, 217, 255, 0.16);
  --accent: #00D9FF;
  --accent-2: #6C5CE7;
  --gold: #FF6B35;
  --gold-2: #FFB088;
  --violet: #6C5CE7;
  --long: #3dff9a;
  --short: #ff5d7a;
  --wait: #FFB088;
  --cta: #FF6B35;
  --display: "Space Grotesk", Inter, "Noto Sans Thai", "Noto Sans Lao", "Noto Sans Devanagari", "Noto Sans SC", "Noto Sans JP", "Noto Sans KR", "Noto Sans Arabic", sans-serif;
  --font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Noto Sans Thai", "Noto Sans Lao", "Noto Sans Devanagari", "Noto Sans SC", "Noto Sans JP", "Noto Sans KR", "Noto Sans Arabic", sans-serif;
  --ui: var(--font);
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --radius: 16px;
}

* { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html, body {
  margin: 0;
  min-height: 100%;
  color: var(--fog);
  font-family: var(--ui);
  background: var(--ink);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.atmosphere {
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(1px 1px at 8% 14%, rgba(255,255,255,0.55), transparent),
    radial-gradient(1px 1px at 18% 62%, rgba(0,217,255,0.4), transparent),
    radial-gradient(1.2px 1.2px at 28% 22%, rgba(255,255,255,0.28), transparent),
    radial-gradient(1px 1px at 41% 78%, rgba(108,92,231,0.45), transparent),
    radial-gradient(1px 1px at 53% 16%, rgba(255,255,255,0.38), transparent),
    radial-gradient(1px 1px at 67% 44%, rgba(0,217,255,0.28), transparent),
    radial-gradient(1.4px 1.4px at 76% 8%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 88% 70%, rgba(108,92,231,0.38), transparent),
    radial-gradient(1px 1px at 94% 32%, rgba(255,255,255,0.32), transparent),
    radial-gradient(880px 520px at 100% -6%, rgba(108, 92, 231, 0.24), transparent 54%),
    radial-gradient(760px 500px at -10% 10%, rgba(0, 217, 255, 0.16), transparent 56%),
    radial-gradient(680px 460px at 78% 108%, rgba(255, 107, 53, 0.1), transparent 58%),
    linear-gradient(180deg, #0A0E17 0%, #070B14 46%, #101018 100%);
}
.atmosphere::after {
  content: "";
  position: absolute;
  inset: -20%;
  background: radial-gradient(circle at 50% 50%, transparent 42%, rgba(10, 14, 23, 0.28) 100%);
  pointer-events: none;
}

a { color: var(--accent-2); }
button, input, textarea, select { font-family: inherit; }
a, button, .btn, .auth-tab, .nav-toggle, .coin-chip, summary {
  touch-action: manipulation;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(10, 14, 23, 0.82);
  border-bottom: 1px solid rgba(139, 124, 255, 0.22);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.site-nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px clamp(16px, 4vw, 40px);
  max-width: 1240px;
  margin: 0 auto;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--fog);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.brand img { width: 32px; height: 32px; border-radius: 10px; }
.brand-meta {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.brand-meta span {
  font-family: var(--display);
  letter-spacing: -0.03em;
}
.brand-meta small {
  color: var(--accent);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-menu {
  display: flex;
  gap: 2px;
  flex-wrap: wrap;
  align-items: center;
}

.site-menu a {
  color: var(--mist);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid transparent;
}

.site-menu a:hover {
  color: var(--fog);
  background: rgba(62, 224, 255, 0.12);
}

.site-menu a.is-active {
  color: #061018;
  background: linear-gradient(90deg, #00D9FF, #6C5CE7);
  border-color: transparent;
}

.site-menu a.nav-account {
  border-color: var(--line);
  color: var(--fog);
}

.menu-lang {
  display: flex;
  align-items: center;
  margin-left: 4px;
  padding: 2px 4px;
}
.menu-lang .lang-switch {
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.menu-lang .lang-switch span {
  white-space: nowrap;
}
.menu-lang .lang-switch select {
  background: rgba(8, 12, 24, 0.72);
  color: var(--fog);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 700;
  font-size: 0.82rem;
  min-height: 36px;
  max-width: 9.5rem;
  cursor: pointer;
}

.nav-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-left: auto;
}

.nav-wallet {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 12px 0 6px;
  border-radius: 999px;
  border: 1px solid rgba(153, 69, 255, 0.5);
  background:
    linear-gradient(180deg, rgba(153, 69, 255, 0.28), rgba(20, 241, 149, 0.08)),
    rgba(8, 12, 24, 0.72);
  color: var(--fog);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.01em;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 0 0 1px rgba(0, 217, 255, 0.08), 0 8px 18px rgba(153, 69, 255, 0.16);
}
.nav-wallet:hover {
  border-color: rgba(20, 241, 149, 0.55);
  color: #fff;
}
.nav-wallet-mark {
  width: 26px;
  height: 26px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: #0A0E17;
  color: #c8a6ff;
}
.nav-wallet-dot {
  display: none;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #14F195;
  box-shadow: 0 0 8px #14F195;
}
.nav-wallet.is-on {
  border-color: rgba(20, 241, 149, 0.55);
}
.nav-wallet.is-on .nav-wallet-dot { display: block; }
.nav-wallet.is-on .nav-wallet-mark { color: #14F195; }

.nav-lang {
  display: none;
}
.nav-lang select {
  background: rgba(8, 12, 24, 0.72);
  color: var(--fog);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 10px;
  font-weight: 700;
  font-size: 0.82rem;
  min-height: 40px;
  max-width: 8.8rem;
  cursor: pointer;
}

.lang-switch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.lang-switch span {
  color: var(--mist);
  font-size: 0.78rem;
  font-weight: 700;
}
.lang-switch select {
  background: rgba(139, 124, 255, 0.16);
  color: var(--fog);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px 10px;
  font-weight: 700;
  font-size: 16px;
  max-width: min(52vw, 220px);
  min-height: 44px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

html[lang="th"] .page-title,
html[lang="lo"] .page-title,
html[lang="hi"] .page-title,
html[lang="ru"] .page-title,
html[lang="vi"] .page-title,
html[lang="zh"] .page-title,
html[lang="ja"] .page-title,
html[lang="ko"] .page-title,
html[lang="ar"] .page-title,
html[lang="uk"] .page-title {
  font-family: var(--ui);
}

.auth-fallback {
  margin-top: 16px;
}
.auth-fallback > summary {
  cursor: pointer;
  color: var(--fog);
  font-size: 0.95rem;
}
.auth-fallback[open] > summary {
  margin-bottom: 12px;
}

.auth-or {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0 8px;
  color: var(--fog);
  font-size: 0.9rem;
}
.auth-or::before,
.auth-or::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--line);
}

.auth-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr 1fr;
  margin: 16px 0 8px;
}
.auth-grid h2 { margin: 0 0 4px; font-size: 1.05rem; }

.auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 12px 0 14px;
}
.auth-tab {
  border: 1px solid var(--line);
  background: transparent;
  color: var(--fog);
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 800;
  cursor: pointer;
}
.auth-tab.is-on {
  background: rgba(62, 224, 255, 0.16);
  border-color: rgba(62, 224, 255, 0.45);
  color: var(--fog);
}

.nav-toggle {
  display: none;
  border: 1px solid var(--line);
  background: rgba(139, 124, 255, 0.16);
  color: var(--fog);
  border-radius: 12px;
  padding: 8px 12px;
  font-weight: 700;
  cursor: pointer;
}

.wrap {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
  padding: 24px 0 72px;
  flex: 1;
}

.page-title {
  margin: 0 0 8px;
  font-family: var(--display);
  font-size: clamp(1.7rem, 3.4vw, 2.55rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  background: linear-gradient(92deg, #00D9FF 0%, #F4F7FF 40%, #6C5CE7 76%, #FF6B35 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.lede {
  color: var(--mist);
  max-width: 62ch;
  line-height: 1.65;
  margin: 0 0 22px;
  font-size: 1.02rem;
}

.hero {
  margin: 4px 0 22px;
}
.hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
  align-items: center;
}
.hero-cta .btn {
  text-decoration: none;
  min-height: 44px;
}
.hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 8px;
}
.hero-points span {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #9ef6ff;
  background: rgba(62, 224, 255, 0.14);
  border: 1px solid rgba(62, 224, 255, 0.4);
}
.hero-points span:nth-child(1) {
  color: #ffc48a;
  background: rgba(247, 147, 26, 0.16);
  border-color: rgba(247, 147, 26, 0.45);
}
.hero-points span:nth-child(2) {
  color: #d7d0ff;
  background: rgba(139, 124, 255, 0.18);
  border-color: rgba(139, 124, 255, 0.45);
}
.hero-points span:nth-child(3) {
  color: #9ef6d4;
  background: rgba(20, 241, 149, 0.14);
  border-color: rgba(20, 241, 149, 0.4);
}
.hero-points span:nth-child(4) {
  color: #9ed4ff;
  background: rgba(35, 141, 232, 0.16);
  border-color: rgba(35, 141, 232, 0.45);
}

.disclaimer,
.disclaimer-bar {
  border: 1px solid rgba(232, 197, 107, 0.28);
  background: rgba(232, 197, 107, 0.08);
  color: var(--gold-2);
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 0.84rem;
  line-height: 1.5;
}

.disclaimer-bar { margin: 18px 0 0; }

.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.grid-modes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 900px) {
  .grid-modes { grid-template-columns: 1fr; }
}

.card {
  background: linear-gradient(165deg, #161C36 0%, #101624 55%, #0C101C 100%);
  border: 1px solid rgba(0, 217, 255, 0.14);
  border-radius: var(--radius);
  padding: 18px 20px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32);
}

.mode-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
  color: inherit;
  min-height: 0;
  position: relative;
  overflow: hidden;
  transition: transform 0.18s ease, border-color 0.18s ease;
}
.mode-card::before {
  content: "";
  position: absolute;
  width: 140px;
  height: 64px;
  right: -24px;
  top: -18px;
  border: 1px solid rgba(0, 217, 255, 0.22);
  border-radius: 50%;
  transform: rotate(-18deg);
  pointer-events: none;
}

@media (hover: hover) {
  .mode-card:hover {
    border-color: rgba(0, 217, 255, 0.5);
    transform: translateY(-2px);
  }
  .mode-card.accent-gold:hover {
    border-color: rgba(232, 197, 137, 0.65);
  }
}
.mode-card.accent-gold {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(165deg, rgba(20, 14, 10, 0.82) 0%, rgba(10, 12, 18, 0.94) 62%),
    url("/media/gold/hero.jpg?v=w3g3") 70% 40% / cover no-repeat;
  border-color: rgba(232, 197, 137, 0.35);
  box-shadow: 0 0 0 1px rgba(255, 220, 160, 0.04) inset, 0 12px 28px rgba(0, 0, 0, 0.28);
}
.mode-card.accent-gold::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    transparent 35%,
    rgba(255, 236, 190, 0.12) 48%,
    rgba(255, 255, 255, 0.2) 50%,
    rgba(255, 220, 150, 0.1) 52%,
    transparent 65%
  );
  transform: translateX(-120%);
  animation: goldArtShimmer 5.5s ease-in-out infinite;
  pointer-events: none;
}
.mode-card.accent-gold > * { position: relative; z-index: 1; }
.mode-card.accent-gold .kicker { color: #e8c989; }
.mode-card.accent-gold h2 { color: #ffe9c4; }

.mode-card h2 { margin: 0; font-size: 1.1rem; font-weight: 650; }
.mode-card p { margin: 0; color: var(--mist); line-height: 1.5; flex: 1; }
.kicker {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}

h1, h2, h3, .hero h1 {
  font-family: var(--display);
  letter-spacing: -0.03em;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 12px;
  padding: 11px 16px;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
  color: #140804;
  background: linear-gradient(90deg, #FF6B35, #FF8A5B);
  box-shadow: 0 8px 24px rgba(255, 107, 53, 0.28);
}

.btn:hover { filter: brightness(1.06); }
.btn:disabled { opacity: 0.72; cursor: not-allowed; filter: none; }
body.is-auth-progress,
body.is-auth-progress .btn:disabled { cursor: wait; }

body.is-auth-progress { overflow: hidden; }
.auth-progress {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  background: rgba(6, 10, 18, 0.78);
  backdrop-filter: blur(8px);
}
.auth-progress[hidden] { display: none !important; }
.auth-progress-card {
  display: grid;
  justify-items: center;
  gap: 12px;
  min-width: min(280px, 86vw);
  padding: 28px 32px;
  border-radius: 18px;
  text-align: center;
  background: #101826;
  border: 1px solid var(--line);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}
.auth-progress-title {
  margin: 0;
  font-weight: 800;
  font-size: 1.05rem;
}
.auth-progress-sub { margin: 0; }
.auth-spinner {
  width: 36px;
  height: 36px;
  border: 3px solid rgba(62, 224, 255, 0.22);
  border-top-color: #3ee0ff;
  border-radius: 50%;
  animation: auth-spin 0.7s linear infinite;
}
@keyframes auth-spin {
  to { transform: rotate(360deg); }
}
.btn.ghost {
  background: transparent;
  color: var(--fog);
  border: 1px solid var(--line);
  box-shadow: none;
}
.btn.long {
  background: var(--long);
  color: #04221c;
  border: 0;
}
.btn.short {
  background: var(--short);
  color: #fff8f8;
  border: 0;
}
.btn.wait {
  background: var(--gold);
  color: #1c1812;
  border: 0;
}
.btn.wide { width: 100%; }

.guess-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 14px;
}

.dropzone {
  border: 1.5px dashed rgba(139, 124, 255, 0.45);
  border-radius: 16px;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  padding: 20px;
  color: var(--mist);
  cursor: pointer;
  background: rgba(139, 124, 255, 0.08);
  -webkit-user-select: none;
  user-select: none;
}

.file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  opacity: 0;
}

.dropzone.drag { border-color: var(--accent); background: rgba(62, 224, 255, 0.12); }
.dropzone img {
  max-width: 100%;
  max-height: 280px;
  border-radius: 12px;
}

textarea, input[type="text"], input[type="search"], input[type="password"], input[type="email"],
.doc-section select {
  width: 100%;
  background: #0b1020;
  border: 1px solid var(--line);
  color: var(--fog);
  border-radius: 12px;
  padding: 14px 16px;
  min-height: 52px;
  font-size: 1.05rem;
  resize: vertical;
}

input[type="email"] {
  min-height: 58px;
  font-size: 1.15rem;
  letter-spacing: 0.01em;
}

label {
  display: block;
  font-size: 0.85rem;
  font-weight: 700;
  margin: 14px 0 8px;
}
[hidden] { display: none !important; }

.muted { color: var(--mist); font-size: 0.9rem; }
.row-between {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.stat-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.pill {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 0.82rem;
  background: rgba(139, 124, 255, 0.12);
}

.pill strong { color: var(--accent-2); }

.chart-box {
  position: relative;
  height: 360px;
}

.chart-box.volume { height: 110px; margin-top: 8px; }

.empty {
  color: var(--mist);
  text-align: center;
  padding: 48px 12px;
}

.trend {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
}
.trend.bullish, .trend.long { color: var(--long); }
.trend.bearish, .trend.short { color: var(--short); }
.trend.sideways, .trend.wait { color: var(--wait); }

.verdict {
  border-radius: 16px;
  padding: 16px 18px;
  margin: 0 0 16px;
  border: 1px solid var(--line);
}
.verdict .kicker { margin: 0 0 4px; }
.verdict h2 {
  margin: 0;
  font-family: var(--font);
  font-size: clamp(1.6rem, 4vw, 2.1rem);
  line-height: 1.1;
}
.verdict p { margin: 8px 0 0; color: var(--fog); line-height: 1.5; }
.verdict.long {
  background: rgba(61, 255, 154, 0.12);
  border-color: rgba(61, 255, 154, 0.45);
}
.verdict.long h2 { color: var(--long); }
.verdict.short {
  background: rgba(255, 93, 122, 0.14);
  border-color: rgba(255, 93, 122, 0.5);
}
.verdict.short h2 { color: var(--short); }
.verdict.wait {
  background: rgba(255, 200, 87, 0.12);
  border-color: rgba(255, 200, 87, 0.5);
}
.verdict.wait h2 { color: var(--wait); }

.result-block h3 { margin: 18px 0 8px; font-size: 0.95rem; color: var(--mist); }
.result-block ul { margin: 0; padding-left: 18px; line-height: 1.55; }

.badge-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.badge {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px 10px 8px 8px;
  font-size: 0.82rem;
  opacity: 0.45;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(12, 16, 32, 0.7);
}
.badge img {
  width: 28px;
  height: 28px;
  border-radius: 8px;
}
.badge.earned {
  opacity: 1;
  border-color: rgba(0, 217, 255, 0.35);
  box-shadow: 0 0 16px rgba(0, 217, 255, 0.12);
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}
th, td {
  text-align: left;
  padding: 10px 8px;
  border-bottom: 1px solid var(--line);
}
th { color: var(--mist); font-weight: 650; font-size: 0.8rem; }

.ok { color: var(--long); }
.no { color: var(--short); }

.toast {
  position: fixed;
  bottom: max(18px, env(safe-area-inset-bottom, 0px));
  right: 18px;
  left: 12px;
  background: #0c1c22;
  border: 1px solid rgba(139, 124, 255, 0.4);
  padding: 12px 14px;
  border-radius: 14px;
  max-width: min(420px, calc(100% - 24px));
  margin-left: auto;
  z-index: 80;
}

.cl-checkin-toast {
  position: fixed;
  z-index: 46;
  right: max(14px, env(safe-area-inset-right, 0px));
  bottom: max(16px, env(safe-area-inset-bottom, 0px));
  width: min(248px, calc(100vw - 28px));
  padding: 10px 12px 12px;
  border-radius: 14px;
  background: #101c24;
  border: 1px solid rgba(255, 140, 90, 0.45);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
  color: var(--ink, #e8eef2);
  font-size: 0.84rem;
  line-height: 1.35;
  pointer-events: auto;
}
.cl-checkin-toast__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
}
.cl-checkin-toast__head strong { font-size: 0.86rem; font-weight: 650; }
.cl-checkin-toast p { margin: 0 0 8px; color: var(--mist, #9aa7b2); }
.cl-checkin-toast__x {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 1.15rem;
  line-height: 1;
  padding: 2px 4px;
  cursor: pointer;
  opacity: 0.7;
}
.cl-checkin-toast__cta {
  width: 100%;
  min-height: 36px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media (max-width: 640px) {
  .cl-checkin-toast {
    left: max(12px, env(safe-area-inset-left, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
    width: auto;
    bottom: max(14px, env(safe-area-inset-bottom, 0px));
  }
  body.page-futures .cl-checkin-toast,
  body[data-page-title="page.futures"] .cl-checkin-toast {
    bottom: max(72px, env(safe-area-inset-bottom, 0px));
  }
}

.site-footer {
  margin-top: auto;
  border-top: 1px solid var(--line);
  padding: 16px clamp(16px, 4vw, 40px) 24px;
  color: var(--mist);
  font-size: 0.82rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
}
.footer-lang {
  display: none;
}
.site-footer p { margin: 0; max-width: 62ch; }
.footer-copy {
  display: grid;
  gap: 12px;
  min-width: min(100%, 28rem);
}
.footer-token-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}
.token-logo,
.brand img {
  display: block;
  border-radius: 10px;
  object-fit: cover;
}
.member-kicker,
.pack-clab {
  display: flex;
  align-items: center;
  gap: 8px;
}
.footer-token-row code {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.28);
  font-size: 0.78rem;
  word-break: break-all;
}
.footer-token-row .btn { min-height: 36px; }
.site-footer nav {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.site-footer a {
  color: var(--mist);
  text-decoration: none;
}
.site-footer a:hover { color: var(--accent-2); }

.roadmap-phase {
  margin: 28px 0 8px;
}
.roadmap-phase h2 {
  margin: 0 0 6px;
  font-size: 1.15rem;
}
.roadmap-grid {
  display: grid;
  gap: 12px;
  margin: 12px 0 8px;
}
.roadmap-card h3 {
  margin: 0 0 8px;
  font-size: 1.02rem;
}
.roadmap-card ul {
  margin: 0;
  padding-left: 18px;
  color: var(--mist);
  line-height: 1.55;
}
.roadmap-card .status {
  margin: 12px 0 0;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--accent-2);
}
.roadmap-card.done {
  border-color: rgba(46, 230, 176, 0.4);
}
.roadmap-card.next {
  border-color: rgba(232, 197, 107, 0.4);
}

.mission-summary {
  margin: 8px 0 22px;
  padding: 16px 18px;
}
.mission-summary-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
}
.mission-summary-top strong {
  font-size: 1.25rem;
  letter-spacing: -0.03em;
}
.mission-pct {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--accent-2);
  font-variant-numeric: tabular-nums;
  font-family: var(--mono);
}
.mission-bar {
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  margin-top: 12px;
  overflow: hidden;
}
.mission-bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--accent), var(--gold));
  border-radius: 999px;
}
.mission-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.mission-item {
  position: relative;
  padding: 16px 16px 14px;
}
.mission-item h3 {
  margin: 0 72px 8px 0;
  font-size: 1.02rem;
}
.mission-flag {
  position: absolute;
  top: 14px;
  right: 14px;
  font-size: 0.75rem;
  font-weight: 750;
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--long);
  border: 1px solid rgba(46, 230, 176, 0.45);
  background: rgba(46, 230, 176, 0.14);
}
.mission-flag.now {
  color: #1c1812;
  border-color: rgba(232, 197, 107, 0.6);
  background: var(--gold);
}
.mission-item:not(.done):not(.now) .mission-flag {
  color: var(--mist);
  border-color: var(--line);
  background: transparent;
}
.mission-item.done { border-color: rgba(46, 230, 176, 0.4); }
.mission-item.now { border-color: rgba(232, 197, 107, 0.45); }
.mission-do, .mission-out {
  margin: 0 0 6px;
  color: var(--mist);
  line-height: 1.5;
  font-size: 0.92rem;
}
.mission-out { margin-bottom: 0; color: var(--fog); }
.mission-out span {
  display: inline-block;
  min-width: 4.5rem;
  color: var(--accent-2);
  font-weight: 700;
  font-size: 0.78rem;
}
.mission-out code {
  font-family: var(--mono);
  font-size: 0.82rem;
  color: var(--accent-2);
}
.hard-line {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0 0 8px;
}
.hard-line .card {
  padding: 14px 16px;
}
.hard-line strong { display: block; margin-bottom: 4px; color: var(--fog); }

.page-visual {
  margin: 8px 0 28px;
}
.page-visual img {
  display: block;
  width: 100%;
  border-radius: 4px;
  border: 1px solid var(--line);
}
.page-visual figcaption {
  color: var(--mist);
  font-size: 0.85rem;
  margin-top: 8px;
}
.doc-section {
  margin: 32px 0;
}
.doc-section h2 {
  font-size: 1.2rem;
  margin: 0 0 10px;
}
.doc-section p, .doc-section li {
  color: var(--mist);
  line-height: 1.6;
}
.doc-section p { margin: 0 0 10px; }
.doc-section ol, .doc-section ul { margin: 0 0 12px; padding-left: 20px; }
.doc-quote {
  margin: 12px 0 16px;
  padding: 14px 16px;
  border-left: 3px solid var(--gold);
  background: rgba(232, 197, 107, 0.08);
  color: var(--fog);
  border-radius: 0 14px 14px 0;
}
.doc-pre {
  overflow-x: auto;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 14px 16px;
  font-family: var(--mono);
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--accent-2);
  white-space: pre;
}

.zone-grid {
  display: grid;
  gap: 10px;
  margin: 16px 0;
}
.zone-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px 14px;
}
.zone-card h3 {
  margin: 0 0 8px;
  font-size: 0.92rem;
}
.zone-card p, .zone-card li { margin: 0; color: var(--mist); line-height: 1.5; }
.zone-card ul { margin: 0; padding-left: 18px; }
.zone-card.entry { border-color: rgba(46, 230, 176, 0.5); background: rgba(46, 230, 176, 0.08); }
.zone-card.exit { border-color: rgba(255, 107, 122, 0.5); background: rgba(255, 107, 122, 0.08); }
.dropzone.has-preview { position: relative; }
.preview-actions {
  display: flex;
  justify-content: center;
  margin-top: 8px;
}
.summary-card {
  border-radius: 16px;
  padding: 16px 18px;
  margin: 0 0 16px;
  border: 1px solid var(--line);
}
.summary-card h2 { margin: 4px 0 10px; font-family: var(--font); }
.summary-card.bullish { background: rgba(61, 255, 154, 0.12); border-color: rgba(61, 255, 154, 0.45); }
.summary-card.bullish h2 { color: var(--long); }
.summary-card.bearish { background: rgba(255, 93, 122, 0.14); border-color: rgba(255, 93, 122, 0.5); }
.summary-card.bearish h2 { color: var(--short); }
.summary-card.sideways { background: rgba(154, 163, 188, 0.14); border-color: rgba(154, 163, 188, 0.4); }
.signal-card {
  border-radius: 16px;
  padding: 16px 18px;
  margin: 0 0 16px;
  border: 1px solid var(--line);
}
.signal-card h2 {
  margin: 4px 0 10px;
  font-family: var(--font);
  font-size: clamp(1.8rem, 5vw, 2.4rem);
  line-height: 1.05;
}
.signal-card.buy {
  background: rgba(61, 255, 154, 0.14);
  border-color: rgba(61, 255, 154, 0.5);
}
.signal-card.buy h2 { color: var(--long); }
.signal-card.sell {
  background: rgba(255, 93, 122, 0.16);
  border-color: rgba(255, 93, 122, 0.55);
}
.signal-card.sell h2 { color: var(--short); }
.signal-card.wait {
  background: rgba(255, 200, 87, 0.14);
  border-color: rgba(255, 200, 87, 0.5);
}
.signal-card.wait h2 { color: var(--wait); }
.signal-points {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 8px;
}
.signal-points article {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(8, 12, 24, 0.35);
}
.signal-points article.is-buy { border-color: rgba(61, 255, 154, 0.5); }
.signal-points article.is-sell { border-color: rgba(255, 93, 122, 0.5); }
.signal-points article.is-last { border-color: rgba(0, 217, 255, 0.4); }
.signal-points article.is-buy strong { color: var(--long); }
.signal-points article.is-sell strong { color: var(--short); }
.signal-points article.is-last strong { color: var(--accent); }
.signal-points .kicker { margin: 0 0 6px; }
.signal-points strong {
  font-family: var(--font);
  font-size: 1.25rem;
}
mark.mark-key,
mark.mark-mult,
strong.mark-key,
strong.mark-mult {
  background: rgba(255, 200, 87, 0.28);
  color: #ffe6a8;
  padding: 0 0.22em;
  border-radius: 4px;
  font-weight: 700;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
mark.mark-tone-up {
  background: rgba(61, 255, 154, 0.16);
  color: var(--long);
  padding: 0 0.22em;
  border-radius: 4px;
  font-weight: 700;
}
mark.mark-tone-down {
  background: rgba(255, 93, 122, 0.16);
  color: var(--short);
  padding: 0 0.22em;
  border-radius: 4px;
  font-weight: 700;
}
mark.mark-tone-wait {
  background: rgba(255, 176, 136, 0.16);
  color: var(--wait);
  padding: 0 0.22em;
  border-radius: 4px;
  font-weight: 700;
}
mark.mark-pct-up {
  background: rgba(61, 255, 154, 0.14);
  color: var(--long);
  padding: 0 0.2em;
  border-radius: 4px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
mark.mark-pct-down {
  background: rgba(255, 93, 122, 0.14);
  color: var(--short);
  padding: 0 0.2em;
  border-radius: 4px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
mark.mark-pct-flat {
  background: rgba(154, 166, 196, 0.14);
  color: var(--mist);
  padding: 0 0.2em;
  border-radius: 4px;
  font-weight: 650;
}
.tone-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0 4px 4px 0;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(12, 18, 34, 0.75);
  font-size: 0.82rem;
  line-height: 1.35;
  font-weight: 650;
}
.tone-chip.tone-up {
  border-color: rgba(61, 255, 154, 0.28);
  color: var(--long);
  background: rgba(61, 255, 154, 0.08);
}
.tone-chip.tone-down {
  border-color: rgba(255, 93, 122, 0.28);
  color: var(--short);
  background: rgba(255, 93, 122, 0.08);
}
.tone-chip.tone-wait {
  border-color: rgba(255, 176, 136, 0.28);
  color: var(--wait);
  background: rgba(255, 176, 136, 0.08);
}
.tone-chip.tone-flat { color: var(--fog); }
.digest-hero h2.tone-up,
.digest-hero h2.tone-buy { color: var(--long); }
.digest-hero h2.tone-down,
.digest-hero h2.tone-sell { color: var(--short); }
.digest-hero h2.tone-wait { color: var(--wait); }
.digest-calc strong.mark-key { color: #ffe6a8; }
.outlook-card {
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 55%),
    rgba(10, 14, 24, 0.72);
}
.outlook-card.tone-up {
  border-color: rgba(61, 255, 154, 0.28);
  background:
    linear-gradient(135deg, rgba(61, 255, 154, 0.1), transparent 48%),
    rgba(10, 14, 24, 0.72);
}
.outlook-card.tone-down {
  border-color: rgba(255, 93, 122, 0.28);
  background:
    linear-gradient(135deg, rgba(255, 93, 122, 0.1), transparent 48%),
    rgba(10, 14, 24, 0.72);
}
.outlook-card.tone-wait {
  border-color: rgba(255, 176, 136, 0.28);
  background:
    linear-gradient(135deg, rgba(255, 176, 136, 0.1), transparent 48%),
    rgba(10, 14, 24, 0.72);
}
.outlook-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin: 0 0 8px;
}
.outlook-head .kicker { margin: 0; margin-right: auto; }
.outlook-summary {
  margin: 0 0 8px;
  font-size: 0.98rem;
  line-height: 1.45;
  font-weight: 650;
}
.outlook-align {
  margin: 0 0 10px;
  color: var(--mist);
  font-size: 0.86rem;
  line-height: 1.45;
}
.outlook-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0 0 8px;
}
.outlook-split article {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(8, 12, 22, 0.55);
}
.outlook-split article.is-holds { border-color: rgba(61, 255, 154, 0.22); }
.outlook-split article.is-breaks { border-color: rgba(255, 93, 122, 0.22); }
.outlook-split .kicker { margin: 0 0 6px; }
.outlook-split p { margin: 0; font-size: 0.86rem; line-height: 1.45; }
.outlook-horizon,
.outlook-band,
.outlook-note { margin: 6px 0 0; font-size: 0.8rem; line-height: 1.4; }
.outlook-band { color: var(--fog); }
@media (max-width: 720px) {
  .outlook-split { grid-template-columns: 1fr; }
}
.range-card.is-squeeze h2,
.range-card.is-fast_run h2,
.range-card.is-wide_bar h2 {
  color: var(--wait);
}
.signal-card .signal-points + .muted { margin: 0 0 12px; }
.signal-points p.muted { margin: 8px 0 0; line-height: 1.45; }
.signal-when {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
  margin: 0 0 12px;
}
.signal-when article {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(8, 12, 24, 0.35);
}
.signal-when .kicker { margin: 0 0 6px; }
.signal-when p { margin: 0; line-height: 1.5; }
.calc-list { margin: 10px 0 0; padding-left: 18px; }
.calc-list li { margin: 0 0 14px; }
.calc-list strong { display: block; margin: 0 0 6px; font-size: 1.15rem; }
.calc-summary-card {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(8, 12, 24, 0.35);
}
.calc-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.calc-cell {
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(18, 24, 44, 0.45);
}
.calc-cell .kicker { margin: 0 0 4px; font-size: 0.68rem; }
.calc-cell-value {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
}
.calc-cell-value strong { font-size: 1rem; }
.calc-cell-tip {
  margin: 4px 0 0;
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--muted);
}
.calc-summary-note { margin: 8px 0 0; font-size: 0.72rem; }
.price-plan-card {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(12, 18, 34, 0.72);
  display: grid;
  gap: 10px;
}
.trade-pace {
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(12, 18, 34, 0.72);
  display: grid;
  gap: 6px;
}
.trade-pace-btns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.tp-pace {
  min-height: 40px;
  border-radius: 11px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.7);
  color: var(--mist);
  font-weight: 750;
  cursor: pointer;
}
.tp-pace.is-scalp.is-on {
  color: #9dffc8;
  border-color: rgba(61, 255, 154, 0.5);
  background: rgba(61, 255, 154, 0.12);
}
.tp-pace.is-intraday.is-on {
  color: #c7e2ff;
  border-color: rgba(142, 197, 255, 0.5);
  background: rgba(142, 197, 255, 0.12);
}
.tp-pace.is-swing.is-on {
  color: #f3e6c0;
  border-color: rgba(232, 197, 107, 0.5);
  background: rgba(232, 197, 107, 0.12);
}
.trade-pace-hint {
  margin: 0;
  font-size: 0.8rem;
}
.short-horizon {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(142, 197, 255, 0.28);
  background: rgba(142, 197, 255, 0.06);
  display: grid;
  gap: 8px;
}
.sh-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  font-weight: 700;
  font-size: 0.9rem;
}
.sh-status.is-toward .tc-dot {
  background: #3dff9a;
  box-shadow: 0 0 0 4px rgba(61, 255, 154, 0.2);
}
.sh-status.is-against .tc-dot {
  background: #ff5d7a;
  box-shadow: 0 0 0 4px rgba(255, 93, 122, 0.2);
}
.sh-dist {
  font-size: 0.82rem;
  font-weight: 650;
  color: var(--mist);
}
.sh-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.sh-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.55);
  font-size: 0.74rem;
  font-weight: 700;
}
.sh-chip.is-in {
  color: #9dffc8;
  border-color: rgba(61, 255, 154, 0.35);
}
.sh-chip.is-out {
  color: #ffb0bf;
  border-color: rgba(255, 93, 122, 0.35);
}
.sh-ranges {
  display: grid;
  gap: 3px;
  font-size: 0.84rem;
}
.sh-ranges p {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
}
.sh-ranges span {
  color: var(--mist);
  font-weight: 650;
  min-width: 2.4rem;
}
.sh-estimate {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.4;
}
.sh-est-tag {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 7px;
  margin-right: 4px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 780;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #e8c56b;
  background: rgba(232, 197, 107, 0.16);
  border: 1px solid rgba(232, 197, 107, 0.35);
}
.sh-cov {
  margin: 0;
  font-size: 0.78rem;
}
.trade-calc-card {
  margin: 0 0 12px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(12, 18, 34, 0.78);
  display: grid;
  gap: 10px;
}
.tc-head {
  display: grid;
  gap: 2px;
}
.trade-calc-lede,
.trade-calc-note,
.tc-liq {
  margin: 0;
  font-size: 0.82rem;
}
.trade-calc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
  align-items: end;
}
.trade-calc-field {
  display: grid;
  gap: 3px;
}
.trade-calc-field > span {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--mist);
}
.trade-calc-field input,
.trade-calc-field select {
  min-height: 38px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.85);
  color: var(--fog);
  padding: 6px 10px;
  font-weight: 650;
  font-size: 0.95rem;
}
.tc-inline-check {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 600;
  color: var(--fog);
  cursor: pointer;
}
.tc-inline-check input {
  width: 14px;
  height: 14px;
  min-height: 0;
}
.trade-calc-sides {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.trade-calc-sides .tc-side {
  min-height: 42px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.7);
  color: var(--mist);
  font-weight: 750;
  letter-spacing: 0.04em;
  cursor: pointer;
}
.trade-calc-sides .tc-long.is-on {
  border-color: rgba(61, 255, 154, 0.55);
  background: rgba(61, 255, 154, 0.14);
  color: #9dffc8;
}
.trade-calc-sides .tc-short.is-on {
  border-color: rgba(255, 93, 122, 0.55);
  background: rgba(255, 93, 122, 0.14);
  color: #ffb0bf;
}
.tc-live {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.55);
}
.tc-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex: 0 0 auto;
  background: #9aa3b8;
  box-shadow: 0 0 0 4px rgba(154, 163, 184, 0.18);
}
.tc-live.is-toward {
  border-color: rgba(61, 255, 154, 0.42);
  background: rgba(61, 255, 154, 0.08);
}
.tc-live.is-toward .tc-dot {
  background: #3dff9a;
  box-shadow: 0 0 0 4px rgba(61, 255, 154, 0.2);
}
.tc-live.is-against {
  border-color: rgba(255, 93, 122, 0.42);
  background: rgba(255, 93, 122, 0.08);
}
.tc-live.is-against .tc-dot {
  background: #ff5d7a;
  box-shadow: 0 0 0 4px rgba(255, 93, 122, 0.2);
}
.tc-live-title {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 700;
}
.tc-live-pnl {
  margin: 2px 0 0;
  font-size: 1.15rem;
  font-weight: 780;
}
.tc-live-pnl span {
  margin-left: 6px;
  font-size: 0.9rem;
  opacity: 0.85;
}
.tc-keyrow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 8px;
}
.tc-key {
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.45);
}
.tc-key span {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--mist);
  margin-bottom: 2px;
}
.tc-key b {
  font-size: 0.98rem;
}
.tc-tone-up {
  color: #3dff9a;
}
.tc-tone-down {
  color: #ff5d7a;
}
.tc-tone-mid {
  color: #e8c56b;
}
.tc-tone-flat {
  color: var(--fog);
}
.tc-tone-entry {
  color: #8ec5ff;
}
.tc-tone-stop {
  color: #ff5d7a;
}
.tc-tone-tp {
  color: #3dff9a;
}
.tc-targets {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
  gap: 8px;
}
.tc-target {
  padding: 10px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.55);
}
.tc-target.is-tp1 {
  border-color: rgba(61, 255, 154, 0.35);
}
.tc-target.is-tp2 {
  border-color: rgba(232, 197, 107, 0.35);
}
.tc-target.is-tp3 {
  border-color: rgba(142, 197, 255, 0.35);
}
.tc-target-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.tc-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 780;
  letter-spacing: 0.03em;
  background: rgba(255, 255, 255, 0.06);
}
.tc-target.is-tp1 .tc-badge {
  color: #9dffc8;
  background: rgba(61, 255, 154, 0.14);
}
.tc-target.is-tp2 .tc-badge {
  color: #f3e6c0;
  background: rgba(232, 197, 107, 0.16);
}
.tc-target.is-tp3 .tc-badge {
  color: #c7e2ff;
  background: rgba(142, 197, 255, 0.14);
}
.tc-px {
  font-size: 1.05rem;
}
.tc-target-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 8px;
}
.tc-target-metrics span {
  display: block;
  font-size: 0.68rem;
  color: var(--mist);
  font-weight: 650;
}
.tc-target-metrics b {
  font-size: 0.92rem;
}
.tc-rr {
  margin: 8px 0 0;
  font-size: 0.82rem;
}
.tc-more {
  margin-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding-top: 6px;
  font-size: 0.8rem;
  color: var(--mist);
}
.tc-more summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--fog);
}
.tc-more p {
  margin: 4px 0 0;
}
.tc-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}
.tc-chip {
  display: inline-flex;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  font-size: 0.72rem;
}
.tc-ranges {
  display: grid;
  gap: 4px;
  font-size: 0.84rem;
}
.tc-ranges p {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
}
.tc-ranges span {
  color: var(--mist);
  font-weight: 650;
}
.tc-summary-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.tc-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 750;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.55);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.tc-pill.is-long {
  color: #9dffc8;
  border-color: rgba(61, 255, 154, 0.4);
  background: rgba(61, 255, 154, 0.1);
}
.tc-pill.is-short {
  color: #ffb0bf;
  border-color: rgba(255, 93, 122, 0.4);
  background: rgba(255, 93, 122, 0.1);
}
.tc-pill.is-dir-bullish {
  color: #9dffc8;
}
.tc-pill.is-dir-bearish {
  color: #ffb0bf;
}
.tc-pill.is-mf {
  color: #e8c56b;
}
.tc-pill.is-prob.tc-tone-up {
  color: #9dffc8;
  border-color: rgba(61, 255, 154, 0.35);
}
.tc-pill.is-prob.tc-tone-mid {
  color: #e8c56b;
}
.tc-pill.is-prob.tc-tone-down {
  color: #ffb0bf;
}
.price-plan-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
}
.price-plan-field {
  display: grid;
  gap: 4px;
  min-width: min(100%, 180px);
  flex: 1;
}
.price-plan-field span {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--mist);
}
.price-plan-field input {
  min-height: 42px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.85);
  color: var(--fog);
  padding: 8px 12px;
  font-weight: 700;
  font-size: 1rem;
}
.price-plan-sides {
  display: flex;
  gap: 6px;
}
.plan-side-btn.is-on {
  border-color: rgba(0, 217, 255, 0.55);
  background: rgba(0, 217, 255, 0.14);
  color: var(--fog);
}
.plan-stance {
  margin: 0;
  font-weight: 800;
  font-size: 0.95rem;
}
.plan-stance.is-buy { color: var(--long); }
.plan-stance.is-sell { color: var(--short); }
.plan-stance.is-wait { color: var(--wait); }
.plan-reach {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.4;
}
.plan-sides,
.plan-scenarios {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}
.plan-side,
.plan-scenario {
  margin: 0;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.45);
}
.plan-scenario.is-up { border-color: rgba(61, 255, 154, 0.35); }
.plan-scenario.is-down { border-color: rgba(255, 93, 122, 0.35); }
.plan-scenario.is-sideway { border-color: rgba(232, 196, 110, 0.35); }
.plan-scenario strong,
.plan-side strong {
  display: block;
  margin-top: 2px;
  font-size: 1rem;
}
.plan-scenario small,
.plan-side small {
  display: block;
  margin-top: 2px;
  color: var(--mist);
  font-size: 0.72rem;
}
.plan-grid {
  display: grid;
  gap: 6px;
  margin-top: 6px;
}
.plan-grid > div {
  display: grid;
  gap: 1px;
}
.plan-grid span {
  font-size: 0.72rem;
  color: var(--mist);
  font-weight: 700;
}
.plan-note { margin: 0; font-size: 0.75rem; }
.move-prospect {
  margin: 0 0 10px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(232, 196, 110, 0.35);
  background: rgba(232, 196, 110, 0.08);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.45;
}
.opps-card.is-bottom .move-prospect,
.opps-card.is-bottom .opps-move {
  border-color: rgba(61, 255, 154, 0.35);
  background: rgba(61, 255, 154, 0.08);
  color: #b8f5d8;
}
.opps-card.is-top .move-prospect,
.opps-card.is-top .opps-move {
  border-color: rgba(255, 93, 122, 0.35);
  background: rgba(255, 93, 122, 0.08);
  color: #ffc4d0;
}
@media (max-width: 720px) {
  .calc-summary-grid { grid-template-columns: 1fr; }
}
.pct-chip {
  display: inline-block;
  margin: 0 0 8px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid var(--line);
  font-size: 0.85rem;
  font-weight: 600;
}
.calc-list p { margin: 0 0 6px; line-height: 1.5; }
.signal-why { margin: 0 0 12px; line-height: 1.55; max-width: 42rem; }
.signal-steps {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 12px;
}
.signal-step {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(8, 12, 24, 0.35);
}
.signal-step .kicker { margin: 0 0 6px; }
.signal-step p { margin: 0; line-height: 1.5; }
.signal-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}
@media (max-width: 720px) {
  .signal-steps, .signal-points, .signal-when { grid-template-columns: 1fr; }
}
.result-guide {
  display: grid;
  gap: 14px;
}
.result-block {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px 16px 16px;
  background: rgba(8, 12, 24, 0.38);
}
.result-step {
  margin: 0 0 12px;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 800;
}
.result-block.is-fold {
  padding: 0;
}
.result-block.is-fold > summary.result-step {
  list-style: none;
  cursor: pointer;
  margin: 0;
  padding: 14px 16px;
}
.result-block.is-fold > summary.result-step::-webkit-details-marker { display: none; }
.result-block.is-fold > summary.result-step::after {
  content: " ▾";
  color: var(--mist);
  font-weight: 600;
}
.result-block.is-fold[open] > summary.result-step::after { content: " ▴"; }
.result-block.is-fold[open] > summary.result-step {
  margin: 0 0 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.result-fold-body {
  padding: 4px 16px 16px;
}
.digest-card {
  margin: 0;
}
.digest-hero {
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(0, 217, 255, 0.18);
  background:
    linear-gradient(135deg, rgba(0, 217, 255, 0.1), transparent 48%),
    rgba(10, 14, 24, 0.72);
}
.digest-card.is-bullish .digest-hero {
  border-color: rgba(61, 255, 154, 0.28);
  background:
    linear-gradient(135deg, rgba(61, 255, 154, 0.12), transparent 48%),
    rgba(10, 14, 24, 0.72);
}
.digest-card.is-bearish .digest-hero {
  border-color: rgba(255, 93, 122, 0.28);
  background:
    linear-gradient(135deg, rgba(255, 93, 122, 0.12), transparent 48%),
    rgba(10, 14, 24, 0.72);
}
.digest-hero .kicker { margin: 0 0 6px; }
.digest-hero h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(1.05rem, 2.1vw, 1.45rem);
  line-height: 1.25;
  max-width: 36ch;
}
.digest-call-note {
  margin: 6px 0 0;
  color: var(--fog);
  font-size: 0.78rem;
  line-height: 1.35;
}
.digest-meta {
  margin: 6px 0 0;
  color: var(--mist);
  font-size: 0.82rem;
}
.digest-why {
  margin: 10px 0 0;
  color: var(--fog);
  line-height: 1.45;
  font-size: 0.92rem;
}
.digest-grid {
  display: grid;
  gap: 0;
  margin: 0 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(8, 12, 22, 0.55);
}
.digest-row {
  display: grid;
  grid-template-columns: minmax(96px, 34%) 1fr;
  gap: 10px;
  align-items: start;
  padding: 8px 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.digest-row:first-child { border-top: 0; }
.digest-row span {
  color: var(--mist);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding-top: 2px;
}
.digest-row p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}
.digest-calc {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin: 0 0 12px;
}
.digest-calc article {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(12, 18, 34, 0.8);
  min-width: 0;
}
.digest-calc .kicker {
  margin: 0 0 4px;
  font-size: 0.62rem;
}
.digest-calc p { margin: 0; font-size: 0.84rem; line-height: 1.3; }
.digest-calc strong {
  font-family: var(--display);
  margin-right: 4px;
}
.digest-card .trend-board.is-nested {
  margin: 0;
  background: rgba(8, 12, 22, 0.45);
}
.result-more {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 0;
  background: rgba(8, 12, 24, 0.38);
  overflow: hidden;
}
.result-more > summary {
  list-style: none;
  cursor: pointer;
  padding: 14px 16px;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 800;
}
.result-more > summary::-webkit-details-marker { display: none; }
.result-more > summary::after {
  content: " ▾";
  color: var(--mist);
  font-weight: 600;
}
.result-more[open] > summary::after { content: " ▴"; }
.result-more-body {
  display: grid;
  gap: 14px;
  padding: 0 16px 16px;
}
@media (max-width: 720px) {
  .digest-row { grid-template-columns: 1fr; gap: 2px; }
  .digest-calc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.result-block .signal-card,
.result-block .tape-card,
.result-block .printed-card,
.result-block .range-card,
.result-block .peers-card,
.result-block .story-card,
.result-block .study-lab,
.result-block .digest-card {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.result-block .summary-card {
  margin: 0 0 12px;
}
.result-block .signal-card > .kicker:first-child,
.result-block .peers-card > .kicker:first-child {
  display: none;
}
.tape-table {
  width: 100%;
  border-collapse: collapse;
  margin: 4px 0 12px;
  font-variant-numeric: tabular-nums;
}
.tape-table th,
.tape-table td {
  padding: 8px 6px;
  text-align: left;
  border-top: 1px solid var(--line);
  font-size: 0.86rem;
}
.tape-table th {
  color: var(--mist);
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 650;
  border-top: 0;
}
.tape-table td:nth-child(2),
.tape-table th:nth-child(2),
.tape-table td:nth-child(3),
.tape-table th:nth-child(3) {
  text-align: right;
  font-family: var(--mono);
}
.tape-card.is-compact {
  padding: 0;
  background: transparent;
  border: 0;
}
.tape-metrics {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  gap: 0;
  margin: 0 0 8px;
  border: 1px solid rgba(0, 217, 255, 0.18);
  border-radius: 12px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(0, 217, 255, 0.08), transparent 42%),
    rgba(10, 14, 24, 0.72);
}
.tape-metrics .tape-cell {
  padding: 10px 12px;
  min-width: 0;
}
.tape-metrics .tape-split {
  width: 1px;
  background: rgba(0, 217, 255, 0.16);
  align-self: stretch;
}
.tape-metrics .kicker {
  display: block;
  margin: 0 0 3px;
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mist);
}
.tape-metrics strong {
  display: block;
  font-family: var(--display);
  font-size: 1.05rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #ffe6a8;
}
.tape-sources {
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  overflow: hidden;
  background: rgba(8, 12, 22, 0.55);
}
.tape-table-compact {
  margin: 0;
}
.tape-table-compact th,
.tape-table-compact td {
  padding: 5px 10px;
  font-size: 0.76rem;
  border-top-color: rgba(255, 255, 255, 0.05);
}
.tape-table-compact thead th {
  background: rgba(255, 255, 255, 0.03);
  padding-top: 6px;
  padding-bottom: 6px;
}
.tape-table-compact .tape-px {
  font-family: var(--mono);
}
.tape-table-compact .muted {
  font-size: 0.7rem;
}
.tape-note {
  margin: 6px 0 0;
  font-size: 0.78rem;
}
@media (max-width: 520px) {
  .tape-metrics {
    grid-template-columns: 1fr;
  }
  .tape-metrics .tape-split {
    width: auto;
    height: 1px;
  }
}
.run-list {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
}
.run-list li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px 14px;
  align-items: baseline;
  padding: 8px 0;
  border-top: 1px solid var(--line);
}
.run-list strong { font-size: 1.05rem; }
@media (max-width: 720px) {
  .run-list li { grid-template-columns: 1fr; }
}
.read-plain { margin: 0 0 16px; }
.read-plain ul { margin: 6px 0 0; padding-left: 18px; line-height: 1.55; }
.printed-card, .range-card, .peers-card, .tape-card, .story-card {
  border-radius: 16px;
  padding: 16px 18px;
  margin: 0 0 16px;
  border: 1px solid var(--line);
  background: rgba(139, 124, 255, 0.08);
}
.tape-card {
  background: rgba(0, 217, 255, 0.08);
}
.printed-card h2, .range-card h2, .peers-card h2, .tape-card h2, .story-card h2 {
  margin: 4px 0 10px;
  font-family: var(--font);
  font-size: 1.15rem;
}
.printed-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 10px;
}
.printed-grid article {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(8, 12, 24, 0.35);
}
.printed-grid .kicker { margin: 0 0 6px; }
.printed-grid strong { display: block; font-size: 1.15rem; }
.study-scores {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, 1fr);
  margin: 0 0 12px;
}
.study-scores article {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(8, 12, 24, 0.35);
}
.study-scores .kicker { margin: 0 0 6px; }
.study-scores strong { display: block; font-size: 1.15rem; }
.story-card .read-plain p { margin: 0 0 10px; }
.peer-list { list-style: none; margin: 8px 0 0; padding: 0; }
.peer-list li {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: baseline;
  padding: 8px 0;
  border-top: 1px solid var(--line);
}
.peer-list a { font-weight: 800; }
@media (max-width: 720px) {
  .printed-grid { grid-template-columns: 1fr; }
  .study-scores { grid-template-columns: 1fr 1fr; }
}
.conf-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.8rem;
  font-weight: 800;
  margin-right: 8px;
}
.conf-badge.low { background: rgba(255, 93, 122, 0.2); color: var(--short); }
.conf-badge.medium { background: rgba(255, 200, 87, 0.22); color: var(--gold); }
.conf-badge.high { background: rgba(61, 255, 154, 0.2); color: var(--long); }
.pattern-grid, .levels-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
  margin: 8px 0 16px;
}
.pattern-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
  background: rgba(139, 124, 255, 0.08);
}
.pattern-card h4 { margin: 0 0 6px; }
.risk-box {
  border: 1px solid rgba(255, 200, 87, 0.55);
  background: rgba(255, 200, 87, 0.12);
  border-radius: 14px;
  padding: 14px;
  margin: 12px 0;
}
.disclaimer-fixed {
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(154, 163, 188, 0.12);
  color: var(--mist);
  font-size: 0.82rem;
  line-height: 1.5;
}
.study-lab { margin: 4px 0 8px; }
.study-lede {
  margin: 0 0 14px;
  color: var(--mist);
  line-height: 1.55;
  max-width: 40rem;
}
.study-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0;
}
.study-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.45);
  color: var(--fog);
  font-size: 0.78rem;
}
.study-tags { margin: 0 0 4px; color: var(--fog); }
.study-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}
.study-card {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(18, 24, 44, 0.72);
  min-height: 100%;
}
.study-card .kicker {
  margin: 0 0 8px;
  font-size: 0.7rem;
}
.study-card p { margin: 0; line-height: 1.55; }
.study-card ul { margin: 0; padding-left: 18px; color: var(--fog); line-height: 1.5; }
.study-card.holds { border-color: rgba(0, 217, 255, 0.32); }
.study-card.holds .kicker { color: var(--accent); }
.study-card.disprove { border-color: rgba(255, 176, 136, 0.42); }
.study-card.disprove .kicker { color: var(--wait); }
.study-card.missing { border-color: rgba(154, 163, 188, 0.32); }
.study-card.missing .kicker { color: var(--mist); }
.study-check {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: grid;
  gap: 8px;
}
.study-check li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: start;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(8, 12, 24, 0.35);
  line-height: 1.5;
}
.study-check b {
  color: var(--gold);
  font-family: var(--display);
  font-size: 0.95rem;
}
.journal-box {
  margin: 4px 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(8, 12, 24, 0.35);
}
.journal-box .kicker { margin: 0 0 8px; }
.journal-box .journal-inner > p { margin: 0 0 10px; line-height: 1.5; }
.journal-picks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}
.journal-pick.is-on {
  border-color: rgba(0, 217, 255, 0.55);
  color: var(--accent);
}
.journal-verdict {
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(18, 24, 44, 0.72);
}
.journal-verdict .kicker { margin: 0 0 8px; }
.journal-verdict p { margin: 0; line-height: 1.55; }
.journal-verdict.held { border-color: rgba(0, 217, 255, 0.32); }
.journal-verdict.held .kicker { color: var(--accent); }
.journal-verdict.weakened { border-color: rgba(255, 176, 136, 0.42); }
.journal-verdict.weakened .kicker { color: var(--wait); }
.journal-verdict.unclear { border-color: rgba(154, 163, 188, 0.32); }
.journal-verdict.unclear .kicker { color: var(--mist); }
.journal-marks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.journal-card {
  padding: 12px 14px;
}
.journal-card h2 {
  margin: 0 0 4px;
  font-size: 1.05rem;
}
.journal-card .journal-lede {
  margin: 0 0 8px;
  font-size: 0.86rem;
  line-height: 1.35;
}
.journal-card .muted { margin: 0 0 8px; }
.journal-stats {
  margin: 0 0 8px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(8, 12, 24, 0.45);
}
.journal-stats[hidden] { display: none; }
.journal-stats-head {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  align-items: baseline;
  justify-content: space-between;
  margin: 0;
}
.journal-stats-head strong {
  font-size: 0.92rem;
  color: var(--fog);
}
.journal-stats-head span {
  color: var(--mist);
  font-size: 0.8rem;
}
.journal-stats-empty {
  margin: 0;
  color: var(--mist);
  font-size: 0.82rem;
  line-height: 1.35;
}
.journal-stats-align {
  margin: 4px 0 0;
  color: var(--mist);
  font-size: 0.78rem;
  line-height: 1.35;
}
.journal-stats-note {
  margin: 4px 0 0;
  color: var(--mist);
  font-size: 0.76rem;
  line-height: 1.35;
}
.journal-item {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-align: left;
  padding: 7px 10px;
  margin: 0 0 4px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(8, 12, 24, 0.35);
  color: var(--fog);
  cursor: pointer;
  box-sizing: border-box;
}
.journal-item strong {
  display: block;
  font-size: 0.88rem;
  line-height: 1.25;
}
.journal-item small {
  display: block;
  color: var(--mist);
  margin-top: 2px;
  font-size: 0.78rem;
  line-height: 1.3;
}
.journal-item p { margin: 4px 0 0; }
.journal-check-btn {
  flex-shrink: 0;
  min-height: 30px;
  padding: 4px 10px;
  font-size: 0.8rem;
}
.journal-pager {
  margin: 6px 0 0;
  gap: 8px;
}
.journal-pager .btn {
  min-height: 30px;
  padding: 4px 10px;
  font-size: 0.8rem;
}
.journal-due {
  margin: 0 0 10px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(232, 197, 107, 0.55);
  background: rgba(40, 32, 12, 0.55);
  color: var(--fog);
  cursor: pointer;
  line-height: 1.35;
  font-size: 0.88rem;
}
.journal-due strong { color: #e8c56b; }
.journal-frames { margin: 8px 0 0; color: var(--mist); line-height: 1.5; }
.journal-item.ready {
  border-color: rgba(232, 197, 107, 0.7);
  background: rgba(40, 32, 12, 0.45);
  box-shadow: 0 0 0 1px rgba(232, 197, 107, 0.18);
}
.study-frames { margin: 4px 0 18px; }
.study-frames > p:last-child { margin: 0; color: var(--fog); line-height: 1.5; }
.journal-item.reviewed.held { border-color: rgba(0, 217, 255, 0.32); }
.journal-item.reviewed.weakened { border-color: rgba(255, 176, 136, 0.42); }
.journal-item.reviewed.unclear { border-color: rgba(154, 163, 188, 0.32); }
.journal-item .btn { flex-shrink: 0; }
@media (max-width: 860px) {
  .study-board,
  .pattern-grid,
  .levels-grid { grid-template-columns: 1fr; }
}
.result-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
}
.result-tools p { margin: 0 8px 0 0; }
.result-ask {
  margin-top: 16px;
}
.result-ask .kicker { margin-bottom: 6px; }
.result-ask details {
  margin-top: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(8, 12, 24, 0.4);
}
.result-ask summary {
  cursor: pointer;
  list-style: none;
  padding: 12px 14px;
  font-weight: 650;
}
.result-ask summary::-webkit-details-marker { display: none; }
.result-ask summary::after {
  content: '+';
  float: right;
  color: var(--mist);
  font-weight: 700;
}
.result-ask details[open] summary::after { content: '-'; }
.result-ask .ask-body {
  padding: 0 14px 14px;
}
@media print {
  .result-ask summary { display: none; }
  .result-ask .ask-body { display: block !important; }
}
.skel { background: linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.14), rgba(255,255,255,0.06)); background-size: 200% 100%; animation: skel 1.2s ease-in-out infinite; border-radius: 12px; }
.skel-card { height: 88px; margin-bottom: 10px; }
.skel-line { height: 14px; margin-bottom: 8px; }
.skel-line.short { width: 55%; }
.skel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@keyframes skel { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
.launch-status {
  text-align: center;
  padding: 8px 0 4px;
}
.orbit-loader {
  position: relative;
  width: 76px;
  height: 76px;
  margin: 6px auto 12px;
}
.orbit-loader span,
.orbit-loader b {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1.5px solid rgba(0, 217, 255, 0.18);
  border-top-color: #00D9FF;
  animation: orbitSpin 1.15s linear infinite;
}
.orbit-loader span:nth-child(2) {
  inset: 12px;
  border-color: rgba(108, 92, 231, 0.16);
  border-bottom-color: #6C5CE7;
  animation-duration: 1.7s;
  animation-direction: reverse;
}
.orbit-loader b {
  inset: 30px;
  border: 0;
  background: #FF6B35;
  clip-path: polygon(50% 0, 88% 100%, 50% 74%, 12% 100%);
  filter: drop-shadow(0 0 8px rgba(255, 107, 53, 0.7));
  animation: orbitPulse 1.1s ease-in-out infinite;
}
.launch-copy {
  margin: 0;
  color: var(--fog);
  font-family: var(--display);
  letter-spacing: 0.02em;
}
@keyframes orbitSpin { to { transform: rotate(360deg); } }
@keyframes orbitPulse {
  0%, 100% { transform: scale(0.92); opacity: 0.85; }
  50% { transform: scale(1.08); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .orbit-loader span, .orbit-loader b, .atmosphere::after { animation: none; }
}
@media (max-width: 860px) {
  html { overflow-x: hidden; }
  body { min-height: 100dvh; }
  .atmosphere {
    background:
      radial-gradient(880px 420px at 100% -8%, rgba(108, 92, 231, 0.16), transparent 54%),
      radial-gradient(640px 380px at -8% 12%, rgba(0, 217, 255, 0.1), transparent 56%),
      linear-gradient(180deg, #0A0E17 0%, #070B14 46%, #101018 100%);
  }
  .atmosphere::after { display: none; }
  .site-header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(8, 12, 28, 0.96);
  }
  .live-read {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
.lost-page { padding-top: 48px; }
.lost-card {
  max-width: 640px;
  margin: 0 auto;
  overflow: hidden;
}
.lost-card::before {
  content: "";
  display: block;
  height: 4px;
  margin: -18px -20px 18px;
  background: linear-gradient(90deg, #00D9FF, #6C5CE7, #FF6B35);
}

.result-error {
  color: var(--short);
  margin: 10px 0 0;
  font-weight: 650;
}
.hist-item {
  display: flex;
  gap: 10px;
  align-items: center;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--fog);
  padding: 8px;
  margin: 0 0 8px;
  cursor: pointer;
}
.hist-item img, .hist-ph {
  width: 56px;
  height: 40px;
  border-radius: 8px;
  object-fit: cover;
  background: #0b1020;
  flex-shrink: 0;
}
.hist-item small { display: block; color: var(--mist); }
.hist-item.is-on {
  border-color: rgba(0, 217, 255, 0.55);
  background: rgba(0, 217, 255, 0.06);
}
.hist-hint { margin: 0 0 10px; }
.history-card .activity-pager {
  margin: 4px 0 0;
}
.pattern-card a, #liveReadPattern a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.gloss-item { scroll-margin-top: 80px; }
.first-run {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.first-run li {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(18, 24, 42, 0.7);
  color: var(--mist);
  font-size: 0.88rem;
  font-weight: 700;
}
.first-run li.is-now {
  border-color: rgba(232, 197, 107, 0.55);
  color: var(--gold-2);
  background: rgba(255, 200, 87, 0.12);
}
.first-run li.is-done {
  border-color: rgba(46, 230, 176, 0.4);
  color: var(--accent-2);
}
.fail-card {
  border: 1px solid rgba(255, 93, 122, 0.45);
  background: rgba(255, 93, 122, 0.12);
  border-radius: 16px;
  padding: 16px 16px 14px;
}
.fail-card h2 { margin: 0 0 8px; font-size: 1.15rem; }
.fail-card p { margin: 0 0 8px; line-height: 1.5; }
.fail-card .fail-next { color: var(--gold-2); margin-bottom: 0; }
.teaser-result {
  position: relative;
  margin-top: 14px;
  padding: 12px 12px 14px;
  border-radius: 12px;
  border: 1px dashed rgba(255, 209, 102, 0.35);
  background: rgba(10, 14, 23, 0.55);
  overflow: hidden;
}
.teaser-result ul {
  filter: blur(3px);
  user-select: none;
  pointer-events: none;
  margin: 8px 0 12px;
  padding-left: 1.1rem;
  color: var(--mist);
}
.teaser-result .btn { width: 100%; }
.signal-why a,
.live-read-why a { color: var(--gold-2); }
.signal-why .btn,
.live-read-why .btn {
  display: inline-flex;
  margin-top: 8px;
}
.member-meter {
  margin: 14px 0 0;
  padding: 12px 12px 10px;
  border-radius: 14px;
  border: 1px solid rgba(0, 217, 255, 0.22);
  background:
    radial-gradient(240px 80px at 0% 0%, rgba(0, 217, 255, 0.12), transparent 70%),
    rgba(8, 12, 24, 0.55);
}
#accountBox > .member-meter {
  margin: 0 0 14px;
  padding: 14px 16px 12px;
}
.member-meter .kicker { margin: 0 0 8px; }
.nav-member {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(61, 255, 154, 0.28);
  color: var(--long);
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.nav-member[hidden] { display: none; }
.member-meter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.member-meter.has-pack .member-meter-grid {
  grid-template-columns: 1fr 1fr;
}
.member-meter.has-pack .member-meter-grid article:first-child {
  grid-column: 1 / -1;
}
.member-meter.is-comp .member-meter-grid { grid-template-columns: 1fr; }
.member-history {
  margin: 12px 0 0;
}
.member-history .kicker { margin: 0 0 6px; }
.member-history ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.member-history li {
  margin: 0 0 8px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: rgba(10, 14, 23, 0.45);
  font-size: 0.86rem;
  line-height: 1.4;
}
.member-history li a { color: inherit; }
.member-history li span,
.member-history li em {
  display: block;
  margin-top: 3px;
  font-style: normal;
  color: var(--mist);
  font-size: 0.78rem;
}
.activity-card {
  margin-top: 22px;
}
.activity-card h2 {
  margin: 18px 0 6px;
  font-size: 1.05rem;
}
.activity-card h2:first-of-type { margin-top: 8px; }
.activity-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 8px 0 4px;
}
.activity-list .muted { margin: 0; }
.activity-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(10, 14, 23, 0.45);
  text-decoration: none;
  color: inherit;
}
.activity-row:hover { border-color: rgba(196, 184, 234, 0.35); }
.activity-row img {
  width: 28px;
  height: 28px;
  border-radius: 99px;
  background: #1a1624;
}
.activity-row strong {
  display: block;
  font-size: 0.92rem;
}
.activity-row span {
  display: block;
  color: var(--mist);
  font-size: 0.78rem;
}
.store-list {
  margin: 10px 0 8px;
  padding-left: 1.15rem;
  color: var(--mist);
  line-height: 1.55;
}
.store-list li { margin: 0 0 8px; }
.member-meter-grid article {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(10, 14, 23, 0.55);
  border: 1px solid var(--line);
}
.member-meter-grid article span {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mist);
}
.member-meter-grid article strong {
  display: block;
  margin-top: 4px;
  font-family: var(--display);
  font-size: 1.7rem;
  line-height: 1.1;
  letter-spacing: -0.03em;
}
.member-meter-grid article em {
  display: block;
  margin-top: 4px;
  font-style: normal;
  font-size: 0.78rem;
  color: var(--mist);
  line-height: 1.35;
}
.member-meter-grid article.is-on {
  border-color: rgba(61, 255, 154, 0.35);
  box-shadow: 0 0 0 1px rgba(61, 255, 154, 0.12);
}
.member-meter-grid article.is-on strong { color: var(--long); }
.member-meter.is-out {
  border-color: rgba(255, 93, 122, 0.4);
}
.member-meter.is-out .member-meter-note { color: var(--gold-2); }
.member-meter-note {
  margin: 10px 0 0;
  font-size: 0.82rem;
  color: var(--mist);
  line-height: 1.4;
}
.member-meter-add {
  margin-top: 10px;
  width: 100%;
}
.pay-box {
  position: relative;
  overflow: hidden;
  border-color: rgba(153, 69, 255, 0.35);
  background:
    radial-gradient(420px 180px at 0% 0%, rgba(153, 69, 255, 0.2), transparent 62%),
    radial-gradient(360px 160px at 100% 0%, rgba(20, 241, 149, 0.1), transparent 58%),
    var(--panel);
}
.pay-box::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, #9945FF, #14F195, #00D9FF);
  opacity: 0.9;
}
.pay-hero {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 12px;
}
.pay-hero-mark {
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: rgba(8, 12, 24, 0.72);
  box-shadow: 0 0 0 1px rgba(0, 217, 255, 0.28), 0 0 28px rgba(153, 69, 255, 0.35);
}
.pay-hero-mark img {
  width: 44px;
  height: 44px;
  display: block;
  border-radius: 12px;
}
.pay-accepted {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 6px 0 0;
  color: var(--fog);
  font-size: 0.9rem;
  font-weight: 600;
}
.pay-accepted img {
  width: 18px;
  height: 18px;
  border-radius: 5px;
}
.pay-box h2 { font-size: 1.15rem; margin: 0 0 8px; }
.pay-hero h2 { margin: 0; }
.pay-assets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 12px;
}
.pay-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(0, 217, 255, 0.28);
  border-radius: 999px;
  padding: 6px 12px 6px 6px;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--fog);
  background: rgba(8, 12, 24, 0.55);
}
.pay-logo {
  display: block;
  border-radius: 10px;
  object-fit: cover;
  flex: 0 0 auto;
}
.pay-chip .pay-logo {
  border-radius: 10px;
}
.wallet-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  margin: 0 0 8px;
  background: rgba(8, 12, 24, 0.45);
}
.wallet-row code {
  flex: 1;
  min-width: 0;
  word-break: break-all;
  font-size: 0.82rem;
}
.pay-amount-row {
  border-color: rgba(20, 241, 149, 0.35);
  box-shadow: 0 0 18px rgba(153, 69, 255, 0.12);
}
.pay-amount {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--gold-2, #e8c56b);
  word-break: keep-all;
}
.pay-watch {
  margin-top: 12px;
}
.pay-bank {
  margin: 12px 0 16px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(8, 16, 28, 0.72);
}
.pay-bank-name {
  margin: 0 0 4px;
  font-weight: 700;
  font-size: 1.02rem;
}
.pay-bank-owner {
  margin: 0 0 8px;
  font-size: 1.05rem;
}
.pay-qr-wrap {
  display: flex;
  justify-content: center;
  margin: 12px 0;
}
.pay-qr {
  width: 240px;
  height: 240px;
  background: #fff;
  padding: 10px;
  border-radius: 12px;
  object-fit: contain;
}
.pay-thb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  background: #163326;
  color: #7cffb2;
  font-weight: 700;
}
.pay-usdt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  background: #163a26;
  color: #53e6a2;
  font-weight: 800;
}
.plan-card .btn.wide + .btn {
  margin-top: 8px;
}
.pay-txid {
  margin-top: 12px;
}
.pay-txid label {
  display: block;
  margin-bottom: 6px;
}
.wallet-panel {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.wallet-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.wallet-picker {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(4, 10, 14, 0.72);
}
.wallet-picker-card {
  width: min(420px, 100%);
  padding: 18px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: #0c1c22;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.4);
}
.wallet-pick-list,
.wallet-installs {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}
.wallet-pick,
.wallet-install {
  display: block;
  width: 100%;
  text-align: left;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.72);
  color: var(--fog);
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}
.wallet-pick:hover,
.wallet-install:hover {
  border-color: rgba(20, 241, 149, 0.55);
  color: #fff;
}
.result-wrap {
  border-color: rgba(232, 197, 107, 0.45);
  scroll-margin-top: 88px;
}
#uploadCard {
  scroll-margin-top: 88px;
}
#serviceNote { margin: 0 0 14px; }
#authReadyNote { margin: 0; color: var(--accent-2); }
@media (max-width: 720px) {
  .first-run { grid-template-columns: 1fr; }
}
@media print {
  .site-header, .site-footer, .atmosphere, #coinPicker, #liveChart, #authCard, .dropzone, #analyse, textarea, label, .result-tools, #historyList, #historyPager, .journal-box, #journalCard, #journalDue, .first-run, .support-dock, .tape-strip { display: none !important; }
  body { background: #fff; color: #111; }
  .summary-card, .signal-card, .printed-card, .range-card, .tape-card, .peers-card, .story-card, .result-block, .pattern-card, .risk-box, .study-card, .study-check li { break-inside: avoid; }
}

.compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.compare .card { padding: 14px; }

@media (max-width: 860px) {
  .compare, .guess-row, .hard-line, .auth-grid { grid-template-columns: 1fr; }
  .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
    flex-shrink: 0;
  }
  .nav-tools { margin-left: auto; }
  .nav-wallet { padding-right: 10px; }
  .nav-wallet-label { max-width: 9.5rem; overflow: hidden; text-overflow: ellipsis; }
  .nav-member { max-width: 7.5rem; overflow: hidden; text-overflow: ellipsis; }
  .nav-lang select { max-width: 6.6rem; min-height: 44px; font-size: 16px; }
  .auth-tab, .btn, .chart-shot-pick { min-height: 44px; }
  .row-between { align-items: stretch; }
  .row-between .btn { width: 100%; }
  .site-nav {
    padding: 10px 12px;
    padding-top: max(10px, env(safe-area-inset-top, 0px));
  }
  .site-menu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 10px;
    right: 10px;
    z-index: 80;
    background: #0c1c22;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 10px;
    flex-direction: column;
    align-items: stretch;
    max-height: min(85dvh, 720px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .site-menu.open {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
  }
  .site-menu a { padding: 12px 14px; font-size: 1rem; }
  .menu-lang {
    margin: 6px 0 0;
    margin-left: 0;
    padding: 10px 12px 4px;
    border-top: 1px solid var(--line);
  }
  .menu-lang .lang-switch {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 6px;
  }
  .menu-lang .lang-switch select {
    max-width: none;
    width: 100%;
    min-height: 44px;
    font-size: 16px;
    border-radius: 12px;
  }
  .wrap {
    width: calc(100% - 20px);
    padding: 12px 0 calc(48px + env(safe-area-inset-bottom, 0px));
  }
  .page-title { font-size: 1.42rem; }
  .lede { font-size: 0.92rem; margin-bottom: 14px; }
  .hero { margin: 0 0 14px; }
  .card { padding: 14px; }
  .chart-box { height: 280px; }
  .coin-leader { flex-wrap: wrap; }
  .coin-leader .chg { margin-left: auto; }
  .coin-panel .coin-head .muted { display: none; }
  .coin-toolbar-top { flex-wrap: wrap; }
  .coin-toolbar-top #coinSearch { flex: 1 1 100%; min-width: 0; }
  .coin-ex-wrap { width: 100%; }
  .coin-ex-wrap select { flex: 1; max-width: none; }
  .coin-grid {
    grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
    max-height: 220px;
  }
  .live-head {
    flex-direction: column;
    align-items: stretch;
  }
  .live-quote { text-align: left; }
  .live-price { font-size: 1.28rem; }
  .live-card { --tv-h: min(58svh, 520px); }
  .tv-host {
    min-height: 340px;
  }
}

.pipeline-stages {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin: 16px 0;
}
.stage-card {
  padding: 14px;
}
.stage-card h3 {
  margin: 8px 0 6px;
  font-size: 0.95rem;
}
.dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--mist);
}
.dot.ok { background: var(--long); }
.dot.error { background: var(--short); }
.dot.running { background: var(--accent-2); }
.dot.idle { background: #5c5668; }
.feed {
  list-style: none;
  margin: 0;
  padding: 0;
}
.feed li {
  display: grid;
  grid-template-columns: 92px 88px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: 0.88rem;
}
.feed .time { color: var(--mist); font-variant-numeric: tabular-nums; }
.feed .stage { color: var(--accent-2); font-weight: 650; }
@media (max-width: 860px) {
  .pipeline-stages { grid-template-columns: 1fr 1fr; }
  .feed li { grid-template-columns: 1fr; gap: 4px; }
}

.coin-panel {
  margin: 0 0 14px;
  background: linear-gradient(165deg, #10141c 0%, #121820 48%, #101624 100%);
  border-color: rgba(232, 208, 140, 0.14);
}
.live-card {
  margin: 0;
  scroll-margin-top: 72px;
  background: linear-gradient(165deg, #1a2458 0%, #141b36 55%, #101624 100%);
  border-color: rgba(62, 224, 255, 0.28);
  --tv-h: min(78vh, 820px);
}
.live-card .tv-frame {
  position: relative;
}
.tv-chart-loading {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 16px;
  border-radius: 12px;
  background: rgba(8, 14, 26, 0.82);
  color: #e8eefc;
  font-weight: 650;
  font-size: 0.92rem;
  text-align: center;
  pointer-events: none;
}
.tv-chart-loading[hidden] {
  display: none !important;
}
.tv-chart-loading__spin {
  width: 28px;
  height: 28px;
  border: 2px solid rgba(34, 211, 238, 0.22);
  border-top-color: #22d3ee;
  border-radius: 50%;
  animation: tvChartSpin 0.75s linear infinite;
}
@keyframes tvChartSpin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .tv-chart-loading__spin {
    animation: none;
    border-top-color: rgba(34, 211, 238, 0.55);
  }
}
@media (max-width: 860px) {
  .live-card {
    scroll-margin-top: 88px;
  }
}
.coin-panel .coin-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0;
  min-width: 0;
}
.coin-panel .coin-head label {
  margin: 0;
  font-weight: 650;
  font-size: 0.82rem;
  letter-spacing: -0.02em;
}
.coin-panel .coin-head .muted {
  font-size: 0.72rem;
  max-width: 46%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.coin-toolbar { margin: 0 0 6px; }
.coin-toolbar-top {
  display: flex;
  align-items: center;
  gap: 10px;
}
.coin-toolbar-top .coin-head { flex: 0 1 auto; }
.coin-toolbar-top #coinSearch {
  flex: 1;
  min-width: 140px;
  width: auto;
  margin: 0;
}
.coin-panel input[type="search"] {
  width: 100%;
  border: 1px solid var(--line);
  background: #0b1020;
  color: var(--fog);
  border-radius: 8px;
  padding: 7px 10px;
  min-height: 34px;
  font-size: 0.84rem;
}
.coin-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
}
.seg {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: stretch;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow-x: auto;
  max-width: 100%;
  background: #0b1020;
  -webkit-overflow-scrolling: touch;
}
.seg-btn {
  flex: 0 0 auto;
  margin: 0;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--mist);
  padding: 5px 9px;
  min-height: 32px;
  font-size: 0.74rem;
  font-weight: 650;
  cursor: pointer;
  white-space: nowrap;
}
.seg-btn:last-child { border-right: 0; }
.seg-btn.is-on {
  color: #04151a;
  background: linear-gradient(90deg, #2ee6b0, #3ee0ff);
}
.coin-ex-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mist);
}
.coin-ex-wrap[hidden] { display: none; }
.coin-ex-wrap select {
  min-height: 32px;
  max-width: min(220px, 52vw);
  padding: 4px 8px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #0b1020;
  color: var(--fog);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
.coin-filters .coin-ex-wrap { display: none; }
.ex-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin: 8px 0 0;
  padding: 2px 2px 6px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.ex-chips::-webkit-scrollbar { display: none; }
.ex-chip {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 4px 12px 4px 6px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(8, 16, 28, 0.92);
  color: var(--fog);
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.ex-chip .ex-logo {
  width: 18px;
  height: 18px;
  border-radius: 5px;
  object-fit: cover;
  background: #0b1020;
}
.ex-chip.is-on {
  border-color: rgba(62, 224, 255, 0.7);
  background: rgba(62, 224, 255, 0.14);
  box-shadow: 0 0 0 1px rgba(62, 224, 255, 0.18);
}
.coin-filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 0.74rem;
  color: var(--mist);
  font-weight: 500;
  white-space: nowrap;
}
.coin-filter input { width: auto; }
.coin-picked {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 8px 0 0;
  color: var(--mist);
  font-size: 0.88rem;
  min-height: 1.4em;
}
.coin-picked .stock-note {
  flex: 1 1 100%;
  font-size: 0.78rem;
  line-height: 1.35;
}
.coin-picked img {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
}
.coin-facts {
  margin: 10px 0 0;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 48%),
    rgba(10, 14, 24, 0.72);
}
.coin-facts[hidden] { display: none !important; }
.coin-facts-addr {
  margin: 0 0 8px;
}
.coin-facts-addr:empty { display: none; }
.coin-addr-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(8, 12, 22, 0.45);
  font-size: 0.78rem;
}
.coin-addr-label {
  color: var(--mist);
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 700;
}
.coin-addr-net {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
  color: var(--fog);
}
.coin-addr-body {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-left: auto;
}
.coin-addr-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  color: var(--fog);
}
.coin-addr-native { color: var(--mist); }
.coin-facts-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.coin-fact {
  min-width: 0;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(8, 12, 22, 0.55);
}
.coin-fact span {
  display: block;
  margin-bottom: 4px;
  font-size: 0.64rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--fog);
}
.coin-fact strong {
  display: block;
  font-size: 0.86rem;
  font-variant-numeric: tabular-nums;
  color: var(--mist);
  line-height: 1.2;
}
.coin-fact .up { color: var(--long); }
.coin-fact .down { color: var(--short); }
.coin-fact-wide { grid-column: span 2; }
.coin-fact-addr {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-weight: 600;
}
.coin-fact-addr code {
  font-family: var(--mono);
  font-size: 0.76rem;
  color: var(--mist);
}
.coin-fact-copy {
  appearance: none;
  border: 1px solid rgba(0, 217, 255, 0.28);
  background: rgba(0, 217, 255, 0.08);
  color: var(--mist);
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 0.68rem;
  font-weight: 700;
  cursor: pointer;
}
.coin-facts-more {
  margin-top: 8px;
}
.coin-facts-more summary {
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  color: var(--mist);
  padding: 6px 2px;
  font-size: 0.82rem;
}
.coin-facts-more summary::-webkit-details-marker { display: none; }
.coin-facts-more summary::after {
  content: " ▾";
  color: var(--fog);
  font-weight: 500;
}
.coin-facts-more[open] summary::after { content: " ▴"; }
.coin-facts-extra { margin-top: 8px; }
.coin-facts-note {
  margin: 8px 2px 0;
  font-size: 0.74rem;
  line-height: 1.4;
}
@media (max-width: 860px) {
  .coin-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.coin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
  gap: 8px;
  max-height: 360px;
  overflow: auto;
  margin-top: 10px;
  padding-right: 4px;
  border: 0;
}
.coin-toggle {
  margin-top: 10px;
  min-height: 44px;
}
.coin-panel.is-compact .coin-grid,
.coin-panel.is-compact .coin-filters {
  display: none;
}
.coin-panel.is-compact .pump-tape {
  display: none;
}
body[data-page-title="page.analyzer"] .coin-panel.is-compact .pump-tape,
body[data-page-title="page.home"] .coin-panel.is-compact .pump-tape,
.coin-panel.is-compact.is-open .pump-tape {
  display: block;
}
.coin-panel.is-compact.is-open .coin-grid {
  display: grid;
}
.coin-panel.is-compact.is-open .coin-filters {
  display: flex;
}
.watch-note {
  margin: 8px 0 0;
  font-size: 0.78rem;
}
.watch-empty {
  grid-column: 1 / -1;
  margin: 8px 2px 4px;
  font-size: 0.84rem;
}
.coin-row {
  position: relative;
  display: flex;
  min-width: 0;
}
.coin-row .coin-chip { width: 100%; }
.coin-watch {
  position: absolute;
  top: 4px;
  right: 4px;
  z-index: 2;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(8, 21, 26, 0.72);
  color: var(--mist);
  font-size: 0.78rem;
  line-height: 1;
  cursor: pointer;
}
.coin-trade {
  position: absolute;
  top: 4px;
  right: 32px;
  z-index: 2;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(8, 21, 26, 0.72);
  color: var(--mist);
  font-size: 0.65rem;
  text-decoration: none;
  line-height: 1.2;
}
.coin-trade:hover { color: #fff; }
.coin-watch:hover,
.coin-watch.is-on {
  color: var(--gold-2, #e8c56b);
  background: rgba(255, 200, 87, 0.16);
}
.coin-tick {
  position: absolute;
  top: 4px;
  left: 4px;
  z-index: 2;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(8, 21, 26, 0.72);
  color: var(--mist);
  font-size: 0.9rem;
  line-height: 1;
  cursor: pointer;
}
.coin-tick:hover,
.coin-tick.is-on {
  color: var(--accent, #3ee0ff);
  background: rgba(62, 224, 255, 0.16);
}
.coin-picked .coin-tick {
  position: static;
  width: auto;
  height: auto;
  padding: 2px 8px;
  margin-left: 6px;
  font-size: 0.72rem;
}
.tick-hint {
  margin: 8px 2px 0;
}
.photo-analyze {
  margin-top: 16px;
}
.photo-analyze summary {
  cursor: pointer;
  color: var(--mist);
  font-size: 0.92rem;
}
.photo-analyze .dropzone {
  margin-top: 12px;
}
.coin-picked .coin-watch {
  position: static;
  width: auto;
  height: auto;
  padding: 2px 8px;
  margin-left: 6px;
  font-size: 0.72rem;
}
.coin-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  padding: 10px 6px 8px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(8, 21, 26, 0.7);
  color: var(--fog);
  cursor: pointer;
  text-align: center;
  width: auto;
}
.coin-chip:last-child { border-bottom: 1px solid var(--line); }
.coin-chip:hover:not(:disabled) {
  background: rgba(62, 224, 255, 0.12);
  border-color: rgba(62, 224, 255, 0.45);
}
.coin-chip.is-on {
  background: rgba(62, 224, 255, 0.18);
  box-shadow: 0 0 0 2px rgba(62, 224, 255, 0.3);
  border-color: var(--accent);
}
.coin-chip.is-up:not(.is-on):not(.is-pump-1):not(.is-pump-2):not(.is-pump-3):not(.is-gold) {
  background: rgba(61, 255, 154, 0.08);
  border-color: rgba(61, 255, 154, 0.28);
}
.coin-chip.is-down:not(.is-on):not(.is-pump-1):not(.is-gold) {
  background: rgba(255, 93, 122, 0.08);
  border-color: rgba(255, 93, 122, 0.28);
}
.coin-chip.is-gold:not(.is-on) {
  border-color: rgba(255, 200, 87, 0.6);
  background: linear-gradient(180deg, rgba(255, 200, 87, 0.2), rgba(255, 200, 87, 0.06));
}
.coin-chip.is-stock:not(.is-on):not(.is-gold) {
  border-color: rgba(108, 92, 231, 0.5);
  background: linear-gradient(180deg, rgba(108, 92, 231, 0.2), rgba(0, 217, 255, 0.06));
}
.coin-chip.is-featured:not(.is-pump-1):not(.is-on) {
  box-shadow: inset 0 0 0 1px rgba(255, 200, 87, 0.35);
}
.coin-chip.is-off,
.coin-chip:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}
.coin-logo {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  background: #f4f4f8;
  flex-shrink: 0;
}
.coin-logo-random {
  display: grid;
  place-items: center;
  background: rgba(139, 124, 255, 0.22);
  color: #d7d0ff;
  font-weight: 700;
}
.coin-chip .sym {
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  display: block;
}
.coin-chip .rank {
  font-size: 0.68rem;
  color: var(--mist);
  min-width: 0;
  text-align: center;
}
.coin-chip .chg {
  font-size: 0.68rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  min-width: 0;
  text-align: center;
}
.coin-chip .px,
.coin-picked .px,
.coin-leader .px {
  font-size: 0.68rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--fog);
}
.coin-chip .px.up,
.coin-picked .px.up,
.coin-leader .px.up,
.pump-item .px.up,
.promo-px.up,
.scan-row .px.up,
.scan-facts .px.up {
  color: var(--long);
}
.coin-chip .px.down,
.coin-picked .px.down,
.coin-leader .px.down,
.pump-item .px.down,
.promo-px.down,
.scan-row .px.down,
.scan-facts .px.down {
  color: var(--short);
}
.coin-chip .mcap,
.coin-picked .mcap,
.coin-leader .mcap,
.promo-mcap {
  font-size: 0.62rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--gold-2, #e8c56b);
}
.sort-tabs,
.exchange-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  overflow-x: auto;
  margin: 4px 0 0;
  padding-bottom: 2px;
  -webkit-overflow-scrolling: touch;
}
.ex-tab {
  flex: 0 0 auto;
  border: 1px solid var(--line);
  background: rgba(8, 21, 26, 0.7);
  color: var(--fog);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 0.78rem;
  cursor: pointer;
}
.ex-tab span {
  margin-left: 6px;
  color: var(--mist);
  font-variant-numeric: tabular-nums;
}
.ex-tab.is-on {
  border-color: var(--accent);
  background: rgba(62, 224, 255, 0.16);
  color: var(--fog);
}
.coin-chip .chg.up, .pump-item.up, .coin-leader .chg.up, .promo-card .chg.up { color: var(--long); }
.coin-chip .chg.down, .pump-item.down, .coin-leader .chg.down, .promo-card .chg.down { color: var(--short); }
.coin-chip.is-pump-1 {
  border-color: rgba(255, 200, 87, 0.85);
  background: linear-gradient(180deg, rgba(61, 255, 154, 0.22), rgba(255, 200, 87, 0.1));
  box-shadow: 0 6px 16px rgba(255, 200, 87, 0.16);
}
.coin-chip.is-pump-2 {
  border-color: rgba(62, 224, 255, 0.75);
  background: linear-gradient(180deg, rgba(62, 224, 255, 0.2), rgba(62, 224, 255, 0.06));
}
.coin-chip.is-pump-3 {
  border-color: rgba(139, 124, 255, 0.75);
  background: linear-gradient(180deg, rgba(139, 124, 255, 0.2), rgba(139, 124, 255, 0.06));
}
.leader-tag {
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--gold);
  text-transform: uppercase;
}
.stock-tag,
.kind-tag {
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--accent, #00d9ff);
  text-transform: uppercase;
}
.kind-tag.is-metal { color: var(--gold-2, #e8c56b); }
.kind-tag.is-coin { color: var(--mist); }
.kind-note {
  margin: 6px 0 0;
  font-size: 0.78rem;
  line-height: 1.4;
}
@keyframes hotPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(61, 255, 154, 0.12);
    filter: brightness(1);
  }
  50% {
    box-shadow: 0 0 16px 2px rgba(61, 255, 154, 0.7);
    filter: brightness(1.18);
  }
}
@keyframes hotBlink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.38; }
}
.coin-chip.is-hot,
.coin-leader.is-hot {
  animation: hotPulse 1.35s ease-in-out infinite;
}
.coin-chip.is-pump-1.is-hot {
  animation-duration: 1s;
}
.coin-chip.is-hot .chg.up,
.coin-leader.is-hot .chg.up,
.pump-item.is-hot {
  animation: hotBlink 1.15s ease-in-out infinite;
  color: var(--long);
}
@media (prefers-reduced-motion: reduce) {
  .coin-chip.is-hot,
  .coin-leader.is-hot,
  .coin-chip.is-hot .chg.up,
  .coin-leader.is-hot .chg.up,
  .pump-item.is-hot,
  .opps-card.is-hot,
  .opps-hot-light,
  .opps-card.is-hot .opps-score,
  .promo-sheen,
  .promo-live,
  .promo-mark,
  .promo-card.is-tick-up .promo-px,
  .promo-card.is-tick-down .promo-px,
  .study-group-coin .chg.up,
  .study-group-coin .chg.down,
  .study-group-coin.is-tick-up .px,
  .study-group-coin.is-tick-down .px,
  .coin-chip .chg.up,
  .coin-chip .chg.down,
  .coin-picked .chg.up,
  .coin-picked .chg.down,
  .coin-leader .chg.up,
  .coin-leader .chg.down,
  .pump-item .chg.up,
  .pump-item .chg.down,
  .promo-card .chg.up,
  .promo-card .chg.down,
  .scan-row .chg.up,
  .scan-row .chg.down,
  #liveChange.up,
  #liveChange.down,
  .coin-chip.is-tick-up .px,
  .coin-chip.is-tick-down .px,
  .coin-picked.is-tick-up .px,
  .coin-picked.is-tick-down .px,
  .coin-leader.is-tick-up .px,
  .coin-leader.is-tick-down .px,
  .pump-item.is-tick-up .px,
  .pump-item.is-tick-down .px,
  .live-quote.is-tick-up .live-price,
  .live-quote.is-tick-down .live-price,
  .scan-row.is-tick-up .px,
  .scan-row.is-tick-down .px,
  .pump-tape-track {
    animation: none;
  }
}
.coin-leader {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 6px 0 0;
  padding: 6px 10px;
  border: 1px solid rgba(255, 200, 87, 0.4);
  border-radius: 10px;
  background: linear-gradient(90deg, rgba(61, 255, 154, 0.14) 0%, rgba(62, 224, 255, 0.08) 55%, rgba(255, 200, 87, 0.12) 100%);
  color: var(--fog);
  cursor: pointer;
  text-align: left;
}
.coin-leader[hidden] { display: none; }
.coin-leader.is-on {
  box-shadow: 0 0 0 1px rgba(255, 200, 87, 0.4);
}
.coin-leader img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
}
.coin-leader-copy {
  min-width: 0;
  flex: 1;
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}
.coin-leader-copy .kicker {
  margin: 0;
  color: var(--gold);
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.coin-leader-copy strong {
  display: inline;
  font-size: 0.92rem;
  letter-spacing: -0.02em;
}
.coin-leader-copy .px {
  color: var(--mist);
  font-size: 0.72rem;
}
.coin-leader .chg {
  font-size: 0.95rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  font-family: var(--mono);
  flex-shrink: 0;
}
.promo-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}
.promo-row[hidden] { display: none; }
.promo-card {
  --promo: #7aa4c7;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  min-height: 64px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 46%),
    rgba(12, 16, 28, 0.92);
  color: var(--fog);
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  text-align: left;
  min-width: 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.promo-card::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -22px;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--promo);
  opacity: 0.28;
  filter: blur(22px);
  pointer-events: none;
  z-index: 0;
}
.promo-sheen {
  display: block;
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.1), transparent 38%, transparent 62%, rgba(255, 255, 255, 0.04));
  pointer-events: none;
  z-index: 1;
}
.promo-live { display: none; }
.promo-mark,
.promo-meta,
.promo-quote {
  position: relative;
  z-index: 2;
}
.promo-mark {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.96);
  border: 0;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18), 0 6px 14px rgba(0, 0, 0, 0.28);
  flex: 0 0 auto;
}
.promo-card img {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  display: block;
}
.promo-meta,
.promo-quote {
  min-width: 0;
}
.promo-sym {
  display: block;
  font-family: var(--display);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.1;
}
.promo-name {
  display: none;
}
.promo-quote {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 4px;
}
.promo-px {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: -0.02em;
  color: var(--mist);
}
.promo-mcap { display: none; }
.promo-card .chg {
  font-size: 0.7rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  font-family: var(--mono);
  flex-shrink: 0;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--mist);
}
.promo-card .chg.up {
  background: rgba(61, 255, 154, 0.14);
  color: var(--long);
}
.promo-card .chg.down {
  background: rgba(255, 93, 122, 0.14);
  color: var(--short);
}
.promo-card.is-on {
  border-color: rgba(0, 217, 255, 0.5);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 0 1px rgba(0, 217, 255, 0.2),
    0 10px 24px rgba(0, 0, 0, 0.28);
}
.promo-btc.is-on { background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 48%), rgba(247, 147, 26, 0.16); }
.promo-eth.is-on { background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 48%), rgba(98, 126, 234, 0.18); }
.promo-sol.is-on { background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 48%), rgba(20, 241, 149, 0.14); }
.promo-xrp.is-on { background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 48%), rgba(35, 141, 232, 0.16); }
.promo-card.is-tick-up .promo-px { animation: promoTickUp 0.7s ease-out; }
.promo-card.is-tick-down .promo-px { animation: promoTickDown 0.7s ease-out; }
@keyframes promoTickUp {
  0% { color: #3dff9a; }
  100% { color: var(--mist); }
}
@keyframes promoTickDown {
  0% { color: #ff5d7a; }
  100% { color: var(--mist); }
}
.promo-btc { --promo: #f7931a; border-color: rgba(247, 147, 26, 0.32); }
.promo-eth { --promo: #627eea; border-color: rgba(98, 126, 234, 0.34); }
.promo-sol { --promo: #14f195; border-color: rgba(20, 241, 149, 0.3); }
.promo-xrp { --promo: #238de8; border-color: rgba(35, 141, 232, 0.34); }
.promo-btc { background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 46%), rgba(247, 147, 26, 0.1); }
.promo-eth { background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 46%), rgba(98, 126, 234, 0.12); }
.promo-sol { background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 46%), rgba(20, 241, 149, 0.08); }
.promo-xrp { background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 46%), rgba(35, 141, 232, 0.1); }
@media (hover: hover) {
  .promo-card:hover {
    transform: translateY(-1px);
    border-color: rgba(0, 217, 255, 0.4);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.1),
      0 12px 22px rgba(0, 0, 0, 0.24);
  }
}
@media (max-width: 860px) {
  .promo-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .promo-card {
    min-height: 58px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "mark meta"
      "mark quote";
    column-gap: 10px;
    row-gap: 2px;
    align-items: center;
    gap: unset;
  }
  .promo-mark { grid-area: mark; }
  .promo-meta { grid-area: meta; min-width: 0; }
  .promo-quote {
    grid-area: quote;
    margin-left: 0;
    width: 100%;
    min-width: 0;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 6px;
  }
  .promo-px {
    font-size: 0.78rem;
    min-width: 0;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 480px) {
  .wrap { width: calc(100% - 16px); }
  .promo-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .promo-card { min-height: 56px; padding: 10px; }
  .promo-px { font-size: 0.72rem; }
  .promo-card .chg { font-size: 0.66rem; }
  .page-title { font-size: 1.28rem; }
  .hero-points span { font-size: 0.78rem; padding: 6px 10px; }
}

.pump-tape {
  overflow: hidden;
  border: 1px solid rgba(139, 124, 255, 0.22);
  border-radius: 8px;
  padding: 4px 0;
  margin-top: 6px;
  background: rgba(12, 16, 32, 0.65);
}
.pump-tape-track {
  display: flex;
  gap: 28px;
  width: max-content;
  animation: pumpScroll 48s linear infinite;
}
.pump-item {
  white-space: nowrap;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--fog);
  font-family: var(--mono);
  padding: 0 4px;
  cursor: pointer;
}
@keyframes pumpScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.live-head { align-items: flex-start; gap: 12px; margin-bottom: 10px; }
.live-title {
  display: flex;
  align-items: center;
  gap: 10px;
}
.live-title img {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}
.live-title .kicker { margin: 0 0 2px; display: flex; align-items: center; gap: 6px; }
.live-title strong { font-size: 1rem; font-weight: 650; }
.live-pair { margin: 4px 0 0; max-width: 36ch; font-size: 0.78rem; line-height: 1.35; }
.live-quote { text-align: right; }
.live-price {
  display: block;
  font-size: 1.55rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  font-family: var(--mono);
  letter-spacing: -0.03em;
}
.live-price.up, #liveChange.up { color: var(--long); }
.live-price.down, #liveChange.down { color: var(--short); }
.live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--long);
  box-shadow: 0 0 0 4px rgba(62, 224, 255, 0.22);
}
.tv-frame {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.study-signal {
  margin: 16px 0 0;
  padding: 16px 18px;
  border: 1px solid rgba(0, 217, 255, 0.28);
}
.study-signal.is-up { border-color: rgba(46, 230, 176, 0.45); }
.study-signal.is-down { border-color: rgba(255, 107, 122, 0.4); }
.study-signal h2 {
  margin: 4px 0 8px;
  font-size: 1.15rem;
}
.study-signal p { margin: 6px 0 0; }
.study-signal .signal-why {
  color: var(--fog);
  font-size: 0.92rem;
  line-height: 1.45;
}
.study-signal #signalMoved {
  color: var(--gold-2, #e8c56b);
  font-weight: 650;
}
.scan-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 10px;
}
.scan-head h2 {
  margin: 4px 0 6px;
  font-size: 1.2rem;
}
.scan-head .lede {
  margin: 0;
  color: var(--fog);
  line-height: 1.45;
}
.scan-head .btn { min-height: 44px; flex: 0 0 auto; }
.scan-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.4fr);
  gap: 14px;
  margin-top: 12px;
}
.scan-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 520px;
  overflow: auto;
}
.scan-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.45);
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.scan-row.is-on { border-color: rgba(20, 241, 149, 0.4); }
.scan-row.is-up { border-color: rgba(46, 230, 176, 0.28); }
.scan-row.is-down { border-color: rgba(255, 107, 122, 0.28); }
.scan-row img { border-radius: 50%; }
.scan-ord {
  width: 1.4rem;
  color: var(--fog);
  font-size: 0.78rem;
}
.scan-meta { display: flex; flex-direction: column; min-width: 0; }
.scan-meta strong { font-size: 0.92rem; }
.scan-meta em {
  font-style: normal;
  color: var(--fog);
  font-size: 0.72rem;
  line-height: 1.3;
}
.scan-row .chg { margin-left: auto; font-size: 0.82rem; font-weight: 650; }
.scan-quote {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  min-width: 4.6rem;
}
.scan-quote .px,
.scan-quote .chg,
.scan-facts .px,
.scan-facts .chg {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}
.scan-quote .px { font-size: 0.78rem; }
.scan-row .px.up,
.scan-row .chg.up,
.scan-facts .px.up,
.scan-facts .chg.up { color: var(--long); }
.scan-row .px.down,
.scan-row .chg.down,
.scan-facts .px.down,
.scan-facts .chg.down { color: var(--short); }
.scan-dossier {
  margin: 0;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.35);
}
.scan-dossier h2 { margin: 0 0 8px; font-size: 1.12rem; }
.scan-setup {
  margin: 0 0 8px;
  color: var(--mist);
  font-weight: 650;
}
.scan-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}
.scan-pills span {
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid var(--line);
  font-size: 0.72rem;
}
.scan-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}
.scan-facts div {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--line);
}
.scan-facts span {
  display: block;
  color: var(--fog);
  font-size: 0.68rem;
}
.scan-facts strong { font-size: 0.92rem; }
.scan-checks {
  margin: 10px 0 0;
  padding-left: 1.1rem;
  color: var(--fog);
  font-size: 0.88rem;
  line-height: 1.45;
}
@media (max-width: 860px) {
  .scan-head { flex-direction: column; }
  .scan-layout { grid-template-columns: 1fr; }
  .scan-list { max-height: 280px; }
  .scan-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.study-moved {
  display: block;
  margin-top: 2px;
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--gold-2, #e8c56b);
}
.study-groups {
  margin: 0 0 16px;
}
.study-groups .lede {
  margin: 8px 0 0;
  color: var(--fog);
  line-height: 1.5;
}
.study-groups h2 {
  margin: 4px 0 0;
  font-size: 1.2rem;
}
.study-group-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.study-group {
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.45);
}
.study-group.is-on {
  border-color: rgba(20, 241, 149, 0.38);
}
.study-group-head {
  display: block;
  width: 100%;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.study-group-head h3 {
  margin: 2px 0 4px;
  font-size: 1rem;
}
.study-group-head .muted {
  margin: 0;
  font-size: 0.78rem;
}
.study-group-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.study-group-coin {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 6px 8px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: rgba(6, 10, 20, 0.35);
  color: inherit;
  cursor: pointer;
}
.study-group-coin img {
  border-radius: 50%;
}
.study-group-coin span:nth-child(2) {
  font-weight: 650;
}
.study-group-sym {
  font-weight: 700;
}
.study-group-quote {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  min-width: 4.8rem;
}
.study-group-coin .px,
.study-group-coin .chg {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: 0.78rem;
  line-height: 1.15;
}
.study-group-coin .chg {
  margin-left: 0;
  font-size: 0.82rem;
}
.study-group-coin .px.up,
.study-group-coin .chg.up {
  color: var(--long);
}
.study-group-coin .px.down,
.study-group-coin .chg.down {
  color: var(--short);
}
.study-group-coin.is-tick-up .px,
.coin-chip.is-tick-up .px,
.coin-picked.is-tick-up .px,
.coin-leader.is-tick-up .px,
.pump-item.is-tick-up .px,
.promo-card.is-tick-up .promo-px,
.scan-row.is-tick-up .px,
.live-quote.is-tick-up .live-price,
.scan-facts.is-tick-up .px {
  animation: studyTickUp 0.55s ease-out;
}
.study-group-coin.is-tick-down .px,
.coin-chip.is-tick-down .px,
.coin-picked.is-tick-down .px,
.coin-leader.is-tick-down .px,
.pump-item.is-tick-down .px,
.promo-card.is-tick-down .promo-px,
.scan-row.is-tick-down .px,
.live-quote.is-tick-down .live-price,
.scan-facts.is-tick-down .px {
  animation: studyTickDown 0.55s ease-out;
}
@keyframes studyBobUp {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes studyBobDown {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(2px); }
}
@keyframes studyTickUp {
  0% { color: #3dff9a; transform: translateY(4px); }
  100% { transform: translateY(0); }
}
@keyframes studyTickDown {
  0% { color: #ff5d7a; transform: translateY(-4px); }
  100% { transform: translateY(0); }
}
@media (max-width: 860px) {
  .study-group-board { grid-template-columns: 1fr; }
}
.live-read {
  position: absolute;
  left: 10px;
  bottom: 14px;
  z-index: 5;
  max-width: min(340px, calc(100% - 22px));
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(8, 14, 28, 0.9);
  border: 1px solid rgba(0, 217, 255, 0.38);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.42);
  pointer-events: none;
  backdrop-filter: blur(10px);
}
.live-read.is-up { border-color: rgba(46, 230, 176, 0.55); }
.live-read.is-down { border-color: rgba(255, 107, 122, 0.5); }
.live-read .kicker {
  margin: 0 0 4px;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}
.live-read strong {
  display: block;
  font-size: 0.98rem;
  line-height: 1.3;
  font-family: var(--display);
}
.live-read p {
  margin: 5px 0 0;
  font-size: 0.86rem;
  color: var(--fog);
  line-height: 1.4;
}
.live-read .live-read-why {
  font-size: 0.78rem;
  color: var(--mist);
}
.live-read .live-read-pace {
  font-size: 0.8rem;
  color: var(--mist);
}
.live-read .live-read-note {
  font-size: 0.72rem;
  color: var(--mist);
}
.live-frames {
  margin: 12px 0 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(8, 12, 24, 0.35);
}
.live-frames .kicker { margin: 0 0 6px; }
.live-frames > .muted { margin: 0 0 12px; line-height: 1.45; }
.live-frames-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}
.live-frame {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(18, 24, 44, 0.72);
}
.live-frame .kicker { margin: 0 0 6px; font-size: 0.7rem; text-transform: none; letter-spacing: 0; }
.live-frame strong { display: block; font-family: var(--display); }
.live-frame p { margin: 6px 0 0; color: var(--fog); line-height: 1.45; }
.live-frame.is-up { border-color: rgba(0, 217, 255, 0.32); }
.live-frame.is-down { border-color: rgba(255, 176, 136, 0.42); }
.live-frames > #liveFramesNote {
  margin: 0;
  color: var(--fog);
  line-height: 1.45;
}
.trend-board {
  margin: 12px 0 0;
  padding: 12px 14px;
  border: 1px solid rgba(0, 217, 255, 0.16);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(0, 217, 255, 0.06), transparent 48%),
    rgba(8, 12, 24, 0.55);
}
.trend-board .kicker { margin: 0 0 6px; }
.trend-board > .muted { margin: 0 0 12px; line-height: 1.45; }
.trend-board-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  margin: 0 0 10px;
}
.trend-board-head .kicker {
  margin: 0;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
}
.trend-board-lean {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(18, 24, 44, 0.85);
  color: var(--mist);
  font-size: 0.72rem;
  line-height: 1.3;
  white-space: nowrap;
}
.trend-board-lean.lean-bullish {
  border-color: rgba(61, 255, 154, 0.35);
  color: var(--long);
  background: rgba(61, 255, 154, 0.08);
}
.trend-board-lean.lean-bearish {
  border-color: rgba(255, 93, 122, 0.35);
  color: var(--short);
  background: rgba(255, 93, 122, 0.08);
}
.trend-board-lean.lean-sideways,
.trend-board-lean.lean-mixed {
  border-color: rgba(255, 176, 136, 0.28);
  color: var(--wait);
}
.trend-board-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 5px;
  margin: 0;
}
.trend-board.is-compact {
  padding: 10px 12px 12px;
}
.trend-board-chip {
  margin: 0;
  min-width: 0;
  padding: 8px 4px 7px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 11px;
  background: rgba(12, 18, 34, 0.88);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  text-align: center;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.trend-board-chip .tf {
  font-family: var(--mono);
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  color: var(--mist);
  line-height: 1;
}
.trend-board-chip .shift {
  margin: 0;
  font-family: var(--display);
  font-size: 1.05rem;
  line-height: 1.1;
  font-weight: 700;
}
.trend-board-chip .dir {
  font-size: 0.62rem;
  line-height: 1.2;
  color: var(--mist);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.trend-board-chip .kicker {
  margin: 0 0 4px;
  font-size: 0.68rem;
  text-transform: none;
  letter-spacing: 0;
}
.trend-board-chip strong {
  display: block;
  font-family: var(--display);
  font-size: 0.92rem;
  line-height: 1.2;
}
.trend-board-chip .muted {
  margin: 4px 0 0;
  font-size: 0.72rem;
  line-height: 1.35;
  color: var(--fog);
}
.trend-board-chip.is-up {
  border-color: rgba(61, 255, 154, 0.28);
  background: linear-gradient(180deg, rgba(61, 255, 154, 0.1), rgba(12, 18, 34, 0.92));
}
.trend-board-chip.is-down {
  border-color: rgba(255, 93, 122, 0.28);
  background: linear-gradient(180deg, rgba(255, 93, 122, 0.1), rgba(12, 18, 34, 0.92));
}
.trend-board-chip.shift-up .shift { color: var(--long); }
.trend-board-chip.shift-down .shift { color: var(--short); }
.trend-board-chip.shift-hold .shift { color: var(--mist); }
.trend-board-chip.shift-mixed .shift { color: var(--wait); }
.trend-board-summary {
  margin: 0;
  color: var(--fog);
  line-height: 1.45;
  font-size: 0.88rem;
}
@media (max-width: 900px) {
  .trend-board-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .trend-board-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
  .trend-board-chip { padding: 7px 2px 6px; border-radius: 9px; }
  .trend-board-chip .dir { font-size: 0.58rem; }
}
@media (max-width: 860px) {
  .live-frames-board { grid-template-columns: 1fr; }
}
.tv-host {
  position: relative;
  height: var(--tv-h, min(72svh, 720px));
  min-height: 480px;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: #101624;
  touch-action: none;
  overscroll-behavior: contain;
  contain: layout paint;
  transform: translateZ(0);
}
.tv-host > div,
.tv-host .tradingview-widget-container {
  height: 100%;
  width: 100%;
}
.tv-host iframe,
.live-chart-tv {
  display: block;
  width: 100%;
  height: var(--tv-h, min(72svh, 720px));
  min-height: 420px;
  border: 0;
  background: #101624;
  touch-action: none;
}
.tv-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}
.tv-tools .btn {
  min-height: 40px;
  padding: 8px 12px;
  font-size: 0.86rem;
}
.tv-tools .btn.is-on {
  color: #04151a;
  background: linear-gradient(90deg, #2ee6b0, #3ee0ff);
  border-color: transparent;
  box-shadow: 0 8px 24px rgba(62, 224, 255, 0.22);
}
.tv-full-btn {
  margin-left: auto;
}
.live-card .empty { padding: 28px 12px; }

.live-card.is-capturing .chart-shot-top,
.live-card.is-capturing .live-head,
.live-card.is-capturing .disclaimer,
.live-card.is-capturing #liveEmpty,
.live-card.is-capturing .chart-shot-preview,
.live-card.is-capturing .live-read,
.live-card.is-capturing .live-intel,
.live-card.is-capturing .live-engine {
  display: none !important;
}
.live-card.is-full {
  position: fixed;
  inset: 0;
  z-index: 90;
  margin: 0;
  border-radius: 0;
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  --tv-h: 1px;
  padding: 10px 12px calc(12px + env(safe-area-inset-bottom, 0px));
}
.live-card.is-full #liveBody {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.live-card.is-full .tv-frame {
  flex: 1;
  min-height: 0;
}
.live-card.is-full .tv-host {
  flex: 1;
  min-height: 280px;
  height: auto;
  border-radius: 10px;
}
.live-card.is-full .tv-host iframe,
.live-card.is-full .live-chart-tv {
  height: 100%;
  min-height: 280px;
}
.live-card.is-full .disclaimer,
.live-card.is-full .live-read,
.live-card.is-full .live-intel,
.live-card.is-full .live-engine { display: none; }
.live-card.is-full .live-frames { display: none; }

body[data-page-title="page.analyzer"] .live-engine .live-engine-row {
  margin: 0 0 4px;
  line-height: 1.35;
}
body[data-page-title="page.analyzer"] .live-engine .live-engine-row strong {
  font-weight: 650;
}
body[data-page-title="page.analyzer"] .live-engine .live-engine-ai {
  margin-top: 8px;
  line-height: 1.4;
}
body[data-page-title="page.analyzer"] .live-engine .live-engine-warn {
  margin-top: 8px;
  color: var(--gold-2);
  line-height: 1.35;
}
.live-card.is-full .trend-board { display: none; }
body.tv-full {
  overflow: hidden;
}
.chart-shot {
  padding: 10px;
  border: 1px dashed rgba(62, 224, 255, 0.35);
  border-radius: 12px;
  background: rgba(8, 21, 26, 0.45);
}
.chart-shot-top {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 200, 87, 0.55);
  background: linear-gradient(90deg, rgba(255, 200, 87, 0.18), rgba(62, 224, 255, 0.14), rgba(255, 93, 122, 0.16));
  animation: shotBarPulse 1.35s ease-in-out infinite;
}
.chart-shot-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.chart-shot-bar .btn {
  padding: 8px 12px;
  font-size: 0.82rem;
}
.chart-shot-btn {
  padding: 11px 16px;
  font-size: 0.92rem;
  font-weight: 800;
  color: #1a1206;
  border: 0;
  background: linear-gradient(90deg, #ffc857, #ff9f43 42%, #3ee0ff);
  box-shadow: 0 0 0 0 rgba(255, 200, 87, 0.45);
  animation: shotBtnPulse 1.05s ease-in-out infinite;
}
.chart-shot-pick {
  min-height: 42px;
}
.chart-shot-hint {
  margin: 8px 0 0;
  font-size: 0.78rem;
}
.chart-shot-preview {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
}
.chart-shot-preview[hidden] { display: none; }
.chart-shot-preview img {
  width: 120px;
  height: 72px;
  object-fit: cover;
  border-radius: 8px;
  background: #101624;
}
.chart-shot-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@keyframes shotBarPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 200, 87, 0.12); }
  50% { box-shadow: 0 0 18px 2px rgba(255, 200, 87, 0.55); }
}
@keyframes shotBtnPulse {
  0%, 100% {
    transform: scale(1);
    filter: brightness(1);
    box-shadow: 0 0 0 0 rgba(62, 224, 255, 0.2);
  }
  50% {
    transform: scale(1.04);
    filter: brightness(1.12);
    box-shadow: 0 0 16px 3px rgba(255, 200, 87, 0.7);
  }
}
@media (prefers-reduced-motion: reduce) {
  .chart-shot-top,
  .chart-shot-btn {
    animation: none;
  }
}
@media (max-width: 860px) {
  .chart-shot-preview { grid-template-columns: 1fr; }
  .chart-shot-preview img { width: 100%; height: 140px; }
  .chart-shot-btn { width: 100%; justify-content: center; }
  .chart-shot-pick { flex: 1; justify-content: center; }
  .live-head {
    flex-direction: column;
    align-items: stretch;
  }
  .live-quote { text-align: left; }
  .live-price { font-size: 1.28rem; }
  .live-card { --tv-h: min(58svh, 520px); }
  .tv-host { min-height: 340px; }
  .live-read {
    position: static;
    max-width: none;
    margin: 0 0 10px;
    pointer-events: auto;
    order: -1;
  }
  .tv-full-btn { margin-left: 0; width: 100%; justify-content: center; }
  .site-footer {
    flex-direction: column;
    padding: 14px 12px calc(16px + env(safe-area-inset-bottom, 0px));
  }
}

.hero-points .btn { text-decoration: none; }
.cycle-toggle,
.cycle-toggle[hidden] {
  display: none !important;
}
.cycle-toggle .btn.is-on {
  color: #061018;
  background: linear-gradient(90deg, #00D9FF, #6C5CE7);
  border-color: transparent;
}
.plan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.step-list {
  margin: 0;
  padding-left: 1.25em;
  line-height: 1.55;
}
.step-list li { margin: 0.5em 0; }
.plan-card {
  position: relative;
  padding: 18px 16px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(18, 24, 42, 0.82);
}
.plan-card.is-featured {
  border-color: rgba(255, 107, 53, 0.55);
  box-shadow: 0 0 0 1px rgba(255, 107, 53, 0.2);
  background: linear-gradient(180deg, rgba(255, 107, 53, 0.12), rgba(18, 24, 42, 0.92));
}
.plan-card.is-current { outline: 1px solid rgba(62, 224, 255, 0.45); }
.plan-badge {
  margin: 0 0 8px;
  color: var(--gold);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.plan-card.is-free {
  border-color: rgba(62, 224, 255, 0.32);
}
.plan-list {
  margin: 12px 0 0;
  padding-left: 1.15em;
  line-height: 1.5;
}
.plan-list li { margin: 0.35em 0; }
.plan-list .is-locked { color: var(--mist); }
.plan-card h2 { margin: 0 0 6px; font-size: 1.2rem; }
.study-lock {
  margin-top: 14px;
  padding: 16px;
  border: 1px dashed rgba(232, 197, 107, 0.45);
  border-radius: 16px;
  background: rgba(255, 200, 87, 0.08);
}
.study-lock h2 { margin: 0 0 8px; font-size: 1.15rem; }
.study-lock p { margin: 0 0 10px; line-height: 1.5; }
.plan-price {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.plan-card .btn { margin-top: 14px; }
.plan-pay { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.plan-card .plan-pay .btn { margin-top: 0; }
.btn-usdt,
.plan-card .btn-usdt {
  border-color: rgba(38, 161, 123, 0.7);
  color: #7dffc4;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sub-banner p { margin: 0 0 10px; }
.compare-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.compare-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  font-size: 0.92rem;
}
.compare-table th, .compare-table td {
  padding: 10px 8px;
  border-bottom: 1px solid var(--line);
  text-align: center;
}
.compare-table th:first-child, .compare-table td:first-child {
  text-align: left;
  font-weight: 700;
}
.desk-amount {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  letter-spacing: 0.01em;
}
details {
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
}
details summary { cursor: pointer; font-weight: 700; }
details p { margin: 8px 0 0; color: var(--mist); line-height: 1.55; }
@media (min-width: 1100px) {
  .plan-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1400px) {
  .plan-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.jupiter-plugin {
  min-height: 560px;
  width: 100%;
  margin-top: 12px;
}
.home-welcome {
  margin: 16px 0 0;
  text-align: center;
  font-weight: 650;
}
.home-welcome a {
  color: var(--accent);
  text-decoration: none;
}
.member-spot {
  margin-top: 18px;
}
.member-spot-hero {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 0 0 16px;
}
.member-spot-hero h2 {
  margin: 0 0 6px;
  font-family: var(--display);
  font-size: 1.55rem;
  letter-spacing: 0.04em;
}
.member-spot-hero p {
  margin: 0;
  color: var(--fog);
  line-height: 1.5;
}
.member-spot-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
}
.member-spot-split article {
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.45);
}
.member-spot-split article.is-token {
  border-color: rgba(20, 241, 149, 0.38);
  box-shadow: 0 0 24px rgba(153, 69, 255, 0.18);
}
.member-spot-split article.is-token .kicker { color: var(--accent); }
.member-spot > .btn { min-height: 48px; }
.member-spot-split p { margin: 0; color: var(--fog); line-height: 1.45; }
.member-spot .btn { display: inline-flex; }
.member-spot .step-list { margin: 0; }
@media (max-width: 860px) {
  .member-spot-hero { flex-direction: column; }
  .member-spot-split { grid-template-columns: 1fr; }
}
.home-partner {
  margin: 8px 0 0;
  text-align: center;
}
@media (max-width: 860px) {
  .plan-grid { grid-template-columns: 1fr; }
}

body.promo-gate-open {
  overflow: hidden;
}
.promo-gate {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: max(16px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));
}
.promo-gate.is-out {
  animation: gateOut 0.38s ease forwards;
  pointer-events: none;
}
@keyframes gateOut {
  to { opacity: 0; transform: scale(1.02); }
}
.promo-gate-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(720px 420px at 10% -12%, rgba(255, 176, 40, 0.42), transparent 48%),
    radial-gradient(680px 400px at 110% 6%, rgba(98, 72, 255, 0.4), transparent 50%),
    radial-gradient(560px 360px at 50% 118%, rgba(0, 210, 140, 0.22), transparent 52%),
    #010208;
}
.promo-gate-panel {
  position: relative;
  width: min(560px, 100%);
  padding: 32px 22px 24px;
  border-radius: 28px;
  text-align: center;
  background:
    radial-gradient(90% 70% at 12% -10%, rgba(247, 147, 26, 0.22), transparent 42%),
    radial-gradient(80% 60% at 110% 0%, rgba(98, 126, 234, 0.28), transparent 46%),
    linear-gradient(180deg, rgba(12, 18, 36, 0.92) 0%, rgba(4, 8, 18, 0.96) 100%);
  border: 1px solid rgba(30, 224, 255, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 0 0 1px rgba(247, 147, 26, 0.12),
    0 24px 80px rgba(0, 0, 0, 0.72);
  overflow: hidden;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
@keyframes promoSheen {
  0%, 18% { transform: translateX(-140%) skewX(-18deg); }
  58%, 100% { transform: translateX(420%) skewX(-18deg); }
}
@keyframes promoRing {
  0%, 100% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.04); filter: brightness(1.08); }
}
.promo-gate-panel::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -20%;
  width: 40%;
  height: 180%;
  background: linear-gradient(90deg, transparent, rgba(255, 226, 154, 0.08), transparent);
  transform: skewX(-18deg);
  animation: promoSheen 5s ease-in-out infinite;
  pointer-events: none;
}
.promo-gate-kicker {
  margin: 0 0 10px;
  color: var(--gold);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}
.promo-gate-title {
  margin: 0;
  font-size: clamp(1.7rem, 6vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.12;
  color: #f7fbff;
  text-shadow: 0 0 28px rgba(30, 224, 255, 0.35);
}
.promo-gate-majors {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 28px 0 16px;
}
.promo-medal {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 86px;
  border-radius: 20px;
  font-weight: 800;
  letter-spacing: 0.08em;
  overflow: hidden;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}
.promo-medal::before { display: none; }
.promo-medal img {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  border-radius: 50%;
  object-fit: contain;
  object-position: center;
  aspect-ratio: 1 / 1;
  flex: 0 0 34px;
  z-index: 1;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28);
  background: transparent;
}
.promo-medal b {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  z-index: 1;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}
.promo-gate .promo-medal.promo-btc {
  background: radial-gradient(circle at 30% 20%, #ffd7a0, #f7931a 58%, #c45a00);
  color: #1a0d00;
  box-shadow: 0 10px 28px rgba(247, 147, 26, 0.45);
}
.promo-gate .promo-medal.promo-eth {
  background: radial-gradient(circle at 30% 20%, #c5ceff, #627eea 58%, #3b4db7);
  box-shadow: 0 10px 28px rgba(98, 126, 234, 0.45);
}
.promo-gate .promo-medal.promo-sol {
  background: linear-gradient(135deg, #14f195 0%, #00c2ff 48%, #9945ff 100%);
  color: #041018;
  box-shadow: 0 10px 28px rgba(20, 241, 149, 0.38);
}
.promo-gate .promo-medal.promo-xrp {
  background: radial-gradient(circle at 30% 20%, #9fd4ff, #238de8 58%, #0b5fad);
  box-shadow: 0 10px 28px rgba(35, 141, 232, 0.45);
}
.promo-gate-line {
  margin: 0 0 22px;
  color: rgba(244, 247, 255, 0.78);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.promo-gate-actions {
  display: grid;
  gap: 10px;
}
.promo-gate-actions .btn { min-height: 48px; width: 100%; }
#gateAnalyze {
  background: linear-gradient(90deg, #1ee0ff 0%, #3dff9a 100%);
  color: #041018;
  border: 0;
  font-weight: 800;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 32px rgba(30, 224, 255, 0.38);
  animation: none;
}
#gateAnalyze:hover {
  filter: brightness(1.06);
}
.promo-gate-actions .btn.ghost {
  border-color: rgba(30, 224, 255, 0.4);
  color: #d7fbff;
  background: rgba(30, 224, 255, 0.06);
}
.promo-gate-note {
  margin: 16px 0 0;
  font-size: 0.78rem;
}
@media (max-width: 520px) {
  .promo-gate-panel { padding: 28px 16px 20px; overflow: visible; }
  .promo-gate-majors { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .promo-medal { height: 84px; border-radius: 18px; }
  .promo-medal img { width: 34px; height: 34px; min-width: 34px; min-height: 34px; }
  .promo-medal b { font-size: 0.78rem; }
  .promo-gate-title { font-size: 1.55rem; color: #f7fbff; }
  .promo-gate-line,
  .promo-gate-note {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}
@media (prefers-reduced-motion: reduce) {
  .promo-gate-panel::after,
  .promo-medal,
  #gateEnter {
    animation: none;
  }
}
.now-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}
.now-stats article {
  padding: 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.45);
}
.now-stats span,
.now-stats em {
  display: block;
  color: var(--mist);
  font-size: 0.78rem;
  font-style: normal;
}
.now-stats strong {
  display: block;
  margin: 6px 0 4px;
  font-size: 1.35rem;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 860px) {
  .now-stats { grid-template-columns: 1fr; }
}
.now-from {
  margin-top: 12px;
}
.now-from-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.now-from-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.35);
}
.now-from-list strong {
  font-variant-numeric: tabular-nums;
}

@media print {
  .promo-gate { display: none !important; }
}

.check-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 14px 0 0;
  color: var(--mist);
  line-height: 1.5;
}
.check-row input { margin-top: 4px; }
.partner-steps { margin: 0; padding-left: 20px; color: var(--mist); line-height: 1.65; }
.partner-steps li { margin: 0 0 8px; }
.partner-link {
  display: block;
  flex: 1;
  overflow-x: auto;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.28);
  word-break: break-all;
}
.partner-stats { margin: 8px 0 0; }
.partner-bars {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  min-height: 80px;
  margin-top: 10px;
}
.doc-section select,
.doc-section input[type="text"] {
  width: 100%;
  max-width: 32rem;
}
.partner-bar {
  flex: 1;
  display: flex;
  align-items: flex-end;
  height: 80px;
}
.partner-bar i {
  display: block;
  width: 100%;
  border-radius: 6px 6px 0 0;
  background: linear-gradient(180deg, var(--accent), var(--violet));
}
.partner-wallet {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 16px;
}
.partner-wallet article {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(8, 12, 24, 0.4);
}
.partner-wallet .kicker { margin: 0 0 4px; }
.partner-wallet strong {
  display: block;
  font-variant-numeric: tabular-nums;
  font-size: 1.15rem;
}
@media (max-width: 860px) {
  .partner-wallet { grid-template-columns: 1fr 1fr; }
}

.support-dock {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 70;
  display: none;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  pointer-events: none;
}
.support-dock[hidden] {
  display: none !important;
}
.support-dock.is-open {
  display: flex;
  pointer-events: auto;
}
.support-panel {
  width: min(380px, calc(100vw - 24px));
  max-height: min(70dvh, 560px);
  display: flex;
  flex-direction: column;
  background: rgba(12, 16, 32, 0.96);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
  overflow: hidden;
  pointer-events: auto;
}
.support-panel header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 14px 8px;
  border-bottom: 1px solid var(--line);
}
.support-panel header strong {
  display: block;
  font-family: var(--display);
}
.support-intro,
.support-wait {
  margin: 0;
  color: var(--mist);
  font-size: 0.8rem;
}
.support-wait {
  margin: 8px 14px 0;
  padding: 8px 10px;
  border-radius: 10px;
  color: #061018;
  background: linear-gradient(90deg, rgba(0, 217, 255, 0.9), rgba(108, 92, 231, 0.9));
  font-weight: 600;
}
.support-head-actions {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.support-inbox {
  font-size: 0.75rem;
  color: var(--accent);
  text-decoration: none;
  white-space: nowrap;
}
.support-close {
  border: 0;
  background: transparent;
  color: var(--mist);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}
.support-log {
  flex: 1;
  overflow: auto;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 180px;
}
.support-msg {
  max-width: 92%;
}
.support-msg span {
  display: block;
  font-size: 0.7rem;
  color: var(--mist);
  margin-bottom: 3px;
}
.support-msg p {
  margin: 0;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  white-space: pre-wrap;
  word-break: break-word;
}
.support-msg.role-user {
  align-self: flex-end;
  text-align: right;
}
.support-msg.role-user p {
  background: rgba(0, 217, 255, 0.16);
}
.support-msg.role-staff p {
  background: rgba(108, 92, 231, 0.22);
}
.support-msg.role-system p {
  background: rgba(255, 107, 53, 0.16);
}
.support-form {
  display: flex;
  gap: 8px;
  padding: 10px 12px 12px;
  border-top: 1px solid var(--line);
}
.support-form textarea {
  flex: 1;
  min-height: 44px;
  resize: none;
}
.support-staff-grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.4fr);
  gap: 16px;
  margin-top: 18px;
}
#threadList {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.support-thread {
  display: grid;
  gap: 4px;
  text-align: left;
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(18, 24, 42, 0.7);
  color: inherit;
  cursor: pointer;
}
.support-thread small { color: var(--gold-2); }
.support-thread span {
  color: var(--mist);
  font-size: 0.8rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.support-thread.is-on {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px rgba(0, 217, 255, 0.25);
}
@media (max-width: 860px) {
  .support-staff-grid { grid-template-columns: 1fr; }
}

.read-guide {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(5, 8, 16, 0.72);
}
.read-guide[hidden] { display: none; }
.read-guide-card {
  width: min(36rem, 100%);
  background: #101624;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 22px 20px;
}
.read-guide-card h2 { margin: 0 0 10px; font-size: 1.25rem; }
.read-guide-card p { color: var(--mist); line-height: 1.55; }
.guide-dots {
  display: flex;
  gap: 8px;
  margin: 16px 0;
}
.guide-dots i {
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.2);
}
.guide-dots i.is-on { background: var(--gold-2, #e8c56b); }
.canned-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}
.live-fallback { margin: 10px 0 0; }

@media (max-width: 860px) {
  #coinPicker[data-mode="home"] .pump-tape,
  #coinPicker[data-mode="home"] .coin-leader,
  #coinPicker[data-mode="home"] .watch-note,
  #coinPicker[data-mode="home"] .kind-note {
    display: none;
  }
  body[data-page-title="page.home"] .live-card {
    --tv-h: min(42svh, 340px);
  }
  body[data-page-title="page.home"] .tv-host {
    min-height: 200px;
  }
  body[data-page-title="page.analyzer"] .live-card {
    --tv-h: min(50svh, 420px);
  }
  body[data-page-title="page.analyzer"] .tv-host {
    min-height: 240px;
  }
  .mode-card {
    min-height: 84px;
    padding: 16px;
  }
  .mode-card h2 { font-size: 1.15rem; }
  .brand-meta small { display: none; }
  .nav-wallet-label { display: none; }
  .nav-wallet { padding: 0 10px 0 6px; }
  .dropzone { min-height: 140px; padding: 14px; }
  #uploadCard,
  #analyse { scroll-margin-top: 72px; }
  .plan-card .btn { min-height: 52px; width: 100%; }
  .member-meter-grid,
  .member-meter.has-pack .member-meter-grid { grid-template-columns: 1fr; }
  .member-meter-grid article span,
  .member-meter-note,
  .lede,
  .step-list li {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #analyse,
  .chart-shot-bar .btn,
  .chart-shot-pick,
  .wallet-row .btn,
  .pay-amount-row .btn,
  .wallet-actions .btn {
    min-height: 52px;
    font-size: 1.05rem;
  }
  .chart-shot-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .chart-shot-bar .btn,
  .chart-shot-pick { width: 100%; justify-content: center; }
  .wallet-row,
  .pay-amount-row {
    flex-direction: column;
    align-items: stretch;
  }
  .wallet-row code,
  .pay-amount {
    font-size: 1.05rem;
    word-break: break-all;
  }
  .wallet-row .btn,
  .pay-amount-row .btn { width: 100%; }
  .pay-box { padding: 16px; }
  .pay-txid .row-between { flex-direction: column; }
  .pay-txid .btn { width: 100%; min-height: 52px; }
  .canned-row .btn { min-height: 44px; flex: 1; }
}

@media (max-width: 1100px) {
  .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
    flex-shrink: 0;
    padding: 8px 14px;
    font-size: 0.9rem;
    font-weight: 800;
    color: var(--fog);
    background: rgba(0, 217, 255, 0.16);
    border-color: rgba(0, 217, 255, 0.45);
  }
  .nav-tools { margin-left: auto; min-width: 0; }
  .site-header,
  .site-nav {
    overflow: visible;
  }
  .site-nav {
    padding: 10px 12px;
    padding-top: max(10px, env(safe-area-inset-top, 0px));
  }
  .site-menu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 10px;
    right: 10px;
    z-index: 80;
    background: #0c1c22;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 10px;
    flex-direction: column;
    align-items: stretch;
    max-height: min(85dvh, 720px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .site-menu.open {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
  }
  .site-menu.open > a,
  .site-menu.open .nav-more__panel a {
    display: block;
    width: 100%;
    padding: 12px 14px;
    font-size: 1rem;
    border-radius: 12px;
  }
  .site-menu.open .nav-more {
    display: block;
    width: 100%;
  }
  .site-menu.open .nav-more > button { display: none; }
  .site-menu.open .nav-more__panel {
    display: block;
    position: static;
    min-width: 0;
    margin: 8px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .site-menu.open .nav-more__label {
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: var(--accent);
    padding: 12px 14px 4px;
  }
  .site-menu.open .nav-more__panel a {
    padding: 12px 14px;
    font-size: 1rem;
    border-radius: 12px;
  }
  .menu-lang {
    margin: 6px 0 0;
    margin-left: 0;
    padding: 10px 12px 4px;
    border-top: 1px solid var(--line);
  }
  .menu-lang .lang-switch {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 6px;
  }
  .menu-lang .lang-switch select {
    max-width: none;
    width: 100%;
    min-height: 44px;
    font-size: 16px;
    border-radius: 12px;
  }
  .brand-meta small { display: none; }
  .nav-wallet-label { display: none; }
  body[data-page-title="page.home"] .live-read,
  body[data-page-title="page.home"] .live-frames {
    display: none;
  }
  #memberSpot { display: none; }
  body[data-page-title="page.home"] .live-card {
    --tv-h: min(46svh, 420px);
  }
}

body[data-page-title="page.analyzer"] .landing-wrap {
  width: min(1040px, calc(100% - 32px));
  padding-top: 20px;
}
body[data-page-title="page.analyzer"] .page-title {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  color: var(--fog);
  font-size: clamp(1.5rem, 2.6vw, 1.9rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
}
body[data-page-title="page.analyzer"] .tick-hint {
  max-width: 72ch;
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
}
body[data-page-title="page.analyzer"] .first-run {
  margin: 0 0 10px;
  gap: 6px;
}
body[data-page-title="page.analyzer"] .first-run li {
  padding: 7px 10px;
  font-size: 0.78rem;
}
body[data-page-title="page.analyzer"] .landing-stage {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body[data-page-title="page.analyzer"] .landing-stage #coinPicker,
body[data-page-title="page.analyzer"] .chart-stage,
body[data-page-title="page.analyzer"] .landing-chart,
body[data-page-title="page.analyzer"] .landing-stage #uploadCard {
  margin: 0;
}
body[data-page-title="page.analyzer"] .chart-stage {
  position: relative;
}
body[data-page-title="page.analyzer"] #coinPicker.card {
  padding: 10px 10px 8px;
  border-radius: 16px;
  box-shadow: 0 0 0 1px rgba(0, 217, 255, 0.12);
  background: rgba(10, 18, 32, 0.88);
  border-color: rgba(0, 217, 255, 0.32);
}
body[data-page-title="page.analyzer"] .promo-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin: 0 0 8px;
}
body[data-page-title="page.analyzer"] .promo-sheen,
body[data-page-title="page.analyzer"] .promo-card::before {
  display: none;
}
body[data-page-title="page.analyzer"] .promo-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "mark meta quote";
  align-items: center;
  column-gap: 8px;
  min-height: 48px;
  height: 48px;
  padding: 6px 10px 6px 8px;
  border-radius: 14px;
  text-align: left;
  overflow: hidden;
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
}
body[data-page-title="page.analyzer"] .promo-live {
  display: none;
}
body[data-page-title="page.analyzer"] .promo-mark {
  grid-area: mark;
  width: 26px;
  height: 26px;
  background: rgba(255, 255, 255, 0.2);
  box-shadow: none;
}
body[data-page-title="page.analyzer"] .promo-card img {
  width: 16px;
  height: 16px;
  background: transparent;
}
body[data-page-title="page.analyzer"] .promo-meta {
  grid-area: meta;
  margin: 0;
  min-width: 0;
}
body[data-page-title="page.analyzer"] .promo-sym {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.1;
}
body[data-page-title="page.analyzer"] .promo-name {
  display: none;
}
body[data-page-title="page.analyzer"] .promo-quote {
  grid-area: quote;
  margin: 0;
  width: auto;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: baseline;
  justify-content: flex-end;
  gap: 6px;
}
body[data-page-title="page.analyzer"] .promo-px {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
body[data-page-title="page.analyzer"] .promo-card .chg {
  font-size: 0.62rem;
  padding: 1px 6px;
  background: rgba(0, 0, 0, 0.18);
}
body[data-page-title="page.analyzer"] .promo-btc {
  background: radial-gradient(circle at 30% 20%, #ffd7a0, #f7931a 58%, #c45a00);
  color: #1a0d00;
  box-shadow: 0 4px 12px rgba(247, 147, 26, 0.28);
}
body[data-page-title="page.analyzer"] .promo-eth {
  background: radial-gradient(circle at 30% 20%, #c5ceff, #627eea 58%, #3b4db7);
  color: #f4f6ff;
  box-shadow: 0 4px 12px rgba(98, 126, 234, 0.28);
}
body[data-page-title="page.analyzer"] .promo-sol {
  background: linear-gradient(135deg, #14f195 0%, #00c2ff 48%, #9945ff 100%);
  color: #041018;
  box-shadow: 0 4px 12px rgba(20, 241, 149, 0.24);
}
body[data-page-title="page.analyzer"] .promo-xrp {
  background: radial-gradient(circle at 30% 20%, #9fd4ff, #238de8 58%, #0b5fad);
  color: #f4f9ff;
  box-shadow: 0 4px 12px rgba(35, 141, 232, 0.28);
}
body[data-page-title="page.analyzer"] .promo-btc .promo-px,
body[data-page-title="page.analyzer"] .promo-sol .promo-px {
  color: inherit;
}
body[data-page-title="page.analyzer"] .promo-eth .promo-px,
body[data-page-title="page.analyzer"] .promo-xrp .promo-px {
  color: inherit;
}
body[data-page-title="page.analyzer"] .promo-card.is-on {
  transform: none;
  box-shadow:
    0 0 0 2px rgba(255, 255, 255, 0.55),
    0 8px 16px rgba(0, 0, 0, 0.28);
}
body[data-page-title="page.analyzer"] .pump-tape {
  margin-top: 0;
  border-radius: 8px;
  border-color: var(--line);
  background: rgba(8, 12, 20, 0.55);
}
body[data-page-title="page.analyzer"] .acc-asset.is-on,
body[data-page-title="page.analyzer"] .acc-row.is-on {
  box-shadow: 0 0 0 2px rgba(34, 211, 238, 0.72), 0 8px 22px rgba(0, 0, 0, 0.28);
}
body[data-page-title="page.analyzer"] .coin-leader,
body[data-page-title="page.analyzer"] .coin-picked,
body[data-page-title="page.analyzer"] .coin-facts,
body[data-page-title="page.analyzer"] .coin-panel.is-compact .coin-leader,
body[data-page-title="page.analyzer"] .coin-panel.is-compact .coin-picked,
body[data-page-title="page.analyzer"] .coin-panel.is-compact .coin-facts {
  display: none !important;
}
body[data-page-title="page.analyzer"] .coin-panel.is-compact:not(.is-open) .coin-head,
body[data-page-title="page.analyzer"] .coin-panel.is-compact:not(.is-open) .coin-filters,
body[data-page-title="page.analyzer"] .coin-panel.is-compact:not(.is-open) .watch-note,
body[data-page-title="page.analyzer"] .coin-panel.is-compact:not(.is-open) .kind-note {
  display: none;
}
body[data-page-title="page.analyzer"] .coin-toolbar {
  display: block;
  margin: 8px 0 0;
}
body[data-page-title="page.analyzer"] .coin-toolbar-top {
  display: block;
}
body[data-page-title="page.analyzer"] .coin-head,
body[data-page-title="page.analyzer"] .coin-filters {
  display: none !important;
}
body[data-page-title="page.analyzer"] .ex-chips {
  display: flex;
}
body[data-page-title="page.analyzer"] .coin-search-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 0 14px 0 14px;
  min-height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(30, 224, 255, 0.32);
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(30, 224, 255, 0.16), transparent 46%),
    linear-gradient(180deg, rgba(16, 26, 44, 0.98), rgba(6, 12, 24, 0.98));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 10px 24px rgba(0, 0, 0, 0.28);
}
.coin-toolbar-top .coin-search-wrap {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 140px;
}
.coin-search-icon { display: none; }
body[data-page-title="page.analyzer"] .coin-search-icon {
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  border: 2px solid #7ee7ff;
  border-radius: 50%;
  position: relative;
  opacity: 0.9;
}
.coin-search-icon::after {
  content: "";
  position: absolute;
  width: 7px;
  height: 2px;
  right: -5px;
  bottom: -1px;
  background: #7ee7ff;
  transform: rotate(45deg);
  border-radius: 2px;
}
body[data-page-title="page.analyzer"] .coin-search-wrap #coinSearch,
body[data-page-title="page.analyzer"] .coin-toolbar-top #coinSearch {
  flex: 1;
  min-width: 0;
  width: 100%;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  min-height: 44px;
  padding: 10px 4px 10px 0;
  font-size: 16px;
  font-weight: 650;
  color: var(--fog);
  letter-spacing: 0.01em;
}
body[data-page-title="page.analyzer"] .coin-search-wrap #coinSearch:focus {
  outline: none;
}
body[data-page-title="page.analyzer"] .coin-search-wrap:focus-within {
  border-color: rgba(62, 224, 255, 0.7);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 0 0 3px rgba(62, 224, 255, 0.16);
}
body[data-page-title="page.analyzer"] .coin-panel.is-compact .coin-grid,
body[data-page-title="page.analyzer"] .coin-panel.is-compact.is-open .coin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(76px, 1fr));
  gap: 8px;
  margin-top: 10px;
  max-height: min(42vh, 340px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 2px 4px 8px 0;
}
body[data-page-title="page.analyzer"] .coin-toggle {
  display: none !important;
}
body[data-page-title="page.analyzer"] .coin-chip {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 3px;
  padding: 8px 4px 6px;
  text-align: center;
  border-radius: 14px;
}
body[data-page-title="page.analyzer"] .coin-logo {
  width: 26px;
  height: 26px;
}
body[data-page-title="page.analyzer"] #authCard,
body[data-page-title="page.analyzer"] .live-frames,
body[data-page-title="page.analyzer"] .chart-shot-top,
body[data-page-title="page.analyzer"] .live-read,
body[data-page-title="page.analyzer"] .live-intel,
body[data-page-title="page.analyzer"] .live-engine,
body[data-page-title="page.analyzer"] #liveTrendBoard,
body[data-page-title="page.analyzer"] #memberMeter,
body[data-page-title="page.market"] .live-frames,
body[data-page-title="page.home"] .live-frames {
  display: none !important;
}
body[data-page-title="page.analyzer"]:not(.is-signed) .landing-later {
  display: none;
}
body[data-page-title="page.analyzer"] #resultCard:not(.is-on) {
  display: none;
}
body[data-page-title="page.analyzer"] .landing-chart.card,
body[data-page-title="page.analyzer"] .live-card {
  padding: 12px 14px 12px;
  border-radius: 16px;
  box-shadow: 0 0 0 1px rgba(0, 217, 255, 0.1);
  background: #101624;
  border-color: rgba(0, 217, 255, 0.28);
  --tv-h: min(72svh, 760px);
}
body[data-page-title="page.analyzer"] .live-title .kicker {
  display: none;
}
body[data-page-title="page.analyzer"] .live-price {
  font-size: 1.2rem;
  font-weight: 700;
}
body[data-page-title="page.analyzer"] .tv-tools .btn.is-on {
  color: var(--fog);
  background: rgba(0, 217, 255, 0.16);
  border-color: rgba(0, 217, 255, 0.4);
  box-shadow: none;
}
body[data-page-title="page.analyzer"] .tv-host {
  min-height: 320px;
  border-radius: 8px;
}
body[data-page-title="page.analyzer"] .live-head {
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
body[data-page-title="page.analyzer"] .live-title {
  gap: 8px;
  min-width: 0;
}
body[data-page-title="page.analyzer"] .live-title img {
  width: 22px;
  height: 22px;
}
body[data-page-title="page.analyzer"] .live-title strong {
  font-size: 0.92rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 28ch;
}
body[data-page-title="page.analyzer"] .live-quote {
  flex: 0 0 auto;
}
body[data-page-title="page.analyzer"] .tv-tools {
  flex-wrap: nowrap;
  gap: 4px;
  margin: 0 0 6px;
}
body[data-page-title="page.analyzer"] .tv-tools .btn {
  min-height: 30px;
  padding: 4px 9px;
  font-size: 0.74rem;
}
body[data-page-title="page.analyzer"] .live-read {
  position: static;
  left: auto;
  bottom: auto;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 18px;
  max-width: none;
  width: 100%;
  margin: 0 0 10px;
  padding: 10px 14px;
  border-radius: 12px;
  pointer-events: none;
  box-shadow: none;
}
body[data-page-title="page.analyzer"] .live-read .kicker {
  flex: 1 1 100%;
  margin: 0;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
}
body[data-page-title="page.analyzer"] .live-read strong {
  display: inline;
  flex: 0 1 auto;
  font-size: 0.92rem;
  line-height: 1.3;
}
body[data-page-title="page.analyzer"] .live-read p {
  display: inline;
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.35;
}
body[data-page-title="page.analyzer"] .live-read .live-read-note {
  font-size: 0.72rem;
  color: var(--mist);
}
body[data-page-title="page.analyzer"] .live-intel {
  position: static;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 16px;
  width: 100%;
  margin: 0 0 8px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: rgba(18, 24, 44, 0.72);
  box-shadow: none;
}
body[data-page-title="page.analyzer"] .live-intel.is-up { border-color: rgba(46, 230, 176, 0.45); }
body[data-page-title="page.analyzer"] .live-intel.is-down { border-color: rgba(255, 107, 122, 0.4); }
body[data-page-title="page.analyzer"] .live-intel .kicker {
  flex: 1 1 100%;
  margin: 0;
  font-size: 0.62rem;
  letter-spacing: 0.06em;
}
body[data-page-title="page.analyzer"] .live-intel strong {
  font-size: 0.92rem;
  line-height: 1.3;
}
body[data-page-title="page.analyzer"] .live-intel p {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.35;
}
body[data-page-title="page.analyzer"] .live-intel .live-intel-age {
  flex: 1 1 100%;
  color: var(--gold-2);
  font-weight: 600;
}
body[data-page-title="page.analyzer"] .live-intel .live-intel-flow {
  flex: 1 1 100%;
  color: var(--fog);
  font-weight: 600;
}
body[data-page-title="page.analyzer"] .live-intel .live-intel-note {
  flex: 1 1 100%;
  font-size: 0.72rem;
  color: var(--mist);
}
.intel-card {
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(18, 24, 44, 0.72);
}
.facts-card {
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(18, 24, 44, 0.72);
}
.facts-card .facts-row {
  display: grid;
  grid-template-columns: 5.6rem 1fr;
  gap: 6px 10px;
  align-items: baseline;
  padding: 3px 0;
}
.facts-card .facts-row + .facts-row {
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}
.facts-card .facts-row span {
  color: var(--mist);
  font-size: 0.68rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.facts-card .facts-row p {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.35;
  font-weight: 600;
}
.intel-card .intel-score {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}
.intel-card h2 {
  margin: 4px 0 10px;
  font-size: 1.1rem;
}
.intel-card .intel-age {
  margin: -4px 0 10px;
  color: var(--gold-2);
  font-weight: 600;
}
.intel-card .intel-why {
  margin: 10px 0;
  line-height: 1.55;
}
.intel-card .intel-facts,
.intel-card .intel-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}
.intel-board,
.intel-setup,
.intel-why-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
  margin: 12px 0;
}
.intel-board article,
.intel-setup article,
.intel-why-grid article {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(8, 12, 24, 0.35);
}
.intel-board .kicker,
.intel-setup .kicker,
.intel-why-grid .kicker { margin: 0 0 6px; }
.intel-advanced { margin: 12px 0; }
.intel-advanced summary {
  cursor: pointer;
  color: var(--gold-2);
  font-weight: 600;
}
.intel-src {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 999px;
  border: 1px solid var(--line);
  font-size: 0.62rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mist);
}
.intel-src-realtime { border-color: rgba(46, 230, 176, 0.4); color: #8ef0c8; }
.intel-src-calculated { border-color: rgba(120, 170, 255, 0.4); color: #b7cbff; }
.intel-src-interpretation { border-color: rgba(232, 196, 110, 0.45); color: var(--gold-2); }
.intel-src-unavailable { opacity: 0.75; }
.intel-src-historical { border-color: rgba(180, 150, 255, 0.45); color: #d4c4ff; }
.tape-strip {
  display: flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  margin: 0 0 12px;
  padding: 3px 5px 3px 8px;
  min-height: 30px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(12, 16, 30, 0.72);
}
.tape-strip[hidden] { display: none !important; }
.tape-strip-label {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  max-width: 7.2rem;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mist);
  line-height: 1.15;
}
.tape-strip-inapp {
  flex: 0 0 100%;
  margin: 0.2rem 0 0;
  font-size: 0.68rem;
  line-height: 1.3;
}
.tape-strip-label::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 8px rgba(0, 217, 255, 0.55);
  flex: 0 0 auto;
}
.tape-strip-track {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
  mask-image: linear-gradient(90deg, #000 86%, transparent);
}
.tape-strip-track::-webkit-scrollbar { display: none; }
.tape-chip {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  flex: 0 0 auto;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.62);
  color: var(--fog);
  text-decoration: none;
  font-size: 0.72rem;
  line-height: 1.2;
  white-space: nowrap;
}
.tape-chip:hover {
  border-color: rgba(0, 217, 255, 0.4);
  color: var(--fog);
}
.tape-chip-sym {
  font-family: var(--display);
  font-weight: 700;
  font-size: 0.74rem;
  letter-spacing: 0.02em;
  color: var(--accent);
}
.tape-chip-val { color: var(--fog); }
.tape-chip-mom {
  border-color: rgba(61, 255, 154, 0.42);
  background: rgba(61, 255, 154, 0.08);
}
.tape-chip-mom .tape-chip-sym { color: #8ef0c8; }
.tape-chip-up {
  border-color: rgba(61, 255, 154, 0.5);
  background: rgba(61, 255, 154, 0.12);
}
.tape-chip-up .tape-chip-sym { color: #8ef0c8; }
.tape-chip-down {
  border-color: rgba(255, 93, 122, 0.5);
  background: rgba(255, 93, 122, 0.12);
}
.tape-chip-down .tape-chip-sym { color: #ff9eb0; }
.tape-chip-vol {
  border-color: rgba(255, 176, 136, 0.48);
  background: rgba(255, 107, 53, 0.08);
}
.tape-chip-vol .tape-chip-sym { color: var(--gold-2); }
.tape-chip-oi {
  border-color: rgba(120, 170, 255, 0.45);
  background: rgba(120, 170, 255, 0.08);
}
.tape-chip-oi .tape-chip-sym { color: #b7cbff; }
.tape-chip-evt {
  border-color: rgba(255, 107, 53, 0.45);
  background: rgba(255, 107, 53, 0.08);
}
.tape-chip-evt .tape-chip-sym { color: var(--gold); }
.tape-strip-more {
  flex: 0 0 auto;
  padding: 0 10px 0 4px;
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.tape-strip-more:hover { color: var(--fog); }
@media (max-width: 560px) {
  .tape-strip {
    padding-left: 8px;
    border-radius: 14px;
  }
  .tape-strip-label {
    width: 7px;
    max-width: 7px;
    height: 7px;
    overflow: hidden;
    color: transparent;
    gap: 0;
  }
  .tape-strip-label::before { margin: 0; }
}
.opps-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 12px;
}
.opps-filters .btn {
  padding: 5px 10px;
  min-height: 0;
  font-size: 0.72rem;
  font-weight: 600;
  border-radius: 999px;
  box-shadow: none;
}
.opps-filters .btn.is-on {
  border-color: rgba(232, 196, 110, 0.55);
  color: var(--gold-2);
}
.opps-filters .btn.is-bounce {
  border-color: rgba(61, 255, 154, 0.28);
  color: #b8ffd9;
  background: linear-gradient(135deg, rgba(61, 255, 154, 0.1), rgba(0, 217, 255, 0.06));
}
.opps-filters .btn.is-bounce.is-on {
  border-color: rgba(61, 255, 154, 0.55);
  color: #8ef0c8;
  box-shadow: 0 0 0 1px rgba(61, 255, 154, 0.12);
}
.opps-bounce-guide {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 16px 20px;
  align-items: end;
  margin: 0 0 16px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(61, 255, 154, 0.18);
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(61, 255, 154, 0.12), transparent 55%),
    radial-gradient(90% 70% at 100% 20%, rgba(0, 217, 255, 0.1), transparent 50%),
    linear-gradient(180deg, rgba(18, 24, 44, 0.95), rgba(10, 14, 23, 0.88));
}
.opps-bounce-guide[hidden] { display: none; }
.opps-bounce-guide-copy .kicker {
  margin: 0 0 4px;
  color: #8ef0c8;
  letter-spacing: 0.04em;
}
.opps-bounce-guide-copy h2 {
  margin: 0 0 6px;
  font-family: var(--display);
  font-size: clamp(1.15rem, 2.4vw, 1.45rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}
.opps-bounce-guide-copy .lede {
  margin: 0;
  max-width: 36rem;
  color: var(--mist);
  font-size: 0.92rem;
  line-height: 1.45;
}
.opps-bounce-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.opps-bounce-steps li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  margin: 0;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 0.82rem;
  line-height: 1.35;
  color: var(--fog);
}
.opps-bounce-steps li::before {
  content: counter(bounce-step);
  counter-increment: bounce-step;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 700;
  color: #0a0e17;
  background: linear-gradient(135deg, #3dff9a, #00d9ff);
}
.opps-bounce-steps { counter-reset: bounce-step; }
.opps-board.is-bounce-board {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}
.opps-card.is-bounce-room {
  border-color: rgba(61, 255, 154, 0.2);
  background:
    linear-gradient(165deg, rgba(61, 255, 154, 0.05), transparent 38%),
    var(--panel);
}
.opps-room {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  align-items: center;
  margin: 0 0 10px;
}
.opps-room-band {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.25;
  color: #0a0e17;
  background: linear-gradient(135deg, #8ef0c8, #5ad8ff);
}
.opps-room[data-band="small"] .opps-room-band {
  background: linear-gradient(135deg, #ffe0a3, #ffb088);
}
.opps-room[data-band="mid"] .opps-room-band {
  background: linear-gradient(135deg, #c9d4ff, #9aa6c4);
  color: #12182c;
}
.opps-room-cap {
  font-size: 0.75rem;
  color: var(--mist);
}
@media (max-width: 720px) {
  .opps-bounce-guide {
    grid-template-columns: 1fr;
    padding: 14px;
  }
}
.opps-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}
.opps-groups {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.opps-group-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
}
.opps-group-head h3 {
  margin: 0;
  font-size: 1rem;
}
.opps-group-head .muted {
  margin: 0;
  font-size: 0.8rem;
}
.opps-board-nested {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}
.opps-ex-wrap {
  margin: 0 0 12px;
}
.opps-venues-label {
  margin: 0 0 6px;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--mist);
}
.opps-ex-chips {
  margin: 0;
}
.opps-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.opps-coin-logo {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  background: #0b1020;
  flex-shrink: 0;
}
.opps-name {
  margin: 2px 0 0;
  font-size: 0.78rem;
  color: var(--mist);
  line-height: 1.2;
}
.opps-venues {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
}
.opps-venues-kicker {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--mist);
  margin-right: 2px;
}
.opps-ex {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px 3px 4px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(8, 16, 28, 0.75);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--fog);
}
.opps-ex .ex-logo {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  object-fit: cover;
  background: #0b1020;
}
.opps-live {
  margin: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--muted);
}
.opps-live.is-fresh::before {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  background: #3dff9a;
  box-shadow: 0 0 8px rgba(61, 255, 154, 0.65);
  vertical-align: middle;
}
.opps-card {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(18, 24, 44, 0.72);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.opps-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.opps-head-main { min-width: 0; }
.opps-score {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  white-space: nowrap;
}
.opps-move {
  margin: 0;
  padding: 7px 9px;
  border-radius: 10px;
  border: 1px solid rgba(232, 196, 110, 0.35);
  background: rgba(232, 196, 110, 0.08);
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.4;
}
.opps-flow {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.35;
  color: #9ad7ff;
}
.opps-blurb {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--muted);
}
.opps-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
}
.opps-foot .study-chips { margin: 0; }
.opps-card.is-bottom {
  border-color: rgba(61, 255, 154, 0.38);
}
.opps-card.is-top {
  border-color: rgba(255, 93, 122, 0.38);
}
.opps-card.is-hot {
  position: relative;
  animation: hotPulse 1.35s ease-in-out infinite;
  border-color: rgba(61, 255, 154, 0.55);
  background: linear-gradient(160deg, rgba(61, 255, 154, 0.1), rgba(18, 24, 44, 0.78) 42%);
}
.opps-card.is-hot-1 {
  animation-duration: 1s;
  border-color: rgba(61, 255, 154, 0.72);
}
.opps-card.is-hot-2 {
  animation-duration: 1.2s;
}
.opps-card.is-hot-3 {
  animation-duration: 1.45s;
}
.opps-hot-light {
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  margin-right: 0.35rem;
  border-radius: 50%;
  background: #3dff9a;
  box-shadow: 0 0 8px rgba(61, 255, 154, 0.85);
  vertical-align: 0.05em;
  animation: hotBlink 1.05s ease-in-out infinite;
}
.opps-card.is-hot-1 .opps-hot-light {
  animation-duration: 0.85s;
  background: #7dffb8;
  box-shadow: 0 0 12px rgba(61, 255, 154, 0.95);
}
.opps-card.is-hot .opps-score {
  color: #8ef0c8;
  animation: hotBlink 1.15s ease-in-out infinite;
}
.money-flow-card {
  margin: 0 0 12px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(18, 24, 44, 0.78);
}
.venue-summary-card {
  margin: 0 0 12px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(18, 24, 44, 0.72);
}
.venue-summary-text {
  margin: 4px 0 8px;
  line-height: 1.45;
}
.money-flow-card.is-in {
  border-color: rgba(61, 255, 154, 0.42);
}
.money-flow-card.is-out,
.money-flow-card.is-dist {
  border-color: rgba(255, 93, 122, 0.42);
}
.money-flow-card.is-accum {
  border-color: rgba(232, 197, 107, 0.5);
  background: linear-gradient(160deg, rgba(232, 197, 107, 0.1), rgba(18, 24, 44, 0.8) 45%);
}
.money-flow-signal.is-in {
  color: #9dffc8;
}
.money-flow-signal.is-out {
  color: #ffb0bf;
}
.money-flow-signal.is-mixed,
.money-flow-signal.is-unknown {
  color: #e8c56b;
}
.money-flow-age {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 2px 0 10px;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 750;
  border: 1px solid var(--line);
  background: rgba(8, 12, 24, 0.55);
  max-width: 100%;
}
.money-flow-age .mf-age-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex: 0 0 auto;
  background: #9aa3b8;
  box-shadow: 0 0 0 4px rgba(154, 163, 184, 0.16);
}
.money-flow-age .mf-age-text {
  line-height: 1.25;
}
.money-flow-age.is-in {
  color: #9dffc8;
  border-color: rgba(61, 255, 154, 0.42);
  background: rgba(61, 255, 154, 0.1);
}
.money-flow-age.is-in .mf-age-dot {
  background: #3dff9a;
  box-shadow: 0 0 0 4px rgba(61, 255, 154, 0.22);
}
.money-flow-age.is-out {
  color: #ffb0bf;
  border-color: rgba(255, 93, 122, 0.42);
  background: rgba(255, 93, 122, 0.1);
}
.money-flow-age.is-out .mf-age-dot {
  background: #ff5d7a;
  box-shadow: 0 0 0 4px rgba(255, 93, 122, 0.22);
}
.opps-flow-age {
  display: inline;
  font-weight: 750;
}
.opps-flow-age.is-in {
  color: #9dffc8;
}
.opps-flow-age.is-out {
  color: #ffb0bf;
}
.money-flow-score {
  margin: 2px 0 4px;
  font-size: 2rem;
  font-weight: 750;
  line-height: 1;
}
.money-flow-score span {
  font-size: 0.95rem;
  font-weight: 600;
  opacity: 0.7;
  margin-left: 2px;
}
.money-flow-summary {
  margin: 0 0 10px;
  font-size: 0.9rem;
  line-height: 1.4;
}
.money-flow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
  margin: 0 0 10px;
}
.money-flow-grid article {
  margin: 0;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
}
.money-flow-grid .kicker {
  margin: 0 0 4px;
  font-size: 0.68rem;
}
.money-flow-grid strong {
  font-size: 0.92rem;
}
.money-flow-tfs {
  margin: 0 0 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.opps-phase {
  margin: 0 0 4px;
  font-size: 0.78rem;
  font-weight: 700;
}
.opps-phase.is-bottom { color: #8ef0c8; }
.opps-phase.is-top { color: #ff9eb0; }
.opps-entry {
  margin: 0 0 8px;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--gold-2);
}
.opps-track {
  margin: 0 0 8px;
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--muted, #9aa3b5);
}
.opps-track-kicker {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.8;
}
.opps-track.is-held { color: #8ef0c8; }
.opps-track.is-weakened { color: #ff9eb0; }
.opps-track.is-open { color: var(--gold-2, #e8c56a); }
.opps-card .intel-score {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 700;
}
.opps-card h2 { margin: 0; font-size: 1rem; line-height: 1.35; }
.opps-card .btn {
  margin-top: 0;
  padding: 5px 10px;
  min-height: 0;
  width: auto;
  font-size: 0.72rem;
  font-weight: 700;
  border-radius: 8px;
  box-shadow: none;
}
@media (max-width: 860px) {
  body[data-page-title="page.analyzer"] .live-intel {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }
  .intel-why-grid { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  body[data-page-title="page.analyzer"] .live-head {
    flex-wrap: wrap;
  }
  body[data-page-title="page.analyzer"] .live-read {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }
  body[data-page-title="page.analyzer"] .live-read strong,
  body[data-page-title="page.analyzer"] .live-read p {
    display: block;
  }
}
body[data-page-title="page.analyzer"] .landing-stage #uploadCard {
  padding: 4px 2px 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
body[data-page-title="page.analyzer"] #quotaNote {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  max-width: 62ch;
}
body[data-page-title="page.analyzer"] .landing-stage #analyse {
  border-radius: 12px;
  min-height: 48px;
}
body[data-page-title="page.analyzer"] #photoAnalyze {
  margin-top: 8px;
}
body[data-page-title="page.analyzer"] #photoAnalyze summary {
  color: var(--mist);
  font-size: 0.84rem;
}
.analyze-wait {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: grid;
  place-items: center;
  padding: 12px;
  border-radius: 12px;
  background: rgba(8, 12, 20, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.analyze-wait[hidden] { display: none; }
.analyze-wait-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.analyze-wait-card .kicker {
  margin: 0;
  color: var(--fog);
  font-size: 0.92rem;
  letter-spacing: 0.04em;
}
.analyze-wait-frame {
  position: relative;
  width: min(240px, 64vw);
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: #0a101c;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}
.analyze-wait-art {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.analyze-wait-scan {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #00d9ff;
  box-shadow: 0 0 18px #00d9ff, 0 0 4px #fff;
  animation: candleSweep 1.8s linear infinite;
}
@keyframes candleSweep {
  from { left: 6%; }
  to { left: 92%; }
}
@media (prefers-reduced-motion: reduce) {
  .analyze-wait-scan { animation: none; left: 50%; }
}

@media (max-width: 720px) {
  body[data-page-title="page.analyzer"] .landing-wrap {
    width: calc(100% - 20px);
    padding-top: 14px;
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  }
  body[data-page-title="page.analyzer"] .tick-hint {
    font-size: 0.88rem;
    line-height: 1.5;
  }
  body[data-page-title="page.analyzer"] .coin-toggle,
  body[data-page-title="page.analyzer"] #photoAnalyze,
  body[data-page-title="page.analyzer"] .live-card .disclaimer,
  body[data-page-title="page.analyzer"] .tv-full-btn,
  body[data-page-title="page.analyzer"] #liveChange {
    display: none;
  }
  body[data-page-title="page.analyzer"] #coinPicker.card {
    padding: 10px 10px 8px;
  }
  body[data-page-title="page.analyzer"] .promo-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    margin: 0 0 6px;
  }
  body[data-page-title="page.analyzer"] .promo-card {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "mark meta"
      "mark quote";
    min-height: 44px;
    height: auto;
    padding: 6px 8px;
    column-gap: 6px;
    row-gap: 1px;
  }
  body[data-page-title="page.analyzer"] .promo-mark {
    width: 22px;
    height: 22px;
  }
  body[data-page-title="page.analyzer"] .promo-card img {
    width: 14px;
    height: 14px;
  }
  body[data-page-title="page.analyzer"] .promo-sym {
    font-size: 0.66rem;
  }
  body[data-page-title="page.analyzer"] .promo-name {
    display: none;
  }
  body[data-page-title="page.analyzer"] .promo-px {
    display: none;
  }
  body[data-page-title="page.analyzer"] .promo-meta,
  body[data-page-title="page.analyzer"] .promo-quote {
    margin-left: 0;
    min-width: 0;
    width: 100%;
    justify-content: flex-start;
    align-items: flex-start;
  }
  body[data-page-title="page.analyzer"] .promo-card .chg {
    font-size: 0.58rem;
    padding: 1px 5px;
  }
  body[data-page-title="page.analyzer"] .pump-tape {
    padding: 4px 0;
  }
  body[data-page-title="page.analyzer"] .pump-item {
    font-size: 0.68rem;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
  }
  body[data-page-title="page.analyzer"] .landing-chart.card,
  body[data-page-title="page.analyzer"] .live-card {
    padding: 10px 10px 10px;
    --tv-h: min(58svh, 520px);
  }
  body[data-page-title="page.analyzer"] .live-head {
    margin-bottom: 6px;
    gap: 8px;
    align-items: center;
  }
  body[data-page-title="page.analyzer"] .live-title img {
    width: 20px;
    height: 20px;
  }
  body[data-page-title="page.analyzer"] .live-title strong {
    font-size: 0.9rem;
  }
  body[data-page-title="page.analyzer"] .live-price {
    font-size: 0.95rem;
  }
  body[data-page-title="page.analyzer"] .tv-tools {
    flex-wrap: nowrap;
    gap: 4px;
    margin: 0 0 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  body[data-page-title="page.analyzer"] .tv-tools::-webkit-scrollbar { display: none; }
  body[data-page-title="page.analyzer"] .tv-tools .btn {
    min-height: 34px;
    padding: 6px 8px;
    font-size: 0.72rem;
    flex: 0 0 auto;
  }
  body[data-page-title="page.analyzer"] .tv-host {
    min-height: 200px;
  }
  .analyze-wait-frame { width: min(180px, 56vw); }
}

@media (max-width: 560px) {
  .grid-2 { grid-template-columns: 1fr; }
}

@media (pointer: coarse) {
  .coin-chip {
    min-height: 0;
    padding: 8px 6px;
  }
  .seg-btn {
    min-height: 30px;
    padding: 4px 8px;
    font-size: 0.72rem;
  }
  .coin-toolbar-top #coinSearch,
  .coin-ex-wrap select {
    min-height: 36px;
    padding: 6px 10px;
    font-size: 16px;
  }
  .nav-lang select {
    min-height: 40px;
    font-size: 16px;
  }
  .mode-card { min-height: 84px; padding: 16px; }
  .ex-tab {
    padding: 4px 8px;
    font-size: 0.72rem;
  }
}

@media (max-width: 720px) {
  body[data-page-title="page.market"] .card.coin-panel,
  body[data-page-title="page.market"] #coinPicker.card {
    padding: 10px;
  }
  body[data-page-title="page.market"] .page-title {
    font-size: 1.15rem;
    margin-bottom: 8px;
  }
  body[data-page-title="page.market"] .coin-toolbar { margin: 0 0 4px; }
  body[data-page-title="page.market"] .coin-filters { gap: 4px; margin-top: 4px; }
  body[data-page-title="page.market"] .kind-note,
  body[data-page-title="page.market"] .watch-note {
    display: none;
  }
  body[data-page-title="page.market"] .coin-grid {
    grid-template-columns: repeat(auto-fill, minmax(76px, 1fr));
    gap: 8px;
    max-height: min(46vh, 360px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 8px;
    padding: 2px 4px 8px 0;
  }
  body[data-page-title="page.market"] .coin-chip {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 3px;
    padding: 8px 4px 6px;
    text-align: center;
    border-radius: 14px;
  }
  body[data-page-title="page.market"] .coin-logo {
    width: 26px;
    height: 26px;
  }
  body[data-page-title="page.market"] .coin-chip .sym {
    font-size: 0.72rem;
  }
  body[data-page-title="page.market"] .coin-chip .rank {
    display: block;
    font-size: 0.62rem;
  }
  body[data-page-title="page.market"] .coin-chip .px {
    font-size: 0.68rem;
    margin-left: 0;
  }
  body[data-page-title="page.market"] .coin-chip .mcap,
  body[data-page-title="page.market"] .coin-chip .chg {
    font-size: 0.62rem;
  }
  body[data-page-title="page.market"] .coin-watch,
  body[data-page-title="page.market"] .coin-tick {
    width: 22px;
    height: 22px;
    top: 4px;
  }
  body[data-page-title="page.market"] .coin-toggle {
    min-height: 32px;
    margin-top: 6px;
  }
}

.paywall-gate .promo-gate-panel {
  border-color: rgba(255, 200, 87, 0.45);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 0 0 1px rgba(255, 200, 87, 0.18),
    0 24px 80px rgba(0, 0, 0, 0.72);
}
.paywall-gate .promo-gate-kicker { color: var(--gold, #ffc857); }
#paywallBuy {
  background: linear-gradient(90deg, #ffc857 0%, #3dff9a 100%);
  color: #041018;
  border: 0;
  font-weight: 800;
  box-shadow: 0 10px 32px rgba(255, 200, 87, 0.35);
}
#paywallBuy:hover { filter: brightness(1.06); }


.click-explore {
  margin: 4px 0 10px;
  text-align: center;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #7af0ff;
  text-shadow: 0 0 18px rgba(62, 224, 255, 0.35);
}
body[data-page-title="page.analyzer"] .click-explore {
  margin: 2px 2px 8px;
}
@media (max-width: 720px) {
  body[data-page-title="page.analyzer"] .click-explore {
    font-size: 0.82rem;
    letter-spacing: 0.14em;
    margin-bottom: 6px;
  }
  body[data-page-title="page.analyzer"] .landing-wrap {
    padding-bottom: 16px;
  }
}

.coin-tick { display: none !important; }

.activity-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 12px 0 22px;
}
.activity-pager .btn {
  min-height: 40px;
  padding: 6px 14px;
}
.activity-pager .btn:disabled {
  opacity: 0.35;
  pointer-events: none;
}


/* Gold Mode — institutional terminal */
body.page-gold {
  background:
    radial-gradient(900px 480px at 0% -10%, rgba(212, 175, 105, 0.08), transparent 55%),
    radial-gradient(700px 420px at 100% 0%, rgba(255, 196, 120, 0.05), transparent 50%),
    #07090f;
}
.gold-wrap {
  padding-bottom: 48px;
  max-width: 1180px;
}

.gt-bar {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto;
  gap: 16px 24px;
  align-items: end;
  margin: 0 0 18px;
}
.gt-kicker {
  margin: 0 0 4px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #d4af69;
}
.gt-title {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(1.6rem, 3.5vw, 2.1rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #f5ead0;
}
.gt-sub {
  margin: 8px 0 0;
  max-width: 40rem;
  font-size: 0.9rem;
  line-height: 1.45;
}
.gt-bar-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}
.gt-feed {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(232, 197, 137, 0.22);
  background: rgba(14, 16, 22, 0.92);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #c9b896;
}
.gt-feed-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #6b7280;
}
.gt-feed[data-state="live"] { color: #e8c989; border-color: rgba(232, 197, 137, 0.4); }
.gt-feed[data-state="live"] .gt-feed-dot {
  background: #3dff9a;
  box-shadow: 0 0 0 0 rgba(61, 255, 154, 0.45);
  animation: gtPulse 1.8s ease-out infinite;
}
.gt-feed[data-state="delayed"] .gt-feed-dot { background: #e8c989; }
.gt-feed[data-state="disconnected"] { color: #ff9eb0; border-color: rgba(255, 110, 130, 0.35); }
.gt-feed[data-state="disconnected"] .gt-feed-dot { background: #ff6b7a; }
.gt-updated { margin: 0; font-size: 0.78rem; }
.gt-refresh { border-color: rgba(232, 197, 137, 0.28) !important; color: #e8c989 !important; }

.gt-top {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 12px;
  margin: 0 0 16px;
}
.gt-card {
  margin: 0;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.035), transparent 40%), rgba(14, 16, 22, 0.88);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(8px);
}
.gt-price-card {
  border-color: rgba(232, 197, 137, 0.28);
  background:
    linear-gradient(145deg, rgba(232, 197, 137, 0.1), transparent 42%),
    rgba(14, 16, 22, 0.94);
  padding: 20px 20px 16px;
}
.gt-price-card.is-flash-up {
  box-shadow: 0 0 0 1px rgba(61, 255, 154, 0.35), 0 0 28px rgba(61, 255, 154, 0.12);
}
.gt-price-card.is-flash-down {
  box-shadow: 0 0 0 1px rgba(255, 107, 122, 0.35), 0 0 28px rgba(255, 107, 122, 0.12);
}
.gt-price-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
  margin-bottom: 8px;
}
.gt-pair {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #d4af69;
}
.gt-pair-note { margin: 4px 0 0; font-size: 0.72rem; }
.gt-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--mist);
}
.gt-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #6b7280;
}
.gt-live-badge[data-state="live"] {
  color: #c8f7dc;
  border-color: rgba(61, 255, 154, 0.28);
  background: rgba(61, 255, 154, 0.08);
}
.gt-live-badge[data-state="live"] .gt-live-dot {
  background: #3dff9a;
  animation: gtPulse 1.8s ease-out infinite;
}
.gt-live-badge[data-state="delayed"] {
  color: #e8c989;
  border-color: rgba(232, 197, 137, 0.3);
}
.gt-live-badge[data-state="disconnected"] {
  color: #ff9eb0;
  border-color: rgba(255, 107, 122, 0.3);
  background: rgba(255, 107, 122, 0.08);
}
.gt-price-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 4px 0 6px;
}
.gt-live-price {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2.6rem, 7vw, 3.6rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1;
  color: #fff4df;
  transition: transform 0.35s ease, color 0.35s ease, text-shadow 0.35s ease;
}
.gt-live-price.is-flash-up {
  color: #8ef0c8;
  text-shadow: 0 0 24px rgba(61, 255, 154, 0.45);
  transform: translateY(-4px);
}
.gt-live-price.is-flash-down {
  color: #ff9eb0;
  text-shadow: 0 0 24px rgba(255, 107, 122, 0.4);
  transform: translateY(4px);
}
.gt-price-arrow {
  font-size: 1.1rem;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.25s ease, transform 0.35s ease;
}
.gt-price-arrow.is-show { opacity: 1; transform: translateY(0); }
.gt-price-arrow.is-up { color: #8ef0c8; }
.gt-price-arrow.is-down { color: #ff9eb0; }
.gt-day-chg {
  margin: 0 0 14px;
  font-size: 1.05rem;
  font-weight: 700;
}
.gt-day-chg.is-up { color: #8ef0c8; }
.gt-day-chg.is-down { color: #ff9eb0; }
.gt-day-chg.is-flat { color: #e8c989; }
.gt-quote-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.gt-quote-grid > div {
  padding: 10px 10px 9px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(8, 10, 16, 0.55);
}
.gt-quote-grid span {
  display: block;
  margin: 0 0 4px;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mist);
}
.gt-quote-grid strong {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--fog);
}
.gt-quote-grid strong.is-up { color: #8ef0c8; }
.gt-quote-grid strong.is-down { color: #ff9eb0; }
.gt-clock { margin: 12px 0 0; font-size: 0.75rem; }

.gt-top-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.gt-stat .gt-label,
.gt-flow-card .gt-label {
  margin: 0 0 8px;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--mist);
}
.gt-big {
  margin: 0;
  font-family: var(--display);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.15;
  color: #f4f7ff;
}
.gt-session { font-size: 1.05rem; }
.gt-stat-sub { margin: 6px 0 0; font-size: 0.74rem; line-height: 1.35; }
.gt-bias-badge {
  display: inline-flex;
  margin: 0;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
}
.gt-bias-badge.is-strong-bull,
.gt-bias-badge.is-bull {
  color: #8ef0c8;
  border-color: rgba(61, 255, 154, 0.28);
  background: rgba(61, 255, 154, 0.08);
}
.gt-bias-badge.is-strong-bear,
.gt-bias-badge.is-bear {
  color: #ff9eb0;
  border-color: rgba(255, 107, 122, 0.28);
  background: rgba(255, 107, 122, 0.08);
}
.gt-bias-badge.is-neutral {
  color: #e8c989;
  border-color: rgba(232, 197, 137, 0.28);
  background: rgba(232, 197, 137, 0.08);
}
.gt-prob-wrap {
  display: flex;
  gap: 14px;
  align-items: center;
}
.gt-prob-ring {
  --p: 0;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, rgba(14, 16, 22, 0.98) 58%, transparent 59%),
    conic-gradient(#d4af69 calc(var(--p) * 1%), rgba(255, 255, 255, 0.08) 0);
  transition: background 0.45s ease;
}
.gt-prob-ring span {
  font-family: var(--display);
  font-size: 0.95rem;
  font-weight: 700;
}
.gt-conf {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 700;
  color: #f0e2c4;
}

.gt-section { margin: 0 0 18px; }
.gt-sec-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: end;
  margin: 0 0 10px;
}
.gt-sec-head h2 {
  margin: 0;
  font-family: var(--display);
  font-size: 1.05rem;
}
.gt-levels {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.gt-level {
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 96px;
}
.gt-level span {
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: var(--mist);
}
.gt-level strong {
  font-family: var(--display);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.2;
}
.gt-level small {
  font-size: 0.74rem;
  color: var(--mist);
}
.gt-level-entry { border-color: rgba(232, 197, 137, 0.32); }
.gt-level-entry strong { color: #e8c989; }
.gt-level-tp { border-color: rgba(61, 255, 154, 0.18); }
.gt-level-tp strong { color: #8ef0c8; }
.gt-level-tp small { color: #8ef0c8; }
.gt-level-sl { border-color: rgba(255, 107, 122, 0.22); }
.gt-level-sl strong { color: #ff9eb0; }
.gt-level-sl small { color: #ff9eb0; }

.gt-chart-head { align-items: center; }
.gt-tf-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.gt-tf-btns button {
  min-height: 32px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(14, 16, 22, 0.9);
  color: var(--mist);
  font-size: 0.74rem;
  font-weight: 700;
  cursor: pointer;
}
.gt-tf-btns button.is-on {
  color: #0a0e17;
  background: #e8c989;
  border-color: #e8c989;
}
.gt-chart-card { padding: 12px; }
.gt-tv-host {
  position: relative;
  width: 100%;
  height: min(62svh, 560px);
  min-height: 360px;
  border-radius: 10px;
  overflow: hidden;
  background: #0e1016;
}
.gt-tv-host iframe,
.gt-tv-frame {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 0;
  background: #0e1016;
}
.gt-chart-note { margin: 8px 4px 0; font-size: 0.72rem; }

.gt-pulse-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.gt-flow-card { min-height: 140px; }
.gt-flow-label {
  margin: 4px 0 12px;
  font-size: 0.85rem;
  font-weight: 700;
}
.gt-flow-label.is-up { color: #8ef0c8; }
.gt-flow-label.is-down { color: #ff9eb0; }
.gt-flow-label.is-flat { color: #e8c989; }
.gt-flow-track {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  overflow: hidden;
}
.gt-flow-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff6b7a, #e8c989 50%, #3dff9a);
  transition: width 0.45s ease;
}
.gt-flow-marks {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font-size: 0.65rem;
  color: var(--mist);
}

.gt-mtf-row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
}
.gt-mtf-pill {
  padding: 12px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(14, 16, 22, 0.88);
  text-align: center;
}
.gt-mtf-pill strong {
  display: block;
  margin: 0 0 6px;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  color: #d4af69;
}
.gt-mtf-pill span {
  font-size: 0.78rem;
  font-weight: 700;
}
.gt-mtf-pill.is-up span { color: #8ef0c8; }
.gt-mtf-pill.is-down span { color: #ff9eb0; }
.gt-mtf-pill.is-flat span { color: #c9b896; }

.gt-analysis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.gt-card-wide { grid-column: 1 / -1; }
.gt-card-head { margin: 0 0 12px; }
.gt-card-head h2 {
  margin: 4px 0 0;
  font-family: var(--display);
  font-size: 1.02rem;
}
.gt-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  gap: 8px;
}
.gt-metric {
  padding: 11px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(8, 10, 16, 0.45);
}
.gt-metric span {
  display: block;
  margin: 0 0 4px;
  font-size: 0.68rem;
  color: var(--mist);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.gt-metric strong {
  font-size: 0.92rem;
  font-weight: 700;
  word-break: break-word;
}
.gt-metric.is-up strong { color: #8ef0c8; }
.gt-metric.is-down strong { color: #ff9eb0; }
.gt-summary {
  margin: 0;
  line-height: 1.55;
  color: var(--fog);
  font-size: 0.94rem;
}
.gt-scenario-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.gt-scenario {
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}
.gt-scenario.is-up { border-color: rgba(61, 255, 154, 0.22); }
.gt-scenario.is-down { border-color: rgba(255, 107, 122, 0.22); }
.gt-scenario h3 { margin: 0 0 8px; font-size: 0.9rem; }
.gt-scenario-main {
  margin: 6px 0;
  font-family: var(--display);
  font-size: 1.05rem;
  font-weight: 700;
}
.gt-event-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.gt-event-list li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.88rem;
}

.gt-tools {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.gt-calc-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}
.gt-calc-form label {
  display: grid;
  gap: 5px;
  font-size: 0.74rem;
  color: var(--mist);
}
.gt-calc-form .btn { align-self: end; }
.gt-calc-form input,
.gt-calc-form select {
  min-height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(232, 197, 137, 0.14);
  background: #0a0e17;
  color: var(--fog);
  padding: 8px 10px;
}
.gt-calc-out {
  padding: 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.88rem;
  line-height: 1.45;
}
.gt-calc-out.is-empty { color: var(--mist); }
.gt-result-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px;
}
.gt-result-grid > div {
  padding: 10px;
  border-radius: 10px;
  background: rgba(8, 10, 16, 0.45);
}
.gt-result-grid span {
  display: block;
  margin: 0 0 4px;
  font-size: 0.68rem;
  color: var(--mist);
}
.gt-result-grid .is-up strong { color: #8ef0c8; }
.gt-result-grid .is-down strong { color: #ff9eb0; }
.gt-foot { margin: 8px 0 0; max-width: 44rem; }

@keyframes gtPulse {
  0% { box-shadow: 0 0 0 0 rgba(61, 255, 154, 0.45); }
  70% { box-shadow: 0 0 0 8px rgba(61, 255, 154, 0); }
  100% { box-shadow: 0 0 0 0 rgba(61, 255, 154, 0); }
}
@keyframes goldArtShimmer {
  0%, 18% { transform: translateX(-120%); }
  48%, 100% { transform: translateX(120%); }
}

@media (prefers-reduced-motion: reduce) {
  .gt-feed[data-state="live"] .gt-feed-dot,
  .gt-live-badge[data-state="live"] .gt-live-dot,
  .gt-live-price,
  .gt-price-arrow,
  .gt-flow-fill,
  .gt-prob-ring,
  .mode-card.accent-gold::after {
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 1100px) {
  .gt-pulse-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gt-flow-card { grid-column: 1 / -1; }
  .gt-levels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gt-mtf-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .gt-top { grid-template-columns: 1fr; }
  .gt-analysis,
  .gt-tools,
  .gt-scenario-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .gt-bar { grid-template-columns: 1fr; }
  .gt-bar-meta { justify-content: flex-start; }
  .gt-top-grid { grid-template-columns: 1fr 1fr; }
  .gt-quote-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gt-levels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gt-pulse-grid { grid-template-columns: 1fr 1fr; }
  .gt-mtf-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gt-calc-form { grid-template-columns: 1fr; }
  .gt-live-price { font-size: clamp(2.2rem, 11vw, 3rem); }
  .gt-tv-host {
    height: min(52svh, 420px);
    min-height: 280px;
  }
}

/* DEX Screener Analysis Mode — professional terminal */
body.page-dex {
  background:
    radial-gradient(900px 480px at 8% -12%, rgba(56, 189, 148, 0.07), transparent 55%),
    radial-gradient(700px 420px at 100% 0%, rgba(56, 120, 200, 0.06), transparent 50%),
    #070a10;
}
.dex-wrap { padding-bottom: 48px; max-width: 1180px; }
.dx-bar {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto;
  gap: 16px 24px;
  align-items: end;
  margin: 0 0 18px;
}
.dx-kicker {
  margin: 0 0 4px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #5ee0b5;
}
.dx-title {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(1.45rem, 3.2vw, 1.95rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #e8f4ef;
}
.dx-sub { margin: 8px 0 0; max-width: 42rem; font-size: 0.9rem; line-height: 1.45; }
.dx-bar-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}
.dx-feed {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(94, 224, 181, 0.22);
  background: rgba(10, 14, 20, 0.92);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #9eb8ad;
}
.dx-feed-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #6b7280;
}
.dx-feed[data-state="live"] { color: #9ef0cc; border-color: rgba(94, 224, 181, 0.4); }
.dx-feed[data-state="live"] .dx-feed-dot {
  background: #3dff9a;
  box-shadow: 0 0 0 0 rgba(61, 255, 154, 0.45);
  animation: gtPulse 1.8s ease-out infinite;
}
.dx-feed[data-state="delayed"] .dx-feed-dot { background: #e8c989; }
.dx-feed[data-state="stale"] .dx-feed-dot,
.dx-feed[data-state="disconnected"] .dx-feed-dot { background: #ff6b7a; }
.dx-feed[data-state="disconnected"],
.dx-feed[data-state="stale"] { color: #ff9eb0; border-color: rgba(255, 110, 130, 0.35); }

.dx-search { margin-bottom: 18px; }
.dx-search-row { display: flex; gap: 10px; margin-top: 8px; }
.dx-search-row input { flex: 1; }
.dx-results {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.dx-result {
  display: grid;
  gap: 2px;
  text-align: left;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(12, 16, 24, 0.9);
  color: inherit;
  cursor: pointer;
}
.dx-result:hover { border-color: rgba(94, 224, 181, 0.35); }

.dx-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
  gap: 12px;
  margin-bottom: 18px;
}
.dx-card {
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(11, 15, 22, 0.92);
}
.dx-hero-scores {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.dx-token-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.dx-logo { border-radius: 10px; background: #111; }
.dx-sym {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.dx-meta { margin: 2px 0 0; font-size: 0.8rem; }
.dx-status {
  margin-left: auto;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid rgba(94, 224, 181, 0.3);
  color: #9ef0cc;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.dx-price {
  margin: 14px 0 4px;
  font-family: var(--display);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.03em;
}
.dx-price.flash-up { color: #3dff9a; transition: color 0.15s ease; }
.dx-price.flash-down { color: #ff6b7a; transition: color 0.15s ease; }
.dx-chg { margin: 0; font-size: 0.92rem; }
.dx-chg.is-up, .dx-metric.is-up .dx-val { color: #3dff9a; }
.dx-chg.is-down, .dx-metric.is-down .dx-val { color: #ff7b8a; }
.dx-links { margin-top: 12px; font-size: 0.85rem; }
.dx-links a { color: #8fd9c0; }
.dx-label {
  margin: 0 0 4px;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8a9aa3;
}
.dx-val { margin: 0; font-size: 1.15rem; font-weight: 700; word-break: break-word; }
.dx-val-sm { font-size: 0.95rem; font-weight: 600; }

.dx-section { margin: 22px 0; }
.dx-sec-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 10px;
}
.dx-sec-head h2 {
  margin: 0;
  font-size: 1.05rem;
  letter-spacing: -0.02em;
}
.dx-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.dx-metric { min-height: 74px; }
.dx-na { color: #9aa3ad; font-weight: 500; font-size: 0.86rem; }
.dx-flags, .dx-summary-cols ul {
  margin: 0;
  padding-left: 1.1rem;
  font-size: 0.86rem;
  line-height: 1.4;
}
.dx-warn li { color: #e8c989; }

.dx-chart-card { padding: 0; overflow: hidden; }
.dx-chart-card iframe {
  display: block;
  width: 100%;
  height: min(62svh, 520px);
  min-height: 320px;
  border: 0;
  background: #0b0f16;
}

.dx-table-wrap { overflow-x: auto; }
.dx-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.86rem;
}
.dx-table th,
.dx-table td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  text-align: left;
  white-space: nowrap;
}
.dx-table th { color: #8a9aa3; font-weight: 600; }

.dx-calc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.dx-calc-grid label {
  display: grid;
  gap: 4px;
  font-size: 0.8rem;
  color: #8a9aa3;
}
.dx-summary-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 14px;
}
.dx-summary-cols h3 {
  margin: 0 0 8px;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
}
.dx-foot { margin-top: 28px; font-size: 0.82rem; }

@media (max-width: 980px) {
  .dx-hero { grid-template-columns: 1fr; }
  .dx-hero-scores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dx-calc-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .dx-bar { grid-template-columns: 1fr; }
  .dx-bar-meta { justify-content: flex-start; }
  .dx-search-row { flex-direction: column; }
  .dx-hero-scores,
  .dx-grid,
  .dx-calc-grid,
  .dx-summary-cols { grid-template-columns: 1fr; }
}

/* DEX Buy & Hold mode */
.dx-mode {
  display: inline-flex;
  gap: 6px;
  margin-top: 14px;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid rgba(94, 224, 181, 0.2);
  background: rgba(8, 12, 18, 0.9);
}
.dx-mode-btn {
  border: 0;
  background: transparent;
  color: #9eb8ad;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
}
.dx-mode-btn.is-on {
  background: rgba(61, 255, 154, 0.12);
  color: #9ef0cc;
}
.dx-hold-hero-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.dx-hold-x { grid-column: 1 / -1; }
.dx-hold-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 14px;
}
.dx-x-card .dx-val { margin-bottom: 8px; }
.dx-tag {
  display: inline-block;
  margin-right: 6px;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid rgba(94, 224, 181, 0.25);
  font-size: 0.65rem;
  letter-spacing: 0.06em;
  color: #8fd9c0;
}
.dx-layers { margin-top: 10px; font-size: 0.86rem; line-height: 1.45; }
.dx-hold-rank button {
  display: grid;
  gap: 4px;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  padding: 0;
}
.dx-hold-rank { margin-bottom: 10px; }
body.dx-mode-hold .dx-hold-only { display: block; }
@media (max-width: 900px) {
  .dx-hold-hero-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .dx-hold-hero-grid { grid-template-columns: 1fr; }
  .dx-mode { width: 100%; }
  .dx-mode-btn { flex: 1; }
}

/* DEX dashboard v4 — clean professional terminal */
body.page-dex {
  background: #07090e;
}
body.page-dex .atmosphere { opacity: 0.35; }
body.page-dex .site-header.dx-site-header,
body.page-dex .site-header {
  padding: 8px 0;
  min-height: 0;
}
body.page-dex .brand-meta small { display: none; }
body.page-dex .site-menu a[href="/"],
body.page-dex .site-menu a[href="/index.html"],
body.page-dex .site-menu a[href="/opportunities.html"],
body.page-dex .site-menu a[href="/pricing.html"],
body.page-dex .site-menu a[href="#support"] { display: none; }
body.page-dex .nav-wallet { display: none; }
body.page-dex .site-menu a[href="/dex.html"] {
  color: #9ef0cc;
  box-shadow: inset 0 -2px 0 rgba(61, 255, 154, 0.55);
}
.dx-brand-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #121821;
  color: #9ef0cc;
  font-weight: 800;
  font-size: 0.75rem;
}

.dex-wrap { max-width: 1120px; padding-bottom: 48px; }
.dx-topbar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin: 8px 0 16px;
  flex-wrap: wrap;
}
.dx-topbar-meta { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.dx-btn-sm { padding: 6px 10px !important; font-size: 0.78rem !important; }

.dx-rail {
  margin-bottom: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 16px;
  background: rgba(10, 13, 18, 0.92);
}
.dx-rail-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.dx-rail-head h2 { margin: 0; font-size: 0.82rem; letter-spacing: 0.08em; }
.dx-sort { display: flex; flex-wrap: wrap; gap: 6px; }
.dx-sort button {
  border: 1px solid rgba(255,255,255,0.08);
  background: transparent;
  color: #9aa3ad;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 0.72rem;
  cursor: pointer;
}
.dx-sort button.is-on {
  border-color: rgba(94, 224, 181, 0.35);
  color: #9ef0cc;
  background: rgba(61, 255, 154, 0.08);
}
.dx-rail-search { margin: 8px 0; }
.dx-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.dx-token-card {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 14px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(12, 16, 22, 0.95);
  color: inherit;
  cursor: pointer;
  text-align: left;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.dx-token-card.is-top {
  grid-column: span 1;
  padding: 16px;
  background: linear-gradient(180deg, rgba(18, 24, 32, 0.98), rgba(11, 14, 20, 0.96));
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}
.dx-token-card.is-hot {
  border-color: rgba(61, 255, 154, 0.28);
}
.dx-token-card.is-chase {
  border-color: rgba(255, 120, 130, 0.28);
}
.dx-token-card.is-watch {
  border-color: rgba(232, 197, 137, 0.16);
}
.dx-token-card.is-on {
  border-color: rgba(126, 184, 255, 0.55);
  box-shadow: 0 0 0 1px rgba(126, 184, 255, 0.25), 0 10px 28px rgba(0, 0, 0, 0.28);
  transform: translateY(-1px);
}
.dx-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  border-radius: 10px;
  background: rgba(255,255,255,0.05);
  color: #9aa3ad;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.dx-token-card.is-top .dx-rank {
  background: rgba(61, 255, 154, 0.12);
  color: #9ef0cc;
}
.dx-token-card.is-chase .dx-rank {
  background: rgba(255, 120, 130, 0.12);
  color: #ff9eac;
}
.dx-token-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.dx-token-title {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.dx-token-title strong {
  font-size: 0.98rem;
  letter-spacing: -0.01em;
}
.dx-token-badge {
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #c9b896;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid rgba(232, 197, 137, 0.25);
}
.dx-token-card.is-hot .dx-token-badge {
  color: #7dffa8;
  border-color: rgba(61, 255, 154, 0.3);
}
.dx-token-card.is-chase .dx-token-badge {
  color: #ff9eac;
  border-color: rgba(255, 120, 130, 0.3);
}
.dx-token-main small {
  color: #8a9aa3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dx-token-side {
  display: grid;
  justify-items: end;
  gap: 2px;
}
.dx-token-side em {
  font-style: normal;
  font-weight: 700;
  font-size: 0.92rem;
  color: #e8eef4;
}
.dx-token-chg {
  font-size: 0.78rem;
  font-weight: 700;
  color: #9aa3ad;
}
.dx-token-chg.is-up { color: #5dff9f; }
.dx-token-chg.is-down { color: #ff8a98; }

.dx-quick {
  border-color: rgba(61, 255, 154, 0.16);
}
.dx-quick.is-live {
  animation: dxGlowPulse 2.2s ease-in-out infinite;
}
.dx-quick.is-strong {
  animation: dxGlowPulseStrong 1.9s ease-in-out infinite;
}
.dx-quick.is-chase {
  border-color: rgba(255, 120, 130, 0.28);
  animation: none;
}
.dx-quick-kicker {
  margin: 0 0 6px;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8fd9c0;
}
.dx-quick-verdict {
  margin: 0 0 14px;
  font-size: clamp(1.45rem, 3vw, 2rem);
  font-weight: 780;
  letter-spacing: -0.03em;
}
.dx-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.dx-quick-note { margin-top: 10px; }
.dx-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: #8a9aa3;
}
.dx-live-pill.is-on { color: #9ef0cc; }
.dx-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3dff9a;
  box-shadow: 0 0 0 0 rgba(61, 255, 154, 0.45);
  animation: dxLiveDot 1.6s ease-out infinite;
}
@keyframes dxLiveDot {
  0% { box-shadow: 0 0 0 0 rgba(61, 255, 154, 0.45); }
  70% { box-shadow: 0 0 0 8px rgba(61, 255, 154, 0); }
  100% { box-shadow: 0 0 0 0 rgba(61, 255, 154, 0); }
}
.dx-flash-up {
  color: #5dff9f !important;
  transition: color 0.15s ease, text-shadow 0.15s ease;
  text-shadow: 0 0 12px rgba(61, 255, 154, 0.45);
}
.dx-flash-down {
  color: #ff8a98 !important;
  transition: color 0.15s ease, text-shadow 0.15s ease;
  text-shadow: 0 0 12px rgba(255, 120, 130, 0.4);
}
.dx-token-card.dx-flash-up,
.dx-token-card.dx-flash-down {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.dx-token-card.dx-flash-up {
  border-color: rgba(61, 255, 154, 0.45);
  box-shadow: 0 0 0 1px rgba(61, 255, 154, 0.18);
}
.dx-token-card.dx-flash-down {
  border-color: rgba(255, 120, 130, 0.4);
  box-shadow: 0 0 0 1px rgba(255, 120, 130, 0.16);
}
.dx-token-card.is-best {
  border-color: rgba(61, 255, 154, 0.42);
  box-shadow: 0 0 0 1px rgba(61, 255, 154, 0.18), 0 10px 28px rgba(0, 0, 0, 0.28);
}
.dx-best-tag {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #0b1210;
  background: linear-gradient(90deg, #7dffa8, #c8ff7a);
  border-radius: 999px;
  padding: 2px 7px;
}
@media (max-width: 720px) {
  .dx-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.dx-deep-sec {
  margin-top: 8px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(10, 13, 18, 0.92);
}

.dx-logo, .dx-logo-fallback {
  border-radius: 50%;
  object-fit: cover;
  background: #151b24;
  flex: 0 0 auto;
}
.dx-logo-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: #9ef0cc;
  border: 1px solid rgba(94, 224, 181, 0.25);
}

.dx-hero-card, .dx-card {
  padding: 22px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(11, 14, 20, 0.96);
  margin-bottom: 16px;
}
.dx-hero-card.is-live {
  box-shadow: 0 0 0 1px rgba(61, 255, 154, 0.18), 0 0 0 rgba(61, 255, 154, 0.05);
  animation: dxGlowPulse 2.2s ease-in-out infinite;
}
.dx-hero-card.is-strong {
  box-shadow: 0 0 0 1px rgba(61, 255, 154, 0.28), 0 0 0 rgba(61, 255, 154, 0.08);
  animation: dxGlowPulseStrong 1.9s ease-in-out infinite;
}
.dx-hero-card.is-chase {
  box-shadow: 0 0 0 1px rgba(255, 120, 130, 0.28);
  animation: none;
}
.dx-hero-card.is-watch { animation: none; }
@keyframes dxGlowPulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(61, 255, 154, 0.16), 0 0 18px rgba(61, 255, 154, 0.05); }
  50% { box-shadow: 0 0 0 1px rgba(61, 255, 154, 0.34), 0 0 28px rgba(61, 255, 154, 0.12); }
}
@keyframes dxGlowPulseStrong {
  0%, 100% { box-shadow: 0 0 0 1px rgba(61, 255, 154, 0.24), 0 0 22px rgba(61, 255, 154, 0.08); }
  50% { box-shadow: 0 0 0 1px rgba(61, 255, 154, 0.45), 0 0 36px rgba(61, 255, 154, 0.16); }
}

.dx-hero-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}
.dx-hero-name {
  margin: 0;
  font-size: 1.35rem;
  letter-spacing: -0.02em;
}
.dx-hero-title-row {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.dx-hero-sym { margin: 4px 0 0; color: #aeb8c2; }
.dx-hero-meta { margin: 4px 0 0; font-size: 0.82rem; }
.dx-price {
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  font-weight: 750;
  letter-spacing: -0.03em;
  text-align: right;
}
.dx-price.flash-up { color: #3dff9a; }
.dx-price.flash-down { color: #ff7b8a; }
.dx-chg { margin: 4px 0 0; text-align: right; font-size: 0.92rem; }
.dx-chg.is-up { color: #3dff9a; }
.dx-chg.is-down { color: #ff7b8a; }
.dx-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(94, 224, 181, 0.3);
  color: #9ef0cc;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.dx-live-badge[data-level="2"],
.dx-live-badge[data-level="3"] {
  animation: dxBadgePulse 2.2s ease-in-out infinite;
}
.dx-live-badge[data-level="1"] { color: #c9b896; border-color: rgba(232, 197, 137, 0.28); animation: none; }
.dx-live-badge.is-up {
  color: #7dffa8;
  border-color: rgba(61, 255, 154, 0.4);
  background: rgba(61, 255, 154, 0.08);
}
.dx-live-badge.is-watch {
  color: #e8c589;
  border-color: rgba(232, 197, 137, 0.35);
  background: rgba(232, 197, 137, 0.08);
}
.dx-live-badge.is-chase {
  color: #ff9eac;
  border-color: rgba(255, 120, 130, 0.4);
  background: rgba(255, 100, 110, 0.1);
  animation: none;
}

.dx-tone-up, .dx-metric-up .dx-val, .dx-metric-up .dx-tone { color: #5dff9f; }
.dx-tone-down, .dx-metric-down .dx-val, .dx-metric-down .dx-tone { color: #ff8a98; }
.dx-tone-watch, .dx-metric-watch .dx-val, .dx-metric-watch .dx-tone { color: #e8c589; }
.dx-tone-info, .dx-metric-info .dx-val, .dx-metric-info .dx-tone { color: #7eb8ff; }
.dx-tone-flat, .dx-metric-flat .dx-val { color: #b7c0ca; }

.dx-status-lg.dx-tone-up { color: #5dff9f; }
.dx-status-lg.dx-tone-down { color: #ff8a98; }
.dx-status-lg.dx-tone-watch { color: #e8c589; }
.dx-status-lg.dx-tone-info { color: #7eb8ff; }

.dx-x-card.is-up { border-color: rgba(61, 255, 154, 0.22); }
.dx-x-card.is-down { border-color: rgba(255, 120, 130, 0.22); }
.dx-x-card.is-watch { border-color: rgba(232, 197, 137, 0.22); }

.dx-flow-pulse.is-up { color: #5dff9f; }
.dx-flow-pulse.is-down { color: #ff8a98; }
.dx-flow-pulse.is-watch { color: #e8c589; }

.dx-intel-grid .dx-val,
.dx-run-grid .dx-val {
  font-size: 1.18rem;
}
@keyframes dxBadgePulse {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 0.9; }
}
.dx-hero-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.dx-label {
  margin: 0 0 4px;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7f8b96;
}
.dx-val {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  word-break: break-word;
}
.dx-sub, .dx-note { margin: 6px 0 0; color: #9aa3ad; font-size: 0.86rem; }
.dx-na { color: #8a949e; font-weight: 500; font-size: 0.86rem; }
.dx-metric { min-width: 0; }
.dx-error { color: #ff9eb0; }

.dx-intel-grid,
.dx-run-grid,
.dx-grid-2,
.dx-grid-4 {
  display: grid;
  gap: 14px;
}
.dx-intel-grid, .dx-run-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dx-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dx-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dx-x-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.dx-x-card {
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(14, 18, 24, 0.9);
}
.dx-sec-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 14px;
}
.dx-sec-head h2 {
  margin: 0;
  font-size: 0.84rem;
  letter-spacing: 0.08em;
}
.dx-flow-pulse {
  color: #9ef0cc;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}
.dx-flow-pulse.is-on { animation: dxBadgePulse 2.2s ease-in-out infinite; }
.dx-status-lg {
  margin: 0 0 12px;
  font-size: 1.35rem;
  font-weight: 750;
  letter-spacing: -0.02em;
}
.dx-bullets, .dx-list {
  margin: 0;
  padding-left: 1.1rem;
  line-height: 1.45;
  color: #c5ced6;
}
.dx-seq { font-size: 1.05rem; }
.dx-invest-row {
  display: flex;
  gap: 12px;
  align-items: end;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.dx-invest-row label { display: grid; gap: 6px; color: #8a9aa3; font-size: 0.8rem; }
.dx-deep { margin-top: 14px; color: #9aa3ad; }
.dx-deep summary { cursor: pointer; margin-bottom: 10px; }
.dx-table { width: 100%; border-collapse: collapse; font-size: 0.84rem; margin-top: 10px; }
.dx-table th, .dx-table td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  text-align: left;
}
.dx-chart-card { padding: 0; overflow: hidden; }
.dx-chart-card iframe {
  width: 100%;
  height: min(58svh, 520px);
  min-height: 340px;
  border: 0;
  display: block;
  background: #0b0f16;
}
.dx-foot { margin-top: 20px; font-size: 0.8rem; }

/* Compact DEX coin tiles */
.dx-board-legend {
  margin: 0 0 8px;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #8a9aa3;
}
.dx-tile-board {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(188px, 1fr));
  gap: 10px;
}
.dx-tile {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: stretch;
  text-align: left;
  min-height: 118px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.02);
  color: #e8eef2;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.dx-tile:hover { border-color: rgba(212, 165, 116, 0.45); background: rgba(212, 165, 116, 0.06); }
.dx-tile.is-on {
  border-color: rgba(125, 255, 194, 0.5);
  background: rgba(125, 255, 194, 0.07);
}
.dx-tile.is-hot { border-color: rgba(125, 255, 194, 0.28); }
.dx-tile.is-chase { border-color: rgba(255, 110, 130, 0.35); }
.dx-tile.is-promo {
  border-color: rgba(212, 165, 116, 0.42);
  background: linear-gradient(160deg, rgba(212, 165, 116, 0.12), rgba(255,255,255,0.02));
}
.dx-tile-top {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  align-items: center;
}
.dx-tile-mark {
  position: relative;
  width: 32px;
  height: 32px;
}
.dx-tile-mark .dx-logo,
.dx-tile-mark .dx-logo-fallback {
  width: 32px !important;
  height: 32px !important;
  border-radius: 9px;
}
.dx-tile-chain-badge,
.dx-hero-chain-badge {
  position: absolute;
  right: -4px;
  bottom: -4px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  overflow: hidden;
  border: 1.5px solid rgba(8, 12, 16, 0.95);
  background: #0b1014;
  display: grid;
  place-items: center;
  box-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
.dx-hero-chain-badge {
  width: 22px;
  height: 22px;
  right: -2px;
  bottom: -2px;
}
.dx-chain-icon {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  object-fit: cover;
}
.dx-tile-id { min-width: 0; display: grid; gap: 2px; }
.dx-tile-sym-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}
.dx-tile-sym {
  font-weight: 700;
  font-size: 0.95rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dx-tile-rank { font-size: 0.66rem; color: #8a9aa3; flex-shrink: 0; }
.dx-tile-chain {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  padding: 1px 7px 1px 3px;
  border-radius: 999px;
  border: 1px solid rgba(126, 184, 255, 0.28);
  background: rgba(126, 184, 255, 0.1);
  color: #9ec5ff;
  font-size: 0.6rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.dx-tile-chain .dx-chain-icon {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
.dx-tile-promo {
  justify-self: end;
  align-self: start;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(212, 165, 116, 0.18);
  color: #e8c589;
  font-size: 0.58rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.dx-tile-price-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.dx-tile-price {
  font-size: 0.98rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #f2f6f8;
}
.dx-tile-chg {
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
  color: #8a9aa3;
  font-weight: 650;
}
.dx-tile-chg.is-up { color: #7dffc2; }
.dx-tile-chg.is-down { color: #ff9eb0; }
.dx-tile-stats {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 8px;
}
.dx-tile-kv {
  display: flex;
  align-items: baseline;
  gap: 5px;
  min-width: 0;
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
  color: #d7dee6;
}
.dx-tile-kv em {
  font-style: normal;
  color: #8a9aa3;
  font-size: 0.62rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  flex-shrink: 0;
}
.dx-tile-kv.is-score { color: #7dffc2; justify-self: end; }
.dx-tile-kv.is-score em { color: #6aa88a; }
.dx-tile-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 1px;
}
.dx-tile-badge {
  font-size: 0.62rem;
  color: #8a9aa3;
  letter-spacing: 0.03em;
}
.dx-tile.is-hot .dx-tile-badge { color: #7dffc2; }
.dx-tile.is-chase .dx-tile-badge { color: #ff9eb0; }
.dx-tile-chain-full {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.62rem;
  color: #8a9aa3;
  text-align: right;
}
.dx-tile-chain-full .dx-chain-icon {
  width: 12px;
  height: 12px;
}
.page-dex .dx-token-mark {
  position: relative;
}
.page-dex .dx-pair-chain {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  vertical-align: middle;
}
.page-dex .dx-pair-chain .dx-chain-icon {
  width: 12px;
  height: 12px;
}

@media (max-width: 720px) {
  .dx-tile-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dx-tile { min-height: 110px; padding: 9px 10px; }
  .dx-tile-chain-full { display: none; }
}

/* Compact analysis packs */
.page-dex .dex-wrap { gap: 12px; }
.page-dex .dx-rail { margin-bottom: 12px; padding: 12px; }
.page-dex .dx-hero-card,
.page-dex .dx-card {
  padding: 12px 14px;
  margin: 0 0 10px;
  border-radius: 14px;
}
.page-dex .dx-sec-head { margin-bottom: 8px; gap: 8px; }
.page-dex .dx-sec-head h2 { font-size: 0.78rem; letter-spacing: 0.06em; }
.page-dex .dx-metric { min-height: 0; padding: 8px 10px; }
.page-dex .dx-label { font-size: 0.66rem; margin: 0 0 2px; }
.page-dex .dx-val { font-size: 0.92rem; margin: 0; line-height: 1.25; }
.page-dex .dx-hero-name { font-size: 1.25rem; }
.page-dex .dx-price { font-size: 1.45rem; }
.page-dex .dx-hero-metrics { gap: 8px; margin-top: 10px; }
.page-dex .dx-quick-verdict { font-size: 1.35rem; margin: 4px 0 8px; line-height: 1.2; }
.page-dex .dx-quick-kicker { margin: 0; font-size: 0.7rem; }
.page-dex .dx-quick-grid { gap: 8px; margin-top: 8px; }
.page-dex .dx-quick-why { margin: 8px 0 0; }
.page-dex .dx-quick-note { margin-top: 6px; font-size: 0.78rem; }
.page-dex .dx-bullets { padding-left: 1rem; }

.dx-read {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 10px;
  margin-bottom: 10px;
  align-items: start;
}
.dx-chart-compact .dx-tv-host iframe {
  height: min(38svh, 320px);
  min-height: 220px;
}
.dx-dense-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.dx-dense-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dx-dense-grid .dx-metric {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  background: rgba(255,255,255,0.02);
}
.dx-pack {
  margin: 0 0 10px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 14px;
  background: rgba(10, 14, 18, 0.72);
  overflow: hidden;
}
.dx-pack > summary {
  cursor: pointer;
  list-style: none;
  padding: 11px 14px;
  font-size: 0.82rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  color: #d7dee6;
  background: rgba(255,255,255,0.03);
  border-bottom: 1px solid transparent;
}
.dx-pack > summary::-webkit-details-marker { display: none; }
.dx-pack > summary::after {
  content: "+";
  float: right;
  color: #8a9aa3;
  font-weight: 500;
}
.dx-pack[open] > summary {
  border-bottom-color: rgba(255,255,255,0.08);
}
.dx-pack[open] > summary::after { content: "–"; }
.dx-pack-body {
  display: grid;
  gap: 12px;
  padding: 12px 14px 14px;
}
.dx-pack-block h3 {
  margin: 0 0 8px;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8a9aa3;
  display: flex;
  align-items: center;
  gap: 8px;
}
.dx-x-compact {
  grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)) !important;
  gap: 6px !important;
}
.dx-x-compact .dx-x-card {
  padding: 8px 10px;
  min-height: 0;
}
.dx-x-compact .dx-label { margin-bottom: 2px; font-size: 0.62rem; }
.dx-x-compact .dx-val { font-size: 0.82rem; }
.dx-x-compact .dx-sub { font-size: 0.68rem; margin: 2px 0 0; line-height: 1.3; }
.dx-x-compact .dx-sub em {
  font-style: normal;
  color: #8a9aa3;
  margin-right: 3px;
}
.dx-x-card.is-sell {
  border-color: rgba(126, 184, 255, 0.28);
  background: rgba(126, 184, 255, 0.05);
}
.dx-x-card.is-near {
  border-color: rgba(93, 255, 159, 0.18);
}
.dx-trade-plan {
  margin: 10px 0 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.03);
}
.dx-plan-head { margin-bottom: 8px; }
.dx-plan-head .muted { margin: 4px 0 0; font-size: 0.75rem; }
.dx-plan-entry { margin-bottom: 8px; }
.dx-plan-sell-label { margin: 8px 0 6px; }
.dx-sell-ladder {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 6px;
}
.dx-sell-ladder li {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(126, 184, 255, 0.2);
  background: rgba(126, 184, 255, 0.05);
  font-size: 0.75rem;
}
.dx-sell-ladder li strong {
  color: #9ec5ff;
  font-size: 0.8rem;
}
.dx-x-reality {
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 0.82rem;
}
.dx-x-reality .dx-list { margin: 6px 0 0; padding-left: 1rem; }
.dx-invest-row { margin-bottom: 8px; }
.page-dex .dx-summary { font-size: 0.88rem; line-height: 1.45; }
.page-dex .dx-foot { margin-top: 12px; }
.dx-scan-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.dx-scan-chip {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.03);
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
}
.dx-scan-chip:hover { border-color: rgba(212, 165, 116, 0.45); }
.dx-scan-chip strong {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.78rem;
}
.dx-scan-chip .dx-chain-icon {
  width: 12px;
  height: 12px;
}
.dx-scan-chip span { font-size: 0.66rem; color: #8a9aa3; }
.dx-scan-meta { margin: 6px 0 0; font-size: 0.75rem; }
.page-dex .dx-pack .dx-grid-2 { margin-top: 8px !important; gap: 8px; }
.page-dex .dx-note { margin: 6px 0 0; font-size: 0.78rem; line-height: 1.35; }
.page-dex .dx-deep { margin-top: 8px; }
.page-dex .dx-deep > summary {
  cursor: pointer;
  font-size: 0.75rem;
  color: #8a9aa3;
  padding: 4px 0;
}

.page-dex .dx-dense-grid .dx-metric.is-key,
.page-dex .dx-quick-grid .dx-metric.is-key {
  border-color: transparent;
  background: rgba(255,255,255,0.04);
  box-shadow: inset 3px 0 0 currentColor;
}
.page-dex .dx-metric.is-key.dx-metric-up {
  color: #5dff9f;
  background: rgba(93, 255, 159, 0.08);
  border-color: rgba(93, 255, 159, 0.22);
}
.page-dex .dx-metric.is-key.dx-metric-down {
  color: #ff8a98;
  background: rgba(255, 138, 152, 0.08);
  border-color: rgba(255, 138, 152, 0.25);
}
.page-dex .dx-metric.is-key.dx-metric-watch {
  color: #e8c589;
  background: rgba(232, 197, 137, 0.08);
  border-color: rgba(232, 197, 137, 0.25);
}
.page-dex .dx-metric.is-key.dx-metric-info {
  color: #7eb8ff;
  background: rgba(126, 184, 255, 0.08);
  border-color: rgba(126, 184, 255, 0.22);
}
.page-dex .dx-quick.is-live {
  border-color: rgba(93, 255, 159, 0.35);
  box-shadow: 0 0 0 1px rgba(93, 255, 159, 0.12);
}
.page-dex .dx-quick.is-strong {
  border-color: rgba(93, 255, 159, 0.5);
  box-shadow: 0 0 24px rgba(93, 255, 159, 0.08);
}
.page-dex .dx-quick.is-chase {
  border-color: rgba(255, 138, 152, 0.45);
  box-shadow: 0 0 0 1px rgba(255, 138, 152, 0.15);
}
.page-dex .dx-quick.is-watch {
  border-color: rgba(232, 197, 137, 0.28);
}
.page-dex .dx-x-card.is-up {
  background: rgba(93, 255, 159, 0.06);
}
.page-dex .dx-x-card.is-down {
  background: rgba(255, 138, 152, 0.06);
}
.page-dex .dx-x-card.is-watch {
  background: rgba(232, 197, 137, 0.06);
}
.page-dex .dx-pack > summary {
  display: flex;
  align-items: center;
  gap: 8px;
}
.page-dex .dx-pack[open] > summary {
  color: #e8eef4;
}
.page-dex .dx-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 8px;
  font-size: 0.68rem;
  color: #8a9aa3;
}
.page-dex .dx-legend span::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  margin-right: 5px;
  vertical-align: middle;
}
.page-dex .dx-legend-up::before { background: #5dff9f; }
.page-dex .dx-legend-watch::before { background: #e8c589; }
.page-dex .dx-legend-down::before { background: #ff8a98; }

@media (max-width: 900px) {
  .dx-read { grid-template-columns: 1fr; }
  .dx-dense-grid,
  .dx-dense-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dx-chart-compact .dx-tv-host iframe {
    height: min(34svh, 280px);
    min-height: 200px;
  }
}

.dx-skel { position: relative; overflow: hidden; }
.dx-skel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.04), transparent);
  animation: dxSkel 1.4s linear infinite;
}
@keyframes dxSkel {
  from { transform: translateX(-40%); }
  to { transform: translateX(40%); }
}

@media (max-width: 980px) {
  .dx-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dx-hero-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dx-intel-grid, .dx-run-grid, .dx-x-grid, .dx-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .dx-hero-main { grid-template-columns: auto 1fr; }
  .dx-hero-price-block { grid-column: 1 / -1; text-align: left; }
  .dx-price, .dx-chg { text-align: left; }
  .dx-board,
  .dx-intel-grid, .dx-run-grid, .dx-x-grid, .dx-grid-2, .dx-grid-4 {
    grid-template-columns: 1fr;
  }
  .dx-token-card {
    grid-template-columns: auto auto minmax(0, 1fr);
  }
  .dx-token-side {
    grid-column: 2 / -1;
    justify-items: start;
    margin-left: 2.75rem;
  }
  .dx-hero-card, .dx-card, .dx-rail { padding: 16px; }
  .dx-chart-card iframe {
    height: min(48svh, 380px);
    min-height: 260px;
  }
}

/* —— Public launch: home + analyzer hierarchy + mobile taps —— */
.home-launch { overflow-x: clip; max-width: 1100px; }
.home-hero { margin: 8px 0 20px; }
.home-hero .brand-mark {
  margin: 0 0 8px;
  font-family: var(--display);
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #e8f4ff;
}
.home-hero .page-title {
  margin: 0 0 10px;
  max-width: 18ch;
  font-size: clamp(1.85rem, 5.2vw, 2.85rem);
  line-height: 1.08;
}
.home-hero .lede {
  margin: 0;
  max-width: 42ch;
  color: var(--mist);
  font-size: 1.02rem;
  line-height: 1.45;
}
.home-feats { margin-top: 16px; }
.home-feats span:nth-child(5) {
  color: #ffe6a8;
  background: rgba(232, 197, 107, 0.14);
  border-color: rgba(232, 197, 107, 0.4);
}
.home-trust {
  margin-top: 14px;
  max-width: 52ch;
}
.home-modes { margin-top: 8px; }
.mode-card-primary {
  grid-column: 1 / -1;
  border-color: rgba(62, 224, 255, 0.35);
  box-shadow: 0 0 0 1px rgba(62, 224, 255, 0.12), 0 16px 40px rgba(0, 0, 0, 0.28);
}
.mode-card-primary .kicker { color: #9ef6ff; margin: 0 0 6px; }
@media (min-width: 901px) {
  .home-modes {
    grid-template-columns: 1.4fr 1fr 1fr;
  }
  .mode-card-primary { grid-column: auto; }
}
.home-desk {
  margin: 22px 0 8px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  background: rgba(10, 14, 24, 0.55);
}
.home-desk-head {
  gap: 10px;
  margin-bottom: 10px;
  align-items: center;
}
.home-desk-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}
.home-desk-cta { min-height: 44px; }
.home-chart { margin-top: 12px; }
.home-partner { margin: 18px 0 8px; line-height: 1.6; }

.analyzer-trust { margin: 10px 0 14px; }
.bias-kicker {
  margin: 0 0 4px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.bias-kicker.tone-up,
.bias-kicker.tone-buy { color: var(--long); }
.bias-kicker.tone-down,
.bias-kicker.tone-sell { color: var(--short); }
.bias-kicker.tone-wait { color: var(--wait); }
.bias-pill,
.lab-score-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.bias-pill.tone-up,
.bias-pill.tone-buy {
  color: var(--long);
  background: rgba(20, 241, 149, 0.12);
  border-color: rgba(20, 241, 149, 0.35);
  box-shadow: 0 0 18px rgba(20, 241, 149, 0.18);
}
.bias-pill.tone-down,
.bias-pill.tone-sell {
  color: var(--short);
  background: rgba(255, 93, 122, 0.12);
  border-color: rgba(255, 93, 122, 0.35);
  box-shadow: 0 0 18px rgba(255, 93, 122, 0.16);
}
.bias-pill.tone-wait {
  color: var(--wait);
  background: rgba(232, 197, 107, 0.1);
  border-color: rgba(232, 197, 107, 0.3);
}
.lab-score-pill {
  color: #9ef6ff;
  background: rgba(62, 224, 255, 0.1);
  border-color: rgba(62, 224, 255, 0.28);
}
.digest-card.is-bullish .digest-hero {
  box-shadow: inset 0 0 0 1px rgba(20, 241, 149, 0.18);
}
.digest-card.is-bearish .digest-hero {
  box-shadow: inset 0 0 0 1px rgba(255, 93, 122, 0.18);
}
.pattern-primary .pattern-grid {
  display: grid;
  gap: 10px;
}
.result-upgrade {
  margin: 14px 0 0;
  text-align: center;
}
.result-upgrade .btn {
  min-height: 44px;
  min-width: min(100%, 220px);
}

@media (max-width: 860px) {
  .wrap, .home-launch, .landing-wrap { overflow-x: clip; }
  .cl-symbol-search,
  .nav-quota,
  .cl-topbar-extra {
    display: none !important;
  }
  .nav-toggle {
    display: inline-flex !important;
    flex-shrink: 0;
  }
  .home-hero .page-title { max-width: none; }
  .hero-cta { width: 100%; }
  .hero-cta .btn {
    flex: 1 1 auto;
    min-width: calc(50% - 6px);
    justify-content: center;
  }
  .home-feats span { font-size: 0.74rem; padding: 8px 10px; min-height: 36px; }
  .grid-modes, .home-modes { grid-template-columns: 1fr; }
  .mode-card, .mode-card-primary { min-height: 0; }
  .home-desk { padding: 12px; }
  .home-desk-head { flex-wrap: wrap; }
  .btn, .coin-toggle, .promo-card, .tc-side {
    min-height: 44px;
  }
  .digest-hero h2 { font-size: clamp(1rem, 4.5vw, 1.35rem); max-width: none; }
  .result-tools {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .result-tools > p { grid-column: 1 / -1; }
  .result-tools .btn { width: 100%; }
  .tape-strip, .pump-tape, .promo-row { max-width: 100%; }
  .promo-row { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}


.dx-hot-scan {
  margin-top: 14px;
}
.dx-hot-scan .dx-rail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}


.dx-hot-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.dx-hot-provider {
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.75;
}
.dx-hot-provider[data-state="live"] { color: var(--ok, #2ee6b0); }
.dx-hot-provider[data-state="degraded"],
.dx-hot-provider[data-state="reconnecting"] { color: var(--gold-2); }
.dx-hot-provider[data-state="error"] { color: #ff6b7a; }
.dx-tile-promo.is-strong {
  background: rgba(46, 230, 176, 0.22);
}
.dx-tile.dx-rise-pulse {
  animation: dxRisePulse 1.6s ease-out 1;
}
@keyframes dxRisePulse {
  0% { box-shadow: 0 0 0 0 rgba(46, 230, 176, 0.55); }
  70% { box-shadow: 0 0 0 8px rgba(46, 230, 176, 0); }
  100% { box-shadow: none; }
}

/* Strategy Performance Dashboard v1 */
.sp-wrap { max-width: 1100px; margin: 0 auto; padding: 18px 16px 48px; }
.sp-bar { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 16px; }
.sp-kicker { margin: 0; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.7; }
.sp-title { margin: 4px 0 6px; font-size: 1.45rem; }
.sp-lede { margin: 0; max-width: 52ch; }
.sp-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin: 14px 0; }
.sp-filters label { display: flex; flex-direction: column; gap: 4px; font-size: 0.78rem; }
.sp-filters select,
.sp-filters input { padding: 8px 10px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.12); background: rgba(0,0,0,0.25); color: inherit; }
.sp-status { margin: 8px 0; }
.sp-warn { margin: 8px 0; padding: 10px 12px; border-radius: 8px; background: rgba(230, 160, 60, 0.12); border: 1px solid rgba(230, 160, 60, 0.35); color: #f0c27a; }
.sp-meta { display: grid; gap: 4px; margin: 12px 0 18px; font-size: 0.85rem; }
.sp-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; margin-bottom: 16px; }
.sp-setups { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.sp-card { padding: 12px 14px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.1); background: rgba(255,255,255,0.03); }
.sp-label { margin: 0; font-size: 0.72rem; letter-spacing: 0.04em; text-transform: uppercase; opacity: 0.65; }
.sp-val { margin: 6px 0 0; font-size: 1.15rem; font-weight: 600; }
.sp-best { border-color: rgba(80, 190, 120, 0.35); }
.sp-worst { border-color: rgba(220, 90, 90, 0.35); }
.sp-breaks { display: grid; gap: 18px; }
.sp-break h2 { margin: 0 0 8px; font-size: 0.9rem; }
.sp-table { display: grid; gap: 4px; font-size: 0.82rem; }
.sp-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; padding: 6px 8px; border-radius: 6px; background: rgba(255,255,255,0.02); }
.sp-row.sp-head { opacity: 0.6; font-size: 0.72rem; text-transform: uppercase; }
@media (max-width: 720px) {
  .sp-bar { flex-direction: column; }
  .sp-setups { grid-template-columns: 1fr; }
  .sp-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Smart Signal Filter status */
.live-signal-status { margin: 0 0 8px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.live-signal-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
}
.live-engine.is-reject .live-signal-pill { color: #ffb4b4; border-color: rgba(220,80,80,0.55); background: rgba(220,80,80,0.15); }
.live-engine.is-watch .live-signal-pill { color: #ffe0a3; border-color: rgba(230,170,60,0.5); background: rgba(230,170,60,0.14); }
.live-engine.is-valid .live-signal-pill { color: #b8f0c8; border-color: rgba(70,180,110,0.5); background: rgba(70,180,110,0.14); }
.live-engine.is-strong .live-signal-pill { color: #9ee7ff; border-color: rgba(60,160,220,0.55); background: rgba(60,160,220,0.16); }

/* Analyzer engine hierarchy (Phase 1 Step 25) */
.live-engine-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 12px;
  margin: 0 0 8px;
}
.live-engine-grid .live-engine-row { margin: 2px 0; font-size: 0.82rem; }
.live-signal-dir {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.85;
}
.live-engine-alert {
  margin: 6px 0;
  padding: 6px 8px;
  border-radius: 8px;
  background: rgba(60, 160, 220, 0.12);
  border: 1px solid rgba(60, 160, 220, 0.3);
  font-size: 0.8rem;
}
.live-engine-section {
  margin: 0 0 10px;
  padding: 8px 0 2px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.live-engine-section:first-of-type { border-top: 0; padding-top: 0; }
.live-engine-section-title {
  margin: 0 0 4px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.72;
}
.live-engine-section.is-dim,
.live-engine-section.is-incomplete-plan {
  opacity: 0.55;
}
.live-engine-section.is-incomplete-plan .live-engine-section-title {
  color: #ffe0a3;
}
.live-engine-note {
  margin: 2px 0 0;
  font-size: 0.72rem;
  line-height: 1.35;
}
.live-engine-incomplete {
  margin: 0 0 8px;
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid rgba(230, 170, 60, 0.35);
  background: rgba(230, 170, 60, 0.1);
  font-size: 0.8rem;
  color: #ffe0a3;
}
.live-engine.is-incomplete {
  box-shadow: inset 0 0 0 1px rgba(230, 170, 60, 0.28);
}
.live-engine-row.is-dim { opacity: 0.55; }
.live-engine-fail {
  margin: 0 0 6px;
  font-size: 0.88rem;
}
.live-engine-last-valid {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px dashed rgba(255, 255, 255, 0.12);
  opacity: 0.85;
}
.live-engine.is-error {
  border-color: rgba(220, 120, 80, 0.35);
}
.is-unproven-validation .live-engine-section:nth-of-type(5) .live-engine-section-title {
  color: #ffe0a3;
}
.beta-banner {
  margin: 0 0 12px;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  font-size: 0.78rem;
  line-height: 1.4;
  opacity: 0.9;
}
@media (max-width: 640px) {
  .live-engine-grid { grid-template-columns: 1fr; }
  .live-engine { font-size: 0.9rem; }
  .beta-banner { font-size: 0.74rem; padding: 7px 10px; }
  .live-engine-section-title { font-size: 0.7rem; }
}

/* Analyzer page — readable spacing + type (keep compact picker) */
.page-analyzer { overflow-x: clip; }
.page-analyzer .site-header { overflow: visible; }
.page-analyzer .az-wrap { max-width: 1040px; width: 100%; box-sizing: border-box; }
.az-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  margin-bottom: 10px;
}
.az-top-brand .kicker { margin: 0 0 6px; }
.page-analyzer .az-top-brand .kicker,
.page-analyzer .az-intro,
.page-analyzer #authCard,
.page-analyzer #uploadCard,
.page-analyzer #quotaNote,
.page-analyzer .journal-lede,
.page-analyzer .live-card .disclaimer {
  display: none !important;
}
.az-title { margin: 0; font-size: clamp(1.5rem, 2.6vw, 1.9rem); }
.az-top-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: flex-start; gap: 8px 12px; min-width: 0; max-width: min(420px, 100%); }
.az-scan-meter {
  flex: 1 0 100%;
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  opacity: 0.9;
  text-align: right;
}
.page-analyzer .beta-banner {
  margin: 0;
  padding: 10px 14px;
  font-size: 0.86rem;
  line-height: 1.5;
  border-radius: 10px;
}
.page-analyzer .cl-view-toggle button {
  padding: 8px 14px;
  font-size: 0.84rem;
  min-height: 36px;
}
.az-intro {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 12px;
}
.az-checkin {
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  max-width: none;
  font-size: 0.84rem;
  line-height: 1.45;
}
.page-analyzer .az-checkin .btn {
  min-height: 34px;
  padding: 6px 12px;
  margin-top: 0;
}
.az-checkin-title { margin: 0 0 4px; font-weight: 650; }
.az-streak { margin: 4px 0 0; }
.az-stage { margin-top: 0; }
.page-analyzer .az-stage-command { gap: 12px; }
.az-analyze-row {
  display: flex;
  margin: 0;
}
.az-analyze-row #analyse,
body[data-page-title="page.analyzer"] .landing-stage #analyse {
  display: inline-flex;
  width: 100%;
  min-height: 42px;
  border-radius: 12px;
  font-size: 0.95rem;
}
.az-stage-command #uploadCard { order: 5; }
.az-picker { border-radius: 16px; }
.page-analyzer #resultCard.is-on {
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.025);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}
.page-analyzer .result-guide { gap: 10px; }
.page-analyzer .result-tools {
  margin-top: 8px;
  gap: 6px;
  font-size: 0.78rem;
  opacity: 0.88;
}
.page-analyzer .result-tools .btn {
  min-height: 30px;
  padding: 4px 10px;
  font-size: 0.75rem;
}
.page-analyzer .cl-empty {
  padding: 12px 10px;
  font-size: 0.86rem;
  line-height: 1.4;
}
.page-analyzer .az-result-root { gap: 8px; }
.page-analyzer .az-readout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
  gap: 8px 12px;
  align-items: stretch;
}
.page-analyzer .az-primary-card {
  padding: 8px 10px;
  gap: 10px;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.08);
}
.page-analyzer .az-primary-card__copy { gap: 4px; }
.page-analyzer .az-primary-card__dir {
  font-size: 1.05rem;
  font-weight: 650;
}
.page-analyzer .az-primary-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin: 0;
  font-size: 0.72rem;
  color: var(--mist);
}
.page-analyzer .az-primary-card .cl-score-ring {
  width: 44px;
  height: 44px;
}
.page-analyzer .az-primary-card .cl-score-ring > span {
  width: 34px;
  height: 34px;
  font-size: 0.72rem;
}
.page-analyzer .az-trade-plan {
  padding: 6px 8px;
  gap: 4px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--r-md);
  box-shadow: none;
}
.page-analyzer .az-trade-plan .az-block-title {
  margin: 0;
}
.page-analyzer .az-result-root .az-plan-strip {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 4px;
  margin: 0;
}
.page-analyzer .az-result-root .az-context-metrics {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 4px;
  margin: 0;
  opacity: 0.82;
}
.page-analyzer .cl-metric-card {
  padding: 6px 8px;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.06);
}
.page-analyzer .cl-metric-card span {
  font-size: 0.64rem;
  margin-bottom: 2px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.page-analyzer .cl-metric-card strong {
  font-size: 0.82rem;
  line-height: 1.25;
}
.page-analyzer #liveEngine,
.page-analyzer #liveIntel,
.page-analyzer #liveRead {
  display: none !important;
}
.page-analyzer .landing-stage #uploadCard {
  padding: 2px 2px 0;
}
.page-analyzer #quotaNote {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  max-width: 62ch;
}
.page-analyzer .journal-card,
.page-analyzer .history-card {
  margin-top: 0;
  padding: 10px 12px;
}
.page-analyzer .journal-card h2,
.page-analyzer .history-card h2 {
  margin: 0 0 4px;
  font-size: 0.92rem;
  font-weight: 650;
  line-height: 1.25;
}
.page-analyzer .journal-lede,
.page-analyzer .hist-hint {
  margin: 0 0 6px;
  font-size: 0.75rem;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.az-records {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
  align-items: start;
}
.page-analyzer #journalList,
.page-analyzer #historyList {
  max-height: 196px;
  overflow: auto;
}
.page-analyzer .journal-stats {
  padding: 6px 8px;
  margin: 0 0 6px;
}
.page-analyzer .journal-stats-note { display: none; }
.page-analyzer .journal-item {
  padding: 5px 8px;
  margin: 0 0 3px;
  border-radius: 8px;
}
.page-analyzer .journal-item strong { font-size: 0.8rem; }
.page-analyzer .journal-item small { font-size: 0.72rem; }
.page-analyzer .journal-check-btn {
  min-height: 28px;
  padding: 2px 8px;
  font-size: 0.75rem;
}
.page-analyzer .hist-item {
  padding: 5px 6px;
  margin: 0 0 3px;
  border-radius: 8px;
  gap: 8px;
}
.page-analyzer .hist-item img,
.page-analyzer .hist-ph {
  width: 40px;
  height: 28px;
  border-radius: 6px;
}
.page-analyzer .hist-item strong { font-size: 0.8rem; }
.page-analyzer .hist-item small { font-size: 0.72rem; }
.page-analyzer .journal-pager,
.page-analyzer .history-card .activity-pager {
  margin: 4px 0 0;
}
.page-analyzer .journal-pager .btn,
.page-analyzer .history-card .activity-pager .btn {
  min-height: 28px;
  padding: 2px 8px;
  font-size: 0.75rem;
}

.live-engine .az-signal-card {
  margin: 0 0 12px;
  padding: 14px 14px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.035);
}
.az-signal-top { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px; }
.az-signal-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,0.18);
}
.live-engine.is-reject .az-signal-pill { color: #ffb4b4; border-color: rgba(220,80,80,0.5); }
.live-engine.is-watch .az-signal-pill { color: #ffe0a3; border-color: rgba(230,170,60,0.5); }
.live-engine.is-valid .az-signal-pill { color: #b8f0c8; border-color: rgba(70,180,110,0.5); }
.live-engine.is-strong .az-signal-pill { color: #9ee7ff; border-color: rgba(60,160,220,0.55); }
.az-signal-dir { font-size: 0.9rem; font-weight: 650; text-transform: capitalize; }
.az-signal-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.az-signal-meta > div { display: flex; flex-direction: column; gap: 2px; }
.az-signal-meta strong { font-size: 0.95rem; }
.az-conf-note, .az-fresh { margin: 8px 0 0; font-size: 0.72rem; line-height: 1.35; }

.az-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 14px;
}
.az-metric {
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255,255,255,0.03);
}
.az-metric span { display: block; font-size: 0.68rem; opacity: 0.65; margin-bottom: 2px; text-transform: uppercase; letter-spacing: 0.04em; }
.az-metric strong { font-size: 0.88rem; font-weight: 650; }

.az-block-title {
  margin: 0 0 8px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.7;
}
.az-plan { margin: 0 0 14px; }
.az-plan.is-incomplete { opacity: 0.62; }
.az-plan-incomplete {
  margin: 0 0 8px;
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid rgba(230,170,60,0.35);
  background: rgba(230,170,60,0.1);
  font-size: 0.8rem;
  color: #ffe0a3;
}
.az-plan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 12px;
}
.az-plan-grid.is-dim { opacity: 0.7; }
.az-plan-grid > div { display: flex; flex-direction: column; gap: 2px; }
.az-plan-grid span { font-size: 0.7rem; opacity: 0.65; }
.az-plan-grid strong { font-size: 0.88rem; }

.az-ai { margin: 0 0 12px; }
.az-ai-summary { margin: 0; font-size: 0.9rem; line-height: 1.45; }
.az-ai-more { margin-top: 6px; font-size: 0.8rem; }
.az-details { margin: 0 0 8px; font-size: 0.82rem; }
.az-details summary { cursor: pointer; opacity: 0.8; }
.az-details-body { margin-top: 8px; }
.az-detail-row { margin: 3px 0; }

@media (max-width: 640px) {
  .az-top { flex-direction: column; align-items: stretch; }
  .az-top-meta { align-items: stretch; justify-content: flex-start; min-width: 0; max-width: none; }
  .az-scan-meter { text-align: left; }
  .az-checkin { max-width: none; }
  .page-analyzer .cl-view-toggle { margin-right: auto; }
  .az-signal-meta { grid-template-columns: 1fr 1fr; }
  .az-metrics { grid-template-columns: 1fr 1fr; }
  .az-plan-grid { grid-template-columns: 1fr; }
  .page-analyzer #resultCard.is-on {
    padding: 10px 12px;
  }
  .page-analyzer .az-readout {
    grid-template-columns: 1fr;
  }
  .page-analyzer .az-result-root .az-plan-strip,
  .page-analyzer .az-result-root .az-context-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .page-analyzer .journal-card,
  .page-analyzer .history-card {
    padding: 10px 12px;
  }
  .az-records { grid-template-columns: 1fr; gap: 8px; }
  .page-analyzer .az-title {
    font-size: 1.42rem;
  }
}

/* Chart Lab Futures Execution */
.page-futures { overflow-x: clip; }
.fx-wrap { max-width: 980px; width: 100%; box-sizing: border-box; }
.fx-top { margin-bottom: 14px; }
.fx-title { margin: 0; font-size: clamp(1.35rem, 3vw, 1.75rem); }
.fx-sub { margin: 4px 0 0; }
.fx-disclaimer { margin: 10px 0 0; font-size: 0.8rem; max-width: 52ch; }
.fx-status { margin-bottom: 14px; }
.fx-pill-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.fx-pill {
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}
.fx-pill span { display: block; font-size: 0.68rem; opacity: 0.65; text-transform: uppercase; letter-spacing: 0.04em; }
.fx-pill strong { font-size: 0.9rem; }
.fx-pill.is-stopped strong { color: #ffb4b4; }
.fx-critical {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255, 90, 90, 0.55);
  background: rgba(120, 20, 20, 0.35);
  color: #ffe8e8;
}
.fx-critical-inner strong {
  display: block;
  font-size: 0.85rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.fx-critical ul { margin: 0; padding-left: 1.1rem; }
.fx-critical-item { margin: 4px 0; font-size: 0.88rem; }
.fx-critical-item span {
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  margin-right: 6px;
}
.fx-critical-warning { opacity: 0.92; }
.fx-perf-mode { margin-bottom: 12px; }
.fx-perf-mode-label {
  margin: 0 0 6px;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.7;
}
.fx-health { margin: 8px 0 0; font-size: 0.78rem; }
.fx-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.fx-card {
  margin-bottom: 12px;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.fx-h {
  margin: 0 0 10px;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.75;
}
.fx-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 10px;
}
.fx-fields label, .fx-label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.78rem;
}
.fx-fields input, .fx-fields select, .fx-label input, .fx-mode-row select {
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.25);
  color: inherit;
}
.fx-check { flex-direction: row !important; align-items: center; gap: 8px !important; }
.fx-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.fx-mode-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-end;
  margin-top: 14px;
}
.btn.danger {
  background: rgba(180, 50, 50, 0.25);
  border-color: rgba(220, 80, 80, 0.45);
  color: #ffc9c9;
}
.fx-est {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.fx-est > div { display: flex; flex-direction: column; gap: 2px; }
.fx-est span { font-size: 0.7rem; opacity: 0.65; }
.fx-warn { color: #ffe0a3; font-size: 0.85rem; }
.fx-list { display: flex; flex-direction: column; gap: 8px; }
.fx-item {
  padding: 10px;
  border-radius: 10px;
  background: rgba(255,255,255,0.03);
  font-size: 0.85rem;
}
.fx-signal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.fx-signal-grid span { display: block; font-size: 0.68rem; opacity: 0.65; }
.fx-dialog {
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  padding: 0;
  background: #12141a;
  color: inherit;
  max-width: min(440px, 94vw);
}
.fx-dialog::backdrop { background: rgba(0,0,0,0.55); }
.fx-dialog-body { padding: 16px; }
.fx-trade-cta { margin: 10px 0 0; }

@media (max-width: 720px) {
  .fx-pill-row { grid-template-columns: 1fr 1fr; }
  .fx-grid { grid-template-columns: 1fr; }
  .fx-fields { grid-template-columns: 1fr; }
  .fx-est { grid-template-columns: 1fr; }
  .fx-signal-grid { grid-template-columns: 1fr 1fr; }
}

/* Auto Futures v2 */
.fx-v2 { max-width: 1320px; }

/* Sticky control bar */
.fx-sticky-bar {
  position: sticky;
  top: 0;
  z-index: 40;
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line, rgba(255,255,255,0.08));
  background: color-mix(in srgb, var(--panel, #12182C) 88%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.fx-sticky-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}
.fx-sticky-group {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.fx-sticky-label {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.6;
}
.fx-sticky-group strong { font-size: 0.88rem; }
.fx-sticky-auto.is-on { color: var(--long, #9ee7b8); }
.fx-sticky-actions { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; }
.fx-sticky-bar.is-killed { border-color: rgba(220, 100, 100, 0.35); }
.btn-sm { padding: 6px 10px; font-size: 0.78rem; }

/* Layout */
.fx-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 16px;
  align-items: start;
}
.fx-main-col, .fx-side-col { min-width: 0; }

/* Onboarding */
.fx-onboard {
  margin-bottom: 14px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(150,180,220,0.2);
  background: rgba(255,255,255,0.03);
}
.fx-onboard-steps { margin: 0 0 12px; padding-left: 1.2rem; font-size: 0.88rem; line-height: 1.5; }
.fx-onboard-steps li { margin: 6px 0; }

/* Mode badges */
.fx-mode-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-left: 4px;
  vertical-align: middle;
}
.fx-mode-paper {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--mist, #9AA6C4);
}
.fx-mode-testnet {
  background: rgba(255, 176, 136, 0.12);
  border: 1px solid rgba(255, 176, 136, 0.3);
  color: var(--wait, #FFB088);
}
.fx-mode-live {
  background: transparent;
  border: 1px solid rgba(255, 93, 122, 0.55);
  color: var(--short, #ff5d7a);
}

/* Auto hero status */
.fx-auto-hero {
  margin-bottom: 14px;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.fx-auto-hero.is-off { border-color: rgba(255,255,255,0.06); }
.fx-auto-hero.is-scanning { border-color: rgba(150,190,230,0.2); }
.fx-auto-hero.is-active { border-color: rgba(80,180,120,0.25); }
.fx-auto-hero.is-paused { border-color: rgba(255,200,100,0.2); }
.fx-auto-hero.is-critical { border-color: rgba(220,100,100,0.35); }
.fx-auto-hero-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}
.fx-auto-hero-head .fx-h { margin: 0 0 4px; }
.fx-auto-status {
  margin: 0;
  font-size: clamp(1.05rem, 2.6vw, 1.35rem);
  font-weight: 650;
  line-height: 1.25;
}
.fx-auto-status.is-off, .fx-auto-status.is-paused { color: var(--mist, #9AA6C4); }
.fx-auto-status.is-scanning { color: #a8c4e8; }
.fx-auto-status.is-active { color: #8ecfaa; }
.fx-auto-status.is-critical { color: #e8a0a0; }
.fx-auto-sub { margin: 4px 0 0; font-size: 0.82rem; }
.fx-auto-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

/* Metrics & tabular nums */
.fx-tabnum { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }
.fx-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.fx-metric-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fx-today-grid { margin-top: 4px; }
.fx-metric {
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(0,0,0,0.15);
  border: 1px solid rgba(255,255,255,0.05);
  min-width: 0;
}
.fx-metric span {
  display: block;
  font-size: 0.68rem;
  opacity: 0.65;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.fx-metric strong {
  display: block;
  margin-top: 2px;
  font-size: 0.95rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fx-flag-note {
  margin: 10px 0 0;
  font-size: 0.82rem;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255,200,100,0.06);
  border: 1px solid rgba(255,200,100,0.12);
}
.fx-pnl-up { color: #8ecfaa; }
.fx-pnl-down { color: #e8a0a0; }

/* Empty states */
.fx-empty {
  margin: 0;
  padding: 16px 12px;
  text-align: center;
  font-size: 0.85rem;
  color: var(--mist, #9AA6C4);
  border-radius: 10px;
  background: rgba(255,255,255,0.02);
  border: 1px dashed rgba(255,255,255,0.08);
}
.fx-skel {
  min-height: 48px;
  border-radius: 10px;
  background: rgba(255,255,255,0.04);
  animation: fxSkelPulse 1.2s ease-in-out infinite;
}
@keyframes fxSkelPulse { 50% { opacity: 0.5; } }

/* Cards */
.fx-card-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.fx-card-head .fx-h { margin: 0; }
.fx-connect-card { margin-bottom: 0; }
.fx-connect-steps { margin: 0 0 12px; padding-left: 1.1rem; font-size: 0.82rem; line-height: 1.45; }
.fx-connect-summary { margin-bottom: 10px; font-size: 0.88rem; }
.fx-live-auto {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Scanner */
.fx-scanner-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-end;
  margin-bottom: 10px;
}
.fx-scan-filter { display: flex; flex-wrap: wrap; gap: 6px; }
.fx-chip {
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.1);
  background: transparent;
  color: inherit;
  font-size: 0.75rem;
  cursor: pointer;
}
.fx-chip.is-on {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
}
.fx-scan-dir-label, .fx-scan-search-label {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 0.72rem;
  opacity: 0.75;
}
.fx-scan-dir-label select, .fx-scan-search-label input {
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(0,0,0,0.2);
  color: inherit;
  font-size: 0.82rem;
  min-width: 100px;
}
.fx-scan-time { font-size: 0.75rem; }
.fx-scanner-table { display: flex; flex-direction: column; gap: 6px; }
.fx-scanner-head,
.fx-scanner-row {
  display: grid;
  grid-template-columns: minmax(4.5rem, 0.9fr) minmax(4.2rem, 0.85fr) 3.2rem minmax(3.5rem, 0.7fr) 2.4rem 2.4rem 3.2rem minmax(4.5rem, 0.9fr) minmax(3.5rem, 0.7fr);
  gap: 6px;
  align-items: center;
  font-size: 0.8rem;
}
.fx-scanner-head {
  opacity: 0.65;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0 4px;
}
.fx-scanner-row {
  padding: 10px;
  border-radius: 10px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
}
.fx-scanner-row.fx-scan-qualified { border-color: rgba(100,170,130,0.3); }
.fx-scanner-row.fx-scan-wait { border-color: rgba(150,180,220,0.15); }
.fx-scanner-row.fx-scan-bad { border-color: rgba(200,120,120,0.2); opacity: 0.85; }
.fx-scanner-row.fx-scan-skipped { opacity: 0.72; }
.fx-scanner-row details summary { cursor: pointer; font-size: 0.78rem; opacity: 0.85; list-style: none; }
.fx-scanner-row details summary::-webkit-details-marker { display: none; }
.fx-scan-reason { font-size: 0.78rem; opacity: 0.85; word-break: break-word; }

/* Qualified card */
.fx-qualified-card { border-color: rgba(100,170,130,0.25); }
.fx-qualified-item { padding: 4px 0; }
.fx-qualified-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.fx-qualified-reason { margin: 8px 0 0; font-size: 0.82rem; }
.fx-scan-badge {
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  background: rgba(100,170,130,0.15);
}

/* Active position & ROI progress */
.fx-roi-progress {
  margin: 10px 0 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  overflow: hidden;
}
.fx-roi-progress-bar {
  height: 100%;
  border-radius: 999px;
  background: rgba(100,170,130,0.65);
  transition: width 0.3s ease;
}
.fx-active-card {
  padding: 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
}
.fx-active-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.fx-side-tag {
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}
.fx-side-tag.long { background: rgba(80,180,120,0.15); color: #8ecfaa; }
.fx-side-tag.short { background: rgba(200,90,90,0.15); color: #e8a0a0; }
.fx-active-levels { margin: 8px 0 10px; font-size: 0.82rem; }

/* Risk Guard */
.fx-risk-brief { margin: 0 0 8px; font-size: 0.82rem; }
.fx-dirty-badge {
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
  background: rgba(255,200,100,0.15);
  border: 1px solid rgba(255,200,100,0.25);
  color: var(--wait, #FFB088);
}
.fx-risk-summary, .fx-profit-summary, .fx-health-summary {
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
  list-style-position: outside;
}
.fx-fieldset {
  grid-column: 1 / -1;
  margin: 8px 0 0;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.06);
}
.fx-fieldset legend {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.7;
  padding: 0 4px;
}

/* Profit plan */
.fx-profit-compact .fx-target-label {
  margin: 0 0 2px;
  font-size: 1.05rem;
  font-weight: 650;
}
.fx-target-note { margin: 0 0 10px; font-size: 0.82rem; }
.fx-profit-preview { margin-bottom: 10px; }

/* Performance */
.fx-perf-mode { margin-bottom: 12px; }
.fx-perf-mode-label {
  margin: 0 0 6px;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.7;
}

/* Activity feed */
.fx-activity-feed {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 280px;
  overflow-y: auto;
  padding-right: 2px;
}
.fx-activity-item {
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.05);
  font-size: 0.82rem;
}
.fx-activity-item time { display: block; font-size: 0.68rem; opacity: 0.55; margin-bottom: 2px; }

/* Journal */
.fx-journal-item { cursor: pointer; transition: background 0.15s; }
.fx-journal-item:hover, .fx-journal-item:focus { background: rgba(255,255,255,0.06); outline: none; }

/* Trade timeline */
.fx-timeline { margin: 0; padding: 0; list-style: none; }
.fx-timeline-item {
  padding: 10px 0 10px 14px;
  border-left: 2px solid rgba(255,255,255,0.1);
  margin-left: 4px;
  position: relative;
}
.fx-timeline-item::before {
  content: "";
  position: absolute;
  left: -5px;
  top: 14px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.25);
}
.fx-timeline-item time { display: block; font-size: 0.68rem; opacity: 0.55; }
.fx-timeline-item strong { display: block; font-size: 0.85rem; margin: 2px 0; }
.fx-timeline-item span { font-size: 0.82rem; opacity: 0.85; }

/* System health */
.fx-health-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.fx-health-brief { font-size: 0.82rem; font-weight: 600; }
.fx-health-ok { color: #8ecfaa; }
.fx-health-degraded { color: var(--wait, #FFB088); }
.fx-health-critical { color: #e8a0a0; }
.fx-health-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.fx-health-card {
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  min-width: 0;
}
.fx-health-card span {
  display: block;
  font-size: 0.68rem;
  opacity: 0.65;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.fx-health-card strong { display: block; margin-top: 2px; font-size: 0.88rem; }
.fx-health-card.is-healthy strong { color: #8ecfaa; }
.fx-health-card.is-degraded strong { color: var(--wait, #FFB088); }
.fx-health-card.is-unavailable strong { color: #e8a0a0; }
.fx-health-meta { margin: 10px 0 0; font-size: 0.78rem; grid-column: 1 / -1; }

/* Manual */
.fx-manual { margin-bottom: 24px; margin-top: 16px; }
.fx-manual-summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9rem;
  list-style-position: outside;
}
.fx-manual > .muted { margin: 8px 0 12px; font-size: 0.85rem; }
.fx-manual .fx-h { margin-top: 14px; }

@media (max-width: 900px) {
  .fx-layout { grid-template-columns: 1fr; }
  .fx-side-col { order: -1; }
}
@media (max-width: 720px) {
  .fx-sticky-inner { gap: 8px 10px; }
  .fx-sticky-group { flex: 0 1 auto; }
  .fx-sticky-actions { margin-left: 0; width: 100%; }
  .fx-metric-grid { grid-template-columns: 1fr 1fr; }
  .fx-health-grid { grid-template-columns: 1fr 1fr; }
  .fx-auto-actions .btn { flex: 1 1 calc(50% - 4px); min-width: 0; }
  .fx-scanner-head { display: none; }
  .fx-scanner-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 12px;
  }
}
@media (max-width: 430px) {
  .fx-sticky-bar { padding: 8px 10px; border-radius: 10px; }
  .fx-sticky-group strong { font-size: 0.82rem; }
  .fx-mode-badge { font-size: 0.58rem; padding: 2px 6px; }
  .fx-metric-grid { grid-template-columns: 1fr 1fr; }
  .fx-health-grid { grid-template-columns: 1fr; }
  .fx-auto-actions .btn { flex: 1 1 100%; }
  .fx-scanner-toolbar { flex-direction: column; align-items: stretch; }
}

/* Tooltips / why checklist / journal */
.fx-tip { cursor: help; border-bottom: 1px dotted rgba(255,255,255,0.25); }
.fx-why { margin-top: 4px; }
.fx-why summary { cursor: pointer; font-size: 0.75rem; opacity: 0.8; list-style: none; }
.fx-why summary::-webkit-details-marker { display: none; }
.fx-why-title { margin: 6px 0 4px; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.7; }
.fx-why-list { margin: 0; padding-left: 0; list-style: none; font-size: 0.78rem; }
.fx-why-list li { margin: 2px 0; }
.fx-why-list .is-ok { color: #8ecfaa; }
.fx-why-list .is-no { color: #e8a0a0; }
.fx-journal-table { display: flex; flex-direction: column; gap: 6px; }
.fx-journal-head {
  display: none;
  grid-template-columns: 1.2fr 0.8fr 0.5fr 0.6fr 0.9fr 0.8fr;
  gap: 8px;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.65;
  padding: 0 4px;
}
.fx-journal-item {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 0.5fr 0.6fr 0.9fr 0.8fr;
  gap: 8px;
  align-items: center;
  padding: 10px;
  border-radius: 10px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  font-size: 0.82rem;
}
.fx-journal-more { margin: 8px 0 0; font-size: 0.78rem; }
.fx-perf-by-sym { margin: 8px 0 0; font-size: 0.78rem; }

@media (min-width: 900px) {
  .fx-layout { grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.7fr); }
  .fx-journal-head { display: grid; }
}
@media (max-width: 720px) {
  .fx-journal-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }
}

/* Light mode futures */
html.light .fx-sticky-bar,
body.light .fx-sticky-bar,
[data-theme="light"] .fx-sticky-bar {
  background: color-mix(in srgb, #fff 88%, transparent);
  border-color: rgba(0,0,0,0.08);
}
html.light .fx-metric,
body.light .fx-metric,
[data-theme="light"] .fx-metric,
html.light .fx-scanner-row,
body.light .fx-scanner-row,
[data-theme="light"] .fx-scanner-row,
html.light .fx-active-card,
body.light .fx-active-card,
[data-theme="light"] .fx-active-card,
html.light .fx-journal-item,
body.light .fx-journal-item,
[data-theme="light"] .fx-journal-item {
  background: rgba(0,0,0,0.03);
  border-color: rgba(0,0,0,0.06);
}
html.light .fx-empty,
body.light .fx-empty,
[data-theme="light"] .fx-empty {
  color: #5a6478;
  border-color: rgba(0,0,0,0.1);
}
html.light .fx-chip,
body.light .fx-chip,
[data-theme="light"] .fx-chip {
  border-color: rgba(0,0,0,0.12);
}
html.light .fx-tip,
body.light .fx-tip,
[data-theme="light"] .fx-tip {
  border-bottom-color: rgba(0,0,0,0.3);
}

/* Chart Lab 2.0 */
.page-home-v2, .page-my-cl, .page-alerts, .page-analysis-share { overflow-x: clip; }
.cl2-wrap { max-width: 980px; width: 100%; box-sizing: border-box; }
.cl2-hero { margin-bottom: 18px; }
.cl2-hero-compact .cl2-title { font-size: 1.35rem; }
.cl2-title { margin: 0 0 12px; font-size: clamp(1.35rem, 3.2vw, 1.85rem); line-height: 1.25; max-width: 22ch; }
.cl2-search { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.cl2-search input { flex: 1; min-width: 0; padding: 12px 14px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.12); background: rgba(0,0,0,0.25); color: inherit; font-size: 1rem; }
.cl2-topbar { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; font-size: 0.85rem; }
.cl2-section { margin: 0 0 22px; }
.cl2-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.cl2-section h2 { margin: 0 0 8px; font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.75; }
.cl2-pulse-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.cl2-pulse-card { display: block; padding: 12px; border-radius: 12px; background: rgba(255,255,255,0.035); border: 1px solid rgba(255,255,255,0.08); text-decoration: none; color: inherit; }
.cl2-pulse-top { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.cl2-pulse-px { font-size: 1.15rem; font-weight: 650; margin-bottom: 6px; }
.cl2-pulse-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: 0.72rem; opacity: 0.8; }
.cl2-pulse-card .up { color: #9ee7b8; }
.cl2-pulse-card .down { color: #ffb4b4; }
.cl2-brief { margin: 0; font-size: 0.95rem; line-height: 1.45; max-width: 70ch; }
.cl2-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.cl2-tabs button { padding: 6px 10px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.12); background: transparent; color: inherit; font-size: 0.78rem; cursor: pointer; }
.cl2-tabs button.is-on { background: rgba(255,255,255,0.08); }
.cl2-opp-list, .cl2-list { display: flex; flex-direction: column; gap: 8px; }
.cl2-opp { padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,0.03); display: grid; gap: 6px; }
.cl2-note { font-size: 0.8rem; margin: 0 0 8px; }
.cl2-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; }
.cl2-links .mode-card { padding: 12px; margin: 0; text-decoration: none; }
.cl2-skel { min-height: 96px; border-radius: 12px; background: rgba(255,255,255,0.04); animation: cl2pulse 1.2s ease-in-out infinite; }
@keyframes cl2pulse { 50% { opacity: 0.55; } }
.cl2-change { padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.88rem; }
.cl2-share-card { padding: 18px; border-radius: 14px; background: rgba(255,255,255,0.04); margin-bottom: 14px; }
.cl2-share-signal { font-size: 1.1rem; font-weight: 650; }
.cl2-share-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0; }
.cl2-share-grid span { display: block; font-size: 0.7rem; opacity: 0.65; }
.cl2-admin { white-space: pre-wrap; font-size: 0.8rem; background: rgba(0,0,0,0.3); padding: 12px; border-radius: 10px; }
.nav-quota { font-size: 0.75rem; opacity: 0.85; white-space: nowrap; }
.az-actions { margin-top: 10px; }
.az-signal-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) {
  .az-signal-meta { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .cl2-pulse-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 420px) {
  .cl2-pulse-grid { grid-template-columns: 1fr; }
  .cl2-search { flex-direction: column; }
  .cl2-search .btn { width: 100%; }
}


.fx-conn-envs{display:grid;gap:12px;margin:12px 0}
.fx-conn-env{padding:10px 0;border-top:1px solid rgba(127,127,127,.25)}
.fx-conn-env .fx-h3{margin:0 0 6px;font-size:0.95rem}
.fx-testnet-form{margin:12px 0;padding:12px;border:1px solid rgba(127,127,127,.3);border-radius:8px}
.fx-warn{opacity:.95;font-size:0.85rem;margin:8px 0}
.fx-cert-status{margin:0 0 12px;font-size:0.9rem}
.fx-mainnet-connect{margin-top:12px}

.market-board-section { margin-top: 16px; }
.market-opp-row,
.market-alert-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  color: inherit;
  text-decoration: none;
}
.market-alert-row { display: block; }
#marketFreshness { margin: 0 0 12px; }
