.ttp, .paper { --ttp-blue: #38bdf8; --ttp-accent-line: #65d7ff; }
.ttp-wrap { width: min(100% - 48px, 1240px); margin-inline: auto; }
/* TRND hero keeps the original 3D coin; compact Fund A update sits below the left actions.
   At 1280px after fonts load: panel height Chromium 543→245px, WebKit 540→244px. */
.ttp-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); grid-template-areas:'heading art' 'copy art' 'update art'; align-items:start; gap:24px 64px; padding-block:64px; }
.ttp-hero__heading { grid-area:heading; min-width:0; }
.ttp-hero h1 { margin:0; color:var(--text); font-size:var(--heading-size); font-weight:500; line-height:var(--heading-line); letter-spacing:-.025em; }
.ttp-hero h1 span { color:var(--accent); }
.ttp-hero__copy { grid-area:copy; min-width:0; }
.ttp-hero__description { margin:0; max-width:54ch; color:var(--muted); font-size:18px; line-height:1.65; }
.ttp-hero .ttp-actions { justify-content:flex-start; gap:12px; margin-top:28px; }
.ttp-hero .ttp-actions .btn { min-height:44px; padding:10px 20px; font-size:.875rem; }
.ttp-hero .ttp-text-link { min-height:44px; color:var(--muted); font-size:.875rem; }
.ttp-hero__art { grid-area:art; width:min(100%,440px); justify-self:center; align-self:center; }
.ttp-hero__art img { display:block; width:100%; height:auto; }
.trnd-fund-update { grid-area:update; padding:20px; background:var(--surface); border:1px solid var(--line); border-radius:16px; }
.ttp-hero .trnd-fund-update h2 { margin:0; font-size:18px; line-height:1.4; }
.trnd-fund-update dl { margin-block:16px; display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:12px; }
.trnd-fund-update dt { color:var(--muted); font-size:12px; line-height:1.5; }
.trnd-fund-update dd { margin:4px 0 0; font-size:20px; font-weight:500; line-height:1.3; font-variant-numeric:tabular-nums; }
.trnd-fund-update__profit dd { color:var(--accent); }
.trnd-fund-update__status { margin-bottom:8px; font-size:13px; line-height:1.5; }
.trnd-fund-update > p:not([class]) { font-size:13px; line-height:1.55; color:var(--muted); }
.trnd-fund-update__source { margin-top:12px; font-size:12px; line-height:1.5; color:var(--muted); }
@media (min-width:768px) and (max-width:1023px) { .ttp-hero { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:24px; padding-block:48px; } .ttp-hero__art { width:min(100%,320px); } .trnd-fund-update dl { grid-template-columns:1fr 1fr; } .trnd-fund-update__profit { grid-column:1 / -1; } }
@media (max-width:767px) { .ttp-hero { grid-template-columns:minmax(0,1fr); grid-template-areas:'heading' 'copy' 'update' 'art'; padding-block:40px; gap:24px; } .ttp-hero__description { font-size:16px; } .ttp-hero__art { width:220px; } .trnd-fund-update dl { grid-template-columns:1fr 1fr; } .trnd-fund-update__profit { grid-column:1 / -1; } }
.ttp-eyebrow { color: var(--muted); font-size: .875rem; margin-bottom: 24px; }
.ttp-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--ttp-blue); margin: 0 8px 2px 0; }
.ttp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.ttp-actions .btn { min-height: 46px; padding-inline: 24px; }
.ttp-text-link { display: inline-flex; gap: 12px; align-items: center; min-height: 44px; font-size: .9375rem; color: var(--text); }
.ttp-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); padding-block: 28px; }
.ttp-facts > div { padding-inline: 32px; border-left: 1px solid var(--line); display: grid; gap: 5px; }
.ttp-facts > div:first-child { padding-left: 0; border-left: 0; }
.ttp-facts__value { font-size: 1.25rem; color: var(--text); letter-spacing: -.025em; }
.ttp-facts div > span:last-child { color: var(--muted); font-size: .8125rem; }
.ttp-section { padding-block: 72px; }
.ttp-section + .ttp-section { border-top: 0; }
.ttp-section h2 { font-size: clamp(2rem, 4vw, 3.25rem); }
.ttp-intro, .ttp-questions { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.ttp-prose { color: var(--muted); font-size: 1.125rem; }
.ttp-prose p + p { margin-top: 20px; }
.ttp-prose a { margin-top: 20px; }
.ttp-report { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 72px; }
.ttp-report__description { color: var(--muted); font-size: 1.0625rem; line-height: 1.75; max-width: 48ch; margin-top: 24px; }
.ttp-report__description + .ttp-report__description { margin-top: 16px; }
.ttp-report__scope { margin-block: 28px 18px; }
.ttp-report .ttp-caption { max-width: 62ch; }
.ttp-section__head { max-width: 750px; margin-bottom: 48px; }
.ttp-section__head > p:not(.ttp-eyebrow) { color: var(--muted); margin-top: 20px; font-size: 1.0625rem; }
.ttp-model { border: 1px solid var(--line); border-radius: 24px; background: var(--bg-soft); display: grid; grid-template-columns: .85fr 1.15fr; overflow: clip; }
.ttp-model__source { padding: 40px; background: linear-gradient(145deg, #0a192b, var(--bg-soft)); border-right: 1px solid var(--line); }
.ttp-label { display: block; color: var(--muted); font-size: .8125rem; margin-bottom: 16px; }
.ttp-model h3 { font-size: 1.375rem; margin-bottom: 14px; }
.ttp-model p { color: var(--muted); font-size: .9375rem; }
.ttp-model__flow { display: grid; gap: 10px; margin-top: 32px; font-size: .875rem; }
.ttp-model__flow > span:nth-child(even) { color: var(--ttp-blue); }
.ttp-model__flow strong { font-weight: 500; }
.ttp-allocation { padding: 38px; display: grid; grid-template-columns: 110px 1fr; gap: 22px; align-items: start; }
.ttp-allocation + .ttp-allocation { border-top: 1px solid var(--line); }
.ttp-allocation__number { font-size: 3.75rem; line-height: 1; letter-spacing: -.055em; color: var(--ttp-blue); }
.ttp-allocation__number span { font-size: 1.5rem; padding-left: 2px; }
.ttp-allocation p strong { display: block; margin-top: 10px; color: var(--text); font-weight: 500; }
.ttp-caption { color: var(--muted); font-size: .8125rem; max-width: 920px; margin-top: 24px; line-height: 1.7; }
.ttp-roadmap { list-style: none; }
.ttp-roadmap li { display: grid; grid-template-columns: 72px 1fr; gap: 24px; padding-block: 32px; border-top: 1px solid var(--line); }
.ttp-roadmap__step { color: var(--ttp-blue); font-size: 1.25rem; }
.ttp-roadmap .ttp-label { margin-bottom: 10px; }
.ttp-roadmap h3 { margin-bottom: 14px; }
.ttp-roadmap p { max-width: 800px; color: var(--muted); font-size: 1rem; }
.ttp-roadmap p + p { margin-top: 12px; }
.ttp-roadmap__tracks { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.ttp-roadmap__tracks > div { min-inline-size: 0; }
.ttp-roadmap__tracks h4 { color: var(--ttp-blue); font-size: .875rem; font-weight: 500; margin-block: 8px; }
.ttp-business-policy { border-inline-start: 2px solid var(--ttp-accent-line); padding-inline-start: 24px; margin-block: 32px; max-inline-size: 920px; }
.ttp-business-policy h3 { color: var(--text); font-size: 1.25rem; margin-block-end: 14px; }
.ttp-business-policy p { color: var(--muted); font-size: .9375rem; line-height: 1.75; }
.ttp-business-policy p + p { margin-block-start: 12px; }
@media (max-width: 700px) {
  .ttp-roadmap__tracks { grid-template-columns: 1fr; gap: 16px; }
  .ttp-business-policy { padding-inline-start: 16px; }
}
.ttp-faq details { border-bottom: 1px solid var(--line); }
.ttp-faq details:first-child { border-top: 1px solid var(--line); }
.ttp-faq summary { cursor: pointer; min-height: 64px; padding-block: 20px; display: flex; gap: 20px; justify-content: space-between; align-items: center; list-style: none; font-size: 1rem; line-height: 1.5; }
.ttp-faq summary::-webkit-details-marker { display: none; }
.ttp-faq summary span { color: var(--muted); font-size: 1.5rem; flex: none; }
.ttp-faq details[open] summary span { transform: rotate(45deg); }
.ttp-faq details p { padding: 0 24px 24px 0; color: var(--muted); font-size: .9375rem; }
/* Disclaimer role: 14px/20px title, 12px/18px body, 12px icon.
   Full shell measure avoids the former 960px cap; text wraps freely at zoom.
   DPR3 ink rows at 1536px: Chromium icon 14–45 / text caps 15–44;
   WebKit icon 15–46 / text caps 16–45. Midpoints agree in both engines. */
.site-disclaimer { padding-block: 12px; border-block: 1px solid var(--line); }
.site-disclaimer__title { display: flex; align-items: center; gap: 6px; margin: 0 0 4px; font-size: .875rem; font-weight: 500; line-height: 1.428571; letter-spacing: 0; }
.site-disclaimer__icon { flex: none; width: 12px; height: 12px; color: var(--muted); }
.site-disclaimer p { margin: 0; max-width: none; font-size: .75rem; line-height: 1.5; color: var(--muted); text-wrap: initial; }


@media (hover: hover) and (pointer: fine) { .ttp-text-link:hover { color: var(--ttp-blue); } }
@media (max-width: 1000px) {
  .ttp-report { gap: 32px; }
  .ttp-intro, .ttp-questions { gap: 40px; }
  .ttp-model__source, .ttp-allocation { padding: 28px; }
  .ttp-allocation { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 700px) {
  .ttp-report { grid-template-columns: 1fr; gap: 24px; }
  .ttp-report .performance-feature__paper, .ttp-report .performance-feature__edition { max-width: 260px; }
  .ttp-report .btn { width: 100%; }
  .ttp-actions { justify-content: center; }
  .ttp-facts { grid-template-columns: 1fr; padding: 0; }
  .ttp-facts > div, .ttp-facts > div:first-child { padding: 18px 0; border-left: 0; }
  .ttp-facts > div + div { border-top: 1px solid var(--line); }
  .ttp-section { padding-block: 64px; }
  .ttp-intro, .ttp-questions, .ttp-model { grid-template-columns: 1fr; gap: 32px; }
  .ttp-model { gap: 0; }
  .ttp-model__source { border-right: 0; border-bottom: 1px solid var(--line); }
  .ttp-allocation { grid-template-columns: 84px 1fr; gap: 18px; }
  .ttp-allocation__number { font-size: 3rem; }
  .ttp-section__head { margin-bottom: 32px; }
  .ttp-roadmap li { grid-template-columns: 32px 1fr; gap: 16px; }

}
@media (max-width: 390px) { .ttp-allocation { grid-template-columns: 1fr; } }
/* Distribution and participation are flows, not fabricated supply charts. */

.ttp-diagram { padding: 32px; border: 1px solid var(--line); border-radius: 24px; background: radial-gradient(ellipse at top left, #0d31534d, transparent 65%), var(--bg-soft); }
.ttp-diagram__heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 28px; }
.ttp-diagram__heading .ttp-label { margin: 0; }
.ttp-status { display: inline-block; color: #b7c8db; font-size: .75rem; border: 1px solid #304356; border-radius: 100px; padding: 5px 10px; }
.ttp-flow { display: grid; grid-template-columns: 1fr 40px 1fr 40px 1fr; align-items: center; }
.ttp-flow--four { grid-template-columns: 1fr 28px 1fr 28px 1fr 28px 1fr; }
.ttp-flow__node { min-width: 0; min-height: 162px; padding: 24px; background: #09111d; border: 1px solid #25364a; border-radius: 12px; }
.ttp-flow__node span, .ttp-flow__node strong, .ttp-flow__node small { display: block; }
.ttp-flow__node span { color: var(--ttp-blue); font-size: .75rem; margin-bottom: 16px; }
.ttp-flow__node strong { font-size: 1.125rem; font-weight: 500; line-height: 1.3; }
.ttp-flow__node small { color: var(--muted); font-size: .75rem; line-height: 1.6; margin-top: 8px; }
.ttp-flow__line { position: relative; height: 1px; background: #2c526d; overflow: hidden; }
.ttp-flow__line::after { content: ''; position: absolute; width: 12px; height: 1px; left: -12px; background: #7cdbff; animation: ttp-transit 3.6s linear infinite; animation-play-state: paused; }
[data-flow].is-running .ttp-flow__line::after { animation-play-state: running; }
.ttp-flow__line:nth-child(4)::after { animation-delay: 1.2s; }
.ttp-flow__line:nth-child(6)::after { animation-delay: 2.4s; }
.ttp-diagram__foot { display: grid; gap: 8px; padding-top: 24px; margin-top: 28px; border-top: 1px solid var(--line); font-size: .875rem; }
.ttp-diagram__foot strong { font-weight: 500; }
.ttp-diagram__foot span { color: var(--muted); font-size: .8125rem; }
.ttp-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 40px; }
.ttp-principles h3 { font-size: 1.25rem; margin-bottom: 14px; }
.ttp-principles p { color: var(--muted); font-size: .9375rem; line-height: 1.75; }
.ttp-principles + .ttp-text-link { margin-top: 24px; }
.ttp-paper-link { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding: 40px; background: linear-gradient(120deg, #0c2338, #09111b); border: 1px solid #263b50; border-radius: 24px; }
.ttp-paper-link h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: 16px; }
.ttp-paper-link p:last-child { color: var(--muted); max-width: 600px; }
.ttp-paper-link .btn { flex-shrink: 0; }
.ttp-strategy-flow > span:nth-child(even) { animation: ttp-signal 3s ease-in-out infinite; animation-play-state: paused; }
[data-flow].is-running .ttp-strategy-flow > span:nth-child(even) { animation-play-state: running; }
@keyframes ttp-transit { to { left: 100%; } }
@keyframes ttp-signal { 50% { opacity: .3; } }
@media (max-width: 1000px) { .ttp-flow__node { padding: 18px; } .ttp-flow--four { grid-template-columns: 1fr; gap: 0; } .ttp-flow--four .ttp-flow__line { height: 24px; width: 1px; margin-left: 32px; } .ttp-flow--four .ttp-flow__line::after { display: none; } .ttp-flow--four .ttp-flow__node { min-height: auto; } .ttp-paper-link { align-items: flex-start; flex-direction: column; } }
@media (max-width: 700px) {
 .ttp-flow { grid-template-columns: 1fr; } .ttp-flow__node { min-height: auto; } .ttp-flow__line { height: 24px; width: 1px; margin-left: 32px; } .ttp-flow__line::after { display: none; } .ttp-diagram { padding: 24px; } .ttp-principles { grid-template-columns: 1fr; gap: 28px; } .ttp-paper-link { padding: 28px; } }
@media (prefers-reduced-motion: reduce) { .ttp-flow__line::after, .ttp-strategy-flow > span:nth-child(even) { animation: none; } }
/* Launch identity and destination slots stay in place as verified details arrive. */

.ttp-jump { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-bottom: 28px; }
.ttp-jump a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); font-size: .875rem; text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 6px; }
.ttp-jump a:focus-visible { outline: 2px solid var(--ttp-blue); outline-offset: 4px; }

.ttp section[id] { scroll-margin-top: 96px; }
@media (hover: hover) and (pointer: fine) { .ttp-jump a:hover { color: var(--text); } }
@media (max-width: 700px) { .ttp-jump { justify-content: center; gap: 4px 20px; margin-bottom: 24px; } }
@media (forced-colors: active) { .ttp-hero h1 { background: none; color: CanvasText; -webkit-text-fill-color: CanvasText; } }

/* Economic figures: shared between the overview and the white paper. */
.ttp-figure { margin: 32px 0; padding: clamp(20px, 3vw, 40px); border: 1px solid #283b50; border-radius: 18px; background: #09121e; }
.ttp-figure .ttp-figure-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 24px; margin-bottom: 28px; }
.ttp-figure .ttp-figure-title h3 { margin: 0; font-size: 1.25rem; letter-spacing: -.025em; }
.ttp-figure span, .ttp-figure small { color: var(--muted); }
.ttp-figure p { margin: 10px 0 0; font-size: .875rem; line-height: 1.65; color: var(--muted); }
.ttp-figure figcaption { margin-top: 28px; font-size: .8125rem; line-height: 1.75; color: var(--muted); max-width: 80ch; }
.ttp-figure figcaption a { color: var(--text); }
.ttp-figure-title > span, .ttp-figure small { font-size: .75rem; }
.ttp-figure strong { font-weight: 500; color: var(--text); }
.ttp-cycle { display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: 'fund trade' 'reinvest realize'; gap: 54px; list-style: none; padding: 0; margin: 0; }
.ttp-cycle li { position: relative; padding: 24px; background: #101f30; border: 1px solid #2c4560; border-radius: 12px; }
.ttp-cycle li:nth-child(1) { grid-area: fund; }
.ttp-cycle li:nth-child(2) { grid-area: trade; }
.ttp-cycle li:nth-child(3) { grid-area: realize; }
.ttp-cycle li:nth-child(4) { grid-area: reinvest; }
.ttp-cycle li > span { display: block; font-size: .75rem; color: #65caff; margin-bottom: 12px; }
.ttp-cycle li > strong { display: block; font-size: 1.2rem; }
.ttp-cycle li::after { position: absolute; color: #65caff; font-size: 28px; line-height: 1; }
.ttp-cycle li:nth-child(1)::after { content: '→'; right: -40px; top: 50%; }
.ttp-cycle li:nth-child(2)::after { content: '↓'; bottom: -40px; left: 50%; }
.ttp-cycle li:nth-child(3)::after { content: '←'; left: -40px; top: 50%; }
.ttp-cycle li:nth-child(4)::after { content: '↑'; top: -40px; left: 50%; }
.ttp-cycle-output { display: flex; align-items: center; gap: 20px; margin-top: 28px; padding: 22px 24px; border-left: 3px solid #22d3ee; background: #102a36; }
.ttp-cycle-output > span { font-size: 32px; color: #22d3ee; }
.ttp-burn-source { text-align: center; padding: 12px 0 30px; }
.ttp-burn-source > * { display: block; }
.ttp-burn-source strong { font-size: clamp(2.5rem, 5vw, 4rem); letter-spacing: -.05em; margin-block: 8px; }
.ttp-burn-branches { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; border-top: 1px solid #44627c; padding-top: 28px; }
.ttp-burn-branches > div { position: relative; padding: 24px; background: #102330; border-radius: 12px; }
.ttp-burn-branches > div::before { content: ''; position: absolute; top: -29px; left: 50%; height: 29px; width: 1px; background: #44627c; }
.ttp-burn-branches > div > span { display: block; font-size: .75rem; margin-bottom: 12px; }
.ttp-burn-branches > div > strong { font-size: 1.5rem; letter-spacing: -.035em; }
.ttp-burn-result { display: grid; gap: 10px; margin-top: 18px; }
.ttp-burn-result > span { color: #22d3ee; font-size: 26px; }
.ttp-org-parent { max-width: 400px; margin: auto; text-align: center; padding: 24px; border: 1px solid #426485; border-radius: 12px; }
.ttp-org-parent > span, .ttp-org-children > div > span { display: block; font-size: .75rem; margin-bottom: 10px; }
.ttp-org-parent > strong, .ttp-org-children strong { font-size: 1.5rem; }
.ttp-org-connector { text-align: center; color: #65caff; font-size: 28px; margin: 14px; }
.ttp-org-children { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ttp-org-children > div { padding: 24px; border-radius: 12px; background: #102330; }
.ttp-markets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 28px 0; }
.ttp-markets > div { display: grid; justify-items: center; text-align: center; gap: 8px; }
.ttp-market-icon { display: block; width: 56px; height: 56px; border-radius: 50%; }
.ttp-markets strong { font-size: 1rem; font-weight: 500; }
.ttp-markets > div > span:last-child { font-size: .75rem; color: var(--muted); }
.ttp-evidence > span { font-size: .8125rem; }
.ttp-evidence-values { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 22px; }
.ttp-evidence-values > div { display: grid; gap: 8px; }
.ttp-evidence-values strong { font-size: clamp(1.5rem, 3vw, 2.75rem); letter-spacing: -.04em; }
.ttp-evidence-values > span { font-size: 28px; color: #65caff; }
@media (max-width: 600px) {
  .ttp-cycle { grid-template-columns: 1fr; grid-template-areas: 'fund' 'trade' 'realize' 'reinvest'; gap: 36px; }
  .ttp-cycle li { padding: 20px; }
  .ttp-cycle li:nth-child(n)::after { content: '↓'; top: auto; right: auto; bottom: -32px; left: 50%; }
  .ttp-cycle li:last-child::after { content: none; }
  .ttp-cycle li:last-child p::after { content: ' Return to the software business above.'; }
  .ttp-burn-branches, .ttp-org-children { grid-template-columns: 1fr; gap: 24px; }
  .ttp-burn-branches > div + div::before { content: none; }
  .ttp-cycle-output { padding: 18px; gap: 12px; }
  .ttp-evidence-values { gap: 18px; }
  .ttp-evidence-values > span { display: none; }
}

/* Editorial diagram scenes: open geometry, continuous paths and a text key. */
.ttp-scene { margin: 48px 0; padding: 0; border: 0; }
.ttp-scene:last-child { margin-bottom: 0; }
.ttp-scene + .ttp-scene { margin-top: 72px; }
.ttp-scene-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 32px; }
.ttp-scene .ttp-scene-heading h3 { margin: 0; }
.ttp-scene-heading > span { font-size: .75rem; color: var(--muted); }
.ttp-scene-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(220px, .8fr); align-items: center; gap: 32px; }
.ttp-scene-svg { display: block; width: 100%; height: auto; overflow: visible; }
.ttp-scene-svg text { font-family: inherit; text-anchor: middle; }
.scene-orbit { fill: none; stroke: #24445d; stroke-width: 2; }
.scene-orbit--inner { stroke-width: 1; stroke-dasharray: 2 8; opacity: .7; }
.scene-tracer { fill: none; stroke: #6ce5e2; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 11 89; transform: rotate(-135deg); transform-origin: 280px 230px; }
.scene-route { fill: none; stroke: #3c6784; stroke-width: 2; }
.scene-pulse { fill: none; stroke: #65d7ff; stroke-width: 3; stroke-dasharray: 12 70; }
.scene-band { fill: none; stroke: #1b6077; stroke-width: 30; opacity: .4; }
.scene-band--second { stroke: #335583; }
.scene-stations circle, .scene-station { fill: var(--bg); stroke: #4e7c98; stroke-width: 1.5; }
.scene-station-icons { color: #a2eaff; }
.scene-caption { fill: #9eafbd; font-size: 16px; }
.ttp-scene--wheel .scene-caption { font-size: 20px; }
.scene-value { fill: #f4f6f8; font-size: 32px; letter-spacing: -1px; }
.scene-business { fill: none; stroke: #9ae7ff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.scene-burn-dot { fill: #62daca; }
.ttp-scene-legend { display: grid; gap: 22px; }
.ttp-scene-legend > div { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 16px; }
.ttp-scene-legend > div > span { color: #6ddae7; font-size: .8125rem; padding-top: 3px; }
.ttp-scene-legend h4 { font-size: 1rem; font-weight: 500; line-height: 1.4; margin: 0; }
.ttp-scene .ttp-scene-legend p { margin: 8px 0 0; font-size: .875rem; color: var(--muted); line-height: 1.7; }
.ttp-scene figcaption { margin-top: 26px; font-size: .8125rem; line-height: 1.75; color: var(--muted); max-width: 90ch; }
.ttp-source-caption { display: grid; gap: 4px; }
.ttp-source-links { display: flex; flex-wrap: wrap; gap: 0 28px; }
.ttp-source-links a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; max-width: 100%; margin: 0; color: var(--text); border-radius: 3px; }

.ttp-external-icon { flex: 0 0 16px; }
.ttp-source-note { font-size: .75rem; }
.ttp-source-links a:focus-visible { color: var(--ttp-blue); }
@media (hover: hover) and (pointer: fine) {
  .ttp-source-links a:hover { color: var(--ttp-blue); }
}

.ttp-scene .scene-tracer { animation: ttp-orbit 18s linear infinite; animation-play-state: paused; }
.ttp-scene .scene-pulse { animation: ttp-stream 6s linear infinite; animation-play-state: paused; }
.ttp-scene.is-running .scene-tracer, .ttp-scene.is-running .scene-pulse { animation-play-state: running; }
.ttp-scene .scene-pulse--second { animation-delay: -3s; }
@keyframes ttp-orbit { to { transform: rotate(225deg); } }
@keyframes ttp-stream { to { stroke-dashoffset: -164; } }
/* A trade changes visible reserves; a burn changes only the supply. */
.ttp-market-demo { container: market-demo / inline-size; }
.ttp-demo-interactive[hidden], .ttp-demo-description[hidden] { display: none; }
.ttp-demo-controls { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0 0 36px; }
.ttp-demo-controls li { position: relative; min-width: 0; }
.ttp-demo-controls li:not(:last-child)::after { content: ''; position: absolute; top: 17px; left: calc(50% + 23px); right: calc(-50% + 23px); height: 1px; background: var(--muted); opacity: .5; }
.ttp-demo-controls li.is-complete::after { background: var(--ttp-accent-line); opacity: 1; }
.ttp-demo-controls button { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; min-height: 68px; padding: 0 4px 8px; font: inherit; font-size: .875rem; color: var(--muted); background: transparent; border: 0; border-radius: 4px; cursor: pointer; }
.ttp-demo-controls button:focus-visible { outline: 2px solid var(--ttp-accent-line); outline-offset: 4px; }
.ttp-demo-step-number { position: relative; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--muted); border-radius: 50%; font-size: .8125rem; }
.ttp-demo-step-number svg { display: none; position: absolute; right: -5px; top: -3px; padding: 1px; width: 14px; height: 14px; background: var(--bg); stroke: var(--ttp-accent-line); stroke-width: 1.5; fill: none; }
.ttp-demo-controls .is-complete .ttp-demo-step-number { color: var(--ttp-accent-line); border-color: var(--ttp-accent-line); }
.ttp-demo-controls .is-complete svg { display: block; }
.ttp-demo-controls button[aria-pressed="true"] { color: var(--text); }
.ttp-demo-controls button[aria-pressed="true"] .ttp-demo-step-number { background: var(--ttp-accent-line); color: var(--bg); border-color: var(--ttp-accent-line); }
.ttp-demo-step-short { display: none; }
@media (hover: hover) and (pointer: fine) {
  .ttp-demo-controls button:hover { color: var(--text); }
  .ttp-demo-controls button:hover .ttp-demo-step-number { border-color: var(--ttp-accent-line); }
}
.ttp-demo-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: center; gap: clamp(32px, 7cqi, 96px); max-width: 1056px; margin: 0 auto 32px; }
.ttp-demo-pool, .ttp-demo-result { min-width: 0; }
.ttp-demo-reserves { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; text-align: center; }
.ttp-demo-reserves dt { min-height: 2.8em; font-size: .875rem; line-height: 1.4; color: var(--muted); }
.ttp-demo-reserves dd { margin: 8px 0 0; }
.ttp-demo-reserves dd > strong { display: block; min-height: 1.2em; font-size: clamp(1.375rem, 3cqi, 2rem); font-weight: 500; line-height: 1.2; }
.ttp-demo-reserves dd > span { display: block; margin-top: 4px; font-size: .75rem; color: var(--muted); }
.ttp-demo-digits { display: inline-flex; justify-content: flex-end; }
.ttp-demo-digit { display: inline-block; width: .61em; text-align: center; }
.ttp-demo-punctuation { display: inline-block; width: .25em; text-align: center; }
.ttp-demo-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.ttp-demo-vessels { display: block; width: 100%; margin-top: 12px; }
.ttp-demo-vessel { fill: var(--surface); stroke: var(--muted); stroke-width: 1; }
.ttp-demo-fill { fill: var(--ttp-accent-line); fill-opacity: .28; }
.ttp-demo-fill--paired { fill-opacity: .14; }
.ttp-demo-ghost { stroke: var(--ttp-accent-line); stroke-width: 1; stroke-dasharray: 5 5; fill: none; }
.ttp-demo-asset { fill: none; stroke: var(--text); stroke-width: 1.5; }
.ttp-demo-vessels path, .ttp-demo-track path, .ttp-demo-track polyline { vector-effect: non-scaling-stroke; }
.ttp-demo-pool-key, .ttp-demo-track-reference { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: .75rem; color: var(--muted); }
.ttp-demo-pool-key > span, .ttp-demo-track-reference > span { width: 20px; border-top: 1px dashed var(--ttp-accent-line); }
.ttp-market-demo .ttp-demo-flow-heading { margin: 20px 0 8px; color: var(--muted); font-size: .75rem; line-height: 1.4; text-align: center; }
.ttp-demo-flows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ttp-demo-flow { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 56px; color: var(--ttp-accent-line); }
.ttp-demo-flow > svg { flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ttp-demo-flow[data-direction="in"] > svg { transform: rotate(180deg); }
.ttp-demo-flow[data-direction="still"] > svg { visibility: hidden; }
.ttp-demo-flow[data-direction="still"] { color: var(--muted); }
.ttp-demo-flow strong { display: block; font-size: .9375rem; font-weight: 500; }
.ttp-demo-flow [data-demo-flow-label] { display: block; margin-top: 4px; font-size: .75rem; color: var(--muted); }
.ttp-demo-burn-route { display: grid; grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr); align-items: start; gap: 8px; margin-top: 24px; }
.ttp-demo-tray, .ttp-demo-burned { min-width: 0; }
.ttp-demo-tray { border-bottom: 1px solid var(--muted); padding-bottom: 12px; }
.ttp-demo-tray-label { display: flex; align-items: center; gap: 6px; min-height: 36px; font-size: .8125rem; line-height: 1.3; color: var(--muted); }
.ttp-demo-tray-label > img, .ttp-demo-tray-label > svg { flex: 0 0 24px; width: 24px; height: 24px; }
.ttp-demo-tray-label > svg, .ttp-demo-burn-arrow { fill: none; stroke: var(--ttp-accent-line); stroke-width: 1.5; }
.ttp-demo-burn-arrow { width: 32px; margin-top: 38px; opacity: .4; }
.ttp-market-demo[data-stage="burn"] .ttp-demo-burn-arrow { opacity: 1; }
.ttp-demo-burn-route strong { display: block; margin-top: 6px; font-size: 1.25rem; font-weight: 500; }
.ttp-demo-burn-route strong > [data-demo-value] { display: inline-block; min-width: 2em; }
.ttp-demo-burn-route small { color: var(--muted); font-size: .75rem; font-weight: 400; }
.ttp-demo-change { display: grid; min-height: 2.8em; margin-top: 6px; color: var(--muted); font-size: .75rem; line-height: 1.4; }
.ttp-demo-price, .ttp-demo-supply { margin: 0; }
.ttp-demo-price dt, .ttp-demo-supply dt { color: var(--muted); font-size: .875rem; }
.ttp-demo-price dd { display: flex; align-items: baseline; gap: 10px; margin: 12px 0 16px; }
.ttp-demo-price strong { display: block; min-width: 3.4em; font-size: clamp(2.5rem, 5cqi, 3.75rem); font-weight: 500; line-height: 1; }
.ttp-demo-price dd > span, .ttp-demo-supply dd > span { font-size: .8125rem; color: var(--muted); }
.ttp-demo-percent { display: inline-block; min-width: 10em; padding: 6px 10px; color: var(--ttp-accent-line); background: var(--surface); border-radius: 4px; font-size: .875rem; }
.ttp-market-demo .ttp-demo-price-change, .ttp-market-demo .ttp-demo-supply-change { min-height: 1.5em; margin: 8px 0 0; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.ttp-demo-track { margin-block: 28px; }
.ttp-demo-track-reference { justify-content: start; }
.ttp-demo-track svg { display: block; width: 100%; }
.ttp-demo-reference-line { stroke: var(--muted); stroke-dasharray: 4 5; stroke-width: 1.5; }
.ttp-demo-track-line { fill: none; stroke: var(--muted); stroke-width: 1.5; }
.ttp-demo-track circle { fill: var(--bg); stroke: var(--muted); stroke-width: 1.5; }
.ttp-demo-track circle.is-complete { fill: var(--ttp-accent-line); stroke: var(--ttp-accent-line); }
.ttp-demo-track .ttp-demo-marker { fill: var(--ttp-accent-line); stroke: var(--bg); stroke-width: 2; }
.ttp-demo-track-labels { display: flex; justify-content: space-between; color: var(--muted); font-size: .75rem; }
.ttp-demo-track-labels > span { width: 16.6667%; text-align: center; }
.ttp-demo-track-labels .is-current { color: var(--text); font-weight: 600; }
.ttp-demo-supply dd { display: flex; align-items: baseline; gap: 8px; margin: 8px 0 0; }
.ttp-demo-supply strong { min-width: 3.6em; font-size: 1.75rem; font-weight: 500; }
/* DM Sans's wide zero makes ch much wider than an average letter. This measured
   limit keeps every approved sentence below 75 characters per rendered line. */
.ttp-demo-story { max-width: 46ch; margin-top: 32px; }
.ttp-demo-steps { padding-left: 24px; }
.ttp-demo-steps li + li { margin-top: 20px; }
.ttp-market-demo .ttp-demo-steps p, .ttp-market-demo .ttp-demo-description { margin: 0; color: var(--text); font-size: 1rem; line-height: 1.65; }
.ttp-demo-steps li > strong { display: block; margin-bottom: 6px; }
.ttp-market-demo.is-enhanced .ttp-demo-story, .ttp-market-demo.is-enhanced .ttp-demo-steps { display: grid; }
.ttp-market-demo.is-enhanced .ttp-demo-steps { visibility: hidden; list-style: none; padding: 0; margin: 0; }
.ttp-market-demo.is-enhanced .ttp-demo-steps li { grid-area: 1 / 1; margin: 0; }
.ttp-market-demo.is-enhanced .ttp-demo-steps li > strong { display: none; }
.ttp-market-demo.is-enhanced .ttp-demo-story > * { grid-area: 1 / 1; }
.ttp-market-demo figcaption { max-width: 100%; font-size: .75rem; margin-top: 20px; }
@container market-demo (max-width: 700px) {
  .ttp-demo-controls { margin-bottom: 28px; }
  .ttp-demo-step-full { display: none; }
  .ttp-demo-step-short { display: inline; }
  .ttp-demo-layout { grid-template-columns: 1fr; gap: 32px; max-width: 520px; }
  .ttp-demo-result { width: 100%; max-width: 380px; margin-inline: auto; }
  .ttp-demo-reserves dd > strong { font-size: clamp(1.375rem, 5.5cqi, 2rem); }
  .ttp-demo-price strong { font-size: clamp(2.5rem, 10cqi, 3.25rem); }
  .ttp-demo-reserves dt { font-size: .8125rem; }
  .ttp-demo-flow strong { font-size: .8125rem; }
  .ttp-demo-flow [data-demo-flow-label] { font-size: .75rem; }
  .ttp-demo-burn-route { grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr); gap: 4px; }
  .ttp-demo-burn-arrow { width: 24px; }
  .ttp-demo-tray-label { font-size: .75rem; }
  .ttp-demo-track { margin-block: 20px; }
  .ttp-demo-story { margin-top: 24px; }
}
@media (forced-colors: active) {
  .ttp-demo-fill { fill: Highlight; fill-opacity: .5; }
  .ttp-demo-ghost, .ttp-demo-track .ttp-demo-marker { stroke: CanvasText; }
  .ttp-demo-controls button[aria-pressed="true"] { outline: 2px solid Highlight; }
}
.ttp-chart-reserved { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; padding-block: 40px; border-block: 1px solid #263747; margin-block: 32px; }
.ttp-chart-reserved h3 { font-size: 1.75rem; letter-spacing: -.035em; margin-block: 14px; }
.ttp-chart-reserved p { color: var(--muted); line-height: 1.75; max-width: 50ch; }
.ttp-chart-awaiting { display: grid; place-items: center; gap: 18px; padding: 30px; min-height: 240px; background: repeating-linear-gradient(0deg,transparent 0 47px,#1d2f3e 48px 49px), repeating-linear-gradient(90deg,transparent 0 79px,#1d2f3e 80px 81px); }
.ttp-chart-awaiting span { font-size: .8125rem; color: var(--muted); background: #070e17; padding: 10px; text-align: center; }
.ttp-chart-awaiting img { opacity: .65; }
@media (max-width: 800px) {
  .ttp-scene-layout { grid-template-columns: 1fr; gap: 18px; }
  .ttp-scene-svg { max-width: 540px; margin-inline: auto; }
  .ttp-scene-legend { grid-template-columns: 1fr 1fr; gap: 22px; }
  .ttp .ttp-scene-legend { grid-template-columns: 1fr; }
  .ttp-chart-reserved { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 480px) {
  .ttp-scene-legend { grid-template-columns: 1fr; }
  .ttp-scene { margin-block: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .ttp-scene .scene-tracer, .ttp-scene .scene-pulse { animation: none; }
}
.ttp-roadmap { position: relative; }
.ttp-roadmap::before { content: ''; position: absolute; left: 21px; top: 54px; bottom: 54px; width: 1px; background: linear-gradient(#6cd6e3, #36506a); }
.ttp-roadmap li { position: relative; border-top: 0; }
.ttp-roadmap__step { position: relative; display: grid; place-items: center; align-self: start; width: 44px; height: 44px; border: 1px solid #45647e; border-radius: 50%; background: #0a1420; font-size: .875rem; }
@media (max-width: 700px) { .ttp-roadmap li { grid-template-columns: 44px 1fr; } }
.scene-burn-particles { fill: #70e6dc; animation: ttp-burn-release 4s ease-out infinite; animation-play-state: paused; }
.ttp-scene.is-running .scene-burn-particles { animation-play-state: running; }
@keyframes ttp-burn-release { 0%, 15% { opacity: 0; transform: translate(-6px, 3px); } 40% { opacity: .85; } 100% { opacity: 0; transform: translate(10px, -9px); } }
@media (prefers-reduced-motion: reduce) { .scene-burn-particles { animation: none; opacity: .65; } }

/* Fund A: equity sizing examples, not a return chart. */
.ttp-fund { scroll-margin-top: 96px; }
.ttp-fund-intro, .ttp-fund-retention { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; }
.ttp-fund-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin-block: 48px; padding-block: 28px; border-block: 1px solid var(--line); }
.ttp-fund h3 { font-size: 1.375rem; line-height: 1.3; margin-bottom: 14px; }
.ttp-fund-comparison p, .ttp-fund-sizing p, .ttp-fund-retention p { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 50ch; }
.ttp-fund-retention p + p { margin-block-start: 20px; }
.ttp-fund-sizing { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 64px; margin: 0 0 48px; }
.ttp-fund-bars { display: grid; gap: 26px; }
.ttp-fund-bars > div > div { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; font-size: .875rem; }
.ttp-fund-bars strong { font-weight: 500; }
.ttp-fund-bars span { color: var(--muted); text-align: right; }
.ttp-fund-bars i { display: block; width: var(--fund-bar); height: 8px; border-radius: 4px; background: linear-gradient(92deg,#34d399,#22d3ee); margin-top: 12px; }
.ttp-fund-sizing figcaption { grid-column: 1 / -1; color: var(--muted); font-size: .8125rem; line-height: 1.7; max-width: 90ch; }

.ttp-fund-retention { margin-block-end: 24px; }
.ttp-fund-method { margin-top: 40px; color: var(--muted); max-width: 80ch; }
.ttp-fund-method summary { cursor: pointer; color: var(--text); padding-block: 12px; }
.ttp-fund-method p { margin-top: 16px; line-height: 1.7; }
@media (max-width: 800px) {
 .ttp-fund-intro, .ttp-fund-retention, .ttp-fund-sizing { grid-template-columns: 1fr; gap: 28px; }
 .ttp-fund-comparison { grid-template-columns: 1fr; gap: 28px; margin-block: 32px; }
 .ttp-fund-sizing { margin-block-end: 32px; }
}
@media (max-width: 480px) {
 .ttp-fund-bars > div > div { flex-wrap: wrap; gap: 4px 12px; }
}

#ttp-video .intro__frame { width: 100%; }
#ttp-video { padding-inline: 0; }

.ttp-link-arrow { display: inline-block; width: 1em; height: 1em; flex: 0 0 auto; vertical-align: -.12em; }

/* Mobile reading mode; desktop keeps the complete layout. */
.ttp-mobile-only { display: none; }
.ttp-mobile-details { display: contents; }
.ttp-mobile-details > summary { display: none; }
@media (max-width: 700px) {
 .ttp-mobile-only { display: block; }
 .ttp-mobile-only[hidden], .ttp-scene[hidden] { display: none; }
 .ttp-section { padding-block: 40px; }
 .ttp-section__head { margin-bottom: 24px; }
 .ttp-jump { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; padding-block: 8px; margin-bottom: 16px; }
 .ttp-facts > div, .ttp-facts > div:first-child { padding-block: 12px; }

 .ttp-mobile-details { display: block; margin-block: 16px; border-top: 1px solid var(--line); }
 .ttp-mobile-details > summary { display: list-item; padding-block: 14px; min-height: 44px; cursor: pointer; color: var(--text); font-size: .9375rem; }
 .ttp-mobile-details > summary:focus-visible, .ttp-mobile-only button:focus-visible { outline: 2px solid var(--ttp-blue); outline-offset: 4px; }
 .ttp-mobile-details[open] > summary { margin-bottom: 12px; }
 /* One clear boundary between Fund A's disclosure and the next model section. */
 .ttp-fund { padding-bottom: 24px; }
 .ttp-fund + #model { padding-top: 24px; }
 .ttp-fund > .ttp-mobile-details { margin-bottom: 0; }
 .ttp-fund > .ttp-mobile-details > .ttp-fund-comparison { margin-top: 12px; padding-top: 0; border-top: 0; }
 .ttp-mobile-note { color: var(--muted); line-height: 1.65; font-size: 1rem; margin-block: 16px; }
 .ttp-fund-intro { gap: 0; }
 .ttp-scene { margin-block: 20px; padding-block: 20px; }
 .ttp-scene-layout { gap: 16px; }
 .ttp-scene-svg { max-width: 300px; }
 .ttp-scene--supply .ttp-scene-svg { max-width: 240px; }
 .ttp-scene-legend { gap: 14px; }
 .ttp-scene .ttp-scene-legend p { margin-top: 4px; line-height: 1.5; }
 .ttp-scene figcaption { margin-top: 16px; line-height: 1.6; }
 .ttp-model-tabs { display: flex; gap: 6px; margin-block: 20px 0; }
 .ttp-mobile-only button { color: var(--text); background: transparent; border: 1px solid var(--line); border-radius: 8px; padding: 10px; min-height: 44px; font: inherit; font-size: .8125rem; cursor: pointer; }
 .ttp-model-tabs button { flex: 1; }
 .ttp-model-tabs button[aria-selected="true"] { border-color: #6ddae7; background: #11252e; }
 .ttp-card-controls { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-block: 20px 12px; }
 .ttp-card-controls span { color: var(--muted); font-size: .75rem; }
 .ttp-card-controls button:disabled { opacity: .4; cursor: default; }
 .ttp-mobile-cards { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-block: 4px 16px; margin-block: 0; }
 .ttp-mobile-cards > * { flex: 0 0 86%; min-width: 0; scroll-snap-align: start; padding: 20px !important; border: 1px solid var(--line) !important; border-radius: 12px; }
 .ttp-roadmap::before { display: none; }
 .ttp-roadmap li { display: block; }
 .ttp-roadmap__step { margin-bottom: 16px; }
 .paper-body section { padding-block: 28px; }
 .paper-body .ttp-mobile-note { font-size: .9375rem; }
 .paper-body > section > h2 { font-size: 1.65rem; }
 .paper-layout { padding-top: 24px; gap: 12px; }
 .paper-layout > .ttp-mobile-details { margin: 0; }
 .paper-layout .paper-nav { position: static; }
 .ttp-chapter-controls { display: flex; gap: 10px; margin-bottom: 16px; }
 .paper-hero { padding-block: 24px; }
 .paper-hero img { width: 110px; margin-top: 12px; }
 .paper-hero .ttp-eyebrow { margin-top: 16px; }
}

@media (max-width: 700px) {

 .ttp-intro { gap: 12px; }
 .ttp-intro .ttp-eyebrow { margin-bottom: 14px; }
 .ttp-markets { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
 .ttp-markets > div { gap: 6px; }
 .ttp-markets strong { font-size: 1rem; }
 .ttp-markets span { font-size: .75rem; }
 .ttp-market-icon { width: 36px; height: 36px; }
 .ttp-report .performance-feature__paper, .ttp-report .performance-feature__edition { max-width: 140px; }
 .ttp-report .ttp-report__scope { margin-block: 16px 12px; }
 .paper .paper-body section { padding-block: 28px; }
 .paper .paper-layout { padding-top: 24px; gap: 12px; }
 .paper .paper-hero { padding-block: 24px; }
 .paper .paper-hero img { width: 110px; margin-top: 12px; }
 .paper .paper-hero .ttp-eyebrow { margin-top: 16px; }
}

/* TTP editorial artwork: one visual language with the main site's trading UI. */
.ttp-art-svg { display: block; width: 100%; height: auto; overflow: visible; }
.art-wire { stroke: #25343d; stroke-width: 1; }
.art-wire--bright { stroke: #446775; }
.art-glass { fill: #09131b; stroke: #3a515d; stroke-width: 1.2; }
.art-dot { fill: #6ee7cc; }
.art-dot--dim { fill: #3d5660; }
.art-candle { stroke: #34d399; stroke-width: 1; }
.art-candle-body { stroke: #34d399; stroke-width: 7; }
.art-candle--down { stroke: #a87987; }
.art-line { stroke: #6cd9df; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.art-chip { fill: #11212a; stroke: #496c79; }
.art-text { fill: #d8e7ec; font: 11px var(--font-sans); }
.ttp-intro--designed { align-items: center; }
.ttp-company-art { position: relative; max-width: 450px; margin: 32px -12px -10px; background: radial-gradient(ellipse, #22d3ee0c, transparent 68%); }
.ttp-company-assets { position: absolute; right: 1%; bottom: 8%; display: flex; gap: 10px; }
.ttp-company-assets img { width: 32px; height: 32px; filter: drop-shadow(0 4px 14px #000); }

/* The published results supply the visual, with no invented growth curve. */
.ttp-evidence--designed { display: grid; grid-template-columns: .92fr 1.08fr; gap: 28px 56px; border: 0; border-block: 1px solid var(--line); border-radius: 0; padding: 48px 0 32px; background: radial-gradient(ellipse at 72% 54%, #34d39908, transparent 55%); }
.ttp-evidence--designed .ttp-eyebrow { display: block; font-size: .8125rem; margin-bottom: 30px; }
.ttp-evidence--designed .ttp-evidence-values { display: grid; grid-template-columns: 1fr; gap: 16px; }
.ttp-evidence--designed .ttp-evidence-values strong { font-size: clamp(2.15rem, 3.6vw, 3.4rem); line-height: 1.12; }
.ttp-evidence--designed .ttp-evidence-values > span { display: none; }
.ttp-evidence--designed .ttp-evidence-values > div:last-child strong { color: #73e6cc; }
.ttp-evidence--designed figcaption { grid-column: 1 / -1; margin: 0; padding-top: 24px; border-top: 1px solid var(--line); max-width: none; }
.ttp-annual { min-width: 0; }
.ttp-evidence--designed .ttp-annual h3 { font-size: .875rem; font-weight: 500; letter-spacing: 0; margin: 0; }
.ttp-annual-bars { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; margin-top: 12px; background: repeating-linear-gradient(to top, transparent 0 55px, #ffffff07 55px 56px); }
.ttp-annual-bar { position: relative; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 204px; padding-bottom: 26px; }
.ttp-annual-bar i { display: block; width: 65%; height: calc(var(--bar-height) * .78); flex: none; background: linear-gradient(to top, #123a38, #34d399b3); border-top: 2px solid #79e9d0; }
.ttp-annual-bar:last-child i { background: linear-gradient(to top, #133b44, #22d3eeb3); border-color: #81edfc; }
.ttp-annual-bar span { font-size: .75rem; margin-bottom: 8px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ttp-annual-bar small { position: absolute; bottom: 0; font-size: .75rem; }
.ttp-evidence--designed .ttp-annual p { font-size: .75rem; margin-top: 14px; }
.paper-body .ttp-evidence--designed { grid-template-columns: 1fr; gap: 28px; }
.paper-body .ttp-evidence--designed .ttp-evidence-values { grid-template-columns: 1fr 1.5fr; }
.paper-body .ttp-evidence--designed .ttp-evidence-values strong { font-size: clamp(1.5rem, 2.5vw, 2.5rem); }

/* A live market terminal, deliberately distinct from the illustrative diagrams. */
.ttp-market-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 36px; }
.ttp-market-heading .ttp-eyebrow { margin-bottom: 16px; }
.ttp-market-status { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: .75rem; white-space: nowrap; padding-bottom: 8px; }
.ttp-market-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #8d9da6; }
.ttp-market-status[data-state="fresh"]::before { background: #34d399; box-shadow: 0 0 12px #34d39966; }
.ttp-market-status[data-state="stale"]::before { background: #e9ba78; }
.ttp-market-terminal { display: grid; grid-template-columns: minmax(0, 1fr) 280px; border: 1px solid #293640; border-radius: 16px; overflow: clip; background: #080e16; }
.ttp-market-main { min-width: 0; padding: 30px 32px 22px; background: radial-gradient(ellipse at 0 0, #34d39908, transparent 65%); }
.ttp-market-identity { display: flex; align-items: center; gap: 14px; }
.ttp-market-identity img { width: 54px; height: 54px; }
.ttp-market-identity h3 { font-size: 1.25rem; margin: 0; font-weight: 500; }
.ttp-market-identity h3 span { color: var(--muted); font-size: .9375rem; font-weight: 400; }
.ttp-market-identity p { color: var(--muted); font-size: .75rem; margin-top: 3px; }
.ttp-market-quote { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; margin: 24px 0 36px; font-variant-numeric: tabular-nums; }
.ttp-market-quote strong { font-weight: 500; font-size: clamp(2rem, 3.5vw, 3.2rem); line-height: 1.15; letter-spacing: -.05em; }
.ttp-market-quote > span { font-size: .9375rem; color: var(--muted); }
.ttp-market-quote > span[data-direction="up"] { color: #62dfb7; }
.ttp-market-quote > span[data-direction="down"] { color: #ef9ca7; }
.ttp-market-quote small { font-size: .75rem; color: var(--muted); }
.ttp-chart-meta, .ttp-chart-range { display: flex; justify-content: space-between; gap: 16px; font-size: .75rem; color: var(--muted); }
.ttp-price-chart svg { display: block; width: 100%; height: auto; margin-block: 12px; }
.ttp-price-chart svg[hidden], .ttp-chart-empty[hidden] { display: none; }
.ttp-price-grid { fill: none; stroke: #28333b; stroke-width: 1; vector-effect: non-scaling-stroke; stroke-dasharray: 3 5; }
.ttp-chart-empty { display: grid; place-items: center; text-align: center; aspect-ratio: 800 / 260; color: var(--muted); font-size: .875rem; margin-block: 12px; }
.ttp-market-side { padding: 14px 28px 24px; border-left: 1px solid #293640; }
.ttp-market-stats > div { padding-block: 18px; border-bottom: 1px solid var(--line); }
.ttp-market-stats dt { color: var(--muted); font-size: .75rem; }
.ttp-market-stats dt span { float: right; color: #d5dce1; }
.ttp-market-stats dd { margin: 7px 0 0; font-size: 1.625rem; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.ttp-trade-flow { margin-top: 22px; }
.ttp-trade-flow > span { color: var(--muted); font-size: .75rem; }
.ttp-trade-flow > div:nth-child(2) { display: flex; justify-content: space-between; gap: 12px; margin-block: 12px; }
.ttp-trade-flow strong { color: #67daba; font-size: .75rem; font-weight: 400; }
.ttp-trade-flow strong:last-child { color: #daa2aa; }
.ttp-trade-flow b { font-weight: 500; }
.ttp-trade-flow__bar { height: 3px; background: #6d444b; }
.ttp-trade-flow__bar i { display: block; height: 100%; width: 0; background: #34d399; }
.ttp-market-foot { display: flex; justify-content: space-between; gap: 16px 32px; margin-top: 16px; color: var(--muted); font-size: .75rem; line-height: 1.6; }
.ttp-market-foot a { color: var(--text); }
.ttp-market-foot p:last-child { flex-shrink: 0; }

/* Market access: actual venue marks, with a separate application illustration. */
.ttp-access-art { position: relative; display: flex; align-items: center; justify-content: center; height: 200px; margin-bottom: 28px; isolation: isolate; background: radial-gradient(ellipse at 50% 70%, #22d3ee0a, transparent 70%); }
/* Share the tallest figure row without resizing the original artwork. */
#market-access .ttp-principles { grid-template-rows: 1fr auto auto auto; row-gap: 0; }
#market-access .ttp-principles > article { display: grid; grid-row: 1 / span 4; grid-template-rows: subgrid; }
#market-access .ttp-access-art { height: auto; min-height: 200px; }
.ttp-access-art::after { content: ''; position: absolute; inset: auto 0 0; height: 1px; background: linear-gradient(90deg, transparent, #46677480, transparent); }
.ttp-access-art > .ttp-art-svg { max-width: 350px; }
.ttp-access-art--launch > img:first-child { width: 168px; height: 168px; object-fit: contain; filter: drop-shadow(0 20px 24px #0008); transform: rotate(-8deg); }
.ttp-access-art--launch .ttp-access-badge { position: absolute; width: 42px; height: 42px; left: calc(50% + 54px); bottom: 32px; padding: 9px; box-sizing: content-box; background: #101b21; border: 1px solid #3d525b; border-radius: 16px; transform: rotate(8deg); }
.ttp-access-art--apps { gap: 12px; }
.ttp-access-art--apps > span { display: grid; place-items: center; width: 64px; height: 72px; border-radius: 16px; border: 1px solid #39494e; background: #111a20; box-shadow: 0 20px 36px #0005; }
.ttp-access-art--apps > span:nth-child(odd) { transform: translateY(-14px) rotate(-7deg); }
.ttp-access-art--apps > span:nth-child(even) { transform: translateY(14px) rotate(7deg); }
.ttp-access-art--apps > span:first-child { background: #0052ff; border-color: #3e7dfc; }
.ttp-access-art--apps img { width: 38px; height: 38px; object-fit: contain; }

/* Each horizon is an illustrated chapter, rather than a vertical dot timeline. */
.ttp-roadmap--visual { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.ttp-roadmap--visual::before { display: none; }
.ttp-roadmap--visual li { display: flex; flex-direction: column; padding: 0; min-width: 0; }
.ttp-roadmap-art { margin: 0 -8px 28px; background: radial-gradient(ellipse, #34d3990b, transparent 70%); }
.ttp-roadmap-copy { padding-top: 24px; border-top: 1px solid var(--line); }
.ttp-roadmap--visual .ttp-label { color: #8faab6; font-size: .75rem; margin-bottom: 14px; }
.ttp-roadmap--visual h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); min-height: 2.6em; margin-bottom: 24px; line-height: 1.3; }
.ttp-roadmap--visual .ttp-roadmap__tracks { grid-template-columns: 1fr; gap: 20px; }
.ttp-roadmap--visual .ttp-roadmap__tracks h4 { color: #68d8cc; font-size: .8125rem; margin-top: 0; }
.ttp-roadmap--visual p { font-size: .875rem; line-height: 1.75; }

/* White-paper invitation: branded coin composition within a wide star field. */
.ttp-paper-link--designed { display: grid; grid-template-columns: 1fr 1fr; align-items: center; position: relative; isolation: isolate; overflow: clip; gap: 0; padding: 56px; border: 0; border-radius: 0; background: transparent; }
.ttp-paper-link--designed::before { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .55; background-image: radial-gradient(1px 1px at 14% 28%, #8bd4e5 98%, transparent), radial-gradient(1px 1px at 81% 66%, #8bd4e5 98%, transparent), radial-gradient(1px 1px at 45% 81%, #8bd4e5 98%, transparent); background-size: 211px 163px, 337px 213px, 281px 317px; mask-image: linear-gradient(to right, transparent, black); }
.ttp-paper-copy { position: relative; z-index: 2; }
.ttp-paper-emblem { width: 34px; height: 34px; object-fit: contain; margin-bottom: 24px; }
.ttp-paper-link--designed .ttp-eyebrow { margin-bottom: 14px; font-size: .8125rem; }
.ttp-paper-link--designed h2 { margin-bottom: 24px; }
.ttp-paper-copy > p:not(.ttp-eyebrow) { max-width: 43ch; color: var(--muted); font-size: 1rem; line-height: 1.7; margin-bottom: 28px; }
.ttp-paper-copy .btn { width: fit-content; }
.ttp-paper-art { position: relative; min-width: 0; aspect-ratio: 1; display: grid; place-items: center; }
.ttp-paper-art::before { content: 'TTP'; position: absolute; font-size: clamp(6rem, 18vw, 17rem); font-weight: 700; letter-spacing: -.08em; color: transparent; -webkit-text-stroke: 1px #54717e40; transform: translate(2%, 36%); }
.ttp-paper-art img { position: relative; width: 92%; height: auto; transform: rotate(-13deg) translateY(-6%); filter: drop-shadow(0 28px 36px #0009); }
.ttp-paper-orbit { position: absolute; width: 100%; height: 52%; border: 1px solid #4775845e; border-radius: 50%; transform: rotate(-30deg); }
.ttp-paper-orbit--second { width: 116%; height: 68%; border-color: #47758430; transform: rotate(-30deg); }
@media (max-width: 1000px) {
 .ttp-market-terminal { grid-template-columns: minmax(0, 1fr) 235px; }
 .ttp-market-main { padding: 24px; }
 .ttp-market-side { padding-inline: 20px; }
 .ttp-evidence--designed { gap: 24px; }
 .ttp-roadmap--visual { gap: 24px; }
 .ttp-access-art--apps { gap: 7px; }
 .ttp-access-art--apps > span { width: 48px; height: 58px; border-radius: 12px; }
 .ttp-access-art--apps img { width: 32px; height: 32px; }
 .ttp-paper-link--designed { padding: 40px; }
}
@media (max-width: 800px) {
 .ttp-evidence--designed { grid-template-columns: 1fr; padding-block: 32px 24px; }
 .ttp-evidence--designed .ttp-evidence-values { grid-template-columns: 1fr 1.5fr; }
 .ttp-evidence--designed .ttp-evidence-values strong { font-size: clamp(1.65rem, 4.3vw, 2.6rem); }
 .ttp-market-heading, .ttp-market-foot { align-items: flex-start; flex-direction: column; gap: 12px; }
 .ttp-market-terminal { grid-template-columns: 1fr; }
 .ttp-market-side { border-left: 0; border-top: 1px solid #293640; padding: 8px 24px 24px; }
 .ttp-market-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
 .ttp-market-stats dd { font-size: 1.5rem; }
 .ttp-market-quote strong { font-size: 2.6rem; }
 .ttp-market-foot p:last-child { flex-shrink: 1; }
 .ttp-roadmap--visual { grid-template-columns: 1fr; gap: 40px; }
 .ttp-roadmap--visual li { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 28px; padding: 0; }
 .ttp-roadmap-art { align-self: start; margin-top: 32px; }
 .ttp-roadmap--visual h3 { min-height: 0; }
}
@media (max-width: 700px) {
 .ttp-intro--designed { gap: 24px; }
 .ttp-company-art { max-width: 360px; margin-inline: auto; margin-block: 20px 0; }
 .ttp-company-assets { right: 3%; }
 .ttp-intro--designed .ttp-prose { font-size: 1rem; }
 [data-visual-cards] .ttp-principles { gap: 36px; }
 .ttp-access-art { height: 180px; margin-bottom: 24px; }
 #market-access .ttp-principles { grid-template-rows: repeat(3, 1fr auto auto auto); }
 #market-access .ttp-principles > article { grid-row: span 4; }
 #market-access .ttp-principles > article:not(:last-child) { padding-bottom: 36px; }
 #market-access .ttp-access-art { min-height: 180px; }
 #market-access .ttp-exchange-art { margin-bottom: 24px; }
 .ttp-access-art--apps > span { width: 64px; height: 72px; }
 .ttp-access-art--apps img { width: 38px; height: 38px; }
 .ttp-annual-bars { gap: 6px; }
 .ttp-annual-bar span { font-size: .75rem; }
 .ttp-annual-bar i { width: 60%; }
 .ttp-paper-link--designed { grid-template-columns: 1fr; padding: 32px 24px 0; }
 .ttp-paper-copy > p:not(.ttp-eyebrow) { font-size: .9375rem; }
 .ttp-paper-art { width: min(100%, 420px); margin: 12px auto 0; }
 .ttp-paper-art::before { font-size: 36vw; }
 .ttp-market-heading { margin-bottom: 24px; }
 .ttp-market-main { padding: 22px 18px 20px; }
 .ttp-market-quote { gap: 8px 10px; margin: 24px 0; }
 .ttp-chart-meta, .ttp-chart-range { font-size: .75rem; gap: 10px; }
 .ttp-market-side { padding-inline: 18px; }
 .ttp-market-status { padding: 0; }
}
@media (max-width: 480px) {
 .ttp-roadmap--visual li { display: flex; gap: 0; }
 .ttp-roadmap-art { width: 100%; max-width: 340px; margin: 0 auto 20px; }
 .ttp-roadmap-copy { padding-top: 20px; }
 .ttp-roadmap--visual h3 { font-size: 1.5rem; margin-bottom: 20px; }
 .ttp-evidence--designed .ttp-evidence-values, .paper-body .ttp-evidence--designed .ttp-evidence-values { grid-template-columns: 1fr; gap: 20px; }
 .ttp-evidence--designed .ttp-evidence-values strong, .paper-body .ttp-evidence--designed .ttp-evidence-values strong { font-size: 2.25rem; }
 .ttp-evidence--designed .ttp-eyebrow { margin-bottom: 24px; }
 .ttp-market-quote strong { width: 100%; font-size: 2.3rem; }
 .ttp-market-stats { gap: 0 16px; }
 .ttp-market-stats dd { font-size: 1.3rem; }
 .ttp-market-identity p { font-size: .75rem; }
 .ttp-chart-range { display: grid; grid-template-columns: 1fr 1fr; }
 .ttp-chart-range [data-chart-end] { text-align: right; }
 .ttp-chart-range [data-chart-range] { grid-column: 1 / -1; grid-row: 2; text-align: center; }
}

/* TTP market dashboard: price, activity, and every discovered venue. */
.market-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:32px; }
.market-heading h2 { margin:0; }
.market-board { border:1px solid #293640; border-radius:14px; background:#080e16; overflow:clip; font-variant-numeric:tabular-nums; }
.market-board [hidden] { display:none!important; }
.market-board button { font:inherit; cursor:pointer; }
.market-board button:focus-visible,.market-board a:focus-visible { outline:2px solid #55cce0; outline-offset:4px; }
.market-overview { padding:28px 30px; display:grid; grid-template-columns:1.05fr 1.55fr; gap:36px; border-bottom:1px solid var(--line); align-items:end; }
.market-token { display:flex; align-items:center; gap:12px; }
.market-token img { width:44px; height:44px; }
.market-token h3 { margin:0 0 3px; font-size:1rem; font-weight:500; }
.market-token h3 span { color:var(--muted); margin-left:5px; font-size:.75rem; }
.market-token a { display:inline-flex; align-items:center; min-height:44px; margin-block:min(0px,calc((1lh - 44px)/2)); color:var(--muted); font-size:.75rem; }
.market-price { display:flex; align-items:center; gap:18px; margin-top:18px; }
.market-price > strong { font-size:clamp(2rem,3.7vw,3.1rem); font-weight:500; letter-spacing:-.035em; line-height:1.1; }
.market-price > div { display:grid; gap:3px; font-size:.875rem; }
.market-price small { color:var(--muted); font-size:.75rem; }
.market-summary { margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding-bottom:3px; }
.market-summary dt { font-size:.75rem; color:var(--muted); margin-bottom:10px; }
.market-summary abbr { text-decoration:underline dotted; text-underline-offset:4px; cursor:help; }
.market-summary dd { margin:0; font-size:clamp(1.1rem,1.8vw,1.5rem); font-weight:500; letter-spacing:-.025em; }
.market-summary small { margin-top:8px; font-weight:400; letter-spacing:normal; font-size:.75rem; color:var(--muted); display:block; line-height:1.5; }
.market-workspace { display:grid; grid-template-columns:minmax(0,1fr) 256px; }
.market-chart-section { min-width:0; padding:20px 22px 14px; }
.market-chart-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.market-control-group { display:flex; align-items:center; gap:2px; }
.market-control-group + .market-control-group { border-left:1px solid var(--line); padding-left:12px; }
.market-control-group button,.market-reset,.market-chart-bottom button { background:transparent; color:var(--muted); border:0; min-height:44px; padding:8px 12px; border-radius:6px; font-size:.75rem; }
.market-control-group button[aria-pressed="true"] { background:#20343f; color:#c5f5fb; }
.market-control-group button:disabled { opacity:.5; cursor:not-allowed; }
.market-reset { margin-left:auto; }
.market-chart-caption { display:flex; justify-content:space-between; gap:16px; color:var(--muted); font-size:.75rem; padding:12px 6px 6px; }
.market-chart-wrap { position:relative; }
.market-chart { width:100%; height:360px; }
.market-chart-loading { position:absolute; inset:0; display:grid; place-items:center; margin:0; pointer-events:none; color:var(--muted); font-size:.8125rem; }
.market-chart-tooltip { position:absolute; left:10px; top:6px; padding:7px 10px; border:1px solid #354955; border-radius:5px; background:#0c1622; color:var(--text); font-size:.75rem; pointer-events:none; z-index:2; }
.market-chart-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:.75rem; color:var(--muted); padding-left:6px; }
.market-chart-table { max-height:260px; overflow:auto; }
.market-activity { border-left:1px solid var(--line); padding:27px 24px 22px; }
.market-activity-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.market-activity-heading h3 { margin:0; font-size:.875rem; font-weight:500; }
.market-activity-heading > span { color:var(--muted); font-size:.75rem; }
.market-flow-values { display:flex; justify-content:space-between; margin-top:24px; gap:16px; }
.market-flow-values > div { display:grid; gap:6px; }
.market-flow-values > div:last-child { text-align:right; }
.market-flow-values span,.market-flow-values small { font-size:.75rem; color:var(--muted); }
.market-flow-values strong { color:#67dfb9; font-size:1.125rem; font-weight:500; }
.market-flow-values > div:last-child strong { color:#efa1ad; }
.market-flow-values b { font-weight:400; }
.market-flow-bar { height:4px; border-radius:2px; overflow:hidden; background:#bd718060; margin:15px 0 22px; }
.market-flow-bar i { display:block; height:100%; width:0; background:#67dfb9; }
.market-activity-stats { display:grid; gap:14px; margin:0; }
.market-activity-stats > div { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.market-activity-stats dt { color:var(--muted); font-size:.75rem; }
.market-activity-stats dd { margin:0; font-size:.8125rem; }
.market-activity-note { margin:22px 0 0; color:var(--muted); font-size:.75rem; line-height:1.7; }
.market-detail-tabs { display:flex; align-items:center; gap:26px; padding:0 24px; border-block:1px solid var(--line); }
.market-detail-tabs button { border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); padding:12px 0 10px; font-size:.8125rem; white-space:nowrap; }
.market-detail-tabs button[aria-selected="true"] { color:var(--text); border-bottom-color:#55cce0; }
.market-detail-tabs button span { color:var(--muted); padding-left:6px; font-size:.75rem; }
.market-detail-tabs .market-pause { min-height:44px; margin-left:auto; font-size:.75rem; }
.market-detail-panel { padding:0 24px 16px; }
.market-panel-note { color:var(--muted); font-size:.75rem; line-height:1.7; margin:12px 0 8px; max-width:90ch; }
.market-table-wrap { overflow-x:auto; scrollbar-color:#43505c #080e16; }
.market-table-wrap > table { width:100%; border-collapse:collapse; text-align:left; }
.market-table-wrap caption { color:var(--muted); font-size:.75rem; text-align:left; padding:12px 0; }
.market-table-wrap th { font-size:.75rem; color:var(--muted); font-weight:400; padding:8px 12px 8px 0; white-space:nowrap; }
.market-table-wrap td { font-size:.75rem; padding:7px 12px 7px 0; border-top:1px solid #ffffff0b; white-space:nowrap; }
.market-table-wrap th:last-child,.market-table-wrap td:last-child { padding-right:0; text-align:right; }
.market-table-wrap td small { color:var(--muted); font-size:.75rem; margin-left:8px; }
.market-table-wrap td[data-state="Active"] { color:#67dfb9; }
.market-table-wrap td[data-state="Syncing"] { color:#e9ba78; }
.market-token-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px 24px; margin:16px 0; }
.market-token-stats dt { color:var(--muted); font-size:.75rem; margin-bottom:8px; }
.market-token-stats dd { margin:0; font-size:1.0625rem; }
.market-health { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:12px 24px; border-top:1px solid var(--line); color:var(--muted); font-size:.75rem; }
.market-health [data-market-status] { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.market-health [data-market-status]::before { content:''; width:6px; height:6px; border-radius:50%; background:#8995a3; flex-shrink:0; }
.market-health [data-state="fresh"]::before { background:#67dfb9; }
.market-health [data-state="stale"]::before { background:#e9ba78; }
.market-methodology { display:flex; align-items:baseline; justify-content:space-between; gap:24px; color:var(--muted); font-size:.75rem; margin-top:16px; }
.market-methodology p { margin:0; }
/* Keep short provider names attached to their external-link arrows on phones. */
.market-methodology a[target="_blank"],
#market-data-methodology a[target="_blank"] { white-space:nowrap; }
.market-methodology > a { flex:none; }
.market-methodology > details { max-width:70ch; }
.market-methodology summary { cursor:pointer; text-align:right; min-height:44px; }
.market-methodology details p { line-height:1.8; padding-top:10px; }

.market-up,.market-board [data-direction="up"] { color:#67dfb9; }
.market-down,.market-board [data-direction="down"] { color:#efa1ad; }
@media (hover:hover) { .market-control-group button:not(:disabled):hover,.market-reset:hover,.market-chart-bottom button:hover { color:var(--text); background:#182630; } .market-board a:hover,.market-detail-tabs button:hover { color:#c5f5fb; } }
@media (max-width:1100px) { .market-overview { grid-template-columns:1fr; gap:26px; } .market-price-block { display:flex; align-items:center; justify-content:space-between; gap:20px; } .market-price { margin:0; } .market-summary { gap:20px; } .market-summary dd { font-size:1.5rem; } }
@media (max-width:800px) { .market-workspace { grid-template-columns:1fr; } .market-activity { border-left:0; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1.35fr; gap:0 28px; padding:24px; } .market-activity-heading { grid-column:1; } .market-flow-values { grid-column:1; margin-top:16px; } .market-flow-bar { grid-column:1; } .market-activity-stats { grid-column:2; grid-row:1/5; gap:10px; } .market-activity-note { grid-column:1; margin:0; } .market-chart { height:330px; } .market-health { align-items:flex-start; flex-direction:column; gap:8px; } }
@media (max-width:600px) { .market-heading { align-items:flex-start; flex-direction:column; gap:14px; margin-bottom:24px; } .market-overview { padding:22px 18px; gap:24px; } .market-price-block { display:block; } .market-price { margin-top:20px; } .market-price > strong { font-size:clamp(1.65rem,9vw,2.4rem); } .market-summary { grid-template-columns:1fr 1fr; gap:22px 20px; } .market-summary dt { margin-bottom:6px; } .market-summary dd { margin-bottom:4px; } .market-chart-section { padding:12px 8px 8px; } .market-chart-toolbar { gap:3px; } .market-control-group button { padding-inline:10px; } .market-control-group + .market-control-group { padding-left:4px; } .market-reset { margin-left:auto; } .market-chart-toolbar { flex-wrap:wrap; } .market-chart-caption { font-size:.75rem; gap:6px; } .market-chart-bottom { gap:8px; font-size:.75rem; flex-wrap:wrap; } .market-chart-bottom button { padding-inline:6px; white-space:nowrap; } .market-activity { padding:22px 18px; gap:0 22px; } .market-activity-heading h3 { font-size:.75rem; } .market-flow-values { gap:8px; } .market-flow-values strong { font-size:1rem; } .market-activity-stats { gap:12px; } .market-activity-stats dt { font-size:.75rem; } .market-activity-stats dd { font-size:.75rem; } .market-activity-note { font-size:.75rem; } .market-detail-tabs { padding:0 18px; gap:20px; flex-wrap:wrap; } .market-detail-tabs button { font-size:.75rem; } .market-detail-tabs .market-pause { margin-left:0; padding-block:0 12px; flex-basis:100%; text-align:left; } .market-detail-panel { padding-inline:18px; } .market-table-wrap > table { min-width:540px; } .market-table-wrap td { font-size:.75rem; } .market-token-stats { grid-template-columns:1fr 1fr; gap:24px 16px; } .market-token-stats dd { font-size:.9375rem; } .market-health { padding:14px 18px; line-height:1.6; } .market-methodology { flex-direction:column; gap:12px; } .market-methodology summary { text-align:left; } }

.market-detail-tabs [role="tablist"] { display:flex; gap:24px; min-width:0; }
.market-table-wrap caption.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (max-width:600px) { .market-detail-tabs [role="tablist"] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; width:100%; } .market-detail-tabs [role="tablist"] button { white-space:normal; line-height:1.3; min-height:48px; } }

@media (max-width:600px) { .market-activity { display:block; } .market-activity-stats { grid-template-columns:1fr; gap:14px; } .market-flow-values strong { font-size:1.25rem; } .market-flow-values span,.market-flow-values small,.market-activity-stats dt { font-size:.75rem; } .market-activity-stats dd { font-size:.8125rem; } .market-activity-note { margin-top:20px; } }

@media (max-width:600px) { .market-price { gap:12px; } .market-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } .market-summary dd { font-size:clamp(1.125rem,5.5vw,1.5rem); } .market-summary small { margin-top:8px; font-weight:400; letter-spacing:normal; font-size:.75rem; overflow-wrap:anywhere; } }

/* Five mobile trades per page keep the feed compact without clipping columns. */
.market-trades-mobile { display:none; }
@media (max-width:600px) {
 .market-trades-desktop { display:none; }
 .market-trades-mobile { display:block; }
 .market-trade-list { list-style:none; margin:0; padding:0; }
 .market-trade-list li { border-top:1px solid var(--line); }
 .market-trade-list a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; padding:12px 0; text-decoration:none; font-size:.75rem; line-height:1.4; }
 .market-trade-side,.market-trade-value { font-size:.875rem; font-weight:500; }
 .market-trade-value,.market-trade-amount,.market-trade-price { text-align:right; }
 .market-trade-time,.market-trade-venue,.market-trade-price { color:var(--muted); font-size:.75rem; }
 .market-trade-venue { overflow-wrap:anywhere; }
}
.market-trade-pagination { display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid var(--line); padding-top:10px; }
.market-trade-pagination[hidden] { display:none; }
.market-trade-pagination span { color:var(--muted); font-size:.75rem; }
.market-trade-pagination button { min-height:44px; min-width:64px; padding:8px 12px; border:1px solid #43505c; border-radius:6px; color:var(--text); background:transparent; font-size:.75rem; }
.market-trade-pagination button:disabled { color:var(--muted); border-color:var(--line); cursor:default; }
.market-trade-pagination button:active:not(:disabled) { background:#ffffff0b; }

/* Shared editorial details: icons carry roles, numerical values stay with their facts. */
.ttp-step-icon { display: block; flex: none; width: 24px; height: 24px; color: #9ae7ff; }
.ttp-principle-label { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.ttp-section__head > .ttp-text-link { margin-top: 20px; }
.ttp-scene--supply .ttp-scene-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 88px); }
.ttp-supply-art { min-width: 0; }
.ttp-supply-total { display: flex; align-items: center; gap: 16px; margin-bottom: 32px; }
.ttp-supply-total img { width: 100px; height: auto; }
.ttp-supply-total span { display: block; color: var(--muted); font-size: .875rem; margin-bottom: 6px; }
.ttp-supply-total strong { display: block; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 500; letter-spacing: -.03em; }
.ttp-supply-bar { display: flex; height: 24px; border-radius: 4px; overflow: clip; }
.ttp-supply-bar > span:first-child { width: 79.31%; background: #60cbd9; }
.ttp-supply-bar > span:last-child { width: 20.69%; background: #284778; }
.ttp-supply-labels { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }
.ttp-supply-labels > div { display: grid; gap: 6px; align-content: start; }
.ttp-supply-labels strong { font-size: 1.5rem; line-height: 1.2; font-weight: 500; letter-spacing: -.025em; }
.ttp-supply-labels span { color: var(--text); font-size: .875rem; line-height: 1.5; }
.ttp-supply-labels small { color: var(--muted); font-size: .8125rem; }
.ttp-supply-labels strong::before { content: ''; display: inline-block; width: 10px; height: 10px; margin-right: 8px; background: #60cbd9; }
.ttp-supply-labels > div:last-child strong::before { background: #284778; }
.ttp-scene .ttp-supply-caption { font-size: .8125rem; color: var(--muted); margin-top: 28px; }
.ttp-scene--journey .ttp-scene-layout { display: block; }
.ttp-journey-art { display: grid; grid-template-columns: minmax(100px, 180px) minmax(180px, 1fr) minmax(240px, 360px); align-items: center; max-width: 960px; margin: 48px auto; }
.ttp-journey-coin { width: 100%; height: auto; position: relative; z-index: 1; }
.ttp-fund-panel { display: block; width: 100%; height: auto; }
.ttp-fund-panel .art-glass { fill: none; }
.ttp-journey-routes { display: grid; gap: 24px; margin-left: -20px; }
.ttp-journey-route { position: relative; min-width: 0; }
.ttp-journey-route > span { display: block; text-align: center; font-size: .8125rem; line-height: 1.5; color: var(--muted); margin: 0 10px 10px 20px; }
.ttp-journey-route--return { display: flex; flex-direction: column-reverse; }
.ttp-journey-route--return > span { margin: 10px 10px 0 20px; }
.ttp-journey-horizontal { display: block; width: 100%; height: 16px; overflow: visible; }
.ttp-journey-vertical { display: none; }
.ttp-route-arrow { fill: none; stroke: #65d7ff; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.ttp-journey-route .scene-route, .ttp-journey-route .scene-pulse { vector-effect: non-scaling-stroke; }
.ttp-scene--journey .ttp-scene-legend { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
@media (max-width: 900px) {
 .ttp-scene--supply .ttp-scene-layout { grid-template-columns: 1fr; gap: 40px; }
 .ttp-supply-art { width: 100%; max-width: 560px; margin-inline: auto; }
 .ttp-scene--supply .ttp-scene-legend { grid-template-columns: 1fr; }
 .ttp-scene--journey .ttp-scene-legend { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 700px) {
 .ttp-scene + .ttp-scene { margin-top: 48px; }
 .ttp-scene-heading { margin-bottom: 24px; }
 .ttp-supply-total img { width: 80px; }
 .ttp-supply-labels { gap: 16px; }
 .ttp-supply-labels strong { font-size: 1.375rem; }
}
.ttp-scene--journey { container-type: inline-size; }
@container (max-width: 620px) {
 .ttp-journey-art { grid-template-columns: 1fr; justify-items: center; margin-block: 24px 32px; }
 .ttp-journey-coin { width: 120px; }
 .ttp-journey-routes { width: 100%; max-width: 340px; grid-template-columns: 1fr 1fr; gap: 0; margin: -12px 0 0; }
 .ttp-journey-route { height: 110px; }
 .ttp-journey-route > span { position: absolute; inset: 22px 42px auto 0; margin: 0; text-align: right; font-size: .75rem; }
 .ttp-journey-route--return > span { inset: 22px 0 auto 42px; margin: 0; text-align: left; }
 .ttp-journey-route br { display: none; }
 .ttp-journey-horizontal { display: none; }
 .ttp-journey-vertical { position: absolute; display: block; height: 110px; width: 16px; right: 16px; }
 .ttp-journey-route--return .ttp-journey-vertical { right: auto; left: 16px; }
 .ttp-fund-panel { max-width: 340px; }
}

/* Token surfaces: brighter navy, brand-led destinations and clear explorer action. */
.ttp, .paper { --ttp-surface: #0d1724; --ttp-ink-soft: #bacbd8; }
:is(.ttp, .paper) ::selection { color: #04070f; background: #65d7ff; }

.ttp-jump a { color: #bacbd8; text-decoration-color: #38667b; }
:is(.ttp, .paper) .ttp-scene-legend > div { grid-template-columns: 36px minmax(0, 1fr); }
:is(.ttp, .paper) .ttp-legend-icon { display: grid; place-items: center; align-self: start; width: 36px; height: 36px; padding: 6px; color: var(--ttp-blue); background: #102935; border-radius: 8px; }
.ttp-business-policy { background: linear-gradient(90deg, #10242e, transparent); padding-block: 20px; }

/* TTP V2 access: LuxAlgo /features/ directory + Vela home utility control,
   remeasured 2026-10-09 at 1440 / 768 / 390. Directory: 12px gap/radius,
   14px 16px padding, 14/21px title, 12/16px action; Vela: outlined copy.
   Founder refinements: Solscan first of eight, roomier address panel,
   44px copy target and two-column phone cards with logos above labels.
   Existing DM Sans, palette, full CA, original destinations and safeguards. */
.ttp-launch { padding-block: 64px 0; margin-bottom: 36px; scroll-margin-top: 96px; }
.ttp-launch__heading h2 { font-size: 1.875rem; line-height: 36px; letter-spacing: -.025em; }
.ttp-launch__heading p { margin-top: 12px; color: var(--muted); font-size: 1rem; line-height: 24px; }
.ttp-identity {
  display: grid;
  grid-template-columns: minmax(290px, .8fr) minmax(0, 2fr);
  align-items: center;
  gap: 32px;
  margin-top: 32px;
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
}
.ttp-identity__token { display: flex; align-items: center; gap: 20px; min-height: 88px; }
.ttp-identity__token img { display: block; flex: none; width: 88px; height: 88px; object-fit: contain; }
.ttp-identity__token strong { display: block; color: var(--text); font-size: 1.5rem; font-weight: 500; line-height: 1.25; }
.ttp-identity__token span { display: block; color: var(--muted); font-size: .875rem; line-height: 1.5; margin-top: 4px; }
.ttp-identity__address { min-width: 0; }
.ttp-identity__label { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; margin-bottom: 8px; }
.ttp-identity__label .ttp-label { margin: 0; font-size: .875rem; line-height: 20px; }
.ttp-address { color: var(--text); font-size: 1.125rem; line-height: 28px; overflow-wrap: anywhere; user-select: all; }
.ttp-address::selection { background: var(--accent-2); color: var(--bg); }
.ttp-address--pending { color: var(--muted); user-select: auto; }
.ttp-copy { flex: none; min-width: 112px; min-height: 44px; padding: 10px 12px; border-radius: 8px; font-weight: 500; line-height: 20px; transition: color .15s, background .15s, border-color .15s; }
.ttp-copy svg { display: block; flex: none; }
.ttp-copy__check, .ttp-copy[data-copied] .ttp-copy__symbol { display: none; }
.ttp-copy[data-copied] { color: var(--accent); }
.ttp-copy[data-copied] .ttp-copy__check { display: block; }
.ttp-copy:disabled { cursor: wait; }
.ttp-identity__placeholder { color: var(--muted); font-size: .75rem; line-height: 20px; }
.ttp-identity [data-copy-status] { margin-top: 12px; color: var(--text); font-size: .875rem; line-height: 20px; }
.ttp-identity [data-copy-status]:empty { display: none; }
.ttp-launch__verify { margin-top: 12px; color: var(--muted); font-size: .875rem; line-height: 22px; }
.ttp-launch__availability { margin-top: 16px; color: var(--muted); font-size: .75rem; line-height: 20px; }
.ttp-venues { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 12px; list-style: none; margin-top: 32px; }
.ttp-venues > li { min-width: 0; }
.ttp-venue {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 12px;
  min-height: 67px;
  height: 100%;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-soft);
  color: var(--text);
  text-decoration: none;
}
.ttp-venue__logo { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--card-2); }
.ttp-venue__logo--coinbase { background: #0052ff; }
.ttp-venue__logo img { display: block; width: 32px; height: 32px; object-fit: contain; }
.ttp-venue__copy { min-width: 0; overflow-wrap: anywhere; }
.ttp-venue__copy strong { display: block; font-size: .875rem; font-weight: 500; line-height: 21px; }
.ttp-venue__action, .ttp-venue__pending { display: block; color: var(--muted); font-size: .75rem; line-height: 16px; }
.ttp-venue .ttp-link-arrow { width: 16px; height: 16px; color: var(--muted); }
.ttp-launch__guide { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 32px; margin-top: 32px; padding-top: 32px; border-top: 1px solid var(--line); }
.ttp-launch__guide h3 { font-size: 1.125rem; line-height: 28px; }
.ttp-launch__guide strong { display: block; font-size: .875rem; font-weight: 500; line-height: 21px; }
.ttp-launch__guide p { max-width: 75ch; margin-top: 8px; color: var(--muted); font-size: .875rem; line-height: 1.625; }
.ttp-launch__guide .ttp-text-link { gap: 8px; font-size: .875rem; }
@media (hover: hover) and (pointer: fine) {
  a.ttp-venue:hover .ttp-venue__action { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
}
@media (max-width: 1023px) {
  .ttp-identity { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .ttp-venues { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .ttp-launch { padding-top: 48px; }
  .ttp-launch__heading h2 { font-size: 1.5rem; line-height: 32px; }
  .ttp-identity { padding: 20px; }
  .ttp-address { font-size: 1rem; line-height: 24px; }
  .ttp-venue { grid-template-columns: minmax(0, 1fr) 16px; grid-template-areas: 'logo arrow' 'copy copy'; align-content: start; }
  .ttp-venue__logo { grid-area: logo; }
  .ttp-venue__copy { grid-area: copy; }
  .ttp-venue > .ttp-link-arrow { grid-area: arrow; }
  .ttp-launch__guide { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (forced-colors: active) {
  .ttp-identity, .ttp-venue, .ttp-copy { border-color: CanvasText; }
}
@media (prefers-reduced-motion: reduce) {
  .ttp-copy { transition: none; }
}

/* Token identity is the anchor; address and action form one readable group. */
.ttp-identity__address { border-left:1px solid var(--line); padding-left:32px; }
@media (max-width:1023px) { .ttp-identity__address { border-left:0; border-top:1px solid var(--line); padding:24px 0 0; } }
@media (max-width:700px) {
 .ttp-identity__token img { width:72px; height:72px; }
 .ttp-identity__token { min-height:72px; }
 .ttp-address { font-size:1rem; line-height:1.6; }
}

/* Shared phone density for both token pages. Keep controls at least 44px;
   compact decoration and spacing, never the contract or legal copy. */
@media (max-width:700px) {
 .ttp-launch { padding-top:32px; }
 .ttp-identity { padding:16px; gap:16px; margin-top:24px; }
 .ttp-identity__token { min-height:48px; gap:12px; }
 .ttp-identity__token img { width:48px; height:48px; }
 .ttp-identity__address { padding-top:16px; }
 .ttp-venues { grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); gap:8px; margin-top:20px; }
 .ttp-venue { padding:12px; gap:8px; }
 .ttp-venue__logo, .ttp-venue__logo img { width:24px; height:24px; }
 .ttp-launch__guide { margin-top:24px; padding-top:24px; gap:16px; }
 .market-control-group button { min-width:44px; padding-inline:8px; }
 .market-overview { grid-template-columns:minmax(0,1fr); }
 .market-price { flex-wrap:wrap; }
 .market-price > strong { font-size:min(2.4rem,9vw); }
 .market-summary, .market-flow-values { display:flex; flex-wrap:wrap; }
 .market-summary > div, .market-flow-values > div { min-width:0; flex:1 1 max(6rem,40%); }
 .market-chart { height:280px; }
 .market-activity-stats { gap:10px; }
 .market-activity-stats > div { flex-wrap:wrap; }
 .market-activity-stats dd { margin-left:auto; }
 .market-health [data-market-status] { white-space:normal; }
 .ui-surface .footer { padding-top:40px; }
 .ui-surface .footer__grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr)); gap:28px 20px; }
 .ui-surface .footer__col a { min-height:44px; }
 .ui-surface .footer__col h3 { margin-bottom:8px; }
 .ui-surface .footer__brand { padding-top:24px; gap:16px; }
 .ui-surface .footer__social a { width:44px; height:44px; }
 .ui-surface .footer__legal { margin-top:28px; }
}
