/* ============================================================
   COMMUNITY HUB + LUNARCRUSH INTEL
   Extends styles/outpost.css - same dark navy + electric blue language,
   0px radius, hairline borders, mono accents. No new design tokens.
   ============================================================ */

:root{
  /* Lighter sky-blue accent reserved for TEXT on dark surfaces.
     --op-accent stays the deep electric blue for buttons, borders, glows. */
  --op-accent-text: #6FA3FF;
  --op-accent-text-soft: #4B7DE6;
  /* LunarCrush / Social-graph tone */
  --op-violet: #9b8cff;
  --op-violet-text: #bfb3ff;
}

/* ---------- Shared primitives ---------- */

.ch-block__head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; margin-bottom:24px; flex-wrap:wrap;
}
.ch-block__eyebrow{
  font-family:var(--font-mono); font-size:11px;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--c-fg-3);
  display:inline-flex; align-items:center; gap:6px;
}
.ch-block__h{
  font-family:var(--font-display); font-weight:500;
  font-size:28px; line-height:1.15; letter-spacing:-0.03em;
  color:var(--c-fg); margin:8px 0 0;
}
.ch-block__sub{
  font-family:var(--font-mono); font-size:11px;
  color:var(--c-fg-4); letter-spacing:0.04em;
}
.ch-block__legend{
  display:flex; gap:14px; flex-wrap:wrap;
  font-family:var(--font-mono); font-size:11px; color:var(--c-fg-3);
  letter-spacing:0.04em;
}
.ch-block__legend span{ display:inline-flex; align-items:center; gap:6px; }
.ch-block__legend i{ width:8px; height:8px; display:inline-block; }

.ch-dot{ color:var(--c-fg-4); }
.ch-h{ color:var(--op-accent-text); }

/* Avatar (deterministic per-handle gradient via attribute hash) */
.ch-avatar{
  width:36px; height:36px; border-radius:50%;
  background:linear-gradient(135deg,#3F4763,#1B1E29);
  border:1px solid var(--c-line-strong);
  flex-shrink:0;
  position:relative;
  overflow:hidden;
}
.ch-avatar::after{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,0.18) 0%, transparent 50%),
    radial-gradient(circle at 70% 70%, rgba(10,55,216,0.32) 0%, transparent 60%);
}
.ch-avatar--lg{ width:56px; height:56px; }

/* Streak flame */
.ch-streak{
  display:inline-flex; align-items:center; gap:5px;
  font-family:var(--font-mono); font-size:11px;
  color:var(--c-fg-4); letter-spacing:0.02em;
}
.ch-streak b{ color:var(--c-fg-2); font-weight:500; }
.ch-streak svg{ color:#FF7A3D; filter: drop-shadow(0 0 4px rgba(255,122,61,0.4)); }
.ch-streak.is-hot{ color:#FFB870; }
.ch-streak.is-hot b{ color:#FF9B57; }
.ch-streak.is-hot svg{ color:#FF7A3D; filter: drop-shadow(0 0 6px rgba(255,122,61,0.6)); }
.ch-streak.is-blazing{ color:#FFD24A; }
.ch-streak.is-blazing b{ color:#FFD24A; }
.ch-streak.is-blazing svg{ color:#FF5A1F; filter: drop-shadow(0 0 8px rgba(255,90,31,0.8)); }

/* Tier badge */
.ch-tier{
  display:inline-flex; align-items:center; gap:6px;
  padding:3px 8px; font-family:var(--font-mono);
  font-size:10px; letter-spacing:0.08em; text-transform:uppercase;
  border:1px solid;
  background:rgba(255,255,255,0.02);
}
.ch-tier__dot{ width:5px; height:5px; display:inline-block; }

/* ============================================================
   SECTION ZONES - distinct backgrounds for feed / community / socialgraph
   ============================================================ */
.zone{ position:relative; }
.zone--feed{ background: var(--c-bg); }
.zone--community{
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(10,55,216,0.10) 0%, transparent 60%),
    radial-gradient(ellipse 60% 100% at 0% 100%, rgba(111,163,255,0.04) 0%, transparent 60%),
    #14172B;
}
.zone--socialgraph{
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(155,140,255,0.10) 0%, transparent 60%),
    radial-gradient(ellipse 70% 100% at 100% 100%, rgba(10,55,216,0.04) 0%, transparent 60%),
    #16142A;
}

/* SECTION MARK - numbered band that separates major zones */
.sm{
  position:relative;
  border-top:1px solid var(--c-line);
  border-bottom:1px solid var(--c-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.025) 0%, transparent 100%);
  scroll-margin-top: 64px;
}
.sm::before, .sm::after{
  content:""; position:absolute; left:0; right:0; height:1px;
  background:repeating-linear-gradient(90deg, var(--c-line) 0 6px, transparent 6px 12px);
  opacity:0.6;
}
.sm::before{ top:-1px; }
.sm::after{ bottom:-1px; }
.sm__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding-top: 22px; padding-bottom: 22px;
  gap:24px; flex-wrap:wrap;
}
.sm__l{ display:flex; align-items:baseline; gap:14px; }
.sm__n{
  font-family:var(--font-display); font-weight:500;
  font-size:44px; line-height:0.9; letter-spacing:-0.04em;
  color:var(--c-fg);
}
.sm__slash{
  font-family:var(--font-display); font-size:32px;
  color:var(--c-line-strong); font-weight:300;
}
.sm__label{
  font-family:var(--font-mono); font-size:14px;
  letter-spacing:0.16em; text-transform:uppercase;
  color:var(--c-fg-2); font-weight:500;
}
.sm__sub{
  font-family:var(--font-mono); font-size:11px;
  letter-spacing:0.04em; color:var(--c-fg-4);
  text-transform:uppercase;
}
.sm--feed{
  background: linear-gradient(180deg, rgba(255,255,255,0.025) 0%, transparent 100%);
}
.sm--feed .sm__n{ color:var(--c-fg); }
.sm--community{
  background:
    linear-gradient(180deg, rgba(10,55,216,0.18) 0%, rgba(10,55,216,0.04) 100%);
  border-top-color: rgba(111,163,255,0.25);
  border-bottom-color: rgba(111,163,255,0.15);
}
.sm--community .sm__n{ color:#6FA3FF; }
.sm--community .sm__label{ color:#6FA3FF; }
.sm--socialgraph{
  background:
    linear-gradient(180deg, rgba(155,140,255,0.16) 0%, rgba(155,140,255,0.04) 100%);
  border-top-color: rgba(155,140,255,0.25);
  border-bottom-color: rgba(155,140,255,0.15);
}
.sm--socialgraph .sm__n{ color:#bfb3ff; }
.sm--socialgraph .sm__label{ color:#bfb3ff; }

@media (max-width: 640px){
  .sm__inner{ padding-top:16px; padding-bottom:16px; }
  .sm__n{ font-size:32px; }
  .sm__label{ font-size:12px; }
}

/* ============================================================
   SOCIAL PULSE - home-page quick-nav strip
   ============================================================ */
.sp-pulse{
  border-bottom:1px solid var(--c-line);
  padding: 24px 0 32px;
  background:
    linear-gradient(180deg, rgba(10,55,216,0.04) 0%, transparent 60%);
}
.sp-pulse__inner{
  display:grid; grid-template-columns: 1fr 1fr; gap:0;
  border-top:1px solid var(--c-line);
  border-left:1px solid var(--c-line);
}
.sp-card{
  display:flex; flex-direction:column; gap:14px;
  padding:22px 24px 24px;
  border-right:1px solid var(--c-line);
  border-bottom:1px solid var(--c-line);
  text-decoration:none; color:inherit;
  cursor:pointer; position:relative;
  transition: background var(--dur-base) var(--ease-standard);
}
.sp-card:hover{ background:rgba(255,255,255,0.025); }
.sp-card:hover .sp-arr{ transform:translateX(4px); color:var(--op-accent-text); }
.sp-card__head{
  display:flex; align-items:center; justify-content:space-between;
  font-family:var(--font-mono); font-size:11px;
  letter-spacing:0.1em; text-transform:uppercase;
}
.sp-card__eyebrow{ color:var(--op-accent-text); font-weight:500; }
.sp-card__eyebrow--lc{ color:#9b8cff; }
.sp-card__cta{
  color:var(--c-fg-3); display:inline-flex; align-items:center; gap:6px;
}
.sp-arr{
  display:inline-block; transition: transform var(--dur-base) var(--ease-standard), color var(--dur-base) var(--ease-standard);
  color:var(--c-fg-3);
}
.sp-card__h{
  font-family:var(--font-display); font-weight:500;
  font-size:24px; letter-spacing:-0.02em; color:var(--c-fg);
  margin:0; line-height:1.15;
}
.sp-card__sub{
  font-size:13px; color:var(--c-fg-3); margin:0;
  line-height:1.5; max-width:520px;
}

/* Leaderboard preview rows */
.sp-card__mini{
  margin-top:6px;
  display:flex; flex-direction:column;
  border-top:1px solid var(--c-line);
}
.sp-mini{
  display:grid;
  grid-template-columns: 28px 22px 1fr auto;
  gap:10px; align-items:center;
  padding:7px 0;
  border-bottom:1px solid var(--c-line);
  font-family:var(--font-mono); font-size:11px;
}
.sp-mini:last-child{ border-bottom:0; }
.sp-mini__r{ color:var(--c-fg-4); }
.sp-mini__av{ width:20px; height:20px; }
.sp-mini__n{ color:var(--c-fg); }
.sp-mini__s{ color:var(--c-fg-2); font-weight:500; }
.sp-mini:first-child .sp-mini__r{ color:var(--op-accent-text); }

/* LunarCrush preview stats */
.sp-card__stats{
  margin-top:4px;
  display:grid; grid-template-columns: repeat(4, 1fr); gap:0;
  border-top:1px solid var(--c-line);
  border-left:1px solid var(--c-line);
}
.sp-stat{
  padding:12px 14px;
  border-right:1px solid var(--c-line);
  border-bottom:1px solid var(--c-line);
  display:flex; flex-direction:column; gap:4px;
  min-height:70px;
}
.sp-stat b{
  font-family:var(--font-display); font-weight:500;
  font-size:22px; line-height:1; letter-spacing:-0.02em;
  color:var(--c-fg);
}
.sp-stat span{
  font-family:var(--font-mono); font-size:10px;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--c-fg-4);
}
.sp-stat--sent{ justify-content:center; }
.sp-stat--sent .ch-sent{
  padding:4px 8px; font-size:10px; letter-spacing:0.08em;
  align-self:flex-start;
}

@media (max-width: 900px){
  .sp-pulse__inner{ grid-template-columns: 1fr; }
  .sp-card__stats{ grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   BANNER
   ============================================================ */
.ch-banner{
  position:relative; overflow:hidden;
  border-bottom:1px solid var(--c-line);
  padding: 56px 0;
  background:
    radial-gradient(ellipse at 90% 0%, rgba(10,55,216,0.16) 0%, transparent 55%),
    radial-gradient(ellipse at 10% 100%, rgba(155,140,255,0.08) 0%, transparent 50%);
}
.ch-banner__bg{ position:absolute; inset:0; opacity:0.5; pointer-events:none; }
.ch-banner__inner{
  position:relative; z-index:1;
  display:grid; grid-template-columns: 1fr auto; gap:48px; align-items:flex-end;
}
.ch-banner__eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-mono); font-size:11px;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--c-fg-3);
  margin-bottom:18px;
}
.ch-banner__eyebrow .dot{
  width:6px; height:6px; background:var(--op-accent);
  box-shadow:0 0 8px var(--op-accent);
}
.ch-banner__h{
  font-family:var(--font-display); font-weight:500;
  font-size:clamp(40px, 5vw, 64px); line-height:1.02;
  letter-spacing:-0.045em; color:var(--c-fg); margin:0;
}
.ch-banner__h .gray{ color:var(--c-fg-3); }
.ch-banner__sub{
  margin:18px 0 0; max-width:600px;
  color:var(--c-fg-3); font-size:15px; line-height:1.6;
}
.ch-banner__stats{
  display:grid; grid-template-columns: repeat(2, auto); gap:10px 32px;
  font-family:var(--font-mono); font-size:11px; color:var(--c-fg-3);
}
.ch-banner__stats b{
  color:var(--c-fg); font-weight:500; font-size:22px; display:block;
  font-family:var(--font-display); letter-spacing:-0.02em;
}

/* ============================================================
   FEATURED POST
   ============================================================ */
.ch-featured{
  border-bottom:1px solid var(--c-line);
  padding: 48px 0;
}
.ch-featured__head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:20px;
  font-family:var(--font-mono); font-size:11px;
  letter-spacing:0.08em; color:var(--c-fg-3);
}
.ch-featured__rank{
  color:var(--op-accent-text); font-weight:500;
}
.ch-featured__meta{ color:var(--c-fg-4); }
.ch-featured__card{
  border:1px solid var(--c-line);
  display:grid; grid-template-columns: 1fr 280px; gap:0;
  background:
    radial-gradient(ellipse at 0% 0%, rgba(10,55,216,0.10) 0%, transparent 50%),
    rgba(255,255,255,0.012);
}
.ch-featured__left{
  padding:32px;
  display:flex; flex-direction:column; gap:20px;
  min-width:0;
}
.ch-featured__byline{
  display:flex; align-items:center; gap:14px;
}
.ch-featured__name{
  display:flex; flex-direction:column; line-height:1.2; margin-bottom:6px;
}
.ch-featured__name b{ color:var(--c-fg); font-weight:500; font-size:16px; }
.ch-featured__name span{
  font-family:var(--font-mono); color:var(--c-fg-4); font-size:11px;
}
.ch-featured__meta-row{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-family:var(--font-mono); font-size:11px; color:var(--c-fg-4);
  letter-spacing:0.04em;
}
.ch-followers{ color:var(--c-fg-3); }
.ch-featured__text{
  margin:0; color:var(--c-fg);
  font-family:var(--font-display);
  font-size:20px; line-height:1.45; letter-spacing:-0.012em;
  white-space:pre-line;
}
.ch-featured__stats{
  display:flex; gap:24px; flex-wrap:wrap;
  font-family:var(--font-mono); font-size:11px; color:var(--c-fg-4);
  padding:14px 0;
  border-top:1px solid var(--c-line);
  border-bottom:1px solid var(--c-line);
}
.ch-featured__stats span{ display:inline-flex; align-items:baseline; gap:6px; }
.ch-featured__stats b{
  color:var(--c-fg); font-weight:500;
  font-family:var(--font-display); font-size:18px; letter-spacing:-0.02em;
}
.ch-featured__cta{ display:flex; gap:10px; flex-wrap:wrap; }

.ch-featured__score{
  border-left:1px solid var(--c-line);
  padding:32px; display:flex; flex-direction:column; gap:14px;
  background: linear-gradient(180deg, rgba(10,55,216,0.06), transparent 60%);
}
.ch-featured__score-h{
  font-family:var(--font-mono); font-size:11px;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--c-fg-3);
}
.ch-featured__score-v{
  font-family:var(--font-display); font-weight:500;
  font-size:56px; line-height:1; letter-spacing:-0.04em;
  color:var(--c-fg);
}
.ch-featured__score-bar{
  width:100%; height:4px; background:var(--c-line); position:relative;
}
.ch-featured__score-fill{
  height:100%; background: var(--op-accent);
  box-shadow: 0 0 12px var(--op-accent);
}
.ch-featured__score-breakdown{
  list-style:none; margin:8px 0 0; padding:0;
  display:flex; flex-direction:column; gap:8px;
  font-family:var(--font-mono); font-size:11px; color:var(--c-fg-3);
}
.ch-featured__score-breakdown li{
  display:flex; justify-content:space-between; gap:12px;
  border-bottom:1px solid var(--c-line); padding-bottom:7px;
}
.ch-featured__score-breakdown li:last-child{ border-bottom:0; }
.ch-featured__score-breakdown b{ color:var(--c-fg); font-weight:500; }

/* ============================================================
   SPLIT - leaderboard + top posts
   ============================================================ */
.ch-split{
  border-bottom:1px solid var(--c-line);
  padding: 56px 0;
}
.ch-split__grid{
  display:grid; grid-template-columns: 1.05fr 0.95fr; gap:48px;
}

/* Leaderboard table */
.ch-leaderboard{ display:flex; flex-direction:column; }
.ch-row{
  display:grid;
  grid-template-columns: 36px 36px 1fr auto auto auto auto 70px;
  gap:14px; align-items:center;
  padding:14px 0;
  border-bottom:1px solid var(--c-line);
  text-decoration:none; color:inherit;
  transition: background var(--dur-base) var(--ease-standard);
}
.ch-row:hover{ background:rgba(255,255,255,0.02); }
.ch-row--head{
  padding:10px 0;
  font-family:var(--font-mono); font-size:10px;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--c-fg-4);
  border-top:1px solid var(--c-line);
  background: rgba(255,255,255,0.015);
}
.ch-row--head:hover{ background: rgba(255,255,255,0.015); }
.ch-row__rank{
  font-family:var(--font-mono); font-size:13px;
  color:var(--c-fg-4); letter-spacing:0.02em;
  text-align:left; padding-left:6px;
}
.ch-row[data-rank="1"] .ch-row__rank,
.ch-row[data-rank="2"] .ch-row__rank,
.ch-row[data-rank="3"] .ch-row__rank{
  color:var(--c-fg); font-weight:500;
}
.ch-row[data-rank="1"]{
  background: linear-gradient(90deg, rgba(10,55,216,0.07) 0%, transparent 80%);
  border-left:2px solid var(--op-accent);
  padding-left:0;
}
.ch-row[data-rank="1"] .ch-row__rank{ color:var(--op-accent-text); }
.ch-row__id{ display:flex; flex-direction:column; min-width:0; }
.ch-row__id b{ color:var(--c-fg); font-weight:500; font-size:14px; line-height:1.2; }
.ch-row__id span{ font-family:var(--font-mono); font-size:11px; color:var(--c-fg-4); }
.ch-row__tier{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-mono); font-size:11px;
  letter-spacing:0.04em; white-space:nowrap;
}
.ch-row__tier-dot{ width:6px; height:6px; display:inline-block; }
.ch-row__followers, .ch-row__posts{
  font-family:var(--font-mono); font-size:12px;
  color:var(--c-fg-3); text-align:right; min-width:48px;
}
.ch-row__score{
  font-family:var(--font-display); font-size:18px; font-weight:500;
  color:var(--c-fg); letter-spacing:-0.02em; text-align:right;
}
.ch-leaderboard__foot{
  display:flex; align-items:center; justify-content:space-between;
  font-family:var(--font-mono); font-size:11px; color:var(--c-fg-4);
  padding-top:14px; letter-spacing:0.04em;
}
.ch-leaderboard__foot a{ color:var(--c-fg-3); }
.ch-leaderboard__foot a:hover{ color:var(--op-accent-text); }

/* Top posts grid */
.ch-posts{ display:flex; flex-direction:column; gap:24px; }
.ch-posts__grid{
  display:grid; grid-template-columns: repeat(2, 1fr); gap:0;
  border-top:1px solid var(--c-line);
  border-left:1px solid var(--c-line);
}
.ch-post{
  display:flex; flex-direction:column; gap:12px;
  padding:18px;
  border-right:1px solid var(--c-line);
  border-bottom:1px solid var(--c-line);
  cursor:pointer; text-decoration:none; color:inherit;
  transition: background var(--dur-base) var(--ease-standard);
  min-height:100%;
}
.ch-post:hover{ background:rgba(255,255,255,0.02); }
.ch-post:hover .op-card__arr{ transform:translateX(4px); color:var(--op-accent-text); }
.ch-post__head{
  display:flex; align-items:center; justify-content:space-between;
  font-family:var(--font-mono); font-size:10px;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--c-fg-4);
}
.ch-post__rank{ color:var(--c-fg-2); font-weight:500; }
.ch-post__type{
  padding:2px 6px; border:1px solid var(--c-line); color:var(--c-fg-3);
}
.ch-post__byline{
  display:flex; align-items:center; gap:10px;
}
.ch-post__byline .ch-avatar{ width:28px; height:28px; }
.ch-post__byline b{ color:var(--c-fg); font-weight:500; font-size:13px; display:block; line-height:1.2; }
.ch-post__byline span{ font-family:var(--font-mono); font-size:11px; color:var(--c-fg-4); }
.ch-post__text{
  font-size:14px; line-height:1.45; color:var(--c-fg-2);
  margin:0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.ch-post__stats{
  display:flex; gap:14px; align-items:center;
  font-family:var(--font-mono); font-size:11px; color:var(--c-fg-4);
}
.ch-post__stats span{ display:inline-flex; align-items:center; gap:4px; }
.ch-post__score{
  margin-left:auto;
  color:var(--c-fg); font-weight:500;
}
.ch-post__foot{
  margin-top:auto; padding-top:10px;
  border-top:1px solid var(--c-line);
  display:flex; align-items:center; justify-content:space-between;
}

/* ============================================================
   SUBMIT CTA
   ============================================================ */
.ch-submit{
  border-bottom:1px solid var(--c-line);
  padding:48px 0;
  background:
    linear-gradient(180deg, rgba(10,55,216,0.04), transparent 60%);
}
.ch-submit__grid{
  display:grid; grid-template-columns: 1fr 1.2fr; gap:48px; align-items:center;
}
.ch-submit__copy p{
  color:var(--c-fg-3); font-size:14px; line-height:1.6;
  margin:14px 0 0; max-width:480px;
}
.ch-submit__form{
  display:flex; gap:0; align-items:stretch;
}
.ch-submit__input{
  flex:1; display:flex; align-items:center;
  border:1px solid var(--c-line);
  background:var(--c-bg-sunken);
  height:48px;
  transition: border-color var(--dur-base) var(--ease-standard);
}
.ch-submit__input:focus-within{ border-color:var(--op-accent); }
.ch-submit__prefix{
  padding:0 14px; height:100%;
  display:inline-flex; align-items:center;
  font-family:var(--font-mono); font-size:12px;
  color:var(--c-fg-4); border-right:1px solid var(--c-line);
  background: rgba(255,255,255,0.02);
}
.ch-submit__input input{
  flex:1; background:transparent; border:0; outline:0;
  padding:0 14px;
  color:var(--c-fg); font-family:var(--font-mono); font-size:13px;
  height:100%;
}
.ch-submit__input input::placeholder{ color:var(--c-fg-4); }
.ch-submit__form .op-feature__cta{
  height:48px; padding:0 24px; align-self:stretch;
  margin-left:-1px;
}
.ch-submit__form button:disabled{ opacity:0.7; cursor:not-allowed; }

/* ============================================================
   FLYWHEEL
   ============================================================ */
.ch-flywheel{
  padding: 56px 0;
  border-bottom:1px solid var(--c-line);
}
.ch-flywheel__steps{
  list-style:none; padding:0; margin:32px 0 0;
  display:grid; grid-template-columns: repeat(4, 1fr); gap:0;
  border-top:1px solid var(--c-line);
  border-left:1px solid var(--c-line);
}
.ch-flywheel__steps li{
  position:relative;
  padding: 24px 24px 28px;
  border-right:1px solid var(--c-line);
  border-bottom:1px solid var(--c-line);
  display:flex; flex-direction:column; gap:10px;
}
.ch-flywheel__n{
  font-family:var(--font-mono); font-size:11px;
  letter-spacing:0.08em; color:var(--op-accent-text); font-weight:500;
}
.ch-flywheel__t{
  font-family:var(--font-display); font-weight:500;
  font-size:18px; letter-spacing:-0.02em; color:var(--c-fg);
}
.ch-flywheel__d{
  font-size:13px; line-height:1.55; color:var(--c-fg-3);
}
.ch-flywheel__arr{
  position:absolute; right:-9px; top:38px;
  width:18px; height:18px;
  background:var(--c-bg);
  display:grid; place-items:center;
  font-family:var(--font-mono); color:var(--op-accent-text);
  border:1px solid var(--c-line);
  z-index:1;
}

/* ============================================================
   LUNARCRUSH INTEL
   ============================================================ */
.ch-lc{
  padding: 56px 0;
  border-bottom:1px solid var(--c-line);
  background:
    radial-gradient(ellipse at 0% 100%, rgba(155,140,255,0.06) 0%, transparent 50%);
}
.ch-lc__brand{
  color:#9b8cff; font-weight:500;
  letter-spacing:0.12em;
}
.ch-lc__status{ display:flex; gap:8px; align-items:center; }
.ch-lc__pill{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 10px; font-family:var(--font-mono);
  font-size:10px; letter-spacing:0.08em; text-transform:uppercase;
  border:1px solid var(--c-line); color:var(--c-fg-3);
  background: rgba(255,255,255,0.02);
}
.ch-lc__pill--live{ color:var(--c-success); border-color: rgba(34,197,94,0.4); }
.ch-lc__pill--cache{ color:#FFB870; border-color: rgba(255,184,112,0.3); }
.ch-lc__pill--loading{ color:var(--c-fg-3); }
.ch-lc__spin{
  width:8px; height:8px; border-radius:50%;
  border:1.5px solid var(--c-fg-4);
  border-top-color: var(--c-fg);
  animation: ch-spin 0.8s linear infinite;
}
@keyframes ch-spin{ to{ transform:rotate(360deg); } }

.ch-lc__grid{
  display:grid; grid-template-columns: 1fr 320px; gap:32px;
}

/* Stats row */
.ch-lc__stats{
  display:grid; grid-template-columns: repeat(4, 1fr); gap:0;
  border-top:1px solid var(--c-line);
  border-left:1px solid var(--c-line);
}
.ch-stat{
  padding: 20px 22px;
  border-right:1px solid var(--c-line);
  border-bottom:1px solid var(--c-line);
  display:flex; flex-direction:column; gap:8px;
  min-height:104px;
}
.ch-stat__k{
  font-family:var(--font-mono); font-size:10px;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--c-fg-4);
}
.ch-stat__v{
  font-family:var(--font-display); font-weight:500;
  font-size:32px; line-height:1; color:var(--c-fg);
  letter-spacing:-0.03em;
}
.ch-stat__v.is-mono{ font-family:var(--font-mono); font-size:28px; letter-spacing:-0.02em; }
.ch-stat__s{
  font-family:var(--font-mono); font-size:11px; color:var(--c-fg-4);
  letter-spacing:0.02em;
  display:flex; align-items:center; gap:8px;
}
.ch-stat__d{
  font-family:var(--font-mono); font-size:10px;
}
.ch-stat__d.up{ color:var(--c-success); }
.ch-stat__d.down{ color:var(--c-danger); }

/* Sentiment */
.ch-lc__sentiment{
  display:grid; grid-template-columns: 1fr 1fr; gap:32px;
  padding:24px;
  border:1px solid var(--c-line);
  border-top:0;
  background: rgba(255,255,255,0.012);
  align-items:center;
}
.ch-lc__sent-row{
  display:flex; align-items:center; gap:16px; margin-top:10px;
  flex-wrap:wrap;
}
.ch-lc__sent-note{
  font-size:13px; color:var(--c-fg-3); line-height:1.5; max-width:380px;
}
.ch-sent{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; font-family:var(--font-mono);
  font-size:13px; letter-spacing:0.08em; text-transform:uppercase;
  border:1px solid;
}
.ch-sent__dot{ width:7px; height:7px; display:inline-block; }
.ch-sent--bullish{ color:var(--c-success); border-color: rgba(34,197,94,0.5); background: rgba(34,197,94,0.06); }
.ch-sent--bullish .ch-sent__dot{ background:var(--c-success); box-shadow:0 0 8px var(--c-success); }
.ch-sent--neutral{ color:var(--c-fg-2); border-color: var(--c-line-strong); background: rgba(255,255,255,0.03); }
.ch-sent--neutral .ch-sent__dot{ background:var(--c-fg-2); }
.ch-sent--bearish{ color:var(--c-danger); border-color: rgba(252,60,48,0.5); background: rgba(252,60,48,0.06); }
.ch-sent--bearish .ch-sent__dot{ background:var(--c-danger); box-shadow:0 0 8px var(--c-danger); }

.ch-lc__bar{
  position:relative; height:36px;
  border:1px solid var(--c-line);
  background:
    linear-gradient(90deg,
      rgba(252,60,48,0.10) 0%,
      rgba(252,60,48,0.05) 33%,
      rgba(255,255,255,0.02) 50%,
      rgba(34,197,94,0.05) 66%,
      rgba(34,197,94,0.14) 100%);
  display:flex; align-items:center;
  font-family:var(--font-mono); font-size:10px;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--c-fg-4);
}
.ch-lc__bar-tick{ position:absolute; top:0; bottom:0; width:1px; background:var(--c-line); }
.ch-lc__bar-l{ padding-left:10px; }
.ch-lc__bar-m{ position:absolute; left:50%; transform:translateX(-50%); }
.ch-lc__bar-r{ margin-left:auto; padding-right:10px; }
.ch-lc__bar-marker{
  position:absolute; top:-4px; bottom:-4px; width:2px;
  background:var(--c-fg);
  box-shadow: 0 0 12px rgba(255,255,255,0.6);
  transition: left var(--dur-base) var(--ease-standard);
}
.ch-lc__bar-marker::after{
  content:""; position:absolute; left:50%; top:0;
  transform:translate(-50%, -100%);
  border-left:5px solid transparent; border-right:5px solid transparent;
  border-top:5px solid var(--c-fg);
}

/* Mentions feed */
.ch-lc__feed{
  margin-top:24px;
  border:1px solid var(--c-line);
}
.ch-feed__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 18px;
  border-bottom:1px solid var(--c-line);
  font-family:var(--font-mono); font-size:11px;
  color:var(--c-fg-3); letter-spacing:0.04em;
  background: linear-gradient(180deg, rgba(255,255,255,0.025), transparent);
}
.ch-feed__count{ color:var(--c-fg-4); text-transform:none; }
.ch-feed__list{ display:flex; flex-direction:column; }
.ch-feed__item{
  display:flex; gap:14px; padding:16px 18px;
  border-bottom:1px solid var(--c-line);
}
.ch-feed__item:last-child{ border-bottom:0; }
.ch-feed__body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:8px; }
.ch-feed__name{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  font-family:var(--font-mono); font-size:11px; color:var(--c-fg-4);
}
.ch-feed__name b{ color:var(--c-fg); font-weight:500; font-size:13px; font-family:var(--font-body); }
.ch-feed__tag{
  padding:1px 6px; font-size:10px;
  letter-spacing:0.06em; text-transform:uppercase;
  border:1px solid;
}
.ch-feed__tag--bullish{ color:var(--c-success); border-color: rgba(34,197,94,0.4); }
.ch-feed__tag--neutral{ color:var(--c-fg-3); border-color: var(--c-line-strong); }
.ch-feed__tag--bearish{ color:var(--c-danger); border-color: rgba(252,60,48,0.4); }
.ch-feed__text{
  margin:0; font-size:14px; line-height:1.55; color:var(--c-fg);
}
.ch-feed__stats{
  font-family:var(--font-mono); font-size:11px; color:var(--c-fg-4);
}
.ch-feed__stats span{ display:inline-flex; align-items:center; gap:5px; }

/* Trending sidebar */
.ch-lc__side{
  border:1px solid var(--c-line);
  display:flex; flex-direction:column;
  align-self:flex-start;
}
.ch-trending{ display:flex; flex-direction:column; }
.ch-trending__row{
  display:grid;
  grid-template-columns: 28px 48px 1fr auto auto;
  gap:10px; align-items:center;
  padding:11px 18px;
  border-bottom:1px solid var(--c-line);
  font-family:var(--font-mono); font-size:11px; color:var(--c-fg-3);
  text-decoration:none;
  transition: background var(--dur-base) var(--ease-standard);
}
.ch-trending__row:hover{ background:rgba(255,255,255,0.02); }
.ch-trending__row.is-self{ background: rgba(10,55,216,0.08); }
.ch-trending__row.is-self .ch-trending__sym{ color:var(--op-accent-text); }
.ch-trending__row:last-child{ border-bottom:0; }
.ch-trending__n{ color:var(--c-fg-4); }
.ch-trending__sym{ color:var(--c-fg); font-weight:500; }
.ch-trending__name{
  color:var(--c-fg-3); font-family:var(--font-body); font-size:12px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ch-trending__delta.up{ color:var(--c-success); }
.ch-trending__delta.down{ color:var(--c-danger); }
.ch-trending__gs{
  color:var(--c-fg); font-weight:500; min-width:24px; text-align:right;
}
.ch-lc__footnote{
  padding:14px 18px; border-top:1px solid var(--c-line);
  font-family:var(--font-mono); font-size:10px;
  color:var(--c-fg-4); letter-spacing:0.04em; line-height:1.5;
}

/* Skeleton shimmer */
.ch-skel{
  display:block;
  background: linear-gradient(90deg,
    rgba(255,255,255,0.04) 0%,
    rgba(255,255,255,0.08) 50%,
    rgba(255,255,255,0.04) 100%);
  background-size: 200% 100%;
  animation: ch-shimmer 1.4s linear infinite;
}
@keyframes ch-shimmer{
  from{ background-position: 200% 0; }
  to  { background-position: -200% 0; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1100px){
  .ch-split__grid{ grid-template-columns: 1fr; }
  .ch-lc__grid{ grid-template-columns: 1fr; }
  .ch-banner__inner{ grid-template-columns: 1fr; }
  .ch-banner__stats{ grid-template-columns: repeat(4, auto); }
  .ch-submit__grid{ grid-template-columns: 1fr; gap:24px; }
}
@media (max-width: 900px){
  .ch-featured__card{ grid-template-columns: 1fr; }
  .ch-featured__score{ border-left:0; border-top:1px solid var(--c-line); }
  .ch-flywheel__steps{ grid-template-columns: repeat(2, 1fr); }
  .ch-flywheel__arr{ display:none; }
  .ch-lc__stats{ grid-template-columns: repeat(2, 1fr); }
  .ch-lc__sentiment{ grid-template-columns: 1fr; gap:16px; }
  .ch-posts__grid{ grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .ch-banner__stats{ grid-template-columns: repeat(2, 1fr); }
  .ch-row{
    grid-template-columns: 30px 32px 1fr 60px;
    grid-template-areas:
      "rank av id score"
      "rank av tier  tier"
      "rank av meta  meta";
    row-gap:6px; padding:14px 0;
  }
  .ch-row__rank{ grid-area: rank; }
  .ch-row .ch-avatar{ grid-area: av; }
  .ch-row__id{ grid-area: id; }
  .ch-row__tier{ grid-area: tier; }
  .ch-row__score{ grid-area: score; }
  .ch-row__followers, .ch-row__posts, .ch-row .ch-streak{ display:none; }
  .ch-row--head{ display:none; }
  .ch-submit__form{ flex-direction:column; gap:0; }
  .ch-submit__form .op-feature__cta{ margin-left:0; margin-top:-1px; }
}
