
/* source: dist/styles.css */
:root{--paper:#f4f1e8;--paper-2:#ebe6d9;--ink:#152728;--muted:#6e7470;--teal:#1d4650;--bronze:#9b7843;--line:#cfc8b8;--green:#3d765d;--red:#a75b50}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,sans-serif}.top-rule{height:7px;background:var(--teal);border-bottom:2px solid var(--bronze)}.masthead{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4.5vw;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font-size:18px;font-weight:700;letter-spacing:.19em}.brand svg{width:31px;fill:none;stroke:var(--bronze);stroke-width:1.6}.market-state,.as-of,.eyebrow,.updated,.report-date,.placeholder-tag{font:500 10px/1.2 'DM Mono',monospace;letter-spacing:.13em}.market-state{color:var(--green)}.pulse{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #3d765d18}.as-of{text-align:right;color:var(--muted)}.as-of span{margin:0 8px;color:var(--bronze)}main{max-width:1500px;margin:auto;padding:0 4.5vw}.intro{padding:72px 0 58px;display:grid;grid-template-columns:1.5fr 1fr;position:relative}.intro:after{content:'❦';position:absolute;right:1%;top:50px;font-family:serif;font-size:96px;color:var(--bronze);opacity:.1}.eyebrow{color:var(--bronze);margin:0 0 16px}.intro .eyebrow{grid-column:1/-1}.intro h1{margin:0;font-family:Georgia,serif;font-weight:400;font-size:clamp(52px,6vw,88px);line-height:.91;letter-spacing:-.045em}.intro h1 em{font-weight:400;color:var(--teal)}.dek{align-self:end;justify-self:end;max-width:450px;color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 4px}.overview{display:grid;grid-template-columns:1.1fr 1fr .9fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.panel{padding:28px 30px;min-height:390px;border-right:1px solid var(--line)}.panel:last-child{border-right:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line)}.panel-heading>div{display:flex;gap:13px;align-items:center}.panel h2{margin:0;font-family:Georgia,serif;font-size:24px;font-weight:400}.index{font:500 10px 'DM Mono';color:var(--bronze);border:1px solid var(--bronze);border-radius:50%;width:22px;height:22px;display:grid;place-items:center}.icon-button{width:28px;height:28px;border:1px solid var(--line);background:transparent;color:var(--teal);font-size:20px;cursor:pointer}.watch-row{width:100%;display:grid;grid-template-columns:1.5fr .8fr .6fr;gap:10px;align-items:center;text-align:right;border:0;border-bottom:1px solid var(--line);background:transparent;padding:16px 0;color:var(--ink);font:12px Manrope;cursor:pointer}.watch-row>*:first-child{text-align:left}.header-row{font:500 9px 'DM Mono';letter-spacing:.12em;color:var(--muted);padding:13px 0 6px}.coin{display:flex;align-items:center;gap:10px}.coinmark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--paper-2);font-size:13px}.coin span{display:flex;flex-direction:column;gap:2px}.coin small{font:9px 'DM Mono';color:var(--muted)}.asset:hover,.asset.active{background:#fff9;padding-left:8px;padding-right:8px}.positive{color:var(--green)}.negative{color:var(--red)}.updated,.report-date{color:var(--green)}.sentiment-score{display:grid;grid-template-columns:124px 1fr;gap:22px;align-items:center;padding:28px 0 22px}.arc{width:120px;height:120px;border-radius:50%;border:8px solid var(--paper-2);border-top-color:var(--bronze);border-right-color:var(--bronze);transform:rotate(35deg);display:flex;flex-direction:column;align-items:center;justify-content:center}.arc span,.arc small{transform:rotate(-35deg)}.arc span{font:44px Georgia}.arc small{font:9px 'DM Mono';letter-spacing:.12em;color:var(--bronze)}.sentiment-copy strong{font-family:Georgia;font-size:18px;font-weight:400}.sentiment-copy p,.report-content>p:last-child{font-size:12px;line-height:1.6;color:var(--muted)}.signal-scale{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font:8px 'DM Mono';color:var(--muted)}.signal-scale div{height:4px;background:linear-gradient(90deg,var(--red),#d6ad59,var(--green));position:relative}.signal-scale i{position:absolute;width:9px;height:9px;border:2px solid var(--paper);border-radius:50%;background:var(--ink);left:72%;top:-3px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.mini-stats span{display:flex;flex-direction:column;border-right:1px solid var(--line);text-align:center}.mini-stats span:last-child{border:0}.mini-stats small{font:8px 'DM Mono';color:var(--muted);letter-spacing:.08em}.mini-stats strong{font:20px Georgia;margin-top:5px}.report-panel{position:relative;overflow:hidden}.report-mark{position:absolute;right:-24px;top:87px;font:190px Georgia;color:var(--bronze);opacity:.06}.report-content{position:relative;margin-top:42px}.report-content h3{font:400 30px/1.13 Georgia;margin:10px 0 16px;max-width:280px}.report-panel>a{position:absolute;bottom:28px;left:30px;right:30px;display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:13px;color:var(--ink);font:500 10px 'DM Mono';letter-spacing:.13em;text-decoration:none}.research{padding:90px 0}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.section-title h2{font:400 43px Georgia;margin:0}.section-title>p{font-size:12px;color:var(--muted);max-width:260px;line-height:1.6}.tabs{display:flex;border-bottom:1px solid var(--ink);gap:34px}.tab{border:0;background:none;padding:0 2px 15px;font:600 13px Manrope;color:var(--muted);cursor:pointer;position:relative}.tab span{margin-right:7px;color:var(--bronze)}.tab small{font:9px 'DM Mono';margin-left:5px}.tab.active{color:var(--ink)}.tab.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--bronze)}.asset-view{border:1px solid var(--line);border-top:0;padding:27px 30px 30px;background:#f8f6ef}.asset-head{display:flex;justify-content:space-between;align-items:center}.asset-head h3{font:400 30px Georgia;margin:0}.asset-head h3 span{font:11px 'DM Mono';color:var(--muted);margin-left:8px}.placeholder-tag{border:1px solid var(--line);padding:8px 10px;color:var(--green)}.chart-placeholder{height:280px;margin-top:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 69px,#dcd6c9 70px)}.chart-placeholder svg{position:absolute;inset:0 0 0 55px;width:calc(100% - 55px);height:100%}.area{fill:url(#fill)}.line{fill:none;stroke:var(--teal);stroke-width:2;stroke-dasharray:5 7;opacity:.36}.y-axis{position:absolute;left:0;top:10px;bottom:10px;display:flex;flex-direction:column;justify-content:space-between;font:8px 'DM Mono';color:var(--muted)}.empty-note{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:13px;background:var(--paper);padding:12px 18px;border:1px solid var(--line);box-shadow:0 8px 30px #2d3d3820}.empty-note>span{font-size:22px;color:var(--bronze)}.empty-note p{margin:0;font-size:11px;line-height:1.5;color:var(--muted)}.empty-note strong{color:var(--ink)}footer{height:80px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 4.5vw;font:8px 'DM Mono';letter-spacing:.13em;color:var(--muted)}.meander{color:var(--bronze);font-size:22px;letter-spacing:-.2em}@media(max-width:950px){.overview{grid-template-columns:1fr}.panel{border-right:0;border-bottom:1px solid var(--line)}.intro{grid-template-columns:1fr;gap:30px}.dek{justify-self:start}.panel{min-height:auto}.report-panel{min-height:350px}}@media(max-width:620px){.masthead{grid-template-columns:1fr auto}.market-state{display:none}.as-of{font-size:8px}.intro{padding:50px 0 40px}.intro h1{font-size:50px}.panel{padding:22px 18px}.sentiment-score{grid-template-columns:100px 1fr}.arc{width:96px;height:96px}.section-title{align-items:start;flex-direction:column;gap:18px}.tabs{gap:12px;overflow:auto}.tab{white-space:nowrap}.asset-view{padding:20px 14px}.placeholder-tag{display:none}.empty-note{min-width:210px}.research{padding:60px 0}footer span:last-child{display:none}}

/* source: dist/minimal.css */
:root {
  color-scheme: dark;
  --paper: #0d1110;
  --paper-2: #171d1a;
  --ink: #edf1ea;
  --muted: #929b95;
  --teal: #27443f;
  --bronze: #b88a4c;
  --line: #2b3430;
  --green: #65b58a;
  --red: #d27366;
}
body { background: var(--paper); }
.top-rule { background: #1d3632; }
.asset:hover, .asset.active { background: rgba(255,255,255,.055); }
.asset-view { background: #121714; }
.news-link:hover { background: rgba(255,255,255,.035); }
.empty-note { background: #121714; box-shadow: 0 8px 30px rgba(0,0,0,.35); }
.telegram-cta { box-shadow: 0 10px 30px rgba(0,200,5,.12); }

body > main { display: grid; grid-template-columns: 1.6fr 1fr; grid-template-areas: "brand brand" "watch report" "research report"; align-items: start; padding-top: 56px; padding-bottom: 72px; }
.overview { display: contents; }
.watchlist-panel { grid-area: watch; border-top: 1px solid var(--ink); }
.report-panel { grid-area: report; min-height: 100%; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.research { grid-area: research; padding: 0; border-bottom: 1px solid var(--ink); }
.masthead { grid-template-columns: 1fr; }
.watch-row { grid-template-columns: minmax(125px, 1.2fr) .62fr .46fr .46fr .68fr .92fr; gap: 8px; }
.watch-row .market-cap, .header-row > span:nth-child(5) { text-align: right; }
.next-unlock { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; line-height: 1.15; }
.next-unlock strong { color: var(--ink); font: 600 11px/1.2 Manrope, sans-serif; }
.next-unlock small, .next-unlock em { color: var(--muted); font: 400 9px/1.25 'DM Mono', monospace; font-style: normal; }
.next-unlock.urgent strong { color: #aa4e42; }
.next-unlock.no-cliff { opacity: .7; }
.cohort-position { justify-content: center; }
.cohort-position strong { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; letter-spacing: .04em; white-space: nowrap; }
.cohort-position.positive-position strong { color: #65b58a; }
.cohort-position.negative-position strong { color: #d27366; }
.cohort-position.no-position { opacity: .55; }
.watchlist-panel { overflow: visible; }
.watchlist-panel { height: auto; min-height: 720px; }
.asset:hover, .asset.active { padding-left: 0; padding-right: 0; }
.tabs { overflow: visible; flex-wrap: wrap; }
.tab { white-space: nowrap; }
.chart-placeholder svg { display: none; }
.project-logo { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; background: var(--paper-2); }
.tab { display: inline-flex; align-items: center; gap: 7px; }
.tab img { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; }
.news-feed { margin-top: 22px; border-top: 1px solid var(--ink); }
.news-link { display: grid; grid-template-columns: 36px 1fr 20px; align-items: center; gap: 12px; min-height: 66px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.news-link > span { font: 9px 'DM Mono', monospace; color: var(--bronze); }
.news-link strong { font: 500 14px/1.4 Manrope, sans-serif; }
.news-link i { font-style: normal; color: var(--bronze); text-align: right; }
.news-link:hover { background: rgba(255,255,255,.42); }
.telegram-cta-wrap { position: relative; min-height: 620px; display: grid; place-items: center; overflow: hidden; }
.blurred-report { position: absolute; inset: 30px 0 0; filter: blur(6px); opacity: .48; user-select: none; pointer-events: none; }
.blurred-report::after { content: ''; position: absolute; inset: 25% -10px -20px; background: linear-gradient(180deg, rgba(244,241,232,0), var(--paper) 72%); }
.blurred-report p { margin: 0; font: 400 14px/1.65 Manrope, sans-serif; }
.blurred-report .blurred-lead { font: 500 18px/1.55 Georgia, serif; margin-bottom: 28px; }
.blurred-report section { padding: 16px 0; border-top: 1px solid var(--line); }
.blurred-report h3 { margin: 0 0 7px; color: var(--bronze); font: 500 9px/1.2 'DM Mono', monospace; letter-spacing: .12em; text-transform: uppercase; }
.telegram-cta { position: relative; z-index: 3; width: min(100%, 330px); display: flex; align-items: center; justify-content: space-between; padding: 19px 20px; border: 1px solid #00c805; color: #07150a; background: #00c805; box-shadow: 0 10px 30px rgba(0,200,5,.18); text-decoration: none; font: 700 12px/1.2 Manrope, sans-serif; letter-spacing: .02em; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.telegram-cta::before { content: '✦'; color: #07150a; margin-right: 12px; }
.telegram-cta span { flex: 1; }
.telegram-cta i { color: #07150a; font-style: normal; }
.telegram-cta:hover { background: #19d423; border-color: #19d423; transform: translateY(-1px); }

@media (max-width: 950px) {
  body > main { grid-template-columns: 1fr; grid-template-areas: "brand" "watch" "research" "report"; }
  .report-panel { min-height: auto; }
  .telegram-cta-wrap { min-height: 320px; }
}

@media (max-width: 620px) {
  .watchlist-panel { height: auto; min-height: 420px; }
  .watch-row { grid-template-columns: 1fr .62fr .46fr .46fr .62fr .82fr; gap: 3px; font-size: 8px; }
  .watchlist-panel .coin strong { display: none; }
  .watchlist-panel .coin small { font-size: 8px; }
  .project-logo { width: 24px; height: 24px; }
  .next-unlock strong { font-size: 9px; }
  .next-unlock small, .next-unlock em { font-size: 7px; }
}

/* GitHub Projects-inspired interface */
:root {
  --paper: #0d1117;
  --paper-2: #21262d;
  --ink: #f0f6fc;
  --muted: #8b949e;
  --teal: #21262d;
  --bronze: #a371f7;
  --line: #30363d;
  --green: #3fb950;
  --red: #f85149;
}
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; }
.top-rule { display: none; }
.masthead { height: 68px; padding: 0 32px; background: #010409; border-bottom: 1px solid var(--line); }
.brand { gap: 10px; font-size: 20px; letter-spacing: 0; }
.brand svg { width: 27px; stroke: #a371f7; }
body > main { max-width: none; grid-template-columns: minmax(720px, 1.65fr) minmax(360px, .9fr); gap: 20px; padding: 24px 32px 42px; }
.panel, .research { background: #161b22; border: 1px solid var(--line) !important; border-radius: 6px; overflow: hidden; }
.panel { padding: 0; min-height: 0; }
.watchlist-panel { min-height: 0; }
.panel-heading { min-height: 58px; padding: 0 16px; background: #161b22; border-bottom: 1px solid var(--line); }
.panel-heading > div { gap: 10px; }
.panel h2 { font: 600 16px/1.25 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.index { width: 20px; height: 20px; color: #a371f7; border-color: #8957e5; font: 600 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.watch-row { min-height: 58px; padding: 8px 16px; gap: 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.watch-row:last-child { border-bottom: 0; }
.watch-row > * { min-height: 41px; display: flex; align-items: center; padding: 0 12px; border-left: 1px solid var(--line); }
.watch-row > *:first-child { padding-left: 0; border-left: 0; }
.header-row { min-height: 38px; padding-top: 0; padding-bottom: 0; color: var(--muted); font: 600 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .02em; }
.header-row > span { min-height: 38px; }
.coin { gap: 9px; }
.coin > span { align-items: flex-start; padding: 0; border: 0; }
.coin strong { color: #f0f6fc; font-weight: 600; }
.coin small { color: var(--muted); }
.coin .coin-meta { display: flex; flex-direction: row; align-items: center; gap: 8px; }
.coin .asset-links { display: inline-flex; flex-direction: row; align-items: center; gap: 4px; }
.asset-link,
.asset-links a {
  width: 17px;
  height: 17px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line);
  color: var(--muted);
  text-decoration: none;
  font-size: 8px;
  line-height: 1;
}
.asset-links a:hover,
.asset-links a:focus-visible { border-color: currentColor; color: #111; background: rgba(255,255,255,.35); outline: none; }
.asset.active .asset-links a,
.asset:hover .asset-links a { border-color: rgba(17,17,17,.32); color: #111; }
.tldr-button {
  position: relative;
  width: auto;
  height: 17px;
  padding: 0 4px;
  border: 1px solid var(--line);
  color: var(--muted);
  background: transparent;
  font-size: 7px;
  line-height: 1;
  cursor: help;
}
.tldr-button::after {
  content: attr(data-tooltip);
  position: absolute;
  z-index: 40;
  top: calc(100% + 8px);
  left: 0;
  width: 250px;
  padding: 11px 12px;
  border: 1px solid #555;
  color: #eee;
  background: #111;
  box-shadow: 0 12px 30px rgba(0,0,0,.42);
  font-size: 9px;
  font-weight: 400;
  line-height: 1.55;
  text-align: left;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-3px);
  transition: opacity .14s ease, transform .14s ease, visibility .14s ease;
  pointer-events: none;
}
.tldr-button:hover::after,
.tldr-button:focus-visible::after,
.tldr-button.open::after { opacity: 1; visibility: visible; transform: translateY(0); }
.watchlist-panel .asset:nth-last-child(-n + 2) .tldr-button::after {
  top: auto;
  bottom: calc(100% + 8px);
  transform: translateY(3px);
}
.watchlist-panel .asset:nth-last-child(-n + 2) .tldr-button:hover::after,
.watchlist-panel .asset:nth-last-child(-n + 2) .tldr-button:focus-visible::after,
.watchlist-panel .asset:nth-last-child(-n + 2) .tldr-button.open::after { transform: translateY(0); }
.asset.active .tldr-button { border-color: rgba(17,17,17,.32); color: #111; }
.project-logo { width: 26px; height: 26px; background: #21262d; }
.price { justify-content: flex-end; }
.change-24, .change-30, .market-cap { justify-content: flex-end; }
.asset:hover, .asset.active { background: #1f242b; box-shadow: inset 3px 0 #a371f7; }
.next-unlock { justify-content: center; align-items: flex-start; }
.next-unlock strong { color: #f0f6fc; font-size: 11px; }
.next-unlock small, .next-unlock em { color: var(--muted); font-size: 9px; }
.next-unlock.urgent strong { color: #ff7b72; }
.report-panel { background: #161b22; }
.telegram-cta-wrap { min-height: 575px; }
.blurred-report { inset: 24px 20px 0; }
.blurred-report::after { background: linear-gradient(180deg, rgba(22,27,34,0), #161b22 76%); }
.telegram-cta { width: min(calc(100% - 40px), 330px); padding: 13px 16px; border-color: #238636; border-radius: 6px; background: #238636; color: #fff; box-shadow: none; font: 600 13px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.telegram-cta::before, .telegram-cta i { color: #fff; }
.telegram-cta:hover { background: #2ea043; border-color: #3fb950; transform: none; }
.research { padding: 0; }
.tabs { min-height: 52px; padding: 0 14px; gap: 8px; align-items: end; background: #161b22; border-bottom: 1px solid var(--line); }
.tab { padding: 11px 10px 12px; border-radius: 6px 6px 0 0; font-size: 12px; }
.tab:hover { background: #21262d; color: #f0f6fc; }
.tab.active { background: #21262d; color: #f0f6fc; }
.tab.active::after { height: 2px; background: #a371f7; }
.asset-view { padding: 20px; background: #0d1117; }
.asset-head h3 { font: 600 18px/1.25 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.news-feed { margin-top: 16px; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.news-link { min-height: 52px; padding: 0 14px; border-color: var(--line); }
.news-link:last-child { border-bottom: 0; }
.news-link:hover { background: #161b22; }
.news-link strong { font: 500 13px/1.35 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

@media (max-width: 1399px) {
  body > main { grid-template-columns: 1fr; grid-template-areas: "brand" "watch" "research" "report"; }
  .telegram-cta-wrap { min-height: 340px; }
}

@media (max-width: 720px) {
  .masthead { padding: 0 16px; }
  body > main { padding: 16px 12px 30px; }
  .watch-row { padding-left: 10px; padding-right: 10px; }
  .watch-row > * { padding-left: 5px; padding-right: 5px; }
}

/* Bare token navigation: no cards and no divider. */
.charts-token .chart-tabs {
  min-height:44px;
  gap:28px;
  padding-top:0;
  padding-bottom:8px;
  border:0 !important;
  background:transparent !important;
}
.charts-token .chart-tab,
.charts-token .chart-tab:hover,
.charts-token .chart-tab.active,
html[data-theme="light"] .charts-token .chart-tab,
html[data-theme="light"] .charts-token .chart-tab:hover,
html[data-theme="light"] .charts-token .chart-tab.active {
  min-width:auto;
  min-height:32px;
  padding:0 2px;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.charts-token .chart-tab { color:#6f6f6f; }
.charts-token .chart-tab:hover { color:#aaa; }
.charts-token .chart-tab.active { color:var(--ink); font-weight:600; }
html[data-theme="light"] .charts-token .chart-tab { color:#8a8a84; }
html[data-theme="light"] .charts-token .chart-tab:hover { color:#555550; }
html[data-theme="light"] .charts-token .chart-tab.active { color:#20201e; }

/* gumterminal monochrome identity */
:root {
  --bronze: #f0f6fc;
  --green: #f0f6fc;
  --red: #9da7b1;
}
.brand { text-transform: none; }
.brand .pill-logo { width: 30px; height: 30px; fill: #ff78ad; stroke: none; }
.brand .pill-logo path { fill: none; stroke: rgba(255,255,255,.72); stroke-width: 1.2; }
.index { color: #f0f6fc; border-color: #8b949e; }
.asset:hover, .asset.active { box-shadow: inset 3px 0 #f0f6fc; }
.tab.active::after { background: #f0f6fc; }
.positive, .negative, .next-unlock.urgent strong { color: #f0f6fc; }
.news-link > span, .news-link i { color: #f0f6fc; }
.telegram-cta { border-color: #f0f6fc; background: #f0f6fc; color: #0d1117; }
.telegram-cta::before, .telegram-cta i { color: #0d1117; }
.telegram-cta:hover { border-color: #ffffff; background: #ffffff; }

/* Single-surface mathematical terminal */
:root {
  --paper: #191919;
  --paper-2: #191919;
  --teal: #191919;
}
html, body, body > main, .panel, .research, .panel-heading, .report-panel,
.tabs, .asset-view, .news-feed, .blurred-report, .empty-note {
  background: #191919;
}
body, button, a, .panel h2, .asset-head h3, .news-link strong,
.telegram-cta, .next-unlock strong {
  font-family: 'DM Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.panel, .research { border-radius: 0; }
.asset, .asset:hover, .asset.active {
  padding-left: 16px;
  padding-right: 16px;
  box-shadow: none;
  transform: none;
  background: var(--paper);
}
.news-link[hidden] { display: none; }
.news-link:hover { background: #242424; }
.telegram-cta {
  width: auto;
  max-width: calc(100% - 40px);
  min-height: 64px;
  padding: 18px 28px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #111;
  box-shadow: none;
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 15px;
  font-weight: 600;
  gap: 14px;
}
.telegram-cta::before {
  content: '➤';
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  color: #111;
  font-size: 18px;
  transform: rotate(-35deg);
}
.telegram-cta i { color: #111; }
.telegram-cta:hover { border-color: #fff; background: #f2f2f2; }
.blurred-report::after {
  background: linear-gradient(180deg, rgba(25,25,25,0), #191919 76%);
}

.terminal-brand {
  grid-area: brand;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2px 14px;
}
.brand-cluster { display: grid; gap: 8px; }
.brand-identity { display: flex; align-items: center; gap: 8px; }
.terminal-brand img { width: 20px; height: 20px; }
.terminal-brand h1 {
  margin: 0;
  padding-bottom: 2px;
  border-bottom: 1px solid #f0f0f0;
  color: #f0f0f0;
  font: 500 15px/1 'IBM Plex Mono', ui-monospace, monospace;
  letter-spacing: .02em;
}
.update-status {
  display: flex;
  gap: 10px;
  color: #777;
  font-size: 8px;
  letter-spacing: .06em;
  white-space: nowrap;
}
.update-status span { display: flex; gap: 6px; }
.update-status strong { color: #d8d8d8; font-weight: 500; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.header-actions .view-count {
  min-width: 48px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-left: 17px;
  border-left: 1px solid var(--line);
}
.view-count svg { width: 14px; height: 14px; fill: none; stroke: #8d8d8d; stroke-width: 1.6; }
.view-count strong { min-width: 14px; color: #d8d8d8; font-size: 9px; text-align: right; }
@media (max-width: 620px) {
  .update-status { gap: 8px; font-size: 6px; }
  .header-actions { gap: 5px; }
  .header-actions .view-count { min-width: 34px; padding-left: 8px; }
  .view-count svg { width: 12px; height: 12px; }
}
.asset:hover { background: #242424; }
.asset.active { background: #e8e8e8; color: #111; }
.asset.active .coin strong,
.asset.active .coin small,
.asset.active .price,
.asset.active .change-24,
.asset.active .change-30,
.asset.active .market-cap,
.asset.active .next-unlock strong,
.asset.active .next-unlock small,
.asset.active .next-unlock em { color: #111; }

body, body * {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
}

/* Preserve the original wordmark while the product UI uses the clearer data face. */
.terminal-brand h1 {
  font-family: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
}

.watchlist-panel,
.watch-row,
.report-panel,
.telegram-cta-wrap,
.research,
.tabs,
.asset-view,
.news-feed,
.news-link {
  background-color: var(--paper);
}

.watch-row > * { background-color: transparent; }

.news-link:hover,
.tab:hover { background-color: #232323; }

.asset:hover:not(.active) {
  background-color: #ff78ad;
  color: #111;
}

.asset:hover:not(.active) .coin strong,
.asset:hover:not(.active) .coin small,
.asset:hover:not(.active) .price,
.asset:hover:not(.active) .change-24,
.asset:hover:not(.active) .change-30,
.asset:hover:not(.active) .market-cap,
.asset:hover:not(.active) .next-unlock strong,
.asset:hover:not(.active) .next-unlock small,
.asset:hover:not(.active) .next-unlock em {
  color: #111;
}

.asset.active,
.asset.active:hover { background-color: #e8e8e8; }

.asset:not(.active) .change-24.positive,
.asset:not(.active) .change-30.positive { color: #3fb950; }
.asset:not(.active) .change-24.negative,
.asset:not(.active) .change-30.negative { color: #f85149; }

/* Editorial locked-report treatment */
.telegram-cta-wrap {
  isolation: isolate;
  min-height: 575px;
  padding: 28px;
  background: var(--paper);
}
.telegram-cta-wrap::before {
  content: '';
  position: absolute;
  inset: 22px;
  z-index: 1;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.018);
  box-shadow: inset 0 1px rgba(255,255,255,.025), 0 24px 60px rgba(0,0,0,.18);
  pointer-events: none;
}
.telegram-cta-wrap::after {
  content: '';
  position: absolute;
  inset: 22px;
  z-index: 2;
  background:
    linear-gradient(180deg, rgba(25,25,25,.08), rgba(25,25,25,.3) 33%, rgba(25,25,25,.48) 72%, rgba(25,25,25,.72)),
    radial-gradient(ellipse at center, rgba(25,25,25,.08) 0 18%, rgba(25,25,25,.5) 72%);
  backdrop-filter: blur(2.5px);
  -webkit-backdrop-filter: blur(2.5px);
  pointer-events: none;
}
.blurred-report {
  inset: 44px 48px 36px;
  display: grid;
  align-content: start;
  padding: 30px 32px;
  border: 1px solid rgba(255,255,255,.11);
  background:
    linear-gradient(rgba(255,255,255,.025), rgba(255,255,255,.012)),
    repeating-linear-gradient(180deg, transparent 0 47px, rgba(255,255,255,.045) 48px);
  filter: blur(7px);
  opacity: .68;
  transform: scale(1.018);
}
.blurred-report::before {
  content: 'GUMTERMINAL / DAILY MARKET REPORT';
  display: block;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.22);
  color: #fff;
  font: 600 10px/1 'IBM Plex Mono', monospace;
  letter-spacing: .12em;
}
.blurred-report::after {
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(25,25,25,.12));
}
.blurred-report section {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 18px;
  padding: 18px 0;
  border-color: rgba(255,255,255,.13);
}
.blurred-report h3 { color: #fff; }
.telegram-cta {
  z-index: 4;
  width: min(calc(100% - 72px), 430px);
  max-width: none;
  min-height: 82px;
  padding: 10px 11px 10px 12px;
  gap: 13px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 2px;
  color: #f5f5f5;
  background: rgba(18,18,18,.86);
  box-shadow: 0 22px 55px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.07);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.telegram-cta::before { content: none; }
.telegram-cta-icon {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.055);
}
.telegram-cta-icon svg { width: 22px; height: 22px; fill: #fff; }
.telegram-cta-copy {
  min-width: 0;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}
.telegram-cta-copy small {
  color: #8f8f8f;
  font-size: 7px;
  font-weight: 500;
  letter-spacing: .035em;
  line-height: 1.35;
}
.telegram-cta-copy strong {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #f5f5f5;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  text-transform: lowercase;
}
.telegram-cta-copy em {
  flex: 0 0 auto;
  margin-left: 0;
  padding: 3px 5px;
  border: 1px solid rgba(255,255,255,.24);
  color: #bcbcbc;
  font-size: 8px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  vertical-align: 2px;
}
.telegram-cta > i {
  flex: 0 0 32px;
  width: 32px;
  height: 40px;
  display: grid;
  place-items: center;
  border-left: 1px solid rgba(255,255,255,.16);
  color: #fff;
  font-size: 16px;
  font-style: normal;
}
.telegram-cta:hover {
  border-color: #fff;
  background: rgba(34,34,34,.94);
  box-shadow: 0 26px 66px rgba(0,0,0,.52), inset 0 1px rgba(255,255,255,.1);
  transform: translateY(-2px);
}
.telegram-cta:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

@media (max-width: 620px) {
  .telegram-cta-wrap { min-height: 390px; padding: 16px; }
  .telegram-cta-wrap::before, .telegram-cta-wrap::after { inset: 14px; }
  .blurred-report { inset: 28px 26px 24px; padding: 22px 20px; }
  .telegram-cta { width: calc(100% - 44px); min-height: 72px; }
  .telegram-cta-icon { flex-basis: 44px; width: 44px; height: 44px; }
  .telegram-cta-copy strong { font-size: 10px; white-space: normal; }
  .telegram-cta > i { flex-basis: 30px; width: 30px; }
}

@media (hover: hover) {
  .telegram-cta-icon,
  .telegram-cta-icon svg,
  .telegram-cta-copy strong,
  .telegram-cta-copy small,
  .telegram-cta > i {
    transition: color .22s ease, background .22s ease, border-color .22s ease, fill .22s ease, transform .22s ease;
  }

  .telegram-cta:hover {
    border-color: #ff78ad;
    background: #ff78ad;
    box-shadow: 0 30px 72px rgba(0,0,0,.58), 0 0 0 1px rgba(255,255,255,.22);
    transform: translateY(-3px) scale(1.012);
  }

  .telegram-cta:hover .telegram-cta-icon {
    border-color: #111;
    background: transparent;
    transform: translateX(2px);
  }

  .telegram-cta:hover .telegram-cta-icon svg { fill: #111; transform: rotate(-4deg) scale(1.08); }
  .telegram-cta:hover .telegram-cta-copy strong { color: #111; }
  .telegram-cta:hover .telegram-cta-copy small { color: #555; }
  .telegram-cta:hover > i {
    border-color: rgba(0,0,0,.18);
    color: #111;
    transform: translate(2px, -2px);
  }
}

/* Terminal directory cards and editorial news hierarchy. */
.terminal-page-cards > a {
  align-items: center;
  padding: 18px 42px;
  border: 1px solid #f2f2ee;
  background: #161616;
  text-align: center;
}

.terminal-page-cards > a:hover {
  border-color: #fff;
  background: #1d1d1d;
}

html[data-theme="light"] .terminal-page-cards > a {
  border-color: #d0d0ca;
  background: #fff;
}

html[data-theme="light"] .terminal-page-cards > a:hover {
  border-color: #a8a8a1;
  background: #fff;
}

.terminal-news .latest-news-title {
  min-height: 58px;
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 14px;
  padding: 8px 0;
}

.terminal-news .latest-news-title::after {
  height: 1px;
  flex: 1 1 auto;
  background: var(--line);
  content: '';
}

.terminal-news .latest-news-title h2 {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.terminal-news .news-category-tabs { padding-top: 8px; }
.terminal-news .asset-view { padding-top: 18px; }

.terminal-news .news-link {
  grid-template-columns: 72px minmax(0, 1fr) 52px minmax(100px, 150px) 18px;
  gap: 18px;
  min-height: 68px;
  padding: 13px 16px;
}

.terminal-news .news-link strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .025em;
  line-height: 1.45;
  text-transform: uppercase;
}

.terminal-news .news-views,
.terminal-news .news-age,
.terminal-news .news-author {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  font-weight: 500;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.terminal-news .news-age { text-align: right; }

@media (max-width: 720px) {
  .terminal-page-cards > a { padding: 16px 38px; }
  .terminal-news .latest-news-title { min-height: 48px; padding: 4px 0; }
  .terminal-news .latest-news-title h2 { font-size: 11px; }
  .terminal-news .news-link {
    grid-template-columns: 52px minmax(0, 1fr) 34px 16px;
    gap: 10px;
    min-height: 72px;
    padding: 12px 10px;
  }
  .terminal-news .news-link strong { font-size: 10px; }
  .terminal-news .news-author { grid-column: 2 / 4; }
  .terminal-news .news-link i { grid-column: 4; grid-row: 1; }
}

/* 242 final cascade: intentionally plain news, screener table and token filters. */
.terminal-news .news-feed { counter-reset:none; }
.terminal-news .news-link { position:static; grid-template-columns:72px minmax(0,1fr) 52px minmax(100px,150px) 18px; gap:18px; min-height:68px; padding:13px 16px; border:1px solid var(--line); background:#161616; transform:none; }
.terminal-news .news-link::before,.terminal-news .news-link::after { display:none !important; content:none !important; }
.terminal-news .news-views,.terminal-news .news-link strong,.terminal-news .news-age,.terminal-news .news-author,.terminal-news .news-link i { grid-column:auto; width:auto; padding:0; border:0; border-radius:0; background:transparent; }
.terminal-news .news-link:hover { transform:none; border-color:#4a4a4a; background:#1c1c1c; }
.terminal-news .news-link strong { font-size:12px; line-height:1.45; letter-spacing:.025em; }
.terminal-news .news-views,.terminal-news .news-age,.terminal-news .news-author { font-size:9px; }
html[data-theme="light"] .terminal-news .news-link { background:#fff; }
html[data-theme="light"] .terminal-news .news-link:hover { background:#ecece7; }

.watchlist-panel > .header-row.table-view,.watchlist-panel .watchlist-card-grid.table-view { width:100%; min-width:860px; }
.watchlist-panel > .header-row.table-view,.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset,.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset:hover,.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset.active { grid-template-columns:minmax(190px,1.7fr) repeat(3,minmax(60px,.55fr)) minmax(90px,.78fr) minmax(180px,1.45fr) !important; }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > .coin::before { display:none !important; content:none !important; }

.token-fundamentals-controls { align-items:center; margin:36px 0 18px; padding:0; border:0; background:transparent; }
.token-fundamentals-controls .period-controls { gap:14px; align-items:center; }
.token-fundamentals-controls .filter-cluster { display:block; }
.token-fundamentals-controls .filter-cluster > small { display:none; }
.token-fundamentals-controls .granularity-switch,.token-fundamentals-controls .range-presets { gap:5px; border:0; background:transparent; }
.token-fundamentals-controls .granularity-switch button,.token-fundamentals-controls .range-presets button { min-width:62px; min-height:31px; padding:0 11px; border:1px dotted #575757; color:var(--muted); background:transparent; font-size:7px; }
.token-fundamentals-controls .granularity-switch button.active,.token-fundamentals-controls .range-presets button.active { color:var(--ink); border-color:#aaa; background:color-mix(in srgb,var(--paper) 91%,var(--ink) 9%); }
.token-fundamentals-controls .date-range-game { width:min(430px,35vw); margin-left:auto; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.token-fundamentals-controls .date-range-game-head,.token-fundamentals-controls .range-handle-value { display:none; }
.token-fundamentals-controls .date-range-track { height:30px; margin:0; background:linear-gradient(to right,#343434 0 var(--range-start),#ff78ad var(--range-start) var(--range-end),#343434 var(--range-end) 100%) center/100% 2px no-repeat; }
.token-fundamentals-controls .date-range-track::before { inset:9px 0; border-color:#535353; }
.token-fundamentals-controls .date-range-track input { height:30px; }
.token-fundamentals-controls .date-range-track input::-webkit-slider-thumb { width:3px; height:22px; border:0; border-radius:0; background:#ff78ad; box-shadow:none; cursor:ew-resize; }
.token-fundamentals-controls .date-range-track input::-moz-range-thumb { width:3px; height:22px; border:0; border-radius:0; background:#ff78ad; box-shadow:none; cursor:ew-resize; }
.token-fundamentals-controls .date-range-game-dates { margin-top:1px; }
.token-fundamentals-controls .date-range-game-dates span { color:var(--muted); font-size:7px; }
@media (max-width:900px) { .token-fundamentals-controls { align-items:stretch; } .token-fundamentals-controls .date-range-game { width:100%; margin:8px 0 0; } }
@media (max-width:720px) { .terminal-news .news-link { grid-template-columns:52px minmax(0,1fr) 34px 16px; gap:10px; min-height:72px; padding:12px 10px; } .terminal-news .news-author { display:block; grid-column:2/4; } .terminal-news .news-link i { grid-column:4; grid-row:1; } }

/* 242 · restore the original news rows and keep the alternative watchlist deliberately financial. */
.terminal-news .news-feed { counter-reset:none; }
.terminal-news .news-link {
  position:static;
  grid-template-columns:72px minmax(0,1fr) 52px minmax(100px,150px) 18px;
  min-height:68px;
  padding:13px 16px;
  border:1px solid var(--line);
  background:#161616;
  transform:none;
}
.terminal-news .news-link::before,.terminal-news .news-link::after { display:none !important; content:none; }
.terminal-news .news-views,.terminal-news .news-link strong,.terminal-news .news-age,.terminal-news .news-author,.terminal-news .news-link i { grid-column:auto; width:auto; padding:0; border:0; border-radius:0; background:transparent; }
.terminal-news .news-link:hover { transform:none; border-color:#4a4a4a; background:#1c1c1c; }
.terminal-news .news-link strong { font-size:12px; line-height:1.45; letter-spacing:.025em; }
.terminal-news .news-views,.terminal-news .news-age,.terminal-news .news-author { font-size:9px; }

.watchlist-panel { overflow-x:auto; }
.watchlist-panel > .header-row.table-view {
  min-width:1040px;
  display:grid !important;
  grid-template-columns:minmax(220px,1.7fr) minmax(76px,.55fr) minmax(76px,.55fr) minmax(76px,.55fr) minmax(108px,.78fr) minmax(220px,1.45fr);
  min-height:44px;
  align-items:center;
  margin:0 !important;
  padding:0;
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--paper) 97%,var(--ink) 3%);
}
.watchlist-panel > .header-row.table-view span { padding:0 14px; color:var(--muted); font-size:8px; letter-spacing:.08em; }
.watchlist-card-grid.table-view { min-width:1040px; display:block !important; padding:0; }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset,
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset:hover,
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset.active {
  min-height:58px;
  display:grid !important;
  grid-template-columns:minmax(220px,1.7fr) minmax(76px,.55fr) minmax(76px,.55fr) minmax(76px,.55fr) minmax(108px,.78fr) minmax(220px,1.45fr) !important;
  align-items:center;
  gap:0;
  padding:0;
  border:0;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  border-left:1px solid var(--line);
  background:transparent;
  transform:none;
  filter:none;
}
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset:nth-child(even) { background:color-mix(in srgb,var(--paper) 97%,var(--ink) 3%); }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset:hover { background:color-mix(in srgb,var(--paper) 91%,var(--ink) 9%); }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > * {
  position:static;
  min-width:0;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0 14px;
  border:0;
  border-left:1px solid var(--line);
  border-radius:0;
  background:transparent;
  white-space:nowrap;
}
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > .coin { grid-column:auto; min-height:58px; border-left:0; }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > *::before { display:none !important; content:none; }
.watchlist-panel .watchlist-card-grid.table-view .project-logo { width:25px; height:25px; }
.watchlist-panel .watchlist-card-grid.table-view .change-24,.watchlist-panel .watchlist-card-grid.table-view .change-ytd,.watchlist-panel .watchlist-card-grid.table-view .change-30 { width:auto; min-width:0; min-height:58px; padding:0 14px; border-radius:0; }
.watchlist-panel .watchlist-card-grid.table-view .positive,.watchlist-panel .watchlist-card-grid.table-view .negative { background:transparent; }
.watchlist-panel .watchlist-card-grid.table-view .cohort-position { grid-column:auto; }
.watchlist-panel .watchlist-card-grid.table-view .cohort-position strong { width:100%; display:flex; align-items:center; justify-content:space-between; }

.token-fundamentals-controls { align-items:center; margin:36px 0 18px; padding:0; border:0; background:transparent; }
.token-fundamentals-controls .period-controls { gap:14px; align-items:center; }
.filter-cluster { display:block; }
.filter-cluster > small { display:none; }
.token-fundamentals-controls .granularity-switch,.token-fundamentals-controls .range-presets { gap:5px; border:0; background:transparent; }
.token-fundamentals-controls .granularity-switch button,.token-fundamentals-controls .range-presets button {
  min-width:62px;
  min-height:31px;
  padding:0 11px;
  border:1px dotted #575757;
  color:var(--muted);
  background:transparent;
  font-size:7px;
}
.token-fundamentals-controls .granularity-switch button.active,.token-fundamentals-controls .range-presets button.active { color:var(--ink); border-color:#aaa; background:color-mix(in srgb,var(--paper) 91%,var(--ink) 9%); }
.date-range-game { width:min(430px,35vw); margin-left:auto; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.date-range-game-head,.range-handle-value { display:none; }
.date-range-track { height:30px; margin:0; background:linear-gradient(to right,#343434 0 var(--range-start),#ff78ad var(--range-start) var(--range-end),#343434 var(--range-end) 100%) center/100% 2px no-repeat; }
.date-range-track::before { inset:9px 0; border-color:#535353; }
.date-range-track input { height:30px; }
.date-range-track input::-webkit-slider-thumb { width:3px; height:22px; border:0; border-radius:0; background:#ff78ad; box-shadow:none; cursor:ew-resize; }
.date-range-track input::-moz-range-thumb { width:3px; height:22px; border:0; border-radius:0; background:#ff78ad; box-shadow:none; cursor:ew-resize; }
.date-range-game-dates { margin-top:1px; }
.date-range-game-dates span { color:var(--muted); font-size:7px; }
.charts-token .chart-heading { margin-top:18px; }

html[data-theme="light"] .terminal-news .news-link { background:#fff; }
html[data-theme="light"] .terminal-news .news-link:hover { background:#ecece7; }
@media (max-width:900px) {
  .token-fundamentals-controls { align-items:stretch; }
  .date-range-game { width:100%; margin:8px 0 0; }
  .watchlist-panel > .header-row.table-view { display:none !important; }
  .watchlist-card-grid.table-view { min-width:0; display:grid !important; }
  .watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset { min-height:224px; grid-template-columns:repeat(2,minmax(0,1fr)) !important; border:1px solid var(--line); }
}
@media (max-width:720px) {
  .terminal-news .news-link { grid-template-columns:52px minmax(0,1fr) 34px 16px; gap:10px; min-height:72px; padding:12px 10px; }
  .terminal-news .news-author { display:block; grid-column:2/4; }
  .terminal-news .news-link i { grid-column:4; grid-row:1; }
}

/* Directory cards move closer on interaction without changing their frame. */
.terminal-page-cards > a {
  transform-origin: center;
  transition: background-color .24s ease, box-shadow .24s ease, filter .24s ease, transform .24s cubic-bezier(.2,.75,.25,1);
  will-change: transform;
}
.terminal-page-cards > a:hover,
.terminal-page-cards > a:focus-visible {
  z-index: 1;
  background: #1d1d1d;
  box-shadow: 0 18px 42px rgba(0,0,0,.42);
  filter: brightness(1.08);
  outline: 0;
  transform: translateY(-4px) scale(1.025);
}
html[data-theme="light"] .terminal-page-cards > a:hover,
html[data-theme="light"] .terminal-page-cards > a:focus-visible {
  background: #fff;
  box-shadow: 0 18px 38px rgba(50,45,35,.18);
  filter: brightness(1.015);
}

@media (prefers-reduced-motion: reduce) {
  .terminal-page-cards > a { transition: background-color .01ms, box-shadow .01ms; }
  .terminal-page-cards > a:hover,
  .terminal-page-cards > a:focus-visible { transform: none; }
}

/* Buyback predictability and quality model. */
.buyback-quality-card {
  position:relative;
  margin:24px 0 0;
  padding:26px 28px 18px;
  border:1px solid var(--line);
  background:#161616;
}
.buyback-quality-note { color:var(--muted); font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.buyback-quality-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(320px,.7fr); gap:18px; }
.buyback-quality-chart-wrap { position:relative; min-width:0; border:1px solid var(--line); background:#141414; }
.buyback-quality-chart-wrap svg { display:block; width:100%; height:auto; }
.buyback-quality-chart-wrap > p { position:absolute; inset:0; display:grid; margin:0; color:var(--muted); font-size:10px; place-items:center; }
.buyback-quality-chart-wrap > p[hidden] { display:none; }
.buyback-quality-grid { stroke:#343434; stroke-width:1; }
.buyback-quality-axis,.buyback-quality-legend text { fill:#777; font-size:9px; font-family:'JetBrains Mono',monospace; }
.buyback-quality-line { fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.buyback-quality-dot { stroke:#141414; stroke-width:2; }
.buyback-quality-ranking { display:grid; align-content:start; border:1px solid var(--line); }
.buyback-quality-ranking-title { grid-column:1 / -1; padding:14px 16px 11px; border-bottom:1px solid var(--line); color:var(--muted); font-size:8px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.buyback-quality-ranking article { display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:64px; padding:10px 16px; border-bottom:1px solid var(--line); }
.buyback-quality-ranking article:last-child { border-bottom:0; }
.buyback-quality-ranking img { width:32px; height:32px; border-radius:0; object-fit:cover; }
.buyback-quality-ranking strong { overflow:hidden; color:#fff; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.buyback-quality-ranking output { color:#fff; font-size:20px; font-weight:600; text-align:right; }
.buyback-quality-method { margin:14px 0 0; color:var(--muted); font-size:7px; letter-spacing:.08em; }
.buyback-quality-card > .metric-watermark { margin-top:16px; }
html[data-theme="light"] .buyback-quality-card { background:#fff; }
html[data-theme="light"] .buyback-quality-chart-wrap { background:#fafaf7; }
html[data-theme="light"] .buyback-quality-grid { stroke:#d8d8d2; }
html[data-theme="light"] .buyback-quality-dot { stroke:#fafaf7; }
html[data-theme="light"] .buyback-quality-ranking strong,
html[data-theme="light"] .buyback-quality-ranking output { color:#20201e; }

@media (max-width:1024px) {
  .buyback-quality-layout { grid-template-columns:1fr; }
  .buyback-quality-ranking { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .buyback-quality-ranking article:nth-child(odd) { border-right:1px solid var(--line); }
}
@media (max-width:720px) {
  .buyback-quality-card { margin-top:14px; padding:18px 10px 12px; }
  .buyback-quality-note { display:none; }
  .buyback-quality-chart-wrap { overflow-x:auto; }
  .buyback-quality-chart-wrap svg { width:760px; max-width:none; }
  .buyback-quality-ranking { grid-template-columns:1fr; }
  .buyback-quality-ranking article:nth-child(odd) { border-right:0; }
}

/* Final bare token-navigation override. */
.charts-token .chart-tabs { min-height:44px; gap:28px; padding-top:0; padding-bottom:8px; border:0 !important; background:transparent !important; }
.charts-token .chart-tab,
.charts-token .chart-tab:hover,
.charts-token .chart-tab.active,
html[data-theme="light"] .charts-token .chart-tab,
html[data-theme="light"] .charts-token .chart-tab:hover,
html[data-theme="light"] .charts-token .chart-tab.active { min-width:auto; min-height:32px; padding:0 2px; border:0 !important; box-shadow:none !important; background:transparent !important; }
.charts-token .chart-tab { color:#6f6f6f; }
.charts-token .chart-tab:hover { color:#aaa; }
.charts-token .chart-tab.active { color:var(--ink); font-weight:600; }
html[data-theme="light"] .charts-token .chart-tab { color:#8a8a84; }
html[data-theme="light"] .charts-token .chart-tab:hover { color:#555550; }
html[data-theme="light"] .charts-token .chart-tab.active { color:#20201e; }

/* Primary product navigation */
body { padding-left: 156px; }
.app-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 20;
  width: 156px;
  padding: 24px 14px;
  border-right: 1px solid var(--line);
  background: var(--paper);
  display: flex;
  flex-direction: column;
}
.app-sidebar nav { display: grid; gap: 7px; }
.sidebar-item {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 11px;
  border: 1px dashed transparent;
  color: var(--muted);
  text-decoration: none;
  font-size: 13px;
  font-family: inherit;
  text-align: left;
  background: transparent;
  cursor: pointer;
}
.sidebar-item:hover { border-color: #505050; }
.sidebar-item::before {
  width: 13px;
  flex: 0 0 13px;
  color: #6f6f6f;
  content: '›';
  font-size: 14px;
  line-height: 1;
  text-align: center;
}
.sidebar-item.active::before { color: currentColor; }
.sidebar-fundamentals[aria-expanded="true"]::before { color: currentColor; transform: rotate(90deg); }
.sidebar-group { min-width: 0; }
.sidebar-charts i { margin-left: auto; font-size: 10px; font-style: normal; transition: transform .16s ease; }
.sidebar-charts[aria-expanded="true"] i { transform: rotate(180deg); }
.sidebar-submenu { display: grid; gap: 3px; padding: 5px 0 2px 30px; }
.sidebar-submenu[hidden] { display: none; }
.sidebar-subitem {
  position: relative;
  min-height: 32px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 9px;
  border: 1px dashed transparent;
  color: #707070;
  background: transparent;
  font: inherit;
  font-size: 11px;
  text-align: left;
  cursor: pointer;
}
.sidebar-subitem::before { content: '›'; color: #6f6f6f; font-size: 13px; line-height: 1; }
.sidebar-subitem + .sidebar-subitem { margin-top: 3px; }
.sidebar-subitem + .sidebar-subitem::after {
  position: absolute;
  top: -6px;
  left: 9px;
  width: 24px;
  border-top: 1px solid var(--line);
  content: '';
}
.sidebar-subitem:hover,
.sidebar-subitem.active { color: var(--ink); border-color: #555; }
.sidebar-subitem.active::before { color: currentColor; transform: rotate(90deg); }
.sidebar-token-list {
  display: grid;
  gap: 1px;
  padding: 3px 0 3px 28px;
}
.sidebar-token-list[hidden] { display: none; }
.sidebar-token-list button {
  min-height: 27px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 4px 7px;
  border: 1px dashed transparent;
  color: #858585;
  background: transparent;
  font: inherit;
  font-size: 10px;
  text-align: left;
  cursor: pointer;
}
.sidebar-token-list button:hover,
.sidebar-token-list button.active { border-color: #595959; color: var(--ink); background: #191919; }
.sidebar-token-list img { width: 19px; height: 19px; border: 1px solid #444; border-radius: 0; object-fit: cover; }
.sidebar-item.active { border-color: #626262; color: var(--ink); background: #232323; }
.sidebar-item.disabled { cursor: default; opacity: .5; }
.sidebar-item small { margin-left: auto; color: #666; font-size: 6px; letter-spacing: .08em; }
/* Readability pass */
.coin strong { font-size: 14px; line-height: 1.2; }
.news-link strong { font-size: 15px; line-height: 1.45; }
.telegram-cta { width: min(calc(100% - 72px), 470px); }
.telegram-cta-copy strong { font-size: 16px; }
.telegram-cta-copy small { font-size: 9px; }

/* Neutral watchlist hover; selection remains light. */
.asset:hover:not(.active) { background-color: #232323; color: var(--ink); }
.asset:hover:not(.active) .coin strong,
.asset:hover:not(.active) .price,
.asset:hover:not(.active) .next-unlock strong { color: var(--ink); }
.asset:hover:not(.active) .coin small,
.asset:hover:not(.active) .next-unlock small,
.asset:hover:not(.active) .next-unlock em { color: var(--muted); }
.asset:hover:not(.active) .asset-links a { border-color: var(--line); color: var(--muted); }
.asset.active,
.asset.active:hover {
  background-color: #e8e8e8;
  box-shadow: inset 4px 0 #ff78ad;
}

/* Charts */
.charts-mode .overview,
.charts-mode .research,
.farming-mode .overview,
.farming-mode .research { display: none; }
.charts-page[hidden] { display: none; }
.charts-subpage[hidden] { display: none; }
.farming-page[hidden] { display: none; }
.charts-page {
  grid-column: 1 / -1;
  min-width: 0;
  border: 1px solid var(--line);
  background: var(--paper);
}
.chart-tabs {
  min-height: 56px;
  display: flex;
  align-items: stretch;
  gap: 0;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  scrollbar-width: none;
}
.chart-tabs::-webkit-scrollbar { display: none; }
.chart-tab {
  min-width: 104px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 2px solid transparent;
  color: var(--muted);
  background: transparent;
  font: 600 10px/1 'JetBrains Mono', monospace;
  cursor: pointer;
}
.chart-tab img { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; }
.chart-tab:hover { color: var(--ink); background: #202020; }
.chart-tab.active { color: var(--ink); border-bottom-color: #ff78ad; background: #202020; }
.chart-panel { min-height: 590px; padding: 34px 38px 28px; }
.chart-heading { display: flex; align-items: center; gap: 24px; }
.chart-heading-identity { display: flex; align-items: center; gap: 17px; }
.chart-heading-copy { height: 58px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; }
.chart-heading-identity > img { width: 58px; height: 58px; border-radius: 8px; object-fit: cover; background: #171717; }
.chart-heading small,
.chart-kpis small { color: var(--muted); font-size: 11px; letter-spacing: .12em; }
.chart-heading h2 { margin: 0; color: var(--ink); font-size: 27px; line-height: 1; font-weight: 600; }
.chart-heading-links { display: flex; align-items: center; gap: 7px; }
.chart-heading a { padding: 5px 8px; border: 1px solid var(--line); color: var(--muted); font-size: 9px; line-height: 1; text-decoration: none; }
.chart-heading a:hover { color: #ff78ad; }
.chart-kpis { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 32px 0 24px; padding-bottom: 0; border: 1px solid var(--line); }
.chart-kpis > div { min-height: 96px; display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: 18px 22px; border-right: 1px solid var(--line); }
.chart-kpis > div:last-child { border-right: 0; }
.chart-kpis strong { color: var(--protocol-accent, #78b991); font-size: 25px; font-weight: 600; }
.chart-kpis strong.positive { color: #27b05a; }
.chart-kpis strong.negative { color: #f0524f; }
.chart-kpis .unlock-kpi-detail { overflow: hidden; font-size: 8px; line-height: 1.35; letter-spacing: 0; text-overflow: ellipsis; white-space: nowrap; }
.pump-chart-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 32px; }
.pump-chart-layout[hidden] { display: none; }
.metric-chart-card { position: relative; min-width: 0; padding: 24px 26px 14px; border: 1px solid var(--line); }
.chart-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin: 2px 4px 10px; }
.chart-title-row > div { display: flex; flex-direction: column; gap: 7px; }
.chart-title-row strong { color: var(--ink); font-size: 17px; font-weight: 600; text-transform: lowercase; }
.chart-title-row strong span { color: #777; font-size: 13px; }
.chart-title-row small { color: #8a8a8a; font-size: 11px; }
.chart-title-row em { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; color: #aaa; font-size: 11px; font-style: normal; }
.chart-title-row em b { color: var(--ink); font-size: 10px; font-weight: 500; }
.metric-chart-card svg { display: block; width: 100%; height: 310px; overflow: visible; }
.chart-grid line { stroke: #343434; stroke-width: 1; }
.chart-grid text { fill: #888; font: 11px 'JetBrains Mono', monospace; }
.chart-grid .date-label { fill: #888; font-size: 10px; }
.chart-bars rect { fill: var(--protocol-accent, #78b991); opacity: 1; transition: opacity .15s ease, fill .15s ease; }
.chart-bars rect:hover { fill: #fff; opacity: 1; }
.price-overlay { fill: none; stroke: #f2f2f2; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1px 2px rgba(0,0,0,.6)); pointer-events: none; }
.price-axis text { fill: #aaa; font: 10px 'JetBrains Mono', monospace; }
.price-axis .price-axis-title { fill: #c3c3c3; font-size: 9px; letter-spacing: .06em; }
.chart-hover-layer rect { fill: transparent; cursor: crosshair; }
.hover-guide { stroke: rgba(255,255,255,.42); stroke-width: 1; stroke-dasharray: 4 4; opacity: 0; pointer-events: none; }
.hover-guide.visible { opacity: 1; }
.chart-hover-tooltip {
  position: absolute;
  z-index: 8;
  width: 180px;
  padding: 13px 14px;
  border: 1px solid #555;
  color: #eee;
  background: rgba(13,13,13,.96);
  box-shadow: 0 12px 32px rgba(0,0,0,.45);
  pointer-events: none;
}
.chart-hover-tooltip[hidden] { display: none; }
.chart-hover-tooltip strong { display: block; margin-bottom: 10px; color: #fff; font-size: 12px; }
.chart-hover-tooltip span { display: flex; justify-content: space-between; gap: 10px; margin-top: 7px; color: #8d8d8d; font-size: 9px; }
.chart-hover-tooltip b { color: #eee; font-size: 11px; font-weight: 500; }
.chart-state { margin: 16px 0 0; color: #777; font-size: 10px; letter-spacing: .08em; }
.chart-state[hidden] { display: none; }
.metric-value-card { min-height: 190px; display: flex; flex-direction: column; padding: 30px 34px 24px; border: 1px solid var(--line); }
.metric-value-card > div { display: flex; flex-direction: column; gap: 8px; }
.metric-value-card > div strong { color: var(--ink); font-size: 13px; font-weight: 500; }
.metric-value-card > div small { color: #666; font-size: 8px; }
.metric-value-card output { display: block; margin: auto 0; color: var(--ink); font-size: clamp(30px, 3.5vw, 52px); font-weight: 600; text-align: center; letter-spacing: -.04em; }
.metric-value-card p { display: flex; justify-content: space-between; gap: 14px; margin: 0 0 18px; padding: 11px 12px; border: 1px solid var(--line); color: var(--muted); background: rgba(255,255,255,.012); font-size: 8px; }
.metric-value-card p span { color: var(--protocol-accent, #78b991); font-size: 10px; }
.metric-value-primary output { color: var(--protocol-accent, #78b991); }
.metric-value-accent output { color: var(--protocol-accent, #78b991); }
.metric-watermark {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #5f5f5f;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .025em;
  line-height: 1;
  opacity: .82;
}
.metric-watermark img { width: 14px; height: 14px; border-radius: 2px; opacity: 1; }
.metric-chart-card > .metric-watermark { margin: 14px 4px 2px; }
.metric-value-card > .metric-watermark { margin-top: 0; }
.chart-kpis > .metric-watermark { position: absolute; right: 14px; bottom: 9px; }
.valuation-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--line); }
.valuation-title { min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 10px; letter-spacing: .1em; }
.valuation-title small { color: var(--protocol-accent, #78b991); font-size: 7px; }
.valuation-card dl { margin: 0; }
.valuation-card dl > div { min-height: 78px; display: flex; flex-direction: column; justify-content: center; gap: 9px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.valuation-card dt { color: var(--muted); font-size: 9px; line-height: 1.35; }
.valuation-card dt small { display: block; margin-top: 4px; color: #666; font-size: 7px; letter-spacing: .06em; }
.valuation-card dd { margin: 0; color: var(--protocol-accent, #78b991); font-size: clamp(17px, 1.65vw, 24px); font-weight: 600; }
.valuation-card .valuation-primary { min-height: 100px; background: color-mix(in srgb, var(--protocol-accent, #78b991) 6%, transparent); }
.valuation-card .valuation-primary dd { font-size: clamp(28px, 2.4vw, 38px); }
.valuation-card > p { margin: auto 0 0; padding: 14px 18px; color: #666; font-size: 7px; line-height: 1.55; }
.chart-empty { min-height: 430px; display: grid; place-content: center; gap: 12px; text-align: center; border: 1px solid var(--line); margin-top: 32px; }
.chart-empty[hidden] { display: none; }
.chart-empty strong { color: var(--ink); font-size: 22px; }
.chart-empty span { color: var(--muted); font-size: 11px; }

@media (max-width: 720px) {
  .chart-panel { min-height: 520px; padding: 24px 16px; }
  .chart-kpis { grid-template-columns: 1fr; }
  .chart-kpis > div { min-height: 76px; border-right: 0; border-bottom: 1px solid var(--line); }
  .chart-kpis > div:last-child { border-bottom: 0; }
  .metric-chart-card { padding: 20px 12px 12px; }
  .metric-chart-card svg { height: 280px; }
  .chart-heading { align-items: flex-start; }
  .chart-heading-links { flex-wrap: wrap; justify-content: flex-end; }
}

@media (max-width: 960px) {
  .pump-chart-layout { grid-template-columns: 1fr; }
}

/* Centered terminal canvas */
body > main {
  width: 100%;
  max-width: 1580px;
  margin: 0 auto;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "brand" "watch" "research";
  column-gap: 0;
  padding-left: clamp(28px, 4vw, 72px);
  padding-right: clamp(28px, 4vw, 72px);
}
.report-panel {
  width: 100%;
  height: 620px;
  min-height: 0;
  align-self: start;
}
.report-panel .telegram-cta-wrap { min-height: 618px; }

@media (max-width: 1180px) {
  body > main {
    grid-template-columns: 1fr;
    grid-template-areas: "brand" "watch" "research";
    max-width: 1040px;
  }
  .report-panel { height: auto; }
  .report-panel .telegram-cta-wrap { min-height: 420px; }
}

@media (max-width: 720px) {
  body > main { padding-left: 14px; padding-right: 14px; }
  .report-panel .telegram-cta-wrap { min-height: 360px; }
}

@media (max-width: 720px) {
  body { padding-left: 0; }
  .app-sidebar {
    position: static;
    width: auto;
    height: 54px;
    padding: 7px 12px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .app-sidebar { flex-direction: row; gap: 7px; }
  .app-sidebar nav { flex: 1; grid-template-columns: repeat(4, minmax(0, 130px)); gap: 7px; }
  .sidebar-item { min-height: 39px; }
  .sidebar-token-list-root { grid-column: 1 / -1; }
}

/* Softer terminal contrast and stable watchlist interaction states. */
:root { --ink: #cfcfcf; }

body,
.coin strong,
.price,
.market-cap,
.next-unlock strong,
.news-link,
.news-link strong,
.asset-head h3,
.chart-heading h2,
.chart-title-row strong,
.chart-title-row em b,
.metric-value-card > div strong,
.metric-value-card output,
.valuation-title,
.valuation-card dd,
.chart-kpis strong,
.chart-kpis strong.positive,
.chart-kpis strong.negative,
.chart-hover-tooltip strong,
.chart-hover-tooltip b,
.chart-empty strong {
  color: #cfcfcf;
}

.asset:hover:not(.active) {
  background-color: #232323;
  color: #cfcfcf;
}
.asset:hover:not(.active) .coin strong,
.asset:hover:not(.active) .price,
.asset:hover:not(.active) .market-cap,
.asset:hover:not(.active) .next-unlock strong { color: #cfcfcf; }

.asset.active,
.asset.active:hover {
  background-color: #303030;
  color: #d6d6d6;
}
.asset.active .coin strong,
.asset.active .coin small,
.asset.active .price,
.asset.active .market-cap,
.asset.active .next-unlock strong,
.asset.active .next-unlock small,
.asset.active .next-unlock em { color: #d6d6d6; }
.asset.active .asset-links a,
.asset.active .tldr-button { border-color: #5a5a5a; color: #bdbdbd; }
.asset.active .change-24.positive,
.asset.active .change-30.positive { color: #3fb950; }
.asset.active .change-24.negative,
.asset.active .change-30.negative { color: #f85149; }

/* The Telegram card stays balanced inside the narrower report column. */
.telegram-action {
  position: relative;
  z-index: 4;
  width: 100%;
  display: grid;
  justify-items: center;
  gap: 14px;
}
.telegram-action > p {
  margin: 0;
  color: #a6a6a6;
  font-size: 10px;
  letter-spacing: .025em;
  text-align: center;
}
.telegram-cta {
  width: min(calc(100% - 32px), 390px);
  min-height: 88px;
  padding: 11px 12px;
  gap: 10px;
}
.telegram-cta-icon {
  flex-basis: 42px;
  width: 42px;
  height: 54px;
}
.telegram-cta-copy { gap: 6px; }
.telegram-cta-copy strong {
  color: #cfcfcf;
  font-size: clamp(12px, 1vw, 15px);
  line-height: 1.25;
  white-space: normal;
}
.telegram-cta-copy small {
  font-size: 8px;
  line-height: 1.45;
}
.telegram-cta > i {
  flex-basis: 28px;
  width: 28px;
  height: 48px;
}

@media (max-width: 1180px) {
  .telegram-cta { width: min(calc(100% - 64px), 470px); }
  .telegram-cta-copy strong { font-size: 15px; }
}

@media (max-width: 620px) {
  .telegram-cta { width: calc(100% - 28px); }
}

/* Deeper canvas and detached chart navigation. */
:root {
  --paper: #101010;
  --paper-2: #171717;
}
html,
body,
body > main,
.panel,
.research,
.panel-heading,
.report-panel,
.tabs,
.asset-view,
.news-feed,
.blurred-report,
.empty-note,
.watchlist-panel,
.watch-row,
.telegram-cta-wrap { background-color: #101010; }

.charts-page {
  border: 0;
  background: transparent;
}
.chart-tabs {
  min-height: 0;
  align-items: center;
  gap: 10px;
  padding: 22px 38px;
  border-bottom: 1px solid var(--line);
}

.chart-tab {
  min-width: 96px;
  min-height: 48px;
  border: 1px solid var(--line);
  background: #141414;
}
.chart-tab:hover { border-color: #666; background: #1b1b1b; }
.chart-tab.active {
  border-color: #ff78ad;
  border-bottom-color: #ff78ad;
  background: #1b1b1b;
}
.chart-tab.locked {
  position: relative;
  color: #5f5f5f;
  background: #111;
  cursor: not-allowed;
  opacity: .58;
}
.chart-tab.locked::after {
  content: '·';
  margin-left: 2px;
  color: #666;
}
.chart-panel {
  border: 0;
  margin-top: 28px;
  background: #101010;
}

/* Section-level identity replaces the oversized global header. */
.watchlist-panel,
.report-panel,
.research { border: 0 !important; }

.watchlist-title {
  min-height: 84px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 14px 16px 18px;
  border-bottom: 1px solid var(--line);
}
.watchlist-title h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(24px, 2vw, 30px);
  line-height: 44px;
  font-weight: 500;
  letter-spacing: -.03em;
}

.latest-news-title,
.fundamentals-title {
  min-height: 84px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 14px 16px 18px;
  border-bottom: 1px solid var(--line);
}
.latest-news-title h2,
.fundamentals-title h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(22px, 1.9vw, 29px);
  font-weight: 500;
  letter-spacing: -.03em;
}
.latest-news-title h2 { line-height: 44px; }
.latest-news-title h2 small { color: #777; font-size: .45em; letter-spacing: .03em; }
.fundamentals-title {
  min-height: 92px;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  gap: 7px;
  margin: 0 38px;
  padding-right: 0;
  padding-left: 0;
}
.fundamentals-title h2 { font-size: clamp(24px, 2vw, 30px); }
.fundamentals-title p { margin:0; color:#777; font-size:10px; letter-spacing:.035em; }

.pumpfun-pnl-card {
  position: relative;
  margin: 26px 38px 0;
  padding: 26px 28px 18px;
  border: 0;
  background: transparent;
}
.pumpfun-pnl-heading { display: flex; align-items: center; justify-content: flex-start; gap: 12px; margin: 28px 0 18px; }
.pumpfun-pnl-heading > img { width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid #555; border-radius: 0; object-fit: cover; }
.pumpfun-pnl-heading-copy { min-width: 0; }
.pumpfun-pnl-heading h3 { margin: 0 0 7px; color: var(--ink); font-size: 17px; font-weight: 600; }
.pumpfun-pnl-heading p { margin: 0; color: #777; font-size: 9px; line-height: 1.5; }
.pumpfun-pnl-latest { display: grid; flex: 0 0 auto; justify-items: end; gap: 4px; text-align: right; }
.pumpfun-pnl-latest small { color: #777; font-size: 8px; letter-spacing: .12em; }
.pumpfun-pnl-latest strong { color: #54d6a0; font-size: 23px; font-weight: 600; }
.pumpfun-pnl-latest span { color: #777; font-size: 8px; }
.pumpfun-breadth { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 20px; border: 1px solid var(--line); }
.pumpfun-breadth article { min-width: 0; padding: 14px 16px; border-right: 1px solid var(--line); background: #161616; }
.pumpfun-breadth article:nth-child(2n) { border-right: 0; }
.pumpfun-breadth article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
.pumpfun-breadth small,
.pumpfun-breadth span { display: block; color: #777; font-size: 8px; line-height: 1.4; }
.pumpfun-breadth small { margin-bottom: 8px; letter-spacing: .11em; }
.pumpfun-breadth strong { display: block; overflow: hidden; margin-bottom: 5px; color: var(--ink); font-size: 16px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.pumpfun-pnl-chart-wrap { position: relative; min-height: 250px; padding: 18px 18px 4px; border: 1px solid var(--line); background: #161616; }
.pumpfun-pnl-chart-wrap svg { display: block; width: 100%; height: 250px; overflow: visible; }
.pumpfun-pnl-chart-wrap > p { position: absolute; inset: 0; display: grid; margin: 0; color: #777; font-size: 10px; place-items: center; }
.pumpfun-pnl-chart-wrap > p[hidden] { display: none; }
.pumpfun-pnl-grid { stroke: #3f3f3f; stroke-width: 1; stroke-dasharray: 2 7; opacity: .72; }
.pumpfun-pnl-axis { fill: #777; font-size: 9px; }
.pumpfun-pnl-area { fill: url(#pumpfun-pnl-area-gradient); }
.pumpfun-pnl-line { fill: none; stroke: #69c49c; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; }
.pumpfun-pnl-point-hit { fill: transparent; cursor: help; }
.pumpfun-pnl-single-point { fill:#69c49c; stroke:#161616; stroke-width:3; }
.pumpfun-pnl-card > .metric-watermark { margin: 12px 0 0; }

.gum-index-card { margin: 26px 38px 0; background: transparent; }
.gum-index-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; margin-bottom:18px; }
.gum-index-heading h3 { margin:0 0 7px; color:var(--ink); font-size:20px; font-weight:600; }
.gum-index-heading p { margin:0; color:#777; font-size:9px; line-height:1.5; }
.gum-index-latest { display:grid; justify-items:end; gap:3px; text-align:right; }
.gum-index-latest small { color:#777; font-size:8px; letter-spacing:.12em; }
.gum-index-latest strong { color:#ff78ad; font-size:30px; line-height:1; }
.gum-index-latest span { color:#777; font-size:8px; text-transform:uppercase; }
.gum-index-components { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1px; margin-bottom:20px; border:1px solid var(--line); background:var(--line); }
.gum-index-components article { padding:13px 14px; background:#161616; }
.gum-index-components small { display:block; margin-bottom:7px; color:#777; font-size:7px; letter-spacing:.08em; }
.gum-index-components strong { color:var(--ink); font-size:18px; }
.gum-index-chart-wrap { position:relative; min-height:280px; padding:18px 18px 4px; border:1px solid var(--line); background:#161616; }
.gum-index-chart-wrap svg { display:block; width:100%; height:280px; overflow:visible; }
.gum-index-chart-wrap > p { position:absolute; inset:0; display:grid; margin:0; color:#777; font-size:10px; place-items:center; }
.gum-index-chart-wrap > p[hidden] { display:none; }
.gum-index-grid { stroke:#3f3f3f; stroke-width:1; opacity:.7; }
.gum-index-axis { fill:#777; font-size:9px; }
.gum-index-band { font-size:10px; }
.gum-index-line { fill:none; stroke:#f1f1f1; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.5; }
.gum-index-hit { fill:transparent; cursor:help; }

.trenches-combined-card { position:relative; margin:26px 38px 0; padding:0 0 18px; background:transparent; }
.gum-index-hero { --gum-score:0; display:grid; justify-items:center; gap:15px; margin:0 auto 34px; text-align:center; }
.gum-index-dial { width:clamp(170px,17vw,220px); aspect-ratio:1; display:grid; position:relative; border-radius:50%; background:conic-gradient(from -90deg,#ff78ad calc(var(--gum-score) * 1%),#242424 0); place-items:center; box-shadow:0 0 0 1px #313131,0 22px 50px rgba(0,0,0,.28); }
.gum-index-dial::before { position:absolute; inset:12px; border:1px solid #333; border-radius:50%; background:#111; content:''; }
.gum-index-dial::after { position:absolute; inset:4px; border-radius:50%; background:repeating-conic-gradient(from -90deg,transparent 0 5deg,rgba(17,17,17,.9) 5deg 6deg); content:''; mask:radial-gradient(circle,transparent 0 44%,#000 45% 100%); }
.gum-index-hero strong { position:relative; z-index:2; color:#ff78ad; font-size:clamp(55px,7vw,82px); font-weight:600; line-height:1; letter-spacing:-.07em; }
.gum-index-scale { width:clamp(170px,17vw,220px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:#696969; font-size:8px; }
.gum-index-scale span:last-child { text-align:right; }
.gum-index-scale span:first-child { text-align:left; }
.gum-index-scale small { color:#8a8a8a; font-size:9px; letter-spacing:.16em; }
.gum-index-hero span { color:#777; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.trenches-data-row { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(270px,.8fr); align-items:stretch; gap:18px; }
.trenches-page-title { margin:0 0 28px; color:var(--ink); font-size:clamp(28px,3vw,44px); font-weight:600; }
.trenches-chart-column,
.trenches-kpi-column { display:flex; min-width:0; flex-direction:column; }
.trenches-chart-column > h3 { min-height:38px; display:flex; align-items:center; margin:0 0 14px; color:var(--ink); font-size:17px; font-weight:600; }
.trenches-kpi-column .pumpfun-pnl-heading { min-height:38px; margin:0 0 14px; }
.trenches-kpi-column .pumpfun-pnl-heading h3 { margin:0; }
.trenches-combined-chart { position:relative; min-height:310px; padding:18px 18px 4px; border:1px solid var(--line); background:#161616; }
.trenches-combined-chart svg { display:block; width:100%; height:280px; overflow:visible; }
.trenches-combined-chart #pumpfun-pnl-chart { position:absolute; top:32px; right:18px; left:18px; width:calc(100% - 36px); pointer-events:none; }
.trenches-combined-chart > p { position:absolute; inset:0; display:grid; margin:0; color:#777; font-size:10px; place-items:center; }
.trenches-combined-chart > p[hidden] { display:none; }
.trenches-chart-legend { display:flex; justify-content:center; gap:24px; margin-bottom:4px; color:#777; font-size:8px; letter-spacing:.1em; }
.trenches-chart-legend span::before { display:inline-block; width:16px; height:2px; margin:0 7px 2px 0; background:#f1f1f1; content:''; }
.trenches-chart-legend span + span::before { background:#69c49c; }
.trenches-data-row .pumpfun-breadth { min-height:310px; margin:0; flex:1; }
.trenches-data-row .pumpfun-breadth article { display:flex; flex-direction:column; justify-content:center; }
.trenches-combined-card > .metric-watermark { margin:12px 0 0; }
html[data-theme="light"] .trenches-combined-chart { background:#fff; }
html[data-theme="light"] .gum-index-dial { background:conic-gradient(from -90deg,#ff5d9b calc(var(--gum-score) * 1%),#d9d9d3 0); box-shadow:0 0 0 1px #c9c9c2,0 22px 48px rgba(70,60,45,.12); }
html[data-theme="light"] .gum-index-dial::before { border-color:#d0d0ca; background:#fff; }
html[data-theme="light"] .gum-index-dial::after { background:repeating-conic-gradient(from -90deg,transparent 0 5deg,rgba(255,255,255,.88) 5deg 6deg); }
html[data-theme="light"] .trenches-chart-legend span::before { background:#20201e; }
.gum-index-single-point { fill:#f1f1f1; stroke:#161616; stroke-width:3; }
html[data-theme="light"] .gum-index-single-point { fill:#20201e; stroke:#fff; }
html[data-theme="light"] .pumpfun-pnl-single-point { stroke:#fff; }

@media (max-width:720px) {
  .trenches-combined-card { margin:14px 14px 0; }
  .trenches-data-row { grid-template-columns:1fr; }
  .trenches-combined-chart { overflow-x:auto; }
  .trenches-combined-chart svg { min-width:620px; }
  .trenches-combined-chart #pumpfun-pnl-chart { width:620px; }
}

.fundamentals-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 26px 38px 0;
}
.fundamentals-divider {
  display:flex;
  align-items:center;
  gap:14px;
  min-height:58px;
  margin:22px 0 0;
  padding:8px 0;
}
.fundamentals-divider::after {
  height:1px;
  flex:1 1 auto;
  background:var(--line);
  content:"";
}
.fundamentals-divider span {
  flex:0 0 auto;
  color:var(--ink);
  font-size:13px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pe-comparison,
.revenue-momentum {
  position: relative;
  padding: 24px 26px 14px;
  border: 1px solid var(--line);
  background: #161616;
  min-width: 0;
}
.pe-comparison,
.revenue-momentum { display: flex; flex-direction: column; }
.pe-comparison-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin: 2px 4px 22px; }
.pe-comparison-heading h3 { margin: 0 0 7px; color: var(--ink); font-size: 17px; font-weight: 600; }
.pe-comparison-heading p { margin: 0; color: #777; font-size: 9px; }
.pe-comparison-heading > span { color: #78b991; font-size: 8px; letter-spacing: .12em; }
.pe-comparison-rows { display: grid; gap: 14px; }
.pe-comparison-row { display: grid; grid-template-columns: 92px minmax(120px, 1fr) 64px; align-items: center; gap: 18px; }
.pe-comparison-row > span { display: flex; align-items: center; gap: 9px; color: var(--ink); font-size: 10px; font-weight: 600; }
.pe-comparison-row img { width: 21px; height: 21px; border-radius: 50%; object-fit: cover; }
.pe-comparison-row i { position: relative; height: 12px; overflow: visible; background: #202020; }
.pe-comparison-row i b { display: block; width: 0; height: 100%; overflow: hidden; background: #f4f4f0; transition: width .35s ease; }
.pe-average-marker { position: absolute; z-index: 3; top: -4px; bottom: -4px; width: 1px; background: #ecece8; box-shadow: 0 0 0 1px rgba(20,20,20,.35); }
.pe-average-marker.labelled::before { position: absolute; bottom: calc(100% + 4px); left: 50%; padding: 2px 4px; color: #ecece8; background: #151515; border: 1px solid #4e4e4e; font-size: 7px; font-style: normal; line-height: 1; letter-spacing: .06em; white-space: nowrap; content: attr(data-label); transform: translateX(-50%); }
.pe-comparison-row output { color: var(--ink); font-size: 16px; font-weight: 600; text-align: right; }
.pe-comparison > .metric-watermark { margin: auto 4px 2px; padding-top: 24px; }
.revenue-momentum > .metric-watermark { margin: auto 4px 2px; padding-top: 24px; }
.revenue-momentum-rows { display: grid; gap: 14px; }
.revenue-momentum-row { display: grid; grid-template-columns: 92px minmax(120px, 1fr) 146px; align-items: center; gap: 18px; }
.revenue-momentum-row > span { display: flex; align-items: center; gap: 9px; color: var(--ink); font-size: 10px; font-weight: 600; }
.revenue-momentum-row img { width: 21px; height: 21px; border-radius: 50%; object-fit: cover; }
.revenue-momentum-row i { position: relative; height: 12px; overflow: hidden; background: #272727; }
.revenue-momentum-row i::after { position: absolute; z-index: 1; top: -2px; bottom: -2px; left: 50%; width: 2px; background: #686868; content: ""; }
.revenue-momentum-row i b { position: absolute; top: 0; height: 100%; background: #f4f4f0; transition: width .35s ease; }
.revenue-momentum-row.negative i b { background: #f4f4f0; }
.revenue-momentum-row output { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; text-align: right; }
.revenue-momentum-row output span { display: grid; justify-items: end; gap: 3px; }
.revenue-momentum-row output small { color: #888; font-size: 8px; font-weight: 600; line-height: 1; letter-spacing: .08em; text-transform: lowercase; }
.revenue-momentum-row output b { color: #78b991; font-size: 15px; font-weight: 600; line-height: 1.1; white-space: nowrap; }
.revenue-momentum-row.negative output .revenue-value { color: #cf7777; }
.revenue-momentum-row output .price-value.positive { color: #78b991; }
.revenue-momentum-row output .price-value.negative { color: #cf7777; }
.revenue-momentum-loading { display:grid; min-height:180px; place-items:center; padding:40px 24px; color:#777; font-size:10px; line-height:1.7; text-align:center; }
.onchain-table-card,
.onchain-scatter-card {
  position: relative;
  margin: 24px 38px 0;
  padding: 26px 28px 18px;
  border: 1px solid var(--line);
  background: #161616;
}
.onchain-scatter-card {
  margin-bottom: 38px;
  padding: 14px;
}
.onchain-scatter-card .onchain-section-heading {
  align-items: baseline;
  justify-content: flex-start;
  gap: 14px;
  margin: 0 4px 4px;
}
.onchain-scatter-card .onchain-section-heading h3 { margin: 0; }
.onchain-scatter-card .onchain-section-heading p { font-size: 8px; white-space: nowrap; }
.onchain-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin: 0 2px 24px; }
.onchain-section-heading h3 { margin: 0 0 7px; color: var(--ink); font-size: 17px; font-weight: 600; }
.onchain-section-heading p { margin: 0; color: #777; font-size: 9px; line-height: 1.5; }
.onchain-table-scroll { width: 100%; overflow-x: auto; }
.onchain-table { width: 100%; min-width: 1260px; border-collapse: collapse; color: var(--ink); font-size: 14px; }
.onchain-table th { height: 46px; padding: 0 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #8a8a8a; font-size: 10px; font-weight: 600; letter-spacing: .07em; text-align: right; text-transform: uppercase; }
.onchain-table th:first-child { text-align: left; }
.onchain-table thead { position: relative; z-index: 3; }
.table-tooltip { position: relative; display: inline-grid; width: 22px; height: 22px; margin-left: 3px; place-items: center; color: #8f8f8f; font-size: 11px; line-height: 1; cursor: help; vertical-align: middle; }
.table-tooltip::after { position: absolute; z-index: 20; top: 27px; left: 50%; width: 320px; padding: 14px 16px; border: 1px solid #474747; color: #ededed; background: rgba(12,12,12,.97); box-shadow: 0 14px 36px rgba(0,0,0,.42); content: attr(data-tip); font-size: 11px; font-weight: 500; letter-spacing: 0; line-height: 1.65; opacity: 0; pointer-events: none; text-align: left; text-transform: none; transform: translateX(-50%) translateY(-4px); transition: opacity .16s ease, transform .16s ease; white-space: normal; }
.table-tooltip:hover::after,
.table-tooltip:focus-visible::after { opacity: 1; transform: translateX(-50%) translateY(0); }
.table-tooltip:focus-visible { color: var(--ink); outline: 1px solid #666; outline-offset: -2px; }
.onchain-table th:first-child .table-tooltip::after { right: auto; left: 0; transform: translateY(-4px); }
.onchain-table th:first-child .table-tooltip:hover::after,
.onchain-table th:first-child .table-tooltip:focus-visible::after { transform: translateY(0); }
.onchain-table th:last-child .table-tooltip::after { right: 0; left: auto; transform: translateY(-4px); }
.onchain-table th:last-child .table-tooltip:hover::after,
.onchain-table th:last-child .table-tooltip:focus-visible::after { transform: translateY(0); }
.onchain-table td { height: 66px; padding: 9px 16px; border-bottom: 1px solid var(--line); font-weight: 500; text-align: right; white-space: nowrap; }
.onchain-table td:first-child { text-align: left; }
.onchain-table td.metric-good { color: #91d0aa; background: rgba(71,166,109,.12); box-shadow: inset 0 0 0 1px rgba(91,190,130,.08); }
.onchain-table td.metric-bad { color: #e08a8a; background: rgba(201,79,79,.12); box-shadow: inset 0 0 0 1px rgba(220,100,100,.08); }
.onchain-table tr:last-child td { border-bottom: 0; }
.onchain-token { display: inline-flex; align-items: center; gap: 12px; }
.onchain-token img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }
.onchain-token > span { display: grid; gap: 3px; }
.onchain-token strong { color: var(--ink); font-size: 13px; font-weight: 600; }
.onchain-token small { color: #838383; font-size: 9px; }
.onchain-table-card > .metric-watermark { margin: 20px 2px 0; }
.onchain-scatter-card > .metric-watermark {
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: 14px;
  margin: 0;
}
.onchain-scatter-scroll {
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 520px;
  overflow-x: auto;
}
.onchain-scatter-scroll svg { display: block; width: 100%; min-width: 820px; height: 100%; }
.scatter-quadrant.scatter-good { fill: rgba(84, 176, 120, .055); }
.scatter-quadrant.scatter-risk { fill: rgba(207, 119, 119, .045); }
.scatter-gridline,
.scatter-zero { opacity: .66; stroke: #424242; stroke-width: 1; stroke-dasharray: 2 7; }
.scatter-axis-tick { fill: #747474; font-size: 10px; }
.scatter-axis-label { fill: #9a9a9a; font-size: 10px; font-weight: 600; letter-spacing: .1em; }
.scatter-quadrant-label-box { fill: #101010; stroke: #f1f1ed; stroke-width: 1; }
.scatter-quadrant-label { fill: #f1f1ed; font-size: 9px; font-weight: 600; letter-spacing: .08em; }
.scatter-project { cursor: help; outline: none; }
.scatter-project-marker { fill: transparent; stroke: #686868; stroke-width: 1.2; stroke-dasharray: 2.5 3; }
.scatter-project image { clip-path: circle(17px at center); }
.scatter-project-tooltip { pointer-events: none; opacity: 0; transition: opacity .14s ease; }
.scatter-project-tooltip.visible { opacity: 1; }
.scatter-project-tooltip rect { fill: #151515; stroke: #565656; stroke-width: 1; }
.scatter-tooltip-title { fill: #f1f1ed; font-size: 10px; font-weight: 700; }
.scatter-tooltip-data { fill: #aaa; font-size: 8px; letter-spacing: .035em; }
@media (max-width: 720px) {
  .watchlist-title { min-height: 72px; padding: 12px 10px 15px; }
  .watchlist-title h2 { font-size: 24px; line-height: 38px; }
  .latest-news-title { min-height: 72px; padding: 12px 10px 15px; }
  .latest-news-title h2 { font-size: 21px; line-height: 38px; }
  .fundamentals-title { min-height: 80px; padding: 16px; }
  .fundamentals-title h2 { font-size: 28px; }
  .fundamentals-overview { grid-template-columns: 1fr; gap: 14px; margin: 14px 0 0; }
  .pe-comparison,
  .revenue-momentum { padding: 20px 12px 12px; }
  .pe-comparison-heading { display: grid; gap: 8px; }
  .pe-comparison-row { grid-template-columns: 72px minmax(90px, 1fr) 54px; gap: 10px; }
  .revenue-momentum-row { grid-template-columns: 72px minmax(72px, 1fr) 116px; gap: 8px; }
  .revenue-momentum-row output { gap: 8px; }
  .revenue-momentum-row output b { font-size: 11px; }
  .onchain-table-card { margin: 14px 0 0; padding: 20px 12px 12px; }
  .onchain-scatter-card { margin: 14px 0 0; padding: 10px; }
  .onchain-scatter-card { margin-bottom: 14px; }
  .onchain-section-heading { margin-bottom: 18px; }
  .onchain-scatter-card .onchain-section-heading { gap: 8px; margin: 0 2px 2px; }
  .onchain-scatter-card .onchain-section-heading p { overflow: hidden; max-width: none; text-overflow: ellipsis; white-space: nowrap; }
  .onchain-section-heading h3 { font-size: 15px; }
  .onchain-section-heading p { max-width: 46ch; font-size: 8px; }
  .onchain-table { min-width: 1120px; }
  .onchain-scatter-scroll { aspect-ratio: auto; min-height: 500px; }
  .onchain-scatter-scroll svg { min-width: 760px; }
  .onchain-table-scroll,
  .onchain-scatter-scroll { overscroll-behavior-inline: contain; }
  .chart-tabs { padding: 18px 16px; }
}

/* Quieter rules, white selection states, and edge-aligned product header. */
:root { --line: #202020; }

.tab.active::after { background: #f1f1f1; }
.chart-tab.active {
  border-color: #f1f1f1;
  border-bottom-color: #f1f1f1;
}
.asset.active,
.asset.active:hover { box-shadow: inset 4px 0 #f1f1f1; }

.terminal-brand {
  width: calc(100vw - 254px);
  margin-left: calc(32px - clamp(28px, 4vw, 72px) - max(0px, calc((100vw - 1770px) / 2)));
  margin-bottom: 22px;
  padding: 0 18px 16px;
  border-bottom: 1px solid var(--line);
}

html,
body { overflow-x: clip; }

@media (max-width: 720px) {
  .terminal-brand {
    width: 100%;
    margin-left: 0;
    margin-bottom: 16px;
    padding-left: 0;
  }
  .chart-heading-identity > img { width: 46px; height: 46px; }
}

/* News content is already framed by its rows; avoid a redundant outer box. */
.asset-view {
  padding: 34px 0 0;
  border: 0;
  background: transparent;
}
.news-feed {
  margin-top: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

/* Farming directory */
.farming-page {
  grid-column: 1 / -1;
  min-width: 0;
  background: transparent;
}
.farming-title {
  min-height: 96px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0 20px;
  border-bottom: 1px solid var(--line);
}
.farming-title h2 { margin: 0; color: var(--ink); font-size: clamp(24px, 2vw, 30px); font-weight: 500; }
.farming-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 32px 0;
}
.farming-card {
  min-height: 176px;
  display: grid;
  grid-template-columns: 58px 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 28px;
  border: 1px solid var(--line);
  color: var(--ink);
  background: var(--paper);
  text-decoration: none;
  transition: border-color .16s ease, background-color .16s ease;
}
.farming-card:hover { border-color: #555; background: #171717; }
.farming-card > img { width: 58px; height: 58px; border-radius: 11px; object-fit: cover; }
.farming-card > div { display: grid; gap: 8px; }
.farming-labels { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.farming-card small { color: #ff78ad; font-size: 10px; letter-spacing: .12em; }
.farming-labels b {
  padding: 4px 6px;
  border: 1px solid #9c7b1c;
  color: #e3bd43;
  background: rgba(227,189,67,.08);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .08em;
}
.farming-card strong { color: #d4d4d4; font-size: 24px; font-weight: 600; }
.farming-card p { max-width: 470px; margin: 0; color: #858585; font-size: 13px; line-height: 1.65; }
.farming-card i { color: #888; font-size: 15px; font-style: normal; }
.farming-card:hover i { color: #ff78ad; }

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

@media (max-width: 720px) {
  .farming-title { min-height: 78px; }
  .farming-card { min-height: 150px; grid-template-columns: 48px 1fr auto; gap: 14px; padding: 20px 16px; }
  .farming-card > img { width: 48px; height: 48px; }
}

/* Mobile-only layout pass. Desktop rules above remain unchanged. */
@media (max-width: 720px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .top-rule { height: 3px; }

  .app-sidebar {
    position: sticky;
    top: 0;
    z-index: 50;
    width: 100%;
    height: 58px;
    padding: 8px;
    background: rgba(16,16,16,.96);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  .app-sidebar nav { min-width: 0; }
  .sidebar-item { min-width: 0; gap: 5px; padding: 0 7px; font-size: 9px; }
  .sidebar-item > span { width: 12px; font-size: 11px; }

  body > main {
    width: 100%;
    max-width: 100%;
    padding: 20px 12px 48px;
    row-gap: 16px;
  }
  .terminal-brand {
    display: grid;
    grid-template-columns: 1fr;
    gap: 13px;
    padding: 0 0 14px;
  }
  .brand-identity { gap: 7px; }
  .terminal-brand h1 { font-size: 14px; }
  .update-status {
    width: 100%;
    display: grid;
    grid-template-columns: auto 6px auto 1fr;
    align-items: center;
    gap: 5px;
    font-size: 7px;
    white-space: normal;
  }
  .update-status span { flex-direction: row; align-items: center; gap: 4px; }
  .update-status .view-count { justify-self: end; min-width: 34px; padding-left: 8px; }

  .watchlist-panel {
    width: 100%;
    min-height: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }
  .watchlist-title {
    position: sticky;
    left: 0;
    z-index: 3;
    width: calc(100vw - 24px);
    min-width: calc(100vw - 24px);
    background: var(--paper);
  }
  .watchlist-title h2 { font-size: 21px; }
  .watch-row { min-width: 900px; }
  .header-row { font-size: 9px; }
  .watch-row.asset { min-height: 62px; }
  .watch-row > * { padding-right: 9px; padding-left: 9px; }
  .project-logo { width: 28px; height: 28px; }
  .coin strong { font-size: 12px; }

  .report-panel { margin-top: 0; }
  .report-panel .telegram-cta-wrap { min-height: 330px; padding: 12px; }
  .telegram-cta-wrap::before,
  .telegram-cta-wrap::after { inset: 10px; }
  .blurred-report { inset: 22px 18px 18px; padding: 18px; }
  .telegram-action { gap: 11px; }
  .telegram-action > p { font-size: 9px; }
  .telegram-cta { width: calc(100% - 20px); min-height: 70px; }
  .telegram-cta-icon { flex-basis: 40px; width: 40px; height: 44px; }
  .telegram-cta-copy strong { font-size: 12px; }

  .latest-news-title,
  .farming-title,
  .fundamentals-title { min-height: 64px; padding: 12px 4px; }
  .latest-news-title h2,
  .farming-title h2,
  .fundamentals-title h2 { font-size: 20px; line-height: 1.2; }
  .tabs {
    min-height: 58px;
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 0 4px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .tabs::-webkit-scrollbar { display: none; }
  .tab { flex: 0 0 auto; padding: 12px 10px 13px; font-size: 10px; }
  .asset-view { padding-top: 10px; }
  .news-link { grid-template-columns: 26px 1fr 16px; gap: 8px; min-height: 70px; padding: 10px 4px; }
  .news-link strong { font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }

  .farming-grid { gap: 12px; padding: 20px 0; }
  .farming-card { grid-template-columns: 44px minmax(0, 1fr) 14px; gap: 12px; min-height: 138px; padding: 18px 14px; }
  .farming-card > img { width: 44px; height: 44px; border-radius: 9px; }
  .farming-card strong { font-size: 19px; }
  .farming-card p { font-size: 11px; }
  .farming-labels { gap: 5px; }

  .chart-tabs { min-height: 66px; gap: 8px; padding: 12px 4px; border-bottom: 1px solid var(--line); }
  .chart-tab { min-width: 86px; min-height: 42px; padding: 0 12px; border: 1px solid var(--line); font-size: 9px; }
  .chart-panel { min-height: 0; padding: 22px 0 16px; }
  .chart-heading { display: grid; gap: 16px; }
  .chart-heading-identity { gap: 12px; }
  .chart-heading-identity > img { width: 42px; height: 42px; }
  .chart-heading h2 { margin: 0; font-size: 22px; }
  .chart-heading-links { justify-content: flex-start; }
  .chart-kpis { margin: 22px 0 16px; }
  .pump-chart-layout { gap: 12px; margin-top: 22px; }
  .metric-chart-card { padding: 18px 10px 10px; overflow-x: auto; }
  .chart-title-row { position: sticky; left: 0; width: calc(100vw - 44px); margin-bottom: 8px; }
  .metric-chart-card svg { min-width: 680px; height: 270px; }
  .metric-value-card { min-height: 180px; padding: 24px 20px 20px; }
  .metric-value-card output { font-size: 36px; }

}

/* Slightly raised surfaces for data cards and controls across every tab. */
.chart-kpis,
.metric-chart-card,
.metric-value-card {
  background: #161616;
}

.chart-heading a,
.chart-tab,
.tab {
  background: #171717;
}

.chart-heading a:hover,
.chart-tab:hover,
.tab:hover {
  background: #202020;
}

.chart-tab.active,
.tab.active {
  background: #222;
}

.chart-tab.locked {
  background: #141414;
}

.metric-value-card p {
  background: #1b1b1b;
}

/* Roomier desktop navigation and lightweight product credits. */
@media (min-width: 721px) {
  body { padding-left: 209px; }
  .app-sidebar { width: 209px; padding: 28px 18px; }
  .sidebar-item { min-height: 42px; gap: 12px; padding: 0 14px; font-size: 14px; }
  .sidebar-subitem { min-height: 30px; font-size: 12px; }
}

.watchlist-title { justify-content: space-between; }
.watchlist-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}
.watchlist-request {
  color: #777;
  font-size: 10px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: color .18s ease, transform .18s ease;
}
.watchlist-request span { margin-left: 5px; color: #ff78ad; }
.watchlist-request:hover { color: var(--ink); transform: translateX(-2px); }
.sidebar-telegram {
  position: relative;
  margin-top: auto;
}
.sidebar-telegram > a {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 10px;
  min-height: 154px;
  padding: 18px 12px;
  border: 1px solid #229ed9;
  color: #fff;
  background: #229ed9;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 12px 34px rgba(34,158,217,.16);
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.sidebar-telegram-logo {
  width: 64px;
  height: 58px;
  display: grid;
  place-items: center;
}
.sidebar-telegram-logo svg { width: 46px; height: 46px; fill: #fff; }
.sidebar-telegram strong { max-width: 150px; color: #fff; font-size: 11px; font-weight: 700; line-height: 1.45; }
.sidebar-telegram > a:hover { border-color: #2aabee; background: #2aabee; box-shadow: 0 16px 40px rgba(34,158,217,.25); transform: translateY(-2px); }
.sidebar-telegram-close { display: none; }
.site-credit {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  margin-top: 28px;
  padding: 24px 0 8px;
  border-top: 1px solid var(--line);
  color: #666;
  font-size: 11px;
  text-align: center;
}
.site-credit a { color: #aaa; text-decoration: none; }
.site-credit a:hover { color: #ff78ad; }
.site-credit > span,
.allium-credit { display:inline-flex; align-items:center; gap:5px; }
.site-credit .credit-separator { color:#3f3f3f; }
.allium-credit img { width:auto; height:15px; filter:invert(1); opacity:.72; transition:opacity .15s ease; }
.allium-credit:hover img { opacity:1; }
html[data-theme="light"] .allium-credit img { filter:none; }

/* Live watchlist updates feel active without becoming distracting. */
.price { border-radius: 3px; }
.price-fade-out { animation: priceFadeOut .45s ease-in forwards; }
.price-tick-up { animation: priceTickUp 1.4s ease-out; }
.price-tick-down { animation: priceTickDown 1.4s ease-out; }
@keyframes priceFadeOut {
  0% { opacity: 1; filter: blur(0); }
  100% { opacity: 0; filter: blur(2px); }
}
@keyframes priceTickUp {
  0% { opacity: 0; color: #9bd7ad; background: rgba(80,190,120,.18); filter: blur(2px); transform: translateY(-2px); }
  32% { opacity: 1; filter: blur(0); }
  64% { color: #9bd7ad; background: rgba(80,190,120,.09); }
  100% { opacity: 1; color: inherit; background: transparent; transform: translateY(0); }
}
@keyframes priceTickDown {
  0% { opacity: 0; color: #e59b9b; background: rgba(228,92,92,.18); filter: blur(2px); transform: translateY(2px); }
  32% { opacity: 1; filter: blur(0); }
  64% { color: #e59b9b; background: rgba(228,92,92,.09); }
  100% { opacity: 1; color: inherit; background: transparent; transform: translateY(0); }
}

/* Keep the selected protocol truthful while its dashboard data changes. */
.chart-panel { position: relative; }
.chart-panel .chart-kpis,
.chart-panel .pump-chart-layout { transition: filter .22s ease, opacity .22s ease; }
.chart-panel.is-loading .chart-kpis,
.chart-panel.is-loading .pump-chart-layout { filter: blur(4px); opacity: .32; pointer-events: none; }
.chart-panel.is-loading::after {
  content: '';
  position: absolute;
  z-index: 12;
  top: 190px;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border: 2px solid #333;
  border-top-color: #eee;
  border-radius: 50%;
  animation: chartLoading .75s linear infinite;
}
@keyframes chartLoading { to { transform: rotate(360deg); } }

@media (max-width: 720px) {
  .watchlist-title { align-items: stretch; flex-direction: column; gap: 12px; }
  .watchlist-actions { width: 100%; align-items: stretch; flex-direction: column; gap: 8px; }
  .watchlist-request { max-width: none; margin-top: 0; white-space: normal; text-align: left; line-height: 1.45; }
  .sidebar-telegram {
    position: fixed;
    z-index: 100;
    right: 14px;
    bottom: 14px;
    left: 14px;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(18px);
    transition: opacity .32s ease, visibility .32s ease, transform .32s ease;
  }
  .sidebar-telegram.mobile-visible { opacity: 1; visibility: visible; transform: translateY(0); }
  .sidebar-telegram > a {
    min-height: 176px;
    grid-template-columns: 1fr;
    align-content: center;
    justify-items: center;
    gap: 12px;
    padding: 22px 46px 20px;
    border-color: #229ed9;
    box-shadow: 0 18px 60px rgba(0,0,0,.65);
    text-align: center;
  }
  .sidebar-telegram-logo { width: 68px; height: 62px; }
  .sidebar-telegram-logo svg { width: 50px; height: 50px; }
  .sidebar-telegram strong { max-width: 250px; font-size: 14px; line-height: 1.45; }
  .sidebar-telegram-close {
    position: absolute;
    top: 8px;
    right: 9px;
    z-index: 2;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 0;
    color: rgba(255,255,255,.82);
    background: transparent;
    font: inherit;
    font-size: 20px;
    cursor: pointer;
  }
  .site-credit { margin-top: 18px; padding: 20px 4px 4px; }
  .chart-panel.is-loading::after { top: 150px; }
}

/* Tablet and mobile refinement. Desktop above 1024px remains unchanged. */
@media (min-width: 721px) and (max-width: 1024px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
  }
  body { padding-left: 154px; }
  .app-sidebar { width: 154px; padding: 20px 12px; }
  .sidebar-item { min-height: 44px; padding: 0 10px; font-size: 12px; }
  .sidebar-subitem { font-size: 11px; }
  .sidebar-telegram > a { min-height: 132px; padding: 15px 10px; }
  .sidebar-telegram-logo { width: 48px; height: 44px; }
  .sidebar-telegram-logo svg { width: 38px; height: 38px; }
  .sidebar-telegram strong { max-width: 118px; font-size: 9px; }

  body > main { max-width: 100%; padding-right: 24px; padding-left: 24px; }
  .terminal-brand { width: 100%; margin-left: 0; padding-right: 0; padding-left: 0; }
  .update-status { font-size: 7px; }

  button,
  a,
  [role="button"],
  [role="tab"] {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .app-sidebar,
  body > main,
  .terminal-brand,
  .charts-page,
  .farming-page { transform: none; }

  .watchlist-panel {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }
  .watchlist-panel .watch-row { min-width: 1040px; }
  .watchlist-title { min-width: 100%; }
  .tabs,
  .chart-tabs {
    position: relative;
    isolation: isolate;
    max-width: 100%;
  }
  .tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .tabs::-webkit-scrollbar { display: none; }

  .chart-tab,
  .tab,
  .sidebar-item,
  .watch-row.asset,
  .chart-heading a {
    position: relative;
    z-index: 1;
    min-height: 44px;
  }

  .fundamentals-overview { grid-template-columns: 1fr; gap: 16px; margin: 22px 24px 0; }
  .onchain-table-card,
  .onchain-scatter-card { margin-right: 24px; margin-left: 24px; }
  .onchain-scatter-card { margin-bottom: 24px; }
  .onchain-table-scroll,
  .onchain-scatter-scroll { overscroll-behavior-inline: contain; }
  .revenue-momentum { overflow: hidden; }
  .revenue-momentum-row {
    grid-template-columns: 76px minmax(0, 1fr) 120px;
    gap: 12px;
  }
  .revenue-momentum-row > span,
  .revenue-momentum-row i,
  .revenue-momentum-row output { min-width: 0; }
  .revenue-momentum-row output { gap: 8px; }
  .revenue-momentum-row output b { font-size: 13px; }
  .chart-tabs { padding-right: 24px; padding-left: 24px; }
  .chart-panel { padding: 30px 24px 24px; }
  .pump-chart-layout { grid-template-columns: 1fr; }
}

@media (hover: none) and (pointer: coarse) {
  .sidebar-telegram > a:hover,
  .watchlist-request:hover,
  .farming-card:hover { transform: none; }
}

/* Give the time-sensitive unlock column a quiet but persistent emphasis. */
.header-row > span:nth-child(6),
.asset > .next-unlock { background-color: #171717; }
.asset:hover:not(.active) > .next-unlock { background-color: #292929; }
.asset.active > .next-unlock,
.asset.active:hover > .next-unlock { background-color: #393939; }

.theme-toggle {
  width: 28px;
  height: 28px;
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  color: #b9b9b9;
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.theme-toggle:hover,
.theme-toggle:focus-visible { color: var(--ink); border-color: #666; outline: none; }
.theme-toggle span { display: block; font-size: 14px; line-height: 1; }
.social-x-link {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line);
  color: #b9b9b9;
  text-decoration: none;
  font-size: 10px;
  font-weight: 600;
}
.social-x-link:hover,
.social-x-link:focus-visible { color: var(--ink); border-color: #666; outline: none; }

html[data-theme="light"] {
  color-scheme: light;
  background: #f5f5f2;
  --paper: #f5f5f2;
  --paper-2: #ffffff;
  --ink: #20201e;
  --muted: #74746f;
  --line: #d9d9d3;
}
html[data-theme="light"] body,
html[data-theme="light"] body > main,
html[data-theme="light"] .panel,
html[data-theme="light"] .research,
html[data-theme="light"] .panel-heading,
html[data-theme="light"] .report-panel,
html[data-theme="light"] .tabs,
html[data-theme="light"] .asset-view,
html[data-theme="light"] .news-feed,
html[data-theme="light"] .empty-note,
html[data-theme="light"] .watchlist-panel,
html[data-theme="light"] .watch-row,
html[data-theme="light"] .telegram-cta-wrap,
html[data-theme="light"] .charts-page,
html[data-theme="light"] .farming-page { background-color: var(--paper); }
html[data-theme="light"] .app-sidebar { background: #eeeeea; }
html[data-theme="light"] .terminal-brand { background: var(--paper); }
html[data-theme="light"] .sidebar-item { color: #70706b; }
html[data-theme="light"] .sidebar-item.active,
html[data-theme="light"] .sidebar-item:hover { color: #20201e; background: #deded8; }
html[data-theme="light"] .sidebar-subitem { color: #777772; }
html[data-theme="light"] .sidebar-subitem:hover,
html[data-theme="light"] .sidebar-subitem.active { color: #20201e; border-color: #9b9b95; }
html[data-theme="light"] .sidebar-token-list button { color: #6f6f69; }
html[data-theme="light"] .sidebar-token-list button:hover,
html[data-theme="light"] .sidebar-token-list button.active { border-color: #bdbdb6; color: #20201e; background: #deded8; }
html[data-theme="light"] .sidebar-token-list img { border-color: #aaa9a2; }
html[data-theme="light"] .sidebar-telegram > a {
  border-color: #ff78ad;
  background: #ff78ad;
  box-shadow: 0 12px 34px rgba(217,61,123,.2);
}
html[data-theme="light"] .sidebar-telegram > a:hover {
  border-color: #f05f99;
  background: #f05f99;
  box-shadow: 0 16px 40px rgba(217,61,123,.28);
}
html[data-theme="light"] .terminal-brand h1,
html[data-theme="light"] .terminal-brand h1 a,
html[data-theme="light"] .update-status strong,
html[data-theme="light"] .view-count strong { color: #20201e; }
html[data-theme="light"] .view-count svg { stroke: #6f6f69; }
html[data-theme="light"] .theme-toggle { color: #555550; background: #f7f7f4; }
html[data-theme="light"] .theme-toggle:hover,
html[data-theme="light"] .theme-toggle:focus-visible { border-color: #888880; color: #111; }
html[data-theme="light"] .social-x-link { color: #555550; background: #f7f7f4; }
html[data-theme="light"] .social-x-link:hover,
html[data-theme="light"] .social-x-link:focus-visible { color: #111; border-color: #888880; }
html[data-theme="light"] .watchlist-title,
html[data-theme="light"] .latest-news-title,
html[data-theme="light"] .fundamentals-title,
html[data-theme="light"] .farming-title { color: #20201e; }
html[data-theme="light"] .coin strong,
html[data-theme="light"] .price,
html[data-theme="light"] .market-cap,
html[data-theme="light"] .next-unlock strong,
html[data-theme="light"] .news-link,
html[data-theme="light"] .news-link strong,
html[data-theme="light"] .asset-head h3,
html[data-theme="light"] .chart-heading h2,
html[data-theme="light"] .chart-title-row strong,
html[data-theme="light"] .chart-title-row em b,
html[data-theme="light"] .metric-value-card > div strong,
html[data-theme="light"] .metric-value-card output,
html[data-theme="light"] .valuation-title,
html[data-theme="light"] .valuation-card dd,
html[data-theme="light"] .chart-kpis strong,
html[data-theme="light"] .chart-empty strong,
html[data-theme="light"] .pe-comparison-heading h3,
html[data-theme="light"] .pe-comparison-row > span,
html[data-theme="light"] .pe-comparison-row output,
html[data-theme="light"] .revenue-momentum-row > span { color: #20201e; }
html[data-theme="light"] .asset:hover:not(.active) { color: #20201e; background: #e9e9e4; }
html[data-theme="light"] .asset:hover:not(.active) .coin strong,
html[data-theme="light"] .asset:hover:not(.active) .coin small,
html[data-theme="light"] .asset:hover:not(.active) .price,
html[data-theme="light"] .asset:hover:not(.active) .market-cap,
html[data-theme="light"] .asset:hover:not(.active) .next-unlock strong { color: #20201e; }
html[data-theme="light"] .asset:hover:not(.active) .next-unlock small,
html[data-theme="light"] .asset:hover:not(.active) .next-unlock em { color: #5f5f5a; }
html[data-theme="light"] .asset.active,
html[data-theme="light"] .asset.active:hover { color: #20201e; background: #deded8; }
html[data-theme="light"] .asset.active .coin strong,
html[data-theme="light"] .asset.active .coin small,
html[data-theme="light"] .asset.active .price,
html[data-theme="light"] .asset.active .market-cap,
html[data-theme="light"] .asset.active .next-unlock strong,
html[data-theme="light"] .asset.active .next-unlock small,
html[data-theme="light"] .asset.active .next-unlock em { color: #20201e; }
html[data-theme="light"] .header-row > span:nth-child(6),
html[data-theme="light"] .asset > .next-unlock { background-color: #ecece7; }
html[data-theme="light"] .asset:hover:not(.active) > .next-unlock { background-color: #dfdfda; }
html[data-theme="light"] .asset.active > .next-unlock,
html[data-theme="light"] .asset.active:hover > .next-unlock { background-color: #d2d2cc; }
html[data-theme="light"] .tab,
html[data-theme="light"] .chart-tab { color: #777772; background: #f5f5f2; }
html[data-theme="light"] .tab:hover,
html[data-theme="light"] .tab.active,
html[data-theme="light"] .chart-tab:hover,
html[data-theme="light"] .chart-tab.active { color: #20201e; background: #e8e8e3; }
html[data-theme="light"] .news-link:hover { background: #ecece7; }
html[data-theme="light"] .chart-panel,
html[data-theme="light"] .chart-kpis,
html[data-theme="light"] .metric-chart-card,
html[data-theme="light"] .metric-value-card,
html[data-theme="light"] .valuation-card,
html[data-theme="light"] .pe-comparison,
html[data-theme="light"] .revenue-momentum,
html[data-theme="light"] .farming-card,
html[data-theme="light"] .onchain-table-card,
html[data-theme="light"] .onchain-scatter-card { background: #ffffff; }
html[data-theme="light"] .pumpfun-pnl-card { background: transparent; }
html[data-theme="light"] .pumpfun-breadth article,
html[data-theme="light"] .pumpfun-pnl-chart-wrap { background: #fff; }
html[data-theme="light"] .gum-index-components article,
html[data-theme="light"] .gum-index-chart-wrap { background:#fff; }
html[data-theme="light"] .gum-index-line { stroke:#20201e; }
html[data-theme="light"] .gum-index-grid { stroke:#d8d8d2; }
html[data-theme="light"] .pumpfun-pnl-grid { stroke: #d8d8d2; }
html[data-theme="light"] .pumpfun-pnl-line { stroke: #16b979; }
html[data-theme="light"] .pumpfun-pnl-latest strong { color: #128454; }
html[data-theme="light"] .onchain-table td.metric-good { color: #267a49; background: rgba(75,171,112,.15); box-shadow: inset 0 0 0 1px rgba(48,139,82,.1); }
html[data-theme="light"] .onchain-table td.metric-bad { color: #aa3f3f; background: rgba(204,80,80,.14); box-shadow: inset 0 0 0 1px rgba(180,61,61,.1); }
html[data-theme="light"] .pe-comparison-row i b { background: #20201e; }
html[data-theme="light"] .revenue-momentum-row i b,
html[data-theme="light"] .revenue-momentum-row.negative i b { background: #20201e; }
html[data-theme="light"] .pe-average-marker { background: #383834; box-shadow: 0 0 0 1px rgba(255,255,255,.55); }
html[data-theme="light"] .pe-average-marker.labelled::before { color: #20201e; background: #fff; border-color: #bdbdb6; }
html[data-theme="light"] .chart-heading a { background: #ffffff; }
html[data-theme="light"] .chart-heading a:hover { color: #d93d7b; background: #f0f0eb; }
html[data-theme="light"] .metric-value-card p { color: #686863; background: #f0f0ec; }
html[data-theme="light"] .metric-value-card > div small,
html[data-theme="light"] .chart-title-row small,
html[data-theme="light"] .chart-title-row em,
html[data-theme="light"] .chart-state { color: #74746f; }
html[data-theme="light"] .pe-comparison-row i,
html[data-theme="light"] .revenue-momentum-row i { background: #e5e5e0; }
html[data-theme="light"] .revenue-momentum-row i::after { background: #9a9a94; }
html[data-theme="light"] .metric-chart-card svg text,
html[data-theme="light"] .price-axis text,
html[data-theme="light"] .price-axis .price-axis-title { fill: #777772; }
html[data-theme="light"] .chart-grid line { stroke: #ddddD7; }
html[data-theme="light"] .price-overlay { stroke: #343432; filter: drop-shadow(0 1px 1px rgba(255,255,255,.7)); }
html[data-theme="light"] .hover-guide { stroke: rgba(25,25,25,.38); }
html[data-theme="light"] .chart-bars rect {
  fill: var(--protocol-accent-light, var(--protocol-accent, #20201e));
  opacity: 1;
}
html[data-theme="light"] .chart-bars rect:hover {
  fill: var(--protocol-accent-light, var(--protocol-accent, #20201e));
  filter: brightness(.84);
  opacity: 1;
}
html[data-theme="light"] .chart-hover-tooltip,
html[data-theme="light"] .tldr-button::after { color: #20201e; background: #fff; border-color: #c9c9c3; box-shadow: 0 12px 30px rgba(20,20,20,.14); }
html[data-theme="light"] .chart-hover-tooltip strong,
html[data-theme="light"] .chart-hover-tooltip b { color: #20201e; }
html[data-theme="light"] .chart-hover-tooltip span { color: #74746f; }
html[data-theme="light"] .asset-links a,
html[data-theme="light"] .tldr-button,
html[data-theme="light"] .chart-heading a { color: #686863; border-color: #cfcfc9; }
html[data-theme="light"] .asset-links a:hover,
html[data-theme="light"] .asset-links a:focus-visible { color: #20201e; background: #e8e8e3; }
html[data-theme="light"] .chart-tab.locked { color: #9a9a94; background: #efefeb; }
html[data-theme="light"] .site-credit,
html[data-theme="light"] .site-credit a,
html[data-theme="light"] .metric-watermark { color: #72726d; }
html[data-theme="light"] .news-link > span,
html[data-theme="light"] .news-link i { color: #d93d7b; }
html[data-theme="light"] .farming-page { min-height: calc(100vh - 110px); }
html[data-theme="light"] .farming-card strong { color: #20201e; }
html[data-theme="light"] .farming-card p { color: #696964; }
html[data-theme="light"] .farming-card i { color: #5f5f5a; }
html[data-theme="light"] .farming-card:hover { border-color: #b9b9b2; background: #f0f0eb; }
html[data-theme="light"] .farming-labels b { color: #80610c; background: #fff8d9; }
html[data-theme="light"] .onchain-section-heading h3,
html[data-theme="light"] .onchain-token strong,
html[data-theme="light"] .scatter-project-name { color: #20201e; fill: #20201e; }
html[data-theme="light"] .onchain-table th,
html[data-theme="light"] .onchain-token small,
html[data-theme="light"] .onchain-section-heading p { color: #74746f; }
html[data-theme="light"] .scatter-gridline { stroke: #deded8; }
html[data-theme="light"] .scatter-zero { stroke: #8e8e88; }
html[data-theme="light"] .scatter-axis-tick,
html[data-theme="light"] .scatter-axis-label { fill: #656560; }
html[data-theme="light"] .scatter-quadrant-label-box { fill: #f5f5f2; stroke: #20201e; }
html[data-theme="light"] .scatter-quadrant-label { fill: #20201e; }
html[data-theme="light"] .scatter-quadrant.scatter-good { fill: rgba(84, 176, 120, .09); }
html[data-theme="light"] .scatter-quadrant.scatter-risk { fill: rgba(207, 119, 119, .07); }
html[data-theme="light"] .table-tooltip::after { color: #20201e; background: rgba(255,255,252,.98); border-color: #bdbdb6; box-shadow: 0 14px 34px rgba(20,20,18,.18); }

@media (max-width: 720px) {
  .pumpfun-pnl-card { margin: 14px 0 0; padding: 20px 14px 14px; }
  .pumpfun-pnl-heading { display: grid; gap: 14px; }
  .pumpfun-pnl-heading h3 { font-size: 15px; }
  .pumpfun-pnl-latest { justify-items: start; text-align: left; }
  .pumpfun-breadth { grid-template-columns: 1fr 1fr; }
  .pumpfun-breadth article:nth-child(2) { border-right: 0; }
  .pumpfun-breadth article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .pumpfun-pnl-chart-wrap { min-height: 220px; overflow-x: auto; }
  .pumpfun-pnl-chart-wrap svg { min-width: 620px; height: 220px; }
  .gum-index-card { margin:14px 14px 0; }
  .gum-index-heading { display:grid; gap:14px; }
  .gum-index-latest { justify-items:start; text-align:left; }
  .gum-index-components { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gum-index-chart-wrap { overflow-x:auto; }
  .gum-index-chart-wrap svg { min-width:620px; }
  .terminal-brand { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
  .brand-cluster { min-width: 0; }
  .update-status { width: auto; display: flex; gap: 6px; white-space: nowrap; }
  .header-actions { justify-self: end; }
  .theme-toggle,
  .social-x-link { width: 26px; height: 26px; }
  .sidebar-group { position: relative; }
  .sidebar-submenu {
    position: absolute;
    z-index: 60;
    top: calc(100% + 7px);
    left: 0;
    width: 100%;
    gap: 0;
    padding: 5px;
    border: 1px solid var(--line);
    background: #101010;
  }
  .sidebar-subitem { min-height: 36px; padding: 0 9px; border-left: 0; border-bottom: 1px solid var(--line); }
  .sidebar-subitem:last-child { border-bottom: 0; }
  .sidebar-subitem.active { color: var(--ink); border-left: 0; }
  html[data-theme="light"] .sidebar-submenu { background: #f5f5f2; }
}

@media (max-width: 720px) {
  .charts-page,
  .farming-page { width: 100%; max-width: 100%; }

  .fundamentals-overview { width: 100%; }
  .pe-comparison,
  .revenue-momentum { min-height: 250px; }
  .pe-comparison-heading { margin-bottom: 18px; }
  .pe-comparison-heading h3 { font-size: 14px; line-height: 1.4; }
  .pe-comparison-heading p { font-size: 8px; line-height: 1.5; }
  .pe-comparison-row,
  .revenue-momentum-row { min-height: 34px; }
  .revenue-momentum-row output small { font-size: 7px; }

  .chart-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chart-kpis > div {
    min-height: 88px;
    gap: 7px;
    padding: 12px 8px 22px;
    border-right: 1px solid var(--line);
    border-bottom: 0;
  }
  .chart-kpis > div:nth-child(2n) { border-right: 0; }
  .chart-kpis > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .chart-kpis small { font-size: 7px; line-height: 1.35; letter-spacing: .08em; }
  .chart-kpis strong { font-size: clamp(14px, 4vw, 18px); white-space: nowrap; }
  .chart-kpis > .metric-watermark { right: 8px; bottom: 6px; font-size: 6px; opacity: .58; }
  .chart-kpis > .metric-watermark img { width: 10px; height: 10px; }

  .chart-heading-links { width: 100%; display: grid; grid-template-columns: 36px 1fr 1fr; }
  .chart-heading a { display: grid; place-items: center; min-height: 38px; padding: 7px 8px; text-align: center; }
  .chart-title-row { gap: 10px; }
  .chart-title-row strong { font-size: 14px; }
  .chart-title-row small,
  .chart-title-row em { font-size: 9px; }
  .metric-chart-card svg { min-width: 580px; height: 255px; }
  .metric-value-card p { flex-wrap: wrap; }

  .site-credit { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .price-tick-up,
  .price-tick-down,
  .price-fade-out,
  .chart-panel.is-loading::after { animation: none; }
}

/* Larger table typography for faster scanning across desktop and touch layouts. */
.watchlist-panel .header-row { font-size: 11px; }
.watchlist-panel .watch-row.asset { font-size: 14px; }
.watchlist-panel .coin strong { font-size: 15px; }
.watchlist-panel .coin small { font-size: 10px; }
.watchlist-panel .price,
.watchlist-panel .change-24,
.watchlist-panel .change-30,
.watchlist-panel .market-cap { font-size: 14px; font-weight: 600; }
.watchlist-panel .next-unlock strong { font-size: 13px; }
.watchlist-panel .next-unlock small,
.watchlist-panel .next-unlock em { font-size: 10px; line-height: 1.35; }

.onchain-table { font-size: 16px; }
.onchain-table th { font-size: 11px; }
.onchain-table td { font-size: 15px; }
.onchain-token strong { font-size: 15px; }
.onchain-token small { font-size: 10px; }

@media (max-width: 1024px) {
  .watchlist-panel .header-row { font-size: 10px; }
  .watchlist-panel .watch-row.asset,
  .watchlist-panel .price,
  .watchlist-panel .change-24,
  .watchlist-panel .change-30,
  .watchlist-panel .market-cap { font-size: 13px; }
  .watchlist-panel .coin strong { font-size: 14px; }
  .watchlist-panel .next-unlock strong { font-size: 12px; }
  .onchain-table td { font-size: 14px; }
}

/* Terminal split view: dense watchlist with contextual news always in sight. */
@media (min-width: 1400px) {
  body > main {
    max-width: 1840px;
    grid-template-columns: minmax(760px, 1fr) minmax(340px, 420px);
    grid-template-areas: "brand brand" "watch research";
    column-gap: 26px;
  }
  .watchlist-panel { min-width: 0; }
  .watch-row {
    grid-template-columns: minmax(210px, 1fr) max-content max-content max-content max-content minmax(168px, .72fr);
  }
  .watch-row > * { padding-right: 10px; padding-left: 10px; }
  .research {
    position: sticky;
    top: 24px;
    align-self: start;
    min-width: 0;
    border: 1px solid var(--line) !important;
    background: #141414;
  }
}

.research .latest-news-title { padding-right: 20px; padding-left: 20px; }
.research .tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}
.research .tab {
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid var(--line);
  font-size: 9px;
}
.research .tab.active { border-color: #ff78ad; background: #ff78ad12; }
.research .tab.active::after { display: none; }
.research .asset-view { padding: 0 16px 16px; }
.research .news-feed { position: relative; margin-top: 16px; border: 1px solid var(--line); }
.research .news-link { min-height: 78px; padding: 12px 10px; }
.research .news-link strong { font-size: 13px; line-height: 1.5; }
.research.is-searching .news-feed { min-height: 250px; overflow: hidden; }
.research.is-searching .news-link { opacity: .08; transform: translateY(5px); }
.research.is-searching .news-feed::before {
  content: 'SCANNING LIVE SOURCES';
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: max-content;
  transform: translate(-50%, -50%);
  color: #ff78ad;
  font: 600 10px 'JetBrains Mono', monospace;
  letter-spacing: .12em;
  animation: newsScanPulse .65s ease-in-out infinite alternate;
}
.research.is-searching .news-feed::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, transparent 0, #ff78ad18 48%, #ff78ad55 50%, #ff78ad18 52%, transparent 100%);
  animation: newsScanLine .7s linear infinite;
}
.research.news-ready .news-link { animation: newsResultIn .38s both; }
.research.news-ready .news-link:nth-child(2) { animation-delay: .06s; }
.research.news-ready .news-link:nth-child(3) { animation-delay: .12s; }
.research.news-ready .news-link:nth-child(4) { animation-delay: .18s; }
.research.news-ready .news-link:nth-child(5) { animation-delay: .24s; }
@keyframes newsScanPulse { to { opacity: .45; } }
@keyframes newsScanLine { from { transform: translateY(-100%); } to { transform: translateY(100%); } }
@keyframes newsResultIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

html[data-theme="light"] .research { background: #fafaf8; }

@media (max-width: 1399px) {
  body > main { grid-template-columns: minmax(0, 1fr); grid-template-areas: "brand" "research" "watch"; }
  .research { margin-bottom: 18px; border: 1px solid var(--line) !important; }
}

/* Precision pass: stable header, aligned ledger and a focused news identity. */
.terminal-brand {
  width: auto;
  margin-left: 0;
  grid-column: 1 / -1;
  padding-right: 0;
  padding-left: 0;
}

@media (min-width: 1400px) {
  .watch-row {
    grid-template-columns:
      minmax(220px, 1.7fr)
      minmax(90px, 1fr)
      minmax(70px, .8fr)
      minmax(70px, .8fr)
      minmax(100px, 1.1fr)
      minmax(170px, 1.4fr);
    gap: 0;
  }
  .watch-row > * { min-width: 0; padding-right: 8px; padding-left: 8px; }
  .watch-row > :nth-child(2),
  .watch-row > :nth-child(3),
  .watch-row > :nth-child(4),
  .watch-row > :nth-child(5) { justify-content: flex-end; text-align: right; }
  .header-row > :nth-child(2),
  .header-row > :nth-child(3),
  .header-row > :nth-child(4),
  .header-row > :nth-child(5) { justify-content: flex-end; }
}

.research { --news-accent: #55d6a6; overflow: hidden; border: 0 !important; background: transparent !important; }
.research .latest-news-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 112px;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
  box-shadow: none;
}
.latest-news-title h2 { line-height: 1.05; }
.news-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.latest-news-title p {
  margin: 9px 0 0;
  color: var(--muted);
  font: 600 8px 'JetBrains Mono', monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.selected-news-token {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.selected-news-token img { width: 34px; height: 34px; border: 1px dashed color-mix(in srgb, var(--news-accent) 68%, var(--line)); border-radius: 50%; object-fit: cover; }
.selected-news-token strong { overflow: hidden; color: var(--ink); font-size: .58em; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.research .asset-view { padding-top: 16px; }
.research .news-feed {
  margin-top: 0;
  border-top: 2px solid var(--news-accent);
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
}
.research .news-link { border-right: 0; border-left: 0; background: transparent; }
.research .news-link strong {
  font-family: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-weight: 500;
  letter-spacing: -.012em;
}
.research .news-link:hover { background: color-mix(in srgb, var(--news-accent) 7%, transparent); }
.research .news-link > span { color: var(--news-accent); }
.research.is-searching .news-feed::before { color: var(--news-accent); }
.research.is-searching .news-feed::after {
  background: linear-gradient(180deg, transparent 0, color-mix(in srgb, var(--news-accent) 10%, transparent) 48%, color-mix(in srgb, var(--news-accent) 40%, transparent) 50%, color-mix(in srgb, var(--news-accent) 10%, transparent) 52%, transparent 100%);
}

@media (max-width: 620px) {
  .research .latest-news-title { min-height: 0; }
  .selected-news-token img { width: 28px; height: 28px; }
}

/* Tablet: fit the terminal to the viewport instead of trapping content off-canvas. */
@media (min-width: 721px) and (max-width: 1399px) {
  body > main { padding-right: 16px; padding-left: 16px; }
  .overview,
  .watchlist-panel,
  .research { min-width: 0; max-width: 100%; }
  .watchlist-panel { overflow-x: visible; }
  .watchlist-panel .watch-row {
    min-width: 0;
    grid-template-columns:
      minmax(120px, 1.7fr)
      minmax(62px, .95fr)
      minmax(52px, .8fr)
      minmax(52px, .8fr)
      minmax(68px, 1.05fr)
      minmax(110px, 1.35fr);
    gap: 0;
  }
  .watchlist-panel .watch-row > * {
    min-width: 0;
    padding-right: 5px;
    padding-left: 5px;
  }
  .watchlist-panel .watch-row > :nth-child(2),
  .watchlist-panel .watch-row > :nth-child(3),
  .watchlist-panel .watch-row > :nth-child(4),
  .watchlist-panel .watch-row > :nth-child(5) {
    justify-content: flex-end;
    text-align: right;
  }
  .watchlist-panel .asset-links { display: none; }
  .watchlist-panel .coin { gap: 7px; }
  .watchlist-panel .coin strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
  .watchlist-panel .project-logo { width: 25px; height: 25px; }
  .watchlist-panel .watch-row.asset { font-size: 11px; }
  .watchlist-panel .header-row { font-size: 8px; }
  .watchlist-panel .next-unlock strong { font-size: 10px; }
  .watchlist-panel .next-unlock small,
  .watchlist-panel .next-unlock em { overflow: hidden; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
}

@media (max-width: 720px) {
  .watch-row {
    min-width: 900px;
    grid-template-columns: minmax(180px, 1.6fr) 86px 68px 68px 96px 160px;
  }
}

html[data-theme="light"] .scatter-project-marker { fill: transparent; stroke: #aaa9a2; }
html[data-theme="light"] .scatter-project-tooltip rect { fill: #fff; stroke: #b8b8b1; }
html[data-theme="light"] .scatter-tooltip-title { fill: #20201e; }
html[data-theme="light"] .scatter-tooltip-data { fill: #666660; }

/* Mobile deep-dive: preserve the terminal density without forcing a desktop canvas. */
@media (max-width: 720px) {
  html { scroll-padding-top: 116px; }
  body { min-width: 0; }

  .app-sidebar {
    height: auto;
    min-height: 104px;
    align-items: stretch;
    padding: 8px 10px 7px;
  }
  .app-sidebar nav {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(72px, .8fr) minmax(132px, 1.35fr) minmax(72px, .8fr);
    align-items: start;
    gap: 6px;
  }
  .sidebar-item {
    min-height: 40px;
    justify-content: center;
    gap: 6px;
    padding: 0 8px;
    font-size: 10px;
  }
  .sidebar-item > span { width: auto; }
  .sidebar-charts i { display: none; }
  .sidebar-group { display: grid; min-width: 0; }
  .sidebar-submenu {
    position: static;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 2px 0 0;
    border: 0;
    background: transparent;
  }
  .sidebar-submenu[hidden] { display: none; }
  .sidebar-subitem {
    min-width: 0;
    min-height: 42px;
    padding: 4px 7px;
    border: 0;
    border-top: 1px solid var(--line);
    font-size: 8px;
    line-height: 1.25;
    text-align: center;
  }
  .sidebar-subitem::after { display: none; }
  .sidebar-subitem + .sidebar-subitem { margin-top: 0; }
  .sidebar-subitem + .sidebar-subitem { border-left: 1px solid var(--line); }
  .sidebar-subitem.active { box-shadow: inset 0 -2px currentColor; }
  .sidebar-token-list { display: none; }

  body > main {
    grid-template-areas: "brand" "watch" "research";
    padding: 14px 10px 40px;
    row-gap: 12px;
  }
  .terminal-brand {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding-bottom: 10px;
  }
  .brand-identity img { width: 17px; height: 17px; }
  .terminal-brand h1 { font-size: 13px; }
  .update-status { gap: 4px; font-size: 6.5px; }
  .update-status > span:nth-child(2) { display: none; }
  .header-actions { gap: 5px; }
  .view-count { min-width: 38px; font-size: 8px; }

  .watchlist-panel {
    overflow: visible;
    border: 1px solid var(--line) !important;
  }
  .watchlist-title {
    position: static;
    width: auto;
    min-width: 0;
    gap: 8px;
    padding: 14px 12px;
  }
  .watchlist-title h2 { font-size: 22px; }
  .watchlist-request { font-size: 8px; }
  .watchlist-panel .header-row { display: none; }
  .watchlist-panel .watch-row.asset {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    border-bottom: 1px solid var(--line);
    font-size: 12px;
  }
  .watchlist-panel .watch-row.asset:last-child { border-bottom: 0; }
  .watchlist-panel .watch-row.asset > * {
    min-width: 0;
    min-height: 54px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 24px 10px 8px;
    border: 0;
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    text-align: left;
  }
  .watchlist-panel .watch-row.asset > .coin {
    grid-column: 1 / -1;
    min-height: 58px;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-top: 0;
    border-left: 0;
  }
  .watchlist-panel .watch-row.asset > .price { border-left: 0; }
  .watchlist-panel .watch-row.asset > .market-cap {
    grid-column: 1 / 2;
    min-height: 66px;
    border-left: 0;
  }
  .watchlist-panel .watch-row.asset > .next-unlock {
    grid-column: 2 / -1;
    min-height: 66px;
    padding-top: 23px;
  }
  .watchlist-panel .price,
  .watchlist-panel .change-24,
  .watchlist-panel .change-30,
  .watchlist-panel .market-cap,
  .watchlist-panel .next-unlock { position: relative; }
  .watchlist-panel .price::before,
  .watchlist-panel .change-24::before,
  .watchlist-panel .change-30::before,
  .watchlist-panel .market-cap::before,
  .watchlist-panel .next-unlock::before {
    position: absolute;
    top: 8px;
    left: 10px;
    color: #707070;
    font-size: 7px;
    font-weight: 600;
    letter-spacing: .08em;
  }
  .watchlist-panel .price::before { content: 'PRICE'; }
  .watchlist-panel .change-24::before { content: '24H'; }
  .watchlist-panel .change-30::before { content: '30D'; }
  .watchlist-panel .market-cap::before { content: 'ALLIUM FDV'; }
  .watchlist-panel .next-unlock::before { content: 'NEXT UNLOCK'; }
  .watchlist-panel .project-logo { width: 34px; height: 34px; }
  .watchlist-panel .coin strong { display: block; font-size: 14px; }
  .watchlist-panel .coin small { font-size: 9px; }
  .watchlist-panel .asset-links { display: inline-flex; }
  .watchlist-panel .price,
  .watchlist-panel .change-24,
  .watchlist-panel .change-30,
  .watchlist-panel .market-cap { font-size: 12px; }
  .watchlist-panel .next-unlock strong { font-size: 11px; }
  .watchlist-panel .next-unlock small,
  .watchlist-panel .next-unlock em { overflow: visible; font-size: 8px; text-overflow: clip; white-space: normal; }
  .asset.active,
  .asset.active:hover { box-shadow: inset 3px 0 #ff78ad; }

  .research { margin: 0; }
  .research .latest-news-title {
    min-height: 0;
    gap: 12px;
    padding: 15px 12px;
  }
  .latest-news-title h2 { font-size: 22px; }
  .latest-news-title p { margin-top: 5px; }
  .selected-news-token { padding: 7px 9px; }
  .selected-news-token img { width: 26px; height: 26px; }
  .research .asset-view { padding: 10px; }
  .research .news-feed { margin: 0; }
  .research .news-link { min-height: 68px; padding: 10px 9px; }

  .charts-page { border-right: 0; border-left: 0; }
  .fundamentals-title { min-height: 58px; padding: 12px 10px; }
  .fundamentals-title h2 { font-size: 22px; }
  .fundamentals-overview { gap: 10px; margin: 10px 0 0; }
  .pe-comparison,
  .revenue-momentum { min-height: 0; padding: 16px 10px 12px; }
  .pe-comparison-heading { margin-bottom: 12px; }
  .pe-comparison-heading h3 { font-size: 13px; }
  .pe-comparison-row { grid-template-columns: 66px minmax(70px, 1fr) 48px; gap: 8px; min-height: 32px; }
  .revenue-momentum-row { grid-template-columns: 66px minmax(60px, 1fr) 108px; gap: 7px; min-height: 33px; }
  .revenue-momentum-row output b { font-size: 10px; }

  .onchain-table-card,
  .onchain-scatter-card { margin: 10px 0 0; }
  .onchain-table-card { padding: 16px 10px 12px; }
  .onchain-section-heading h3 { font-size: 14px; }
  .onchain-table-scroll {
    position: relative;
    margin-right: -10px;
    padding-right: 10px;
    scrollbar-width: thin;
  }
  .onchain-table { min-width: 940px; }
  .onchain-table th:first-child,
  .onchain-table td:first-child {
    position: sticky;
    left: 0;
    z-index: 4;
    min-width: 150px;
    background: #161616;
    box-shadow: 8px 0 14px rgba(0,0,0,.18);
  }
  html[data-theme="light"] .onchain-table th:first-child,
  html[data-theme="light"] .onchain-table td:first-child { background: #fff; }
  .onchain-table td { height: 58px; padding: 8px 12px; font-size: 13px; }
  .onchain-token img { width: 28px; height: 28px; }
  .onchain-token strong { font-size: 12px; }

  .onchain-scatter-card { padding: 8px; }
  .onchain-scatter-card .onchain-section-heading {
    display: grid;
    gap: 3px;
    padding: 3px 4px 5px;
  }
  .onchain-scatter-card .onchain-section-heading p {
    max-width: 100%;
    font-size: 7px;
  }
  .onchain-scatter-scroll {
    min-height: 420px;
    margin-right: -8px;
    padding-right: 8px;
    scrollbar-width: thin;
  }
  .onchain-scatter-scroll svg { min-width: 660px; }
  .onchain-scatter-card > .metric-watermark { right: 12px; bottom: 9px; font-size: 7px; }

  .chart-tabs { min-height: 58px; gap: 6px; padding: 8px 10px; }
  .chart-tab { min-width: 82px; min-height: 40px; }
  .chart-panel { padding: 18px 10px 12px; }
  .chart-heading { gap: 12px; }
  .chart-heading h2 { font-size: 20px; }
  .chart-heading-links { grid-template-columns: 34px 1fr 1fr; }
  .chart-kpis { margin: 16px 0 12px; }
  .chart-kpis > div { min-height: 78px; padding: 10px 7px 18px; }
  .pump-chart-layout { margin-top: 14px; }
  .metric-chart-card { padding: 14px 8px 8px; }
  .chart-title-row { width: calc(100vw - 40px); }
  .metric-chart-card svg { min-width: 540px; height: 245px; }
  .metric-watermark { font-size: 7px; }

  .farming-title { min-height: 58px; padding: 12px 10px; }
  .farming-grid { padding: 10px 0; }
  .farming-card { min-height: 120px; padding: 15px 12px; }

  .sidebar-telegram { right: 10px; bottom: 10px; left: 10px; }
  .sidebar-telegram > a { min-height: 154px; padding: 18px 42px 16px; }
}

@media (max-width: 390px) {
  .app-sidebar nav { grid-template-columns: 68px minmax(126px, 1fr) 68px; }
  .sidebar-item { padding: 0 5px; font-size: 9px; }
  body > main { padding-right: 8px; padding-left: 8px; }
  .terminal-brand { grid-template-columns: 1fr; }
  .header-actions { justify-self: start; }
  .watchlist-panel .watch-row.asset > * { padding-right: 8px; padding-left: 8px; }
  .watchlist-panel .price::before,
  .watchlist-panel .change-24::before,
  .watchlist-panel .change-30::before,
  .watchlist-panel .market-cap::before,
  .watchlist-panel .next-unlock::before { left: 8px; }
  .onchain-scatter-scroll svg { min-width: 620px; }
}

/* Utility links live in the navigation hierarchy instead of reading as ads. */
.sidebar-links-group {
  display: grid;
  gap: 7px;
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.sidebar-links-title {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 7px;
  color: #777;
  font-size: 10px;
  letter-spacing: .06em;
}
.sidebar-links-title span { color: #8a8a8a; font-size: 9px; }
.sidebar-links-list { display: grid; gap: 6px; }
.sidebar-link-card {
  --link-accent: #888;
  min-height: 48px;
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  border: 1px dashed color-mix(in srgb, var(--link-accent) 35%, var(--line));
  color: #9a9a9a;
  background: color-mix(in srgb, var(--link-accent) 4%, transparent);
  text-decoration: none;
  transition: border-color .16s ease, color .16s ease, background .16s ease;
}
.sidebar-link-card strong { font-size: 9px; font-weight: 500; line-height: 1.4; }
.sidebar-link-card img,
.sidebar-link-icon { width: 25px; height: 25px; object-fit: contain; }
.sidebar-link-icon { display: grid; place-items: center; }
.sidebar-link-icon svg { width: 18px; height: 18px; fill: var(--link-accent); }
.sidebar-link-card:hover {
  border-color: color-mix(in srgb, var(--link-accent) 72%, var(--line));
  color: var(--ink);
  background: color-mix(in srgb, var(--link-accent) 8%, transparent);
}
.telegram-link { --link-accent: #2aabee; }
.awaken-link { --link-accent: #c58a34; }
html[data-theme="light"] .sidebar-link-card { color: #64645f; background: color-mix(in srgb, var(--link-accent) 5%, transparent); }

/* Token analysis: compact navigation and period-style token selectors. */
@media (min-width: 721px) {
  .chart-tabs { gap: 14px; padding-top: 16px; padding-bottom: 16px; }
  .chart-tab {
    min-width: 116px;
    min-height: 56px;
    gap: 10px;
    padding: 0 16px;
    border: 1px solid #3c3c3c;
    border-radius: 0;
    background: #141414;
  }
  .chart-tab img { width: 28px; height: 28px; border: 1px solid #494949; border-radius: 0; object-fit: cover; }
  .chart-tab.active { border-color: #f1f1f1; background: #1b1b1b; }
  html[data-theme="light"] .chart-tab { border-color: #c9c9c3; background: #f5f5f2; }
  html[data-theme="light"] .chart-tab.active { border-color: #20201e; background: #fff; }
}
html[data-theme="light"] .sidebar-link-card:hover { color: #20201e; }

@media (max-width: 720px) {
  .sidebar-links-group {
    grid-column: 1 / -1;
    margin-top: 4px;
    padding-top: 8px;
  }
  .sidebar-links-title { padding: 0 4px; font-size: 8px; }
  .sidebar-links-list { grid-template-columns: 1fr 1fr; }
  .sidebar-link-card { min-height: 38px; padding: 5px 8px; }
  .sidebar-link-card strong { font-size: 8px; }
}

/* Shared tactile treatment for navigation, positioning cells and the canvas. */
body::before {
  position: fixed;
  z-index: 999;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,232,207,.34) .45px, transparent .65px);
  background-size: 7px 7px;
  content: '';
  opacity: .065;
  pointer-events: none;
}
html[data-theme="light"] body::before {
  background-image: radial-gradient(circle, rgba(105,78,54,.34) .45px, transparent .65px);
  opacity: .052;
}

html[data-theme="light"] .charts-token .chart-panel { background: transparent; }

.header-row > span:nth-child(6) { font-size: 8px; line-height: 1.25; text-align: center; }
.asset > .cohort-position.positive-position { background: rgba(54,151,98,.14); }
.asset > .cohort-position.negative-position { background: rgba(190,79,68,.14); }
.asset > .cohort-position.no-position { background: rgba(255,255,255,.025); }
html[data-theme="light"] .asset > .cohort-position.positive-position { background: rgba(52,154,96,.16); }
html[data-theme="light"] .asset > .cohort-position.negative-position { background: rgba(201,74,63,.15); }
html[data-theme="light"] .asset > .cohort-position.no-position { background: rgba(25,25,23,.035); }

html[data-theme="light"] .asset-links a:hover,
html[data-theme="light"] .asset-links a:focus-visible,
html[data-theme="light"] .tldr-button:hover,
html[data-theme="light"] .tldr-button:focus-visible,
html[data-theme="light"] .tldr-button.open {
  border-color: #111;
  color: #fff;
  background: #111;
}
html[data-theme="light"] .tldr-button::after {
  border-color: #111;
  color: #fff;
  background: #111;
  box-shadow: 0 12px 30px rgba(20,20,20,.2);
}

/* Quiet terminal header and simplified watchlist ledger. */
.terminal-brand {
  position: relative;
  min-width: 0;
  justify-content: flex-start;
  gap: 18px;
  overflow: visible;
  border-bottom: 0;
}
.terminal-brand::after { position:absolute; right:calc(-1 * clamp(28px,4vw,72px)); bottom:0; left:calc(-1 * clamp(28px,4vw,72px)); border-bottom:1px solid var(--line); content:''; }
.brand-cluster { flex: 0 1 auto; min-width: 0; }
.header-actions { flex: 0 0 auto; }
.header-actions .view-count { gap: 8px; }
.theme-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.social-x-link svg { width:13px; height:13px; fill:currentColor; }

/* Token selector stays visually bare and fluid. */
@media (min-width: 721px) {
  .charts-token .chart-tabs { gap:28px; margin:10px 38px 0; padding:0 0 8px; border:0; background:transparent; }
  .charts-token .chart-tab { min-width:auto; min-height:32px; padding:0 2px; border:0; background:transparent; font-size:13px; }
  .charts-token .chart-tab:hover { border:0; color:#aaa; background:transparent; }
  .charts-token .chart-tab.active { border:0; color:var(--ink); box-shadow:none; background:transparent; font-weight:600; }
  html[data-theme="light"] .charts-token .chart-tabs { background:transparent; }
  html[data-theme="light"] .charts-token .chart-tab { border:0; background:transparent; }
  html[data-theme="light"] .charts-token .chart-tab.active { border:0; box-shadow:none; background:transparent; }
}

.fundamentals-back-link {
  display:inline-flex;
  margin:20px 38px 0;
  color:var(--muted);
  font-size:13px;
  text-decoration:none;
  letter-spacing:.04em;
}
.charts-token .chart-panel { padding-top:14px; }
.fundamentals-back-link:hover { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }

.fundamentals-controls {
  display:flex;
  align-items:center;
  gap:12px;
  margin:22px 38px 0;
  padding:10px 0 14px;
  border-bottom:0;
}
.charts-onchain > .fundamentals-controls { margin-right:0; margin-left:0; }
.token-fundamentals-controls { margin:14px 0 0; }
.granularity-switch,
.range-presets { display:inline-flex; align-items:center; }
.granularity-switch button,
.range-presets button {
  min-height:34px;
  padding:0 13px;
  border:1px solid var(--line);
  color:var(--muted);
  background:#151515;
  font:600 9px/1 "IBM Plex Mono",monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.granularity-switch button + button,
.range-presets button + button { margin-left:-1px; }
.granularity-switch button:hover,
.range-presets button:hover { position:relative; z-index:1; color:var(--ink); border-color:#666; }
.granularity-switch button.active,
.range-presets button.active {
  position:relative;
  z-index:2;
  color:#111;
  border-color:var(--ink);
  background:var(--ink);
}
.range-presets { margin-left:auto; }
.date-range-fields { display:flex; align-items:flex-end; gap:8px; }
.date-range-fields > span { padding-bottom:10px; color:#555; font-size:10px; }
.date-range-fields label {
  display:grid;
  gap:5px;
  color:#666;
  font-size:7px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.date-range-fields input {
  width:126px;
  height:34px;
  box-sizing:border-box;
  padding:0 8px;
  border:1px solid var(--line);
  border-radius:0;
  color:var(--ink);
  background:#151515;
  font:500 9px/1 "IBM Plex Mono",monospace;
  color-scheme:dark;
}
.date-range-fields input:focus { outline:1px solid var(--ink); outline-offset:-1px; }
html[data-theme="light"] .granularity-switch button,
html[data-theme="light"] .range-presets button,
html[data-theme="light"] .date-range-fields input { background:#fff; }
html[data-theme="light"] .granularity-switch button.active,
html[data-theme="light"] .range-presets button.active { color:#fff; background:#20201e; border-color:#20201e; }
html[data-theme="light"] .date-range-fields input { color-scheme:light; }

@media (max-width:900px) {
  .fundamentals-controls { flex-wrap:wrap; }
  .range-presets { margin-left:0; }
  .date-range-fields { width:100%; }
  .date-range-fields label { flex:1; }
  .date-range-fields input { width:100%; }
}
@media (max-width:720px) {
  .fundamentals-controls { gap:8px; margin:12px 14px 0; padding-bottom:12px; }
  .granularity-switch,
  .range-presets { width:100%; }
  .granularity-switch button,
  .range-presets button { flex:1; padding:0 8px; }
}

/* Homepage directory: a compact bibliography of every dashboard surface. */
.dashboard-directory {
  margin-bottom: 30px;
  padding: 8px 0 12px;
}
.dashboard-directory-head,
.dashboard-directory-row {
  display: grid;
  grid-template-columns: minmax(150px, .34fr) minmax(0, 1fr);
  column-gap: 26px;
  align-items: center;
  padding: 0 16px;
}
.dashboard-directory-head {
  min-height: 38px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.dashboard-directory-head h2 { margin: 0; color: inherit; font: inherit; }
.dashboard-directory-row {
  min-height: 60px;
  margin: 4px 0;
  border: 1px dashed transparent;
  transition: border-color .15s ease, background-color .15s ease;
}
.dashboard-directory-row:hover { border-color: #505050; background: color-mix(in srgb, var(--paper) 92%, var(--ink) 8%); }
.dashboard-directory-row.active { border-color: #626262; background: color-mix(in srgb, var(--paper) 86%, var(--ink) 14%); }
.dashboard-directory-row > a {
  width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
.dashboard-directory-row > a::before { content: '›'; width: 13px; color: #6f6f6f; font-size: 15px; line-height: 1; text-align: center; }
.dashboard-directory-row.active > a::before { color: var(--ink); transform: rotate(90deg); }
.dashboard-directory-row > a span { display: none; }
.dashboard-directory-row:hover > a,
.dashboard-directory-row.active > a { color: var(--ink); }
.dashboard-directory-row p {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 18px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}
.dashboard-directory-row p span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.dashboard-directory-row p span::before { content: '›'; color: #606060; font-size: 12px; line-height: 1; }

@media (max-width:720px) {
  .dashboard-directory { margin-bottom: 20px; }
  .dashboard-directory-head,
  .dashboard-directory-row { grid-template-columns: 1fr; gap: 8px; padding: 12px 10px; }
  .dashboard-directory-head { min-height: 0; grid-template-columns: 1fr 1fr; }
  .dashboard-directory-row { min-height: 0; align-items: start; }
  .dashboard-directory-row p { gap: 5px 12px; font-size: 9px; }
  .fundamentals-title { margin:0 14px; padding:12px 0; }
}

#gum-index-chart,
#pumpfun-pnl-chart { pointer-events:none; user-select:none; }

.terminal-page-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 30px;
}
.terminal-page-cards > a {
  position: relative;
  min-height: 126px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 18px 42px 18px 18px;
  border: 1px dashed var(--line);
  color: var(--muted);
  text-decoration: none;
  transition: border-color .15s ease, color .15s ease, background-color .15s ease;
}
.terminal-page-cards > a:hover {
  border-color: #626262;
  color: var(--ink);
  background: color-mix(in srgb, var(--paper) 88%, var(--ink) 12%);
}
.terminal-page-cards small { color: #ff78ad; font-size: 9px; letter-spacing: .12em; }
.terminal-page-cards strong { color: var(--ink); font-size: 18px; font-weight: 500; }
.terminal-page-cards span { font-size: 10px; }
.terminal-page-cards i { position: absolute; top: 18px; right: 18px; color: #ff78ad; font-size: 12px; font-style: normal; }

.news-category-tabs {
  display: flex;
  align-items: flex-end;
  overflow-x: auto;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  scrollbar-width: none;
}
.news-category-tabs::-webkit-scrollbar { display: none; }
.news-category-tabs button {
  flex: 1 0 auto;
  min-height: 58px;
  padding: 12px 14px;
  border: 1px solid transparent;
  border-top: 0;
  border-bottom: 0;
  color: #666;
  background: transparent;
  font: inherit;
  font-size: 10px;
  white-space: nowrap;
  cursor: pointer;
}
.news-category-tabs button:hover { color: var(--ink); }
.news-category-tabs button.active {
  color: var(--ink);
  border-color: var(--line);
  background: color-mix(in srgb, var(--paper) 92%, var(--ink) 8%);
}

@media (max-width: 720px) {
  .terminal-page-cards { grid-template-columns: 1fr; gap: 8px; margin-bottom: 20px; }
  .terminal-page-cards > a { min-height: 92px; }
  .news-category-tabs button { min-height: 48px; padding: 10px 12px; font-size: 9px; }
}

.watchlist-panel .watch-row {
  grid-template-columns:
    minmax(210px, 1.85fr)
    minmax(62px, .58fr)
    minmax(62px, .58fr)
    minmax(62px, .58fr)
    minmax(82px, .72fr)
    minmax(178px, 1.35fr);
}
.watchlist-panel .watch-row > :nth-child(2),
.watchlist-panel .watch-row > :nth-child(3),
.watchlist-panel .watch-row > :nth-child(4),
.watchlist-panel .watch-row > :nth-child(5) {
  justify-content: flex-end;
  text-align: right;
}
.watchlist-panel .coin { gap: 10px; }
.watchlist-panel .asset-identity {
  min-width: 0;
  width: auto !important;
  display: flex !important;
  grid-template-columns: none !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
}
.watchlist-panel .asset-name {
  overflow: hidden;
  color: inherit;
  font-size: 14px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.watchlist-panel .asset-name-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.watchlist-panel .asset-name-link:hover { opacity: .66; }
.watchlist-panel .asset-x-link {
  flex: 0 0 auto;
  display: inline-block !important;
  color: #858585;
  font-size: 9px;
  text-decoration: none;
}
.watchlist-panel .asset-x-link:hover { color: var(--ink); }

.watchlist-panel .cohort-position.positive-position {
  color: #20201e !important;
  background: #d8d8d3 !important;
}
.watchlist-panel .cohort-position.negative-position {
  color: #ededE9 !important;
  background: #343432 !important;
}
.watchlist-panel .cohort-position.no-position {
  color: #92928e !important;
  background: #20201f !important;
}
.watchlist-panel .cohort-position * { color: inherit !important; }

@media (min-width: 721px) and (max-width: 1399px) {
  .watchlist-panel .watch-row {
    grid-template-columns: minmax(150px, 1.7fr) repeat(3, minmax(50px, .58fr)) minmax(68px, .68fr) minmax(130px, 1.3fr);
  }
}

@media (max-width: 720px) {
  .terminal-brand { overflow: visible; }
  .watchlist-panel .watch-row.asset { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .watchlist-panel .watch-row.asset > .change-24 { border-left: 0; }
  .watchlist-panel .watch-row.asset > .market-cap { grid-column: auto; border-left: 1px solid var(--line); }
  .watchlist-panel .watch-row.asset > .next-unlock { grid-column: 1 / -1; border-left: 0; }
  .watchlist-panel .change-7 { position: relative; }
  .watchlist-panel .change-24::before { content: '24H'; }
  .watchlist-panel .change-7::before { content: '7D'; }
  .watchlist-panel .change-30::before { content: '30D'; }
  .watchlist-panel .market-cap::before { content: 'ALLIUM FDV'; }
  .watchlist-panel .next-unlock::before { content: 'EXTREMELY PROFITABLE WHALES (HL)'; }
  .watchlist-panel .change-7::before {
    position: absolute;
    top: 8px;
    left: 8px;
    color: var(--muted);
    font-size: 7px;
    letter-spacing: .08em;
  }
}

/* Full-width desktop masthead: align the wordmark with the sidebar edge while
   keeping the dashboard canvas itself centred. */
@media (min-width: 721px) {
  .terminal-brand {
    box-sizing: border-box;
    margin-right: 0;
    padding-right: 30px;
    padding-left: 30px;
  }

  .terminal-brand::after {
    right: 0;
    left: 0;
  }
}

@media (min-width: 721px) and (max-width: 1024px) {
  .terminal-brand {
    width: calc(100vw - 154px);
    margin-left: -24px;
  }
}

@media (min-width: 1025px) {
  .terminal-brand {
    width: calc(100vw - 209px);
    margin-left: calc(0px - clamp(28px, 4vw, 72px) - max(0px, calc((100vw - 2049px) / 2)));
  }
}

/* Terminal news sits directly below the page cards and uses one tab per token. */
main:not(.charts-mode):not(.farming-mode) {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "brand" "watch" "research";
}

.terminal-news {
  position: static !important;
  top: auto !important;
  width: 100%;
  margin: 0 0 44px !important;
  border: 0 !important;
}

.terminal-news .news-category-tabs {
  width: 100%;
  max-width: 100%;
  flex-wrap: nowrap;
  align-items: flex-end;
  overflow-x: auto;
  overflow-y: hidden;
  padding-top: 26px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.terminal-news .news-category-tabs .tab {
  flex: 0 0 auto;
  min-width: 104px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding-right: 14px;
  padding-left: 14px;
  border: 1px solid transparent;
  border-bottom: 0;
  border-radius: 0 !important;
  font-size: 11px;
}

.terminal-news .news-category-tabs .tab img {
  width: 14.5px;
  height: 14.5px;
  flex: 0 0 14.5px;
  border: 1px solid #3b3b3b;
  border-radius: 0;
  object-fit: cover;
}

.terminal-news .news-category-tabs .tab.active {
  border-color: var(--line);
  border-bottom: 0;
  box-shadow: none;
  background: transparent;
}

.terminal-news .news-category-tabs { border-radius: 0 !important; }

.terminal-news .news-feed {
  display: grid;
  gap: 8px;
  border-top: 0;
}

.terminal-news .news-link {
  grid-template-columns: minmax(0, 1fr) 18px;
  min-height: 64px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  background: #161616;
}

.terminal-news .news-link:hover {
  border-color: #4a4a4a;
  background: #1c1c1c;
}

.terminal-news .news-link:last-child { border-bottom: 1px solid var(--line); }

.terminal-news .news-link i { color: var(--muted); }

.onchain-table { min-width: 940px; }

.terminal-news .latest-news-title {
  align-items: flex-start;
  min-height: 150px;
  padding-top: 34px;
  padding-bottom: 30px;
  padding-right: 4px;
  padding-left: 4px;
  border-bottom: 0;
}

.terminal-news .latest-news-title h2 {
  margin: 0;
  font-size: clamp(30px, 2.5vw, 42px);
  line-height: 1;
}

.terminal-news .latest-news-title p {
  margin-top: 18px;
  font-size: 12px;
  font-style: italic;
  font-weight: 400;
  letter-spacing: .03em;
  text-transform: none;
}

.terminal-news .asset-view { padding: 28px 0 0; }

@media (max-width: 720px) {
  .terminal-news { margin-bottom: 28px !important; }
  .terminal-news .news-category-tabs .tab {
    min-width: 88px;
    min-height: 40px;
    padding-right: 10px;
    padding-left: 10px;
    font-size: 9.9px;
  }
  .terminal-news .latest-news-title { min-height: 118px; padding-top: 24px; padding-bottom: 22px; }
  .terminal-news .latest-news-title h2 { font-size: 30px; }
  .terminal-news .latest-news-title p { margin-top: 13px; font-size: 10px; }
}

/* Shared responsive page canvas.
   Every surface uses the same centered measure and fluid side gutters. */
:root {
  --page-canvas-max: 1560px;
  --page-gutter: clamp(48px, 6vw, 96px);
}

body > main {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--page-canvas-max);
  padding-right: var(--page-gutter);
  padding-left: var(--page-gutter);
}

/* Remove historical per-page outer offsets: the canvas now owns alignment. */
.fundamentals-title,
.fundamentals-overview,
.onchain-table-card,
.onchain-scatter-card,
.trenches-combined-card,
.gum-index-card,
.pumpfun-pnl-card {
  margin-right: 0;
  margin-left: 0;
}

@media (min-width: 721px) and (max-width: 1024px) {
  :root { --page-gutter: clamp(30px, 5vw, 46px); }

  .terminal-brand {
    width: calc(100vw - 154px);
    margin-left: calc(0px - var(--page-gutter));
  }
}

@media (min-width: 1025px) {
  .terminal-brand {
    width: calc(100vw - 209px);
    margin-left: calc(0px - var(--page-gutter) - max(0px, calc((100vw - 1769px) / 2)));
  }
}

@media (max-width: 720px) {
  :root { --page-gutter: clamp(16px, 4.5vw, 22px); }

  body > main {
    padding-right: var(--page-gutter);
    padding-left: var(--page-gutter);
  }

  .fundamentals-title,
  .fundamentals-overview,
  .onchain-table-card,
  .onchain-scatter-card,
  .trenches-combined-card,
  .gum-index-card,
  .pumpfun-pnl-card {
    margin-right: 0;
    margin-left: 0;
  }
}

/* Terminal cards and news — final cascade layer. */
.terminal-page-cards > a {
  align-items: center;
  padding: 18px 42px;
  border: 1px solid #f2f2ee;
  background: #161616;
  text-align: center;
  transform-origin:center;
  transition:background-color .24s ease,box-shadow .24s ease,filter .24s ease,transform .24s cubic-bezier(.2,.75,.25,1);
  will-change:transform;
}
.terminal-page-cards > a:hover,
.terminal-page-cards > a:focus-visible {
  z-index:1;
  background:#1d1d1d;
  box-shadow:0 18px 42px rgba(0,0,0,.42);
  filter:brightness(1.08);
  outline:0;
  transform:translateY(-4px) scale(1.025);
}
html[data-theme="light"] .terminal-page-cards > a { border-color: #d0d0ca; background: #fff; }
html[data-theme="light"] .terminal-page-cards > a:hover,
html[data-theme="light"] .terminal-page-cards > a:focus-visible {
  background:#fff;
  box-shadow:0 18px 38px rgba(50,45,35,.18);
  filter:brightness(1.015);
}

@media (prefers-reduced-motion: reduce) {
  .terminal-page-cards > a { transition:background-color .01ms,box-shadow .01ms; }
  .terminal-page-cards > a:hover,
  .terminal-page-cards > a:focus-visible { transform:none; }
}

html[data-theme="light"] .terminal-news .news-feed { background: transparent; }
html[data-theme="light"] .terminal-news .news-link {
  border-color: #d0d0ca;
  background: #fff;
}
html[data-theme="light"] .terminal-news .news-link:hover {
  border-color: #aaa9a2;
  background: #f5f5f1;
}
html[data-theme="light"] .terminal-news .news-link strong { color: #242422; }
html[data-theme="light"] .terminal-news .news-age,
html[data-theme="light"] .terminal-news .news-author { color: #666660; }

/* Fundamentals: clearer panel hierarchy in dark mode. */
html:not([data-theme="light"]) .pe-comparison,
html:not([data-theme="light"]) .revenue-momentum,
html:not([data-theme="light"]) .buyback-quality-card,
html:not([data-theme="light"]) .onchain-table-card,
html:not([data-theme="light"]) .onchain-scatter-card {
  border-color:#303030;
  background:#191919;
}
html:not([data-theme="light"]) .buyback-quality-chart-wrap,
html:not([data-theme="light"]) .buyback-quality-ranking { background:#151515; }
html:not([data-theme="light"]) .fundamentals-title h2,
html:not([data-theme="light"]) .pe-comparison-heading h3,
html:not([data-theme="light"]) .onchain-section-heading h3 { color:#fff; }
html[data-theme="light"] .terminal-news .news-link i { color: #555550; }

.terminal-news .latest-news-title {
  min-height: 58px;
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 14px;
  padding: 8px 0;
}
.terminal-news .latest-news-title::after { height: 1px; flex: 1 1 auto; background: var(--line); content: ''; }
.terminal-news .latest-news-title h2 {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.watchlist-title {
  min-height: 58px;
  gap: 14px;
  padding: 8px 0;
}
.watchlist-title h2 {
  flex: 0 0 auto;
  font-size: 13px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.watchlist-divider-line {
  height: 1px;
  flex: 1 1 auto;
  background: var(--line);
}
@media (max-width: 720px) {
  .watchlist-title { align-items: center; flex-direction: row; flex-wrap: wrap; }
  .watchlist-request { flex: 0 0 100%; }
}
.terminal-news .news-category-tabs { padding-top: 8px; }

/* Shared section-title treatment: match the compact NEWS heading across pages. */
.farming-title,
.fundamentals-title {
  min-height: 58px;
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 14px;
  padding: 8px 0;
  border-bottom: 0;
}
.farming-title::after,
.fundamentals-title::after,
.trenches-page-title::after {
  height: 1px;
  flex: 1 1 auto;
  background: var(--line);
  content: '';
}
.farming-title h2,
.fundamentals-title h2,
.trenches-page-title {
  flex: 0 0 auto;
  color: var(--ink);
  font-size: 13px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.farming-title h2,
.fundamentals-title h2 { margin: 0; }
.fundamentals-title p {
  flex: 0 0 auto;
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .02em;
}
.trenches-page-title {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 28px;
}

@media (max-width: 720px) {
  .farming-title,
  .fundamentals-title { min-height: 48px; padding: 4px 0; }
  .farming-title h2,
  .fundamentals-title h2,
  .trenches-page-title { font-size: 11px; }
  .fundamentals-title p { display: none; }
}

/* Pump.fun-inspired PnL surface: energetic, data-first, and still native to gumterminal. */
.trenches-data-row {
  --pnl-yellow: #ffd51e;
  --pnl-green: #51eea5;
  --pnl-blue: #6ab7ff;
  --pnl-violet: #bc8cff;
}
.trenches-data-row .pumpfun-breadth {
  border-color: #32363d;
  border-radius: 14px;
  background-color: #111418;
  background-image:
    radial-gradient(circle at 72% 52%, rgba(56, 238, 151, .095), transparent 34%),
    radial-gradient(circle, rgba(255, 255, 255, .055) 1px, transparent 1.2px);
  background-size: auto, 13px 13px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025), 0 18px 42px rgba(0, 0, 0, .2);
  overflow: hidden;
}
.trenches-kpi-column .pumpfun-pnl-heading {
  position: relative;
  padding-right: 72px;
}
.trenches-kpi-column .pumpfun-pnl-heading::after {
  position: absolute;
  top: 50%;
  right: 0;
  padding: 5px 7px;
  border: 1px solid rgba(81, 238, 165, .32);
  border-radius: 999px;
  color: var(--pnl-green);
  background: rgba(81, 238, 165, .075);
  content: 'LIVE PNL';
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .12em;
  transform: translateY(-50%);
}
.trenches-kpi-column .pumpfun-pnl-heading > img {
  width: 42px;
  height: 42px;
  padding: 2px;
  border-color: rgba(81, 238, 165, .48);
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(81, 238, 165, .07), 0 0 22px rgba(81, 238, 165, .1);
}
.trenches-kpi-column .pumpfun-pnl-heading h3 {
  font-size: 16px;
  letter-spacing: -.02em;
}
.trenches-data-row .pumpfun-breadth article {
  position: relative;
  z-index: 0;
  padding: 24px 22px 20px;
  background: rgba(17, 20, 24, .84);
  transition: background .2s ease, transform .2s ease;
}
.trenches-data-row .pumpfun-breadth article::before {
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 0;
  width: 2px;
  border-radius: 2px;
  background: var(--metric-accent, var(--pnl-yellow));
  box-shadow: 0 0 14px color-mix(in srgb, var(--metric-accent, var(--pnl-yellow)) 48%, transparent);
  content: '';
}
.trenches-data-row .pumpfun-breadth article::after {
  width: min(92px, 72%);
  height: 13px;
  margin-top: auto;
  background:
    linear-gradient(135deg, transparent 0 8%, var(--metric-accent, var(--pnl-yellow)) 9% 13%, transparent 14% 24%, var(--metric-accent, var(--pnl-yellow)) 25% 30%, transparent 31% 40%, var(--metric-accent, var(--pnl-yellow)) 41% 52%, transparent 53% 63%, var(--metric-accent, var(--pnl-yellow)) 64% 69%, transparent 70% 78%, var(--metric-accent, var(--pnl-yellow)) 79% 100%);
  clip-path: polygon(0 76%, 12% 63%, 22% 70%, 34% 30%, 45% 48%, 57% 16%, 68% 34%, 80% 8%, 91% 31%, 100% 0, 100% 100%, 0 100%);
  content: '';
  opacity: .28;
}
.trenches-data-row .pumpfun-breadth article:nth-child(1) { --metric-accent: var(--pnl-yellow); }
.trenches-data-row .pumpfun-breadth article:nth-child(2) { --metric-accent: var(--pnl-green); }
.trenches-data-row .pumpfun-breadth article:nth-child(3) { --metric-accent: var(--pnl-blue); }
.trenches-data-row .pumpfun-breadth article:nth-child(4) { --metric-accent: var(--pnl-violet); }
.trenches-data-row .pumpfun-breadth article:hover {
  z-index: 1;
  background: rgba(26, 31, 36, .96);
  transform: translateY(-2px);
}
.trenches-data-row .pumpfun-breadth small {
  color: #9a9fa7;
  font-size: 8px;
  font-weight: 600;
}
.trenches-data-row .pumpfun-breadth strong {
  color: var(--metric-accent, var(--pnl-yellow));
  font-size: clamp(18px, 1.65vw, 26px);
  line-height: 1.08;
  letter-spacing: -.045em;
  text-shadow: 0 0 22px color-mix(in srgb, var(--metric-accent, var(--pnl-yellow)) 18%, transparent);
}
.trenches-data-row .pumpfun-breadth span { color: #868b92; }
html[data-theme="light"] .trenches-data-row .pumpfun-breadth {
  border-color: #d5d4ce;
  background-color: #fbfbf8;
  background-image:
    radial-gradient(circle at 72% 52%, rgba(22, 185, 121, .09), transparent 34%),
    radial-gradient(circle, rgba(20, 20, 18, .07) 1px, transparent 1.2px);
  box-shadow: inset 0 1px 0 #fff, 0 18px 38px rgba(70, 60, 45, .08);
}
html[data-theme="light"] .trenches-data-row .pumpfun-breadth article { background: rgba(255, 255, 252, .78); }
html[data-theme="light"] .trenches-data-row .pumpfun-breadth article:hover { background: #fff; }
html[data-theme="light"] .trenches-data-row .pumpfun-breadth strong { color: color-mix(in srgb, var(--metric-accent) 72%, #111); }
html[data-theme="light"] .trenches-data-row .pumpfun-breadth small,
html[data-theme="light"] .trenches-data-row .pumpfun-breadth span { color: #686862; }

/* 2026-10-20 navigation, filters and trenches layout refinement. */
.terminal-section-title {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 8px 0;
}
.terminal-section-title::after { height: 1px; flex: 1 1 auto; background: var(--line); content: ''; }
.terminal-section-title h2 {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.terminal-navigation-title { margin-bottom: 8px; }
.terminal-news .news-category-tabs { border-top: 0; }
.terminal-news .news-category-tabs .tab.active { background: #161616; }
html[data-theme="light"] .terminal-news .news-category-tabs .tab.active { background: #fff; }

html:not([data-theme="light"]) .sidebar-link-card,
html:not([data-theme="light"]) .sidebar-link-card strong { color: #fff; }

.period-controls { display: inline-flex; align-items: center; }
.period-controls .granularity-switch + .range-presets { margin-left: -1px; }
.range-presets { margin-left: 0; }
.date-range-fields {
  position: relative;
  margin-left: auto;
  padding: 17px 9px 8px;
  border: 1px dashed var(--line);
  background: color-mix(in srgb, var(--paper) 93%, var(--ink) 7%);
}
.custom-range-label {
  position: absolute;
  top: 4px;
  left: 9px;
  padding: 0 !important;
  color: var(--muted) !important;
  font-size: 6px !important;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.pe-comparison-rows,
.revenue-momentum-rows { grid-auto-rows: 36px; gap: 14px; }
.pe-comparison-row,
.revenue-momentum-row { min-height: 36px; }

.trenches-combined-card { display: grid; gap: 34px; }
.trenches-combined-card .trenches-page-title { margin-bottom: -6px; }
.trenches-data-row { align-items: stretch; }
.trenches-chart-column { min-width: 0; }
.trenches-chart-column > h3 { min-height: 42px; display: flex; align-items: center; gap: 7px; margin: 0; }
.trenches-combined-chart #pumpfun-pnl-chart {
  position: static;
  width: 100%;
  pointer-events: auto;
}
.trenches-gum-chart #gum-index-chart { pointer-events: auto; }
.trenches-locked-panel {
  position: relative;
  min-height: 352px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #151515;
}
.trenches-locked-content {
  display: grid;
  gap: 18px;
  padding: 34px 28px;
  filter: blur(6px);
  opacity: .48;
  user-select: none;
}
.trenches-locked-content small { color: var(--muted); font-size: 8px; letter-spacing: .12em; }
.trenches-locked-content > strong { color: var(--ink); font-size: 24px; }
.trenches-locked-content div { display: flex; justify-content: space-between; padding: 15px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; }
.trenches-locked-content b { color: var(--ink); font-size: 18px; }
.trenches-locked-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 8px;
  padding: 24px;
  background: rgba(10,10,10,.28);
  text-align: center;
}
.trenches-locked-overlay span { padding: 5px 8px; border: 1px solid #555; color: #eee; font-size: 8px; letter-spacing: .16em; }
.trenches-locked-overlay strong { color: var(--ink); font-size: 14px; }
.trenches-locked-overlay small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
html[data-theme="light"] .trenches-locked-panel { background: #f4f4f0; }
html[data-theme="light"] .trenches-locked-overlay { background: rgba(255,255,255,.35); }
html[data-theme="light"] .trenches-locked-overlay span { color: #20201e; border-color: #8c8c86; }

/* Two gentle watchlist views using the same live DOM and data. */
.watchlist-view-toggle { display:inline-flex; padding:3px; border:1px solid var(--line); border-radius:999px; background:color-mix(in srgb,var(--paper) 92%,var(--ink) 8%); }
.watchlist-view-toggle button { min-width:58px; min-height:27px; padding:0 10px; border:0; border-radius:999px; color:var(--muted); background:transparent; font:600 8px/1 "IBM Plex Mono",monospace; letter-spacing:.07em; text-transform:uppercase; cursor:pointer; }
.watchlist-view-toggle button.active { color:var(--paper); background:var(--ink); }
.watchlist-panel > .header-row.table-view { display:grid !important; margin-bottom:0 !important; }
.watchlist-card-grid.table-view { display:block; padding-top:0; }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset,
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset:hover,
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset.active {
  min-height:72px;
  display:grid;
  grid-template-columns:minmax(210px,1.85fr) minmax(62px,.58fr) minmax(62px,.58fr) minmax(62px,.58fr) minmax(82px,.72fr) minmax(178px,1.35fr);
  align-items:center;
  padding:0;
  border-width:0 0 1px;
  background:transparent;
  transform:none;
}
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > * {
  min-height:72px;
  align-items:center;
  padding:0 14px;
  border:0;
}
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > .coin { grid-column:auto; min-height:72px; padding:0 14px; }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > .cohort-position { grid-column:auto; min-height:72px; padding:0 14px; }
.watchlist-panel .watchlist-card-grid.table-view *::before { display:none !important; }
.watchlist-panel .watchlist-card-grid.table-view .cohort-position strong span:first-child { font-size:8px; }

/* Token-page period controls and game-like dual-handle date range. */
.token-fundamentals-controls .period-controls { gap:10px; }
.token-fundamentals-controls .period-controls .granularity-switch + .range-presets { margin-left:0; }
.date-range-game {
  --range-start: 0%;
  --range-end: 100%;
  width:min(390px, 36vw);
  margin-left:auto;
  padding:10px 13px 9px;
  border:1px solid var(--line);
  border-radius:7px;
  background:color-mix(in srgb,var(--paper) 90%,var(--ink) 10%);
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ink) 8%,transparent);
}
.date-range-game-head,.date-range-game-dates { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.date-range-game-head span { color:var(--muted); font-size:7px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.date-range-game-head output { color:var(--ink); font-size:8px; }
.date-range-track { position:relative; height:22px; margin:6px 2px 2px; background:linear-gradient(to right,#303030 0 var(--range-start),#ff78ad var(--range-start) var(--range-end),#303030 var(--range-end) 100%) center/100% 4px no-repeat; }
.date-range-track::before { position:absolute; inset:7px 0; border-right:1px solid #555; border-left:1px solid #555; content:''; }
.date-range-track input { position:absolute; inset:0; width:100%; height:22px; margin:0; appearance:none; pointer-events:none; background:transparent; }
.date-range-track input::-webkit-slider-thumb { width:16px; height:16px; appearance:none; border:3px solid #111; border-radius:50%; background:#ff78ad; box-shadow:0 0 0 1px #ff78ad,0 0 13px rgba(255,120,173,.35); pointer-events:auto; cursor:grab; }
.date-range-track input::-moz-range-thumb { width:12px; height:12px; border:3px solid #111; border-radius:50%; background:#ff78ad; pointer-events:auto; cursor:grab; }
.date-range-game-dates span { color:var(--ink); font-size:8px; }
.date-range-game-dates small { color:var(--muted); font-size:6px; letter-spacing:.08em; text-transform:uppercase; }
.range-date-fallback { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; opacity:0 !important; pointer-events:none !important; }

/* Larger chart axes and quieter chart headers. */
.chart-grid text,
.chart-grid .date-label,
.price-axis text,
.pumpfun-pnl-axis,
.gum-index-axis,
.buyback-quality-axis,
.scatter-axis,
.scatter-axis-label { font-size:12px !important; }
#latest-revenue,
#latest-buybacks,
#latest-token-price { display:none !important; }

/* Token economics comparison board: ranking, rails and restrained state chips. */
.onchain-table { min-width:1060px; border-collapse:separate; border-spacing:0 6px; }
.onchain-table th { border-top:0; font-size:9px; }
.onchain-table tbody tr { transition:transform .16s ease,filter .16s ease; }
.onchain-table tbody tr:hover { position:relative; z-index:2; transform:translateX(4px); }
.onchain-table tbody:has(tr:hover) tr:not(:hover) { filter:brightness(.68); }
.onchain-table td { height:62px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--paper) 95%,var(--ink) 5%); }
.onchain-table td:first-child { position:sticky; left:0; z-index:2; display:flex; align-items:center; gap:12px; border-left:2px solid color-mix(in srgb,#ff78ad 70%,var(--line)); }
.onchain-table td:last-child { border-right:1px solid var(--line); }
.onchain-rank { min-width:20px; color:#656565; font-size:8px; letter-spacing:.08em; }
.metric-number { display:block; color:var(--ink); font-size:13px; }
.metric-rail { width:100%; height:3px; display:block; margin-top:8px; overflow:hidden; background:color-mix(in srgb,var(--paper) 80%,var(--ink) 20%); }
.metric-rail i { height:100%; display:block; background:#71baa3; }
.multiple-rail i { background:#ff78ad; }
.metric-chip { display:inline-flex; min-width:72px; justify-content:center; padding:7px 9px; border:1px solid var(--line); border-radius:999px; color:var(--ink); background:transparent; }
.metric-chip.metric-good,.metric-chip.positive { color:#83cfa0; border-color:rgba(79,175,113,.35); background:rgba(71,166,109,.08); }
.metric-chip.metric-bad,.metric-chip.negative { color:#db8787; border-color:rgba(201,79,79,.3); background:rgba(201,79,79,.07); }

/* Keep chart and KPI headings/cards locked to the same baseline. */
.trenches-pnl-row .trenches-chart-column > h3,
.trenches-pnl-row .trenches-kpi-column .pumpfun-pnl-heading { min-height:58px; margin:0 0 14px; }
.trenches-pnl-row .trenches-combined-chart,
.trenches-pnl-row .pumpfun-breadth { min-height:428px; }

@media (max-width:900px) {
  .date-range-game { width:100%; margin-left:0; }
  .watchlist-panel > .header-row.table-view { display:none !important; }
  .watchlist-card-grid.table-view { display:grid; }
  .watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset,
  .watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset:hover,
  .watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset.active { grid-template-columns:repeat(2,minmax(0,1fr)); min-height:224px; border:1px solid var(--line); }
  .watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > * { min-height:58px; align-items:flex-end; padding:25px 13px 10px; border-top:1px solid var(--line); }
  .watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > .coin { grid-column:1/-1; min-height:66px; align-items:center; padding:12px 13px; border-top:0; }
  .watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > .cohort-position { grid-column:1/-1; min-height:62px; padding-top:27px; }
  .watchlist-panel .watchlist-card-grid.table-view *::before { display:block !important; }
}
@media (max-width:720px) {
  .token-fundamentals-controls .period-controls { gap:8px; }
}

@media (max-width: 900px) {
  .date-range-fields { margin-left: 0; }
  .period-controls { width: 100%; overflow-x: auto; }
}
@media (max-width: 720px) {
  .terminal-section-title { min-height: 48px; padding: 4px 0; }
  .terminal-section-title h2 { font-size: 11px; }
  .period-controls .granularity-switch,
  .period-controls .range-presets { width: auto; flex: 0 0 auto; }
  .period-controls .granularity-switch button,
  .period-controls .range-presets button { min-width: 58px; }
  .date-range-fields { padding-top: 18px; }
  .trenches-combined-card { gap: 24px; }
  .trenches-locked-panel { min-height: 280px; }
}

@media (max-width: 720px) {
  .trenches-data-row .pumpfun-breadth article { min-height: 142px; padding: 20px 16px 16px; }
  .trenches-data-row .pumpfun-breadth article::before { top: 16px; bottom: 16px; }
  .trenches-kpi-column .pumpfun-pnl-heading::after { font-size: 6px; }
}

/* 241 · clearer research feed, comparison watchlist and calmer analysis controls. */
.terminal-news .news-feed { counter-reset: news-item; gap:10px; }
.terminal-news .news-link {
  position:relative;
  counter-increment:news-item;
  grid-template-columns:44px minmax(78px,110px) minmax(0,1fr) 48px minmax(86px,120px) 18px;
  min-height:78px;
  padding:13px 16px 13px 12px;
  border-color:#292929;
  background:linear-gradient(90deg,rgba(255,120,173,.045),transparent 24%),#151515;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.terminal-news .news-link::before { display:grid !important; width:30px; height:30px; align-self:center; border:1px solid #383838; border-radius:50%; color:#777; content:counter(news-item,decimal-leading-zero); font-size:7px; place-items:center; }
.terminal-news .news-link::after { position:absolute; top:14px; bottom:14px; left:0; width:2px; background:#ff78ad; content:''; opacity:.45; }
.terminal-news .news-views { grid-column:2; }
.terminal-news .news-link strong { grid-column:3; }
.terminal-news .news-age { grid-column:4; }
.terminal-news .news-author { grid-column:5; }
.terminal-news .news-link i { grid-column:6; }
.terminal-news .news-link:hover { transform:translateX(4px); background:linear-gradient(90deg,rgba(255,120,173,.075),transparent 30%),#191919; }
.terminal-news .news-link strong { font-size:11px; line-height:1.45; letter-spacing:.035em; }
.terminal-news .news-views,.terminal-news .news-age,.terminal-news .news-author { width:auto; padding:5px 7px; border:1px solid #2d2d2d; border-radius:999px; background:#111; font-size:7px; white-space:nowrap; }
.terminal-news .news-views { color:#69d6ad; }
.terminal-news .news-author { color:#d6d6d6; }

.watchlist-card-grid.table-view { counter-reset:watch-rank; display:grid; gap:6px; }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset { counter-increment:watch-rank; border:1px solid var(--line); border-left:2px solid rgba(255,120,173,.55); background:color-mix(in srgb,var(--paper) 95%,var(--ink) 5%); transition:transform .16s ease,filter .16s ease,border-color .16s ease; }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset:hover { transform:translateX(4px); border-color:#555; background:color-mix(in srgb,var(--paper) 91%,var(--ink) 9%); }
.watchlist-panel .watchlist-card-grid.table-view:has(.asset:hover) .asset:not(:hover) { filter:brightness(.7); }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > .coin::before { display:grid !important; min-width:22px; height:22px; margin-right:8px; border:1px solid var(--line); border-radius:50%; color:var(--muted); content:counter(watch-rank,decimal-leading-zero); font-size:7px; place-items:center; }
.watchlist-panel .watchlist-card-grid.table-view .change-24,.watchlist-panel .watchlist-card-grid.table-view .change-ytd,.watchlist-panel .watchlist-card-grid.table-view .change-30 { width:max-content; min-width:58px; min-height:29px; justify-content:center; padding:0 8px; border:1px solid var(--line); border-radius:999px; }
.watchlist-panel .watchlist-card-grid.table-view .positive { border-color:rgba(79,175,113,.3); background:rgba(71,166,109,.07); }
.watchlist-panel .watchlist-card-grid.table-view .negative { border-color:rgba(201,79,79,.3); background:rgba(201,79,79,.06); }

.token-analysis-title { display:flex; align-items:center; gap:14px; margin:38px 0 12px; }
.token-analysis-title h3 { margin:0; color:var(--ink); font-size:10px; letter-spacing:.11em; text-transform:uppercase; }
.token-analysis-title span { height:1px; flex:1; background:var(--line); }
.token-fundamentals-controls { align-items:end; padding:14px; border:1px solid var(--line); background:color-mix(in srgb,var(--paper) 96%,var(--ink) 4%); }
.token-fundamentals-controls .period-controls { gap:18px; align-items:end; }
.filter-cluster { display:grid; gap:7px; }
.filter-cluster > small { color:var(--muted); font-size:6px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.charts-token .chart-heading { position:relative; display:flex; align-items:center; gap:16px; margin-top:28px; }
.charts-token .chart-heading::after { height:1px; flex:1; background:var(--line); content:''; }
.charts-token .chart-heading-identity { flex:0 0 auto; }
.date-range-track { height:42px; margin-top:10px; background-position:center; }
.date-range-track input { height:42px; }
.range-handle-value { position:absolute; z-index:4; top:-3px; padding:3px 5px; border:1px solid #454545; border-radius:3px; color:#fff; background:#111; font:600 7px/1 "IBM Plex Mono",monospace; pointer-events:none; white-space:nowrap; }
.range-handle-start { left:var(--range-start); transform:translateX(-100%); }
.range-handle-end { top:28px; left:var(--range-end); transform:translateX(0); }

.time-axis-label { font-size:11px !important; }
.gum-index-key { display:inline-flex; align-items:center; gap:6px; margin-left:auto; color:var(--muted); font-size:7px; font-weight:500; letter-spacing:.08em; }
.gum-index-key i { width:18px; height:2px; display:inline-block; background:#e6e6e6; }
.gum-index-key i:nth-of-type(2) { margin-left:7px; background:#f2a94b; }
.gum-index-btc-line { fill:none; stroke:#f2a94b; stroke-width:2; opacity:.9; }
.gum-index-btc-axis { fill:#d89b51; }
.gum-index-btc-hit { fill:transparent; stroke:transparent; pointer-events:all; }
.trenches-data-row .pumpfun-breadth { grid-template-columns:1fr; border-radius:0; background:#161616; background-image:none; box-shadow:none; }
.trenches-data-row .pumpfun-breadth article,.trenches-data-row .pumpfun-breadth article:hover { min-height:50%; padding:30px 26px; border:0; border-bottom:1px solid var(--line); background:transparent; transform:none; }
.trenches-data-row .pumpfun-breadth article:last-child { border-bottom:0; }
.trenches-data-row .pumpfun-breadth article::before,.trenches-data-row .pumpfun-breadth article::after { display:none; }
.trenches-data-row .pumpfun-breadth strong { color:var(--ink); font-size:clamp(22px,2vw,32px); text-shadow:none; }
.trenches-data-row .pumpfun-breadth small,.trenches-data-row .pumpfun-breadth span { color:var(--muted); }
.trenches-kpi-column .pumpfun-pnl-heading::after { color:var(--muted); border-color:var(--line); background:transparent; content:'HISTORICAL AVG'; }

.chart-content-enter .fundamentals-overview > *,
.chart-content-enter .chart-kpis,
.chart-content-enter .metric-chart-card,
.chart-content-enter .trenches-data-row { animation:chart-surface-in .48s cubic-bezier(.22,.75,.25,1) both; }
.chart-content-enter .metric-chart-card:nth-child(2),.chart-content-enter .trenches-data-row:nth-of-type(3) { animation-delay:.05s; }
@keyframes chart-surface-in { from { opacity:.25; transform:translateY(9px); filter:blur(2px); } to { opacity:1; transform:translateY(0); filter:blur(0); } }
@media (prefers-reduced-motion:reduce) { .chart-content-enter * { animation:none !important; transition:none !important; } }

html[data-theme="light"] .terminal-news .news-link { background:linear-gradient(90deg,rgba(230,80,135,.045),transparent 24%),#fff; }
html[data-theme="light"] .terminal-news .news-views,html[data-theme="light"] .terminal-news .news-age,html[data-theme="light"] .terminal-news .news-author { background:#f5f5f1; }
html[data-theme="light"] .range-handle-value { color:#fff; background:#222; }
html[data-theme="light"] .trenches-data-row .pumpfun-breadth,html[data-theme="light"] .trenches-data-row .pumpfun-breadth article { background:#fff; }

@media (max-width:900px) {
  .terminal-news .news-link { grid-template-columns:34px 68px minmax(0,1fr) 18px; }
  .terminal-news .news-age,.terminal-news .news-author { display:none; }
  .terminal-news .news-link i { grid-column:4; grid-row:1; }
  .token-fundamentals-controls { align-items:stretch; }
  .token-fundamentals-controls .period-controls { gap:12px; }
}

/* Watchlist card view. */
.watchlist-panel > .header-row { display: none !important; }
.watchlist-card-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  padding: 4px 0 28px;
}
.watchlist-panel .watchlist-card-grid > .watch-row.asset {
  min-width: 0;
  min-height: 224px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 0;
  padding: 0;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper) 96%, var(--ink) 4%);
  text-align: left;
  transition: transform .2s ease, background-color .2s ease;
}
.watchlist-panel .watchlist-card-grid > .watch-row.asset:hover,
.watchlist-panel .watchlist-card-grid > .watch-row.asset.active {
  padding: 0;
  background: color-mix(in srgb, var(--paper) 91%, var(--ink) 9%);
  transform: translateY(-2px) scale(1.01);
}
.watchlist-panel .watchlist-card-grid > .watch-row.asset > * {
  min-width: 0;
  min-height: 58px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 25px 13px 10px;
  border-top: 1px solid var(--line);
  border-left: 0;
  text-align: left;
}
.watchlist-panel .watchlist-card-grid > .watch-row.asset > .change-ytd,
.watchlist-panel .watchlist-card-grid > .watch-row.asset > .market-cap {
  border-left: 1px solid var(--line);
}
.watchlist-panel .watchlist-card-grid > .watch-row.asset > .coin {
  grid-column: 1 / -1;
  min-height: 66px;
  align-items: center;
  padding: 12px 13px;
  border-top: 0;
}
.watchlist-panel .watchlist-card-grid .project-logo { width: 32px; height: 32px; }
.watchlist-panel .watchlist-card-grid .change-24,
.watchlist-panel .watchlist-card-grid .change-ytd,
.watchlist-panel .watchlist-card-grid .change-30,
.watchlist-panel .watchlist-card-grid .market-cap,
.watchlist-panel .watchlist-card-grid .cohort-position { position: relative; }
.watchlist-panel .watchlist-card-grid .change-24::before,
.watchlist-panel .watchlist-card-grid .change-ytd::before,
.watchlist-panel .watchlist-card-grid .change-30::before,
.watchlist-panel .watchlist-card-grid .market-cap::before,
.watchlist-panel .watchlist-card-grid .cohort-position::before {
  position: absolute;
  top: 9px;
  left: 13px;
  color: var(--muted);
  font-size: 7px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.watchlist-panel .watchlist-card-grid .change-24::before { content: '24H'; }
.watchlist-panel .watchlist-card-grid .change-ytd::before { content: 'YTD'; }
.watchlist-panel .watchlist-card-grid .change-30::before { content: '30D'; }
.watchlist-panel .watchlist-card-grid .market-cap::before { content: 'CIRC. MCAP'; }
.watchlist-panel .watchlist-card-grid .change-ytd.positive,
html[data-theme="light"] .watchlist-panel .watchlist-card-grid .change-ytd.positive { color: #2faf47 !important; }
.watchlist-panel .watchlist-card-grid .change-ytd.negative,
html[data-theme="light"] .watchlist-panel .watchlist-card-grid .change-ytd.negative { color: #ef4b43 !important; }
.watchlist-panel .watchlist-card-grid > .watch-row.asset > .cohort-position {
  grid-column: 1 / -1;
  min-height: 62px;
  padding-top: 27px;
  border-left: 0;
  color: var(--ink) !important;
  background: transparent !important;
  opacity: 1;
}
.watchlist-panel .watchlist-card-grid .cohort-position::before { content: 'EXTREMELY PROFITABLE WHALES (HL)'; }
.watchlist-panel .watchlist-card-grid .cohort-position strong {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:var(--ink) !important;
  font-size:11px;
}
.watchlist-panel .watchlist-card-grid .cohort-position strong span:first-child {
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:4px 8px;
  border:1px solid color-mix(in srgb, currentColor 38%, transparent);
  border-radius:2px;
  background:color-mix(in srgb, currentColor 10%, transparent);
  font-size:9px;
  line-height:1;
  letter-spacing:.08em;
}
.watchlist-panel .watchlist-card-grid .cohort-position strong span + span {
  margin-left:auto;
  font-size:12px;
  font-weight:700;
  letter-spacing:.025em;
}
.watchlist-panel .watchlist-card-grid .cohort-position.positive-position strong { color:#38c96a !important; }
.watchlist-panel .watchlist-card-grid .cohort-position.negative-position strong { color:#ef625b !important; }
.watchlist-panel .watchlist-card-grid .cohort-position.no-position strong { color:#8b8b86 !important; }
html[data-theme="light"] .watchlist-panel .watchlist-card-grid .cohort-position.positive-position strong { color:#16883e !important; }
html[data-theme="light"] .watchlist-panel .watchlist-card-grid .cohort-position.negative-position strong { color:#c63f39 !important; }
html[data-theme="light"] .watchlist-panel .watchlist-card-grid .cohort-position.no-position strong { color:#6f6f69 !important; }
@media (max-width: 520px) {
  .watchlist-panel .watchlist-card-grid .cohort-position strong span + span { font-size:11px; }
}

@media (max-width: 1399px) {
  .watchlist-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .watchlist-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .watchlist-card-grid { grid-template-columns: 1fr; }
}
.terminal-news .asset-view { padding-top: 18px; }
.terminal-news .news-link {
  grid-template-columns: 72px minmax(0, 1fr) 52px minmax(100px, 150px) 18px;
  gap: 18px;
  min-height: 68px;
  padding: 13px 16px;
}
.terminal-news .news-link strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .025em;
  line-height: 1.45;
  text-transform: uppercase;
}
.terminal-news .news-views,
.terminal-news .news-age,
.terminal-news .news-author {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  font-weight: 500;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.terminal-news .news-age { text-align: right; }

@media (max-width: 720px) {
  .terminal-page-cards > a { padding: 16px 38px; }
  .terminal-news .latest-news-title { min-height: 48px; padding: 4px 0; }
  .terminal-news .latest-news-title h2 { font-size: 11px; }
  .terminal-news .news-link {
    grid-template-columns: 52px minmax(0, 1fr) 34px 16px;
    gap: 10px;
    min-height: 72px;
    padding: 12px 10px;
  }
  .terminal-news .news-link strong { font-size: 10px; }
  .terminal-news .news-author { grid-column: 2 / 4; }
  .terminal-news .news-link i { grid-column: 4; grid-row: 1; }
}


/* source: dist/overrides-244.css */
/* Release 244: deliberately quiet comparison and navigation surfaces. */

/* Restore the original compact news list. This intentionally wins over the
   experimental numbered-card rules still present earlier in minimal.css. */
.terminal-news .news-feed { counter-reset:none; gap:10px; }
.terminal-news .news-link {
  position:static;
  min-height:68px;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 52px minmax(100px,150px) 18px;
  align-items:center;
  gap:18px;
  padding:13px 16px;
  border:1px solid var(--line);
  background:#161616;
  transform:none;
}
.terminal-news .news-link[hidden] { display:none !important; }
.terminal-news .news-link::before,.terminal-news .news-link::after { display:none !important; content:none !important; }
.terminal-news .news-views,.terminal-news .news-link strong,.terminal-news .news-age,.terminal-news .news-author,.terminal-news .news-link i {
  grid-column:auto;
  width:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.terminal-news .news-link:hover { transform:none; border-color:#4a4a4a; background:#1c1c1c; }
.terminal-news .news-link strong { font-size:12px; line-height:1.45; letter-spacing:.025em; text-transform:none; }
.terminal-news .news-views,.terminal-news .news-age,.terminal-news .news-author { font-size:9px; white-space:nowrap; }
.terminal-news .news-views { color:#69d6ad; }
.terminal-news .news-author { color:#69d6ad; }
html[data-theme="light"] .terminal-news .news-link { background:#fff; }
html[data-theme="light"] .terminal-news .news-link:hover { background:#ecece7; }

/* Compact token shortcuts at the top of Fundamentals. */
.fundamentals-token-cards {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:7px;
  margin:16px 0 22px;
}
.fundamentals-token-card {
  position:relative;
  z-index:1;
  min-width:0;
  min-height:54px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border:1px solid var(--line);
  color:var(--ink);
  background:transparent;
  text-decoration:none;
  filter:grayscale(1);
  transform:translateZ(0);
  transition:filter .16s ease,background-color .16s ease,border-color .16s ease,transform .18s cubic-bezier(.2,.75,.25,1),box-shadow .18s ease;
}
.fundamentals-token-card:hover,.fundamentals-token-card:focus-visible { z-index:3; border-color:#666; background:color-mix(in srgb,var(--paper) 96%,var(--ink) 4%); box-shadow:0 12px 28px color-mix(in srgb,#000 28%,transparent); filter:grayscale(0); transform:translateY(-4px) scale(1.035); }
@media (prefers-reduced-motion:reduce) { .fundamentals-token-card { transition:filter .16s ease,background-color .16s ease,border-color .16s ease; } .fundamentals-token-card:hover,.fundamentals-token-card:focus-visible { transform:none; } }
.token-page-navigation { margin-top:24px; margin-bottom:0; }
.token-page-navigation .fundamentals-token-card.active { border-color:var(--ink); background:color-mix(in srgb,var(--paper) 90%,var(--ink) 10%); filter:grayscale(0); }
.charts-token .token-project-data-title {
  display:flex;
  align-items:center;
  gap:14px;
  margin:34px 38px 0;
}
.charts-token .token-project-data-title h2 {
  flex:0 0 auto;
  margin:0;
  color:var(--ink);
  font-size:10px;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.charts-token .token-project-data-title span { height:1px; flex:1; background:var(--line); }
.charts-token .token-page-navigation { margin:16px 38px 0; }
.protocol-metric-title { display:flex !important; align-items:center; gap:8px; min-width:0; text-transform:none !important; }
.protocol-metric-logo { width:1.25em; height:1.25em; flex:0 0 auto; border-radius:.22em; object-fit:cover; }
.protocol-metric-title > span { min-width:0; color:var(--ink); font:inherit !important; }
.protocol-metric-title .protocol-metric-name { font:inherit; font-weight:600; }
.protocol-metric-title > i { color:#777; font:400 .76em/1 "IBM Plex Mono",monospace; font-style:normal; }
.fundamentals-token-card img { width:28px; height:28px; flex:0 0 auto; border-radius:7px; object-fit:cover; }
.fundamentals-token-card span { min-width:0; display:grid; gap:3px; }
.fundamentals-token-card strong { overflow:hidden; font-size:9px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.fundamentals-token-card small { color:var(--muted); font-size:7px; letter-spacing:.08em; }

/* End-of-line identification for buyback predictability. */
.buyback-quality-component-label { position:absolute; z-index:2; top:12px; left:16px; color:var(--muted); font-size:8px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.buyback-quality-line { stroke-width:2.5px; }
.buyback-quality-end-guide { fill:none; stroke-width:1px; opacity:.55; }
.buyback-quality-end-label-bg,.buyback-quality-end-score-bg { fill:#242424; }
.buyback-quality-end-label,.buyback-quality-end-score { fill:#dedede; font:600 9px/1 "IBM Plex Mono",monospace; }
html[data-theme="light"] .buyback-quality-end-label-bg,html[data-theme="light"] .buyback-quality-end-score-bg { fill:#e7e7e2; }
html[data-theme="light"] .buyback-quality-end-label,html[data-theme="light"] .buyback-quality-end-score { fill:#252522; }
.buyback-quality-card .onchain-section-heading { margin-bottom:18px; }
.buyback-quality-series-key { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin-top:18px; }
.buyback-quality-filter-label { color:var(--muted); font:500 7px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; text-transform:lowercase; }
.buyback-quality-series-key button {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0;
  border:0;
  color:var(--muted);
  background:transparent;
  font:600 7px/1 "IBM Plex Mono",monospace;
  letter-spacing:.08em;
  cursor:pointer;
}
.buyback-quality-series-key button i { width:16px; height:2px; background:var(--series-color); }
.buyback-quality-series-key button:hover,.buyback-quality-series-key button:focus-visible { color:var(--ink); }
.buyback-quality-series-key button.muted { opacity:.3; }
.buyback-quality-series-key button.muted i { background:var(--muted); }
.buyback-quality-component-label { top:14px; left:18px; }

/* Token economics retains its information design without the pink accent. */
.onchain-table tbody tr,
.onchain-table tbody tr:hover {
  position:static;
  z-index:auto;
  filter:none !important;
  transform:none !important;
  transition:none !important;
}
.onchain-table tbody:has(tr:hover) tr:not(:hover) { filter:none !important; }
.onchain-table td,
.onchain-table td.metric-good,
.onchain-table td.metric-bad,
html[data-theme="light"] .onchain-table td,
html[data-theme="light"] .onchain-table td.metric-good,
html[data-theme="light"] .onchain-table td.metric-bad { background:var(--paper) !important; box-shadow:none !important; }
.onchain-table td:first-child { border-left:1px solid var(--line); }
.multiple-rail i { background:#989895; }

/* Watchlist table: a plain, neutral financial screener. */
.watchlist-panel { overflow-x:auto; }
.watchlist-panel > .header-row.table-view,
.watchlist-panel .watchlist-card-grid.table-view { width:100%; min-width:980px; }
.watchlist-panel > .header-row.table-view {
  display:grid !important;
  grid-template-columns:minmax(170px,1.05fr) repeat(2,minmax(130px,1fr)) minmax(160px,1.12fr) minmax(280px,1.75fr) !important;
  min-height:39px;
  margin:0 !important;
  border:1px solid var(--line);
  border-bottom:0;
  background:transparent;
}
.watchlist-panel > .header-row.table-view > * { display:flex; align-items:center; padding:0 13px; border-right:1px solid var(--line); color:var(--muted); font-size:8px; }
.watchlist-panel > .header-row.table-view > *:last-child { border-right:0; }
.watchlist-panel .watchlist-card-grid.table-view { counter-reset:none; display:block !important; gap:0; padding:0; border:1px solid var(--line); }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset,
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset:hover,
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset.active {
  min-height:58px;
  display:grid !important;
  grid-template-columns:minmax(170px,1.05fr) repeat(2,minmax(130px,1fr)) minmax(160px,1.12fr) minmax(280px,1.75fr) !important;
  gap:0 !important;
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid var(--line) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  transition:none !important;
}
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset:last-child { border-bottom:0 !important; }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > * {
  width:auto !important;
  min-width:0 !important;
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  padding:0 13px !important;
  border:0 !important;
  border-right:1px solid var(--line) !important;
  border-radius:0 !important;
  color:var(--ink) !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  transition:none !important;
}
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > *:last-child { border-right:0 !important; }
.watchlist-panel .watchlist-card-grid.table-view *::before,.watchlist-panel .watchlist-card-grid.table-view *::after { display:none !important; content:none !important; }
.watchlist-panel .watchlist-card-grid.table-view .project-logo { width:30px !important; height:30px !important; flex:0 0 30px; border-radius:50%; object-fit:cover; }
.watchlist-panel .watchlist-card-grid.table-view .asset-identity { gap:0; }
.watchlist-panel .watchlist-card-grid.table-view .asset-name { overflow:hidden; color:var(--ink); font-size:12px !important; font-weight:600; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.watchlist-panel .watchlist-card-grid.table-view .asset-name-link { text-decoration:none; }
.watchlist-panel .watchlist-card-grid.table-view .asset-x-link { display:none !important; }
.watchlist-panel .watchlist-card-grid.table-view .change-24,
.watchlist-panel .watchlist-card-grid.table-view .change-ytd,
.watchlist-panel .watchlist-card-grid.table-view .change-30,
.watchlist-panel .watchlist-card-grid.table-view .market-cap { font-size:16px; font-weight:600; font-variant-numeric:tabular-nums; }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > :nth-child(2),
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > :nth-child(3),
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > :nth-child(4) { justify-content:flex-end !important; text-align:right; }
.watchlist-panel .watchlist-card-grid.table-view .positive-position,
.watchlist-panel .watchlist-card-grid.table-view .negative-position { color:var(--ink) !important; background:transparent !important; }
.watchlist-panel .watchlist-card-grid.table-view .change-24.positive,
.watchlist-panel .watchlist-card-grid.table-view .change-ytd.positive,
.watchlist-panel .watchlist-card-grid.table-view .change-30.positive { color:#5dbc88 !important; background:transparent !important; }
.watchlist-panel .watchlist-card-grid.table-view .change-24.negative,
.watchlist-panel .watchlist-card-grid.table-view .change-ytd.negative,
.watchlist-panel .watchlist-card-grid.table-view .change-30.negative { color:#d56a6a !important; background:transparent !important; }
.watchlist-panel .watchlist-card-grid .whale-bar,.watchlist-panel .watchlist-card-grid .whale-axis { display:none; }
.watchlist-panel .watchlist-card-grid.table-view > .watch-row.asset > .cohort-position { position:relative; display:grid !important; grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr); align-items:center !important; gap:0 !important; }
.watchlist-panel .watchlist-card-grid.table-view .whale-axis { display:block; grid-column:2; width:1px; height:28px; background:color-mix(in srgb,var(--ink) 38%,transparent); }
.watchlist-panel .watchlist-card-grid.table-view .whale-position { min-width:0; display:flex; align-items:center; gap:8px; font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; }
.watchlist-panel .watchlist-card-grid.table-view .whale-direction { display:none; }
.watchlist-panel .watchlist-card-grid.table-view .whale-position.short { grid-column:1; grid-row:1; justify-content:flex-end; padding-right:8px; }
.watchlist-panel .watchlist-card-grid.table-view .whale-position.long { grid-column:3; grid-row:1; padding-left:8px; }
.watchlist-panel .watchlist-card-grid.table-view .whale-position.long .whale-value { order:2; }
.watchlist-panel .watchlist-card-grid.table-view .whale-bar { display:block; min-width:22px; height:7px; flex:1; }
.watchlist-panel .watchlist-card-grid.table-view .whale-position.short .whale-bar { background:#d56a6a; }
.watchlist-panel .watchlist-card-grid.table-view .whale-position.long .whale-bar { background:#5dbc88; }
.watchlist-panel .watchlist-card-grid.table-view .whale-position.short .whale-value { color:#d56a6a !important; }
.watchlist-panel .watchlist-card-grid.table-view .whale-position.long .whale-value { color:#5dbc88 !important; }
.watchlist-panel .watchlist-card-grid.table-view .whale-empty { grid-column:1/-1; justify-self:center; color:var(--muted); font-size:9px; letter-spacing:.08em; }

/* With 24H removed, the remaining card metrics use the full card width. */
.watchlist-panel .watchlist-card-grid:not(.table-view) > .watch-row.asset > .market-cap {
  grid-column:1/-1;
  border-left:0;
}
.watchlist-panel .watchlist-card-grid:not(.table-view) > .watch-row.asset > .change-ytd,
.watchlist-panel .watchlist-card-grid:not(.table-view) > .watch-row.asset > .change-30 {
  border-top:0;
  border-left:0;
}

/* Token charts use more of their card and carry a quiet in-plot watermark. */
@media (min-width:721px) {
  .charts-token .metric-chart-card {
    box-sizing:border-box;
    height:535px;
    display:flex;
    flex-direction:column;
  }
  .charts-token .metric-chart-card .chart-title-row { flex:0 0 auto; }
  .charts-token .metric-chart-card svg {
    flex:1 1 auto;
    min-height:0;
    height:auto;
    margin:0;
  }
}
.chart-watermark {
  position:absolute;
  z-index:4;
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  margin:0;
  color:var(--ink);
  opacity:.13;
  transform:translate(-50%,-50%);
  pointer-events:none;
  gap:10px;
  font-size:14px;
  white-space:nowrap;
}
.chart-watermark img { width:22px; height:22px; filter:grayscale(1); }
html[data-theme="light"] .chart-watermark { color:#111; opacity:.14; }

@media (max-width:1100px) {
  .fundamentals-token-cards { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .terminal-news .news-link { grid-template-columns:52px minmax(0,1fr) 34px 16px; gap:10px; min-height:72px; padding:12px 10px; }
  .terminal-news .news-author { display:block; grid-column:2/4; }
  .terminal-news .news-link i { grid-column:4; grid-row:1; }
  .fundamentals-token-cards { grid-template-columns:repeat(2,minmax(0,1fr)); margin-right:14px; margin-left:14px; }
  .charts-token .token-project-data-title { margin-right:14px; margin-left:14px; }
  .charts-token .token-page-navigation { margin-right:14px; margin-left:14px; }
  .watchlist-panel > .header-row.table-view { display:grid !important; }
  .watchlist-panel .watchlist-card-grid.table-view { display:block !important; min-width:980px; }
}

/* Majors: weekly institutional flow history and lifetime net-flow scorecard. */
.terminal-page-cards { grid-template-columns:repeat(4,minmax(0,1fr)); }
.terminal-page-cards > a { justify-content:flex-start; min-height:140px; padding-top:24px; }
.terminal-page-cards > a strong { margin-bottom:8px; }
.terminal-page-cards ul {
  width:100%;
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
  text-align:left;
}
.terminal-page-cards li { min-height:17px; display:flex; align-items:center; justify-content:center; gap:7px; }
.terminal-page-cards li span { color:var(--muted); font-size:9px; letter-spacing:.04em; }
.terminal-page-cards .navigation-count {
  width:17px;
  height:17px;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--line-strong);
  color:var(--ink);
  font-size:8px;
  line-height:1;
}
.majors-card { display:grid; gap:24px; padding:26px 0 18px; }
.majors-title { margin:0; }
.majors-layout { display:grid; grid-template-columns:minmax(0,1.85fr) minmax(260px,.72fr); align-items:stretch; gap:18px; }
.majors-chart-column { min-width:0; }
.majors-chart-heading { min-height:58px; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.majors-chart-heading h3 { margin:0 0 7px; color:var(--ink); font-size:17px; font-weight:600; }
.majors-chart-heading p { margin:0; color:var(--muted); font-size:8px; letter-spacing:.05em; }
.majors-chart-tools { display:grid; justify-items:end; gap:9px; }
.majors-chart-filter-row { display:flex; align-items:center; gap:14px; }
.majors-chart-controls,.majors-range-controls { display:flex; }
.majors-chart-controls button,.majors-range-controls button { min-width:58px; padding:7px 10px; border:1px dotted var(--line-strong); border-right:0; background:transparent; color:var(--muted); font:600 8px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.majors-chart-controls button:last-child,.majors-range-controls button:last-child { border-right:1px dotted var(--line-strong); }
.majors-chart-controls button.active,.majors-range-controls button.active { background:var(--ink); color:var(--paper); }
.majors-legend { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:9px 14px; padding-top:5px; }
.majors-legend .majors-filter-label { color:var(--muted); font:500 7px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; text-transform:lowercase; }
.majors-legend button { display:inline-flex; align-items:center; gap:6px; padding:0; border:0; background:transparent; color:var(--muted); font:500 8px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; cursor:pointer; transition:color .15s ease,opacity .15s ease; }
.majors-legend button i { width:17px; height:2px; display:inline-block; background:var(--series); }
.majors-legend button:hover,.majors-legend button:focus-visible { color:var(--ink); }
.majors-legend button.muted { opacity:.3; }
.majors-legend button.muted i { background:var(--muted); }
.majors-chart-stack { display:grid; gap:18px; }
.majors-chart-panel { min-width:0; }
.majors-panel-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; min-height:38px; padding:0 2px; }
.majors-panel-heading strong { color:var(--ink); font-size:11px; font-weight:600; text-transform:lowercase; }
.majors-panel-heading span { color:var(--muted); font-size:7px; }
.majors-chart-wrap { position:relative; min-height:376px; padding:14px 18px 4px; border:1px solid var(--line); background:#161616; }
.majors-chart-wrap svg { width:100%; height:340px; display:block; overflow:visible; }
.majors-chart-wrap > p { position:absolute; inset:0; display:grid; margin:0; place-items:center; color:var(--muted); font-size:9px; }
.majors-chart-wrap > p[hidden] { display:none; }
.etf-grid-line { stroke:#383838; stroke-width:1; opacity:.75; vector-effect:non-scaling-stroke; }
.etf-zero-line { stroke:#737373; stroke-width:1.2; vector-effect:non-scaling-stroke; }
.etf-axis-label { fill:var(--muted); font:500 10px/1 "IBM Plex Mono",monospace; }
.etf-flow-bar { opacity:.82; shape-rendering:crispEdges; }
.etf-flow-bar:hover { opacity:1; }
.etf-flow-line { fill:none; stroke-width:2.35; stroke-linecap:round; stroke-linejoin:round; opacity:.92; vector-effect:non-scaling-stroke; }
.etf-flow-line:hover { stroke-width:3; opacity:1; }
.etf-flow-hit,.buyback-quality-hit { fill:transparent; cursor:crosshair; }

/* One compact, finance-style data hover language across every chart. */
.data-hover-tooltip,.chart-hover-tooltip {
  position:absolute;
  z-index:20;
  width:max-content;
  min-width:230px;
  max-width:min(340px,calc(100% - 20px));
  padding:16px 18px;
  border:1px solid #555;
  border-radius:9px;
  color:#f3f3f1;
  background:rgba(29,29,29,.97);
  box-shadow:0 16px 42px rgba(0,0,0,.38);
  pointer-events:none;
}
.data-hover-tooltip[hidden],.chart-hover-tooltip[hidden] { display:none; }
.data-hover-tooltip > strong,.chart-hover-tooltip > strong { display:block; margin:0 0 13px; color:#fff; font-size:14px; font-weight:700; }
.data-hover-rows { display:grid; gap:9px; }
.data-hover-tooltip span,.chart-hover-tooltip span { display:grid; grid-template-columns:12px minmax(0,1fr) auto; align-items:center; gap:9px; margin:0; color:#eee; font-size:12px; }
.data-hover-tooltip i,.chart-hover-tooltip i { width:10px; height:10px; border-radius:50%; background:var(--tooltip-color,#aaa); }
.data-hover-tooltip em,.chart-hover-tooltip em { min-width:0; overflow:hidden; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.data-hover-tooltip b,.chart-hover-tooltip b { color:#f7f7f5; font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap; }
.data-hover-total { display:flex; justify-content:space-between; gap:20px; margin-top:13px; padding-top:12px; border-top:1px solid #4b4b4b; }
.data-hover-total em { font-style:normal; font-weight:700; }
.data-hover-total b { font-weight:700; font-variant-numeric:tabular-nums; }
.scatter-project-tooltip rect { fill:#1d1d1d; stroke:#555; rx:7px; ry:7px; }
.scatter-tooltip-title { fill:#fff; font-size:11px; font-weight:700; }
.scatter-tooltip-data { fill:#e7e7e4; font-size:9px; font-weight:600; }
html[data-theme="light"] .data-hover-tooltip,html[data-theme="light"] .chart-hover-tooltip { color:#20201e; background:rgba(255,255,252,.98); border-color:#aaa; box-shadow:0 16px 38px rgba(20,20,18,.16); }
html[data-theme="light"] .data-hover-tooltip > strong,html[data-theme="light"] .chart-hover-tooltip > strong,html[data-theme="light"] .data-hover-tooltip b,html[data-theme="light"] .chart-hover-tooltip b { color:#20201e; }
html[data-theme="light"] .data-hover-tooltip span,html[data-theme="light"] .chart-hover-tooltip span { color:#383834; }
html[data-theme="light"] .data-hover-total { border-color:#c7c7c1; }
.majors-kpis { min-width:0; display:flex; flex-direction:column; border:1px solid var(--line); background:#161616; }
.majors-kpi-heading { min-height:66px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:17px 18px; border-bottom:1px solid var(--line); }
.majors-kpi-heading span { color:var(--ink); font-size:11px; font-weight:600; }
.majors-kpi-heading small { color:var(--muted); font-size:7px; text-align:right; }
#etf-flow-kpis { display:grid; grid-template-rows:repeat(4,minmax(0,1fr)); flex:1; }
#etf-flow-kpis article { position:relative; min-height:98px; display:flex; align-items:center; gap:13px; padding:15px 18px; border-bottom:1px solid var(--line); }
#etf-flow-kpis article:last-child { border-bottom:0; }
#etf-flow-kpis article::before { position:absolute; top:15px; bottom:15px; left:0; width:2px; background:var(--series); content:''; }
#etf-flow-kpis img { width:34px; height:34px; flex:0 0 auto; border-radius:50%; object-fit:cover; }
#etf-flow-kpis span { min-width:0; display:grid; gap:4px; }
#etf-flow-kpis small { color:var(--muted); font-size:8px; letter-spacing:.1em; }
#etf-flow-kpis strong,#etf-flow-kpis strong.positive,#etf-flow-kpis strong.negative { color:#c5c5c5; font-size:clamp(18px,1.5vw,25px); font-weight:600; letter-spacing:-.04em; }
#etf-flow-kpis em { overflow:hidden; color:var(--muted); font-size:7px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.btc-flow-momentum { display:grid; gap:7px; padding:18px; border-bottom:1px solid var(--line); }
.btc-flow-momentum > div { display:flex; align-items:center; gap:7px; }
.btc-flow-momentum span { color:var(--muted); font-size:8px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.btc-flow-momentum strong { color:#c5c5c5; font-size:34px; font-weight:600; line-height:1; }
.btc-flow-momentum em { width:max-content; padding:4px 7px; border:1px dotted #777; color:#bdbdbd; font-size:8px; font-style:normal; letter-spacing:.08em; text-transform:uppercase; }
.btc-flow-momentum small { color:var(--muted); font-size:7px; }
.btc-flow-momentum[data-state="accumulating"] em { color:#84cfa4; border-color:#4f8c68; }
.btc-flow-momentum[data-state="selling"] em { color:#dc8888; border-color:#935858; }
html[data-theme="light"] .majors-chart-wrap,html[data-theme="light"] .majors-kpis { background:#fff; }
html[data-theme="light"] .etf-grid-line { stroke:#d8d8d2; }
html[data-theme="light"] .etf-zero-line { stroke:#8d8d87; }
html[data-theme="light"] #etf-flow-kpis strong,html[data-theme="light"] #etf-flow-kpis strong.positive,html[data-theme="light"] #etf-flow-kpis strong.negative { color:#686863; }
html[data-theme="light"] .btc-flow-momentum strong { color:#686863; }

@media (max-width:1050px) {
  .terminal-page-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .majors-layout { grid-template-columns:1fr; }
  #etf-flow-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; }
  #etf-flow-kpis article:nth-child(odd) { border-right:1px solid var(--line); }
}
@media (max-width:720px) {
  .terminal-page-cards { grid-template-columns:1fr; }
  .majors-card { padding-top:14px; }
  .majors-chart-heading { display:grid; }
  .majors-chart-tools { justify-items:start; }
  .majors-chart-filter-row { flex-wrap:wrap; }
  .majors-legend { justify-content:flex-start; }
  .majors-chart-wrap { overflow-x:auto; }
  .majors-chart-wrap svg { min-width:760px; }
  #etf-flow-kpis { grid-template-columns:1fr; }
  #etf-flow-kpis article:nth-child(odd) { border-right:0; }
}

/* Token analysis controls sit directly on the page canvas. */
.token-fundamentals-controls { background:transparent; }

/* Keep token chart bars on the same brighter palette in both themes. */
.chart-bars rect,
html[data-theme="light"] .chart-bars rect { fill:var(--protocol-bar-accent,var(--protocol-accent,#78b991)); }
.chart-bars rect:hover,
html[data-theme="light"] .chart-bars rect:hover { fill:var(--protocol-bar-accent,var(--protocol-accent,#78b991)); filter:brightness(.86); }

/* Onchain map: preserve the exact data coordinate and attach a compact identity label. */
.scatter-project { cursor:help; outline:none; }
.scatter-quadrant.scatter-premium { fill:rgba(239,205,79,.055); }
.scatter-quadrant.scatter-caution { fill:rgba(238,145,55,.05); }
.scatter-project-connector { stroke:#777; stroke-width:1; opacity:.82; vector-effect:non-scaling-stroke; }
.scatter-data-point { stroke:var(--paper); stroke-width:2; vector-effect:non-scaling-stroke; }
.scatter-project-label-bg { fill:#151515; stroke:#5b5b5b; stroke-width:1; vector-effect:non-scaling-stroke; }
.scatter-project-label-accent { stroke-width:2; vector-effect:non-scaling-stroke; }
.scatter-project-symbol { fill:#eee; font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.05em; }
.scatter-project image { clip-path:circle(10px at center); }
.scatter-project:hover .scatter-project-label-bg,
.scatter-project:focus-visible .scatter-project-label-bg { stroke:#aaa; }
html[data-theme="light"] .scatter-project-connector { stroke:#888780; }
html[data-theme="light"] .scatter-quadrant.scatter-premium { fill:rgba(224,184,35,.10); }
html[data-theme="light"] .scatter-quadrant.scatter-caution { fill:rgba(224,122,29,.085); }
html[data-theme="light"] .scatter-data-point { stroke:#f8f8f5; }
html[data-theme="light"] .scatter-project-label-bg { fill:#fff; stroke:#9b9a93; }
html[data-theme="light"] .scatter-project-symbol { fill:#242421; }

/* Trenches proportions: more room for the index history, less for summary KPIs. */
.trenches-gum-chart { min-height:410px; }
.trenches-gum-chart #gum-index-chart { height:380px; }
.trenches-pnl-row { align-items:start; }
.trenches-pnl-row .trenches-kpi-column { align-self:start; }
.trenches-pnl-row .trenches-pnl-chart {
  min-height:214px;
  height:214px;
}
.trenches-pnl-row .trenches-pnl-chart #pumpfun-pnl-chart { height:180px; }
.trenches-pnl-row .pumpfun-breadth {
  min-height:214px;
  height:214px;
  flex:0 0 214px;
}
.trenches-pnl-row .pumpfun-breadth article,
.trenches-pnl-row .pumpfun-breadth article:hover {
  min-height:107px;
  padding:16px 26px;
}

@media (max-width:720px) {
  .trenches-gum-chart { min-height:350px; }
  .trenches-gum-chart #gum-index-chart { height:320px; }
  .trenches-pnl-row .pumpfun-breadth { width:100%; }
}

/* Token analysis controls align directly with the page content, without a frame. */
.token-fundamentals-controls {
  width:100%;
  box-sizing:border-box;
  padding:0;
  border:0;
  background:transparent;
}
.token-fundamentals-controls .period-controls { width:100%; }
.token-fundamentals-controls .date-range-game {
  --range-control:#f4f4f0;
  --range-control-border:#111;
  --range-track:#343434;
  flex:1 1 320px;
  width:auto;
  min-width:240px;
  margin-left:0;
}
.token-fundamentals-controls .date-range-track {
  position:relative;
  background:linear-gradient(to right,var(--range-track) 0 var(--range-start),var(--range-control) var(--range-start) var(--range-end),var(--range-track) var(--range-end) 100%) center/100% 2px no-repeat;
}
.token-fundamentals-controls .date-range-game-dates { display:none; }
.token-fundamentals-controls .range-hover-date {
  position:absolute;
  z-index:4;
  top:0;
  translate:-50% -105%;
  padding:4px 6px;
  border:1px solid var(--line-strong);
  background:var(--ink);
  color:var(--paper);
  font:600 7px/1 "IBM Plex Mono",monospace;
  white-space:nowrap;
  pointer-events:none;
}
.token-fundamentals-controls .range-hover-date[hidden] { display:none; }
.token-fundamentals-controls .date-range-track input::-webkit-slider-thumb {
  width:12px;
  height:12px;
  border:2px solid var(--range-control-border);
  border-radius:0;
  background:var(--range-control);
  box-shadow:0 0 0 1px var(--range-control);
}
.token-fundamentals-controls .date-range-track input::-moz-range-thumb {
  width:10px;
  height:10px;
  border:2px solid var(--range-control-border);
  border-radius:0;
  background:var(--range-control);
  box-shadow:0 0 0 1px var(--range-control);
}
html[data-theme="light"] .token-fundamentals-controls .date-range-game { --range-control:#20201e; --range-control-border:#f8f8f5; --range-track:#b8b8b2; }

/* Keep the title divider, but remove the line sitting directly on the card grid. */
.watchlist-title { border-bottom:0; }
.watchlist-title .watchlist-divider-line { display:block; }

/* Fine dot matrix on the page canvas, behind data and controls. */
body::before { display:none; }
body > main {
  background-image:
    radial-gradient(circle,rgba(255,255,255,.075) .55px,transparent .8px),
    linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);
  background-position:0 0,-1px -1px,-1px -1px;
  background-size:12px 12px,240px 240px,240px 240px;
}
html[data-theme="light"] body > main {
  background-image:
    radial-gradient(circle,rgba(24,24,21,.075) .55px,transparent .8px),
    linear-gradient(rgba(24,24,21,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(24,24,21,.04) 1px,transparent 1px);
}

/* Dense information surfaces stay clean; the texture belongs to the canvas. */
:root { --data-surface:#161616; --control-surface:rgba(22,22,22,.96); }
html[data-theme="light"] { --data-surface:#fff; --control-surface:rgba(255,255,255,.96); }
:where(
  .chart-kpis,
  .chart-kpis > div,
  .metric-chart-card,
  .metric-value-card,
  .buyback-quality-chart-wrap,
  .trenches-combined-chart,
  .majors-chart-wrap,
  .majors-kpis,
  .onchain-table-card,
  .onchain-scatter-card,
  .watchlist-card-grid > .watch-row.asset,
  .terminal-page-cards > a,
  .terminal-news .news-link,
  .data-hover-tooltip
) {
  background-color:var(--data-surface);
  background-image:none;
}
:where(
  .chart-tabs,
  .majors-chart-controls,
  .majors-range-controls,
  .watchlist-view-toggle
) { background-color:var(--control-surface); }
.terminal-news .news-category-tabs { background-color:transparent; }
.token-fundamentals-controls,
.token-fundamentals-controls .period-controls { background:transparent; }

/* Give the sole data-provider credit a clearer visual presence. */
.site-credit { font-size:14px; }
.site-credit .allium-credit { gap:9px; color:var(--muted); }
.site-credit .allium-credit span { font-size:13px; letter-spacing:.08em; }
.site-credit .allium-credit img { width:auto; height:28px; opacity:.9; }

/* Readability, hierarchy and lightweight chart utilities. */
.etf-axis-label,.gum-index-axis,.time-axis-label,.chart-grid text,.price-axis text { font-size:12px !important; font-weight:500; }
.majors-chart-heading p,.majors-panel-heading span,.majors-kpi-heading small,.chart-title-row small,.metric-value-card small,.chart-kpis small { font-size:11px !important; line-height:1.45; }
.chart-kpis > div,.metric-value-card { position:relative; }
.chart-kpis strong { font-size:clamp(24px,2.3vw,38px) !important; letter-spacing:-.04em; }
.metric-value-card output { font-size:clamp(28px,3.2vw,50px) !important; font-weight:700; letter-spacing:-.055em; }
.metric-value-card.metric-value-primary { border-color:color-mix(in srgb,var(--protocol-accent) 65%,var(--line)); box-shadow:inset 4px 0 0 var(--protocol-accent); }
.metric-value-card.metric-value-primary output { color:var(--ink); }
.revenue-moving-average { fill:none; stroke:var(--ink); stroke-width:3; stroke-linejoin:round; stroke-linecap:round; opacity:.9; pointer-events:none; }
.chart-export-button { position:absolute; z-index:7; top:12px; right:12px; min-width:58px; height:28px; padding:0 9px; border:1px solid var(--line-strong); background:var(--panel); color:var(--muted); font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; cursor:pointer; }
.chart-export-button:hover,.chart-export-button:focus-visible { color:var(--ink); border-color:var(--ink); }
.majors-chart-panel .chart-export-button { top:8px; right:8px; }
#btc-flow-correlation { display:block; margin-top:5px; color:var(--muted); font-size:9px !important; }
html[data-theme="light"] .chart-export-button { background:#fff; }
@media (max-width:700px) {
  .etf-axis-label,.gum-index-axis,.time-axis-label,.chart-grid text,.price-axis text { font-size:11px !important; }
  .chart-export-button { top:8px; right:8px; }
}
