.ttp, .paper { --ttp-blue: #38bdf8; --ttp-accent-line: #65d7ff; }
.ttp-wrap { width: min(100% - 48px, 1240px); margin-inline: auto; }
.ttp-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 64px; padding-block: 64px 48px; }
.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-hero h1 { display: inline-block; width: fit-content; padding-inline-end: .12em; font-size: clamp(5rem, 7.5vw, 7rem); line-height: 1; letter-spacing: -.065em; margin: 0 0 24px; }
.ttp-hero__headline { font-size: clamp(1.75rem, 2.8vw, 2.5rem); font-weight: 500; line-height: 1.2; letter-spacing: -.035em; color: var(--text); text-wrap: balance; }
.ttp-hero__description { color: var(--muted); max-width: 48ch; margin-block: 20px 28px; text-wrap: pretty; font-size: 1.0625rem; line-height: 1.7; }
.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-hero__note { margin-top: 22px; font-size: .75rem; color: var(--muted); }
.ttp-hero__art { position: relative; isolation: isolate; width: min(100%, 500px); justify-self: center; }
.ttp-hero__art::before { content: ''; position: absolute; z-index: -1; inset: 12% -5%; background: radial-gradient(ellipse, #0878c223, transparent 68%); }
.ttp-hero__art img { display: block; width: 100%; height: auto; }
.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; }
.ttp-safety { display: flex; gap: 24px; align-items: start; padding: 28px 32px; border: 1px solid var(--line); border-radius: 16px; background: var(--bg-soft); }
.ttp-safety__icon { flex: none; border: 1px solid var(--line-strong); width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; color: var(--ttp-blue); }
.ttp-safety h2 { font-size: 1.125rem; margin-bottom: 8px; }
.ttp-safety p { font-size: .875rem; color: var(--muted); max-width: 960px; }
.ttp-disclaimer { padding-block: 28px 64px; color: var(--muted); font-size: .75rem; }
.ttp-disclaimer p { max-width: 960px; }
.ttp-disclaimer p + p { margin-top: 16px; }
.ttp-official { padding: 28px; margin-bottom: 36px; border: 1px solid var(--line); border-radius: 16px; background: var(--bg-soft); }
.ttp-official h2 { font-size: 1.5rem; margin-bottom: 16px; }
.ttp-address { overflow-wrap: anywhere; font-family: var(--font-sans); }
.ttp-official .ttp-actions { margin-top: 16px; }
.ttp-official p { color: var(--muted); }
@media (hover: hover) and (pointer: fine) { .ttp-text-link:hover { color: var(--ttp-blue); } }
@media (max-width: 1000px) {
  .ttp-report { gap: 32px; }
  .ttp-hero { padding-block: 64px; gap: 20px; }
  .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-hero { grid-template-columns: 1fr; text-align: center; padding-block: 48px 40px; gap: 12px; }
  .ttp-hero__copy { display: block; }
  .ttp-hero h1 { margin: 0 auto 20px; font-size: 5rem; }
  .ttp-hero__art { width: min(78%, 300px); margin: 20px auto 0; }
  .ttp-hero__headline { font-size: 2rem; }
  .ttp-hero__headline br { display: none; }
  .ttp-hero__headline br::after { content: ' '; }
  .ttp-hero__description { margin: 18px auto 24px; font-size: 1rem; }
  .ttp-actions { justify-content: center; }
  .ttp-hero__note { margin-top: 18px; }
  .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; }
  .ttp-safety { gap: 16px; padding: 24px; }
  .ttp-official .ttp-actions { justify-content: flex-start; }
}
@media (max-width: 390px) { .ttp-allocation { grid-template-columns: 1fr; } }

/* Distribution and participation are flows, not fabricated supply charts. */
.ttp-launch { padding: 36px; scroll-margin-top: 96px; }
.ttp-launch .ttp-eyebrow { margin-bottom: 16px; }
.ttp-launch .ttp-caption { margin-top: 16px; }
.ttp-buy-steps { list-style: none; display: grid; gap: 20px; }
.ttp-buy-steps li { position: relative; padding-left: 38px; }
.ttp-buy-steps li::before { content: ''; position: absolute; left: 3px; top: 5px; width: 14px; height: 8px; border-left: 1.5px solid var(--ttp-blue); border-bottom: 1.5px solid var(--ttp-blue); transform: rotate(-45deg); }
.ttp-buy-steps strong, .ttp-buy-steps span { display: block; font-size: .875rem; }
.ttp-buy-steps span { color: var(--muted); margin-top: 4px; }
.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: .6875rem; 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: .6875rem; 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-launch { grid-template-columns: 1fr; gap: 32px; padding: 24px; } .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-launch__heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.ttp-launch__heading > div { max-width: 620px; }
.ttp-launch__heading h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); letter-spacing: -.035em; }
.ttp-launch__heading > .ttp-status { flex-shrink: 0; }
.ttp-identity { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: 36px; margin-top: 32px; padding: 28px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.ttp-identity__token { display: flex; align-items: center; gap: 16px; }
.ttp-identity__token img { flex: none; width: 80px; height: 80px; object-fit: contain; }
.ttp-identity__token strong { display: block; font-size: 1.75rem; color: var(--text); }
.ttp-identity__token span { display: block; font-size: .8125rem; color: var(--muted); }
.ttp-identity__address { min-width: 0; }
.ttp-identity__address .ttp-address { margin-top: 12px; font-size: 1rem; line-height: 1.6; user-select: all; }
.ttp-identity__address .ttp-address--pending { color: var(--muted); user-select: auto; }
.ttp-identity__placeholder { color: var(--muted); font-size: .8125rem; }
.ttp-launch__verify { margin-top: 14px; font-size: .8125rem; }
.ttp-launch__venues { margin-top: 36px; }
.ttp-launch__venues > h3, .ttp-launch__guide h3 { font-size: 1.25rem; letter-spacing: -.025em; }
.ttp-venues { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.ttp-launch__venues > h3 { margin-bottom: 24px; }
.ttp-launch__venues--tracking { padding-top: 28px; border-top: 1px solid var(--line); }
@media (min-width: 1100px) { .ttp-venues--buy { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ttp-venue { min-width: 0; padding: 8px 0; display: flex; flex-direction: column; }
.ttp-venue__brand { display: flex; align-items: center; gap: 16px; }
.ttp-venue h4 { margin: 0; font-size: 1.25rem; }
.ttp-venue p { margin-top: 18px; font-size: .875rem; line-height: 1.65; text-wrap: pretty; }
.ttp-venue .ttp-text-link, .ttp-venue__pending { margin-top: auto; padding-top: 20px; font-size: .875rem; }
.ttp-venue__pending { display: block; color: var(--muted); }
.ttp-launch__guide { display: grid; grid-template-columns: .7fr 1.3fr; gap: 36px; margin-top: 32px; padding-top: 32px; border-top: 1px solid var(--line); }
.ttp-launch__guide h3 { margin-block: 12px 8px; }
@media (max-width: 900px) { .ttp-identity, .ttp-launch__guide { grid-template-columns: 1fr; gap: 24px; } }
@media (max-width: 700px) { .ttp-launch__heading { flex-direction: column; gap: 16px; } .ttp-identity { padding: 20px; } .ttp-venues { grid-template-columns: 1fr; gap: 28px; } .ttp-venue p { max-width: 55ch; } }

.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-venue__logo { display: grid; place-items: center; width: 64px; height: 64px; flex: none; border-radius: 16px; background: #15191e; }
.ttp-venue__logo--coinbase { background: #0052ff; }
.ttp-venue__logo img { display: block; width: 40px; height: 40px; object-fit: contain; }
.ttp-venue__purpose { display: block; color: var(--muted); font-size: .8125rem; margin-top: 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); text-decoration: underline; text-underline-offset: 3px; }
.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 { font-size: clamp(1.25rem, 2vw, 1.65rem); margin: 0; letter-spacing: -.03em; }
.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-source-links a span { text-decoration: underline; text-underline-offset: .2em; }
.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: .6875rem; 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: .6875rem; }
  .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 a { text-decoration: underline; text-underline-offset: 4px; }
.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-hero { padding-block: 28px 24px; gap: 4px; }
 .ttp-hero h1 { font-size: 3.5rem; margin-bottom: 14px; }
 .ttp-hero__art { width: 150px; margin-top: 12px; }
 .ttp-hero__description { margin-block: 14px 20px; }
 .ttp-hero__note { margin-top: 14px; }
 .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-launch { padding: 20px; }
 .ttp-launch__heading { gap: 10px; }
 .ttp-launch__heading h2 { font-size: 1.75rem; }
 .ttp-identity { gap: 16px; margin-top: 24px; padding: 16px; }
 .ttp-identity__token img { width: 48px; height: 48px; }
 .ttp-venues { gap: 0; }
 .ttp-venue { padding-block: 16px; border-top: 1px solid var(--line); }
 .ttp-venue__logo { width: 40px; height: 40px; }
 .ttp-venue__logo img { width: 28px; height: 28px; }
 .ttp-venue__brand { gap: 12px; }
 .ttp-venue h4 { font-size: 1.125rem; }
 .ttp-venue p { margin-block: 8px; font-size: .875rem; line-height: 1.5; }
 .ttp-venue__pending { margin-top: 8px; }
 .ttp-launch__guide { gap: 10px; padding-top: 24px; margin-top: 24px; }
 .ttp-launch__guide .ttp-caption { margin-block: 8px; }
 .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; }
 .ttp-buy-shortcut { position: fixed; z-index: 45; bottom: calc(16px + env(safe-area-inset-bottom)); left: 24px; right: 88px; padding: 13px 16px; min-height: 46px; text-align: center; border: 1px solid #577b8c; border-radius: 30px; color: #071019; background: #eef5f8; box-shadow: 0 4px 24px #0008; font-size: .9375rem; font-weight: 600; }
 body:has(.ttp-buy-shortcut) { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
 .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-venue__pending { min-height: 0; }
 .ttp-launch__venues { margin-top: 20px; }
 .ttp-launch__guide > .ttp-mobile-note { font-size: .875rem; margin-block: 0; }
 .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; }
}

@media (min-width: 1280px) {
 .ttp-venues--buy { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
 .ttp-venues--buy .ttp-venue__brand { gap: 12px; }
 .ttp-venues--buy .ttp-venue__logo { width: 48px; height: 48px; border-radius: 12px; }
 .ttp-venues--buy .ttp-venue__logo img { width: 32px; height: 32px; }
 .ttp-venues--buy h4 { font-size: 1.125rem; }
}

/* 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: .6875rem; margin-bottom: 8px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ttp-annual-bar small { position: absolute; bottom: 0; font-size: .6875rem; }
.ttp-evidence--designed .ttp-annual p { font-size: .6875rem; 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: .6875rem; 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: .6875rem; line-height: 1.6; }
.ttp-market-foot a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.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 { font-size: clamp(2.2rem, 4.4vw, 4rem); line-height: 1.08; letter-spacing: -.035em; 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: .6875rem; }
 .ttp-annual-bar i { width: 60%; }
 .ttp-paper-link--designed { grid-template-columns: 1fr; padding: 32px 24px 0; }
 .ttp-paper-link--designed h2 { font-size: 2.65rem; }
 .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: .6875rem; 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: .6875rem; }
 .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-heading > a { color:var(--muted); font-size:.875rem; white-space:nowrap; }
.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 { 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:.6875rem; }
.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 0 8px; font-size:clamp(1.1rem,1.8vw,1.5rem); font-weight:500; letter-spacing:-.025em; }
.market-summary small { font-size:.625rem; color:#a0a7b2; 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:40px; padding:8px 12px; border-radius:5px; 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:.6875rem; 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:.6875rem; pointer-events:none; z-index:2; }
.market-chart-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:.625rem; 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:.6875rem; 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:.6875rem; }
.market-activity-stats dd { margin:0; font-size:.8125rem; }
.market-activity-note { margin:22px 0 0; color:var(--muted); font-size:.625rem; line-height:1.7; }
.market-detail-tabs { display:flex; align-items:center; gap:26px; padding:0 30px; border-block:1px solid var(--line); }
.market-detail-tabs button { border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); padding:17px 0 15px; 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:.6875rem; }
.market-detail-tabs .market-pause { margin-left:auto; font-size:.6875rem; }
.market-detail-panel { padding:0 30px 22px; }
.market-panel-note { color:var(--muted); font-size:.6875rem; line-height:1.7; margin:16px 0 12px; max-width:90ch; }
.market-table-wrap { overflow-x:auto; scrollbar-color:#43505c #080e16; }
.market-board table { width:100%; border-collapse:collapse; text-align:left; }
.market-board caption { color:var(--muted); font-size:.75rem; text-align:left; padding:12px 0; }
.market-board th { font-size:.625rem; color:var(--muted); font-weight:400; padding:12px 12px 12px 0; white-space:nowrap; }
.market-board td { font-size:.75rem; padding:13px 12px 13px 0; border-top:1px solid #ffffff0b; white-space:nowrap; }
.market-board th:last-child,.market-board td:last-child { padding-right:0; text-align:right; }
.market-board td small { display:block; color:var(--muted); font-size:.625rem; margin-top:4px; }
.market-board td[data-state="Active"] { color:#67dfb9; }
.market-board td[data-state="Syncing"] { color:#e9ba78; }
.market-token-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:24px 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:14px 30px; border-top:1px solid var(--line); color:var(--muted); font-size:.625rem; }
.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:.6875rem; margin-top:16px; }
.market-methodology p { margin:0; }
.market-methodology > details { max-width:70ch; }
.market-methodology summary { cursor:pointer; text-align:right; min-height:32px; }
.market-methodology details p { line-height:1.8; padding-top:10px; }
.market-methodology a { text-decoration:underline; text-underline-offset:3px; }
.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:.625rem; gap:6px; } .market-chart-bottom { gap:8px; font-size:.6875rem; 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:.625rem; } .market-activity-stats dd { font-size:.6875rem; } .market-activity-note { font-size:.6875rem; } .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-board table { min-width:540px; } .market-board td { font-size:.6875rem; } .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-board 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 { font-size:.6875rem; 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:.625rem; }
 .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:12px; }
 .market-trade-pagination[hidden] { display:none; }
 .market-trade-pagination span { color:var(--muted); font-size:.6875rem; }
 .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-launch { background: linear-gradient(145deg, #101e2b, #0b121e 46%, #09151b); border-color: #2a3b4b; }
.ttp-launch__heading > div > p { color: var(--ttp-ink-soft); }
.ttp-status--live { display: inline-flex; align-items: center; gap: 8px; color: #8becbf; border-color: #286450; background: #123429; }
.ttp-status--live::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ttp-identity { background: linear-gradient(110deg, #133244, #101d2b 55%, #0d2228); border-color: #355668; }
.ttp-identity__token span, .ttp-identity__address .ttp-label { color: var(--ttp-ink-soft); }
.ttp-identity__address .ttp-label { margin-bottom: 8px; }
.ttp-identity__address .ttp-address { color: #e3f5fa; }
.ttp-identity .ttp-actions { gap: 12px; }
.ttp-identity [data-copy-status]:empty { display: none; }
.ttp-explorer { color: #b5f5e2; background: #143b34; border-color: #468875; gap: 10px; }
.ttp-explorer img { width: 22px; height: 22px; object-fit: contain; flex: none; }
.ttp-explorer .ttp-link-arrow { width: 16px; height: 16px; flex: none; }
.ttp-explorer:active { background: #205447; }
.ttp-explorer:focus-visible { outline: 2px solid #b5f5e2; outline-offset: 4px; }
.ttp-venues { gap: 12px; }
.ttp-venue { --venue-tint: #38bdf8; padding: 20px 16px; border: 0; border-radius: 12px; background: linear-gradient(155deg, color-mix(in srgb, var(--venue-tint) 9%, #111a26), #101923 78%); }
.ttp-venue--pumpfun { --venue-tint: #8fdfb0; }
.ttp-venue--coinbase { --venue-tint: #578bff; }
.ttp-venue--jupiter { --venue-tint: #b6db79; }
.ttp-venue--phantom, .ttp-venue--fomo { --venue-tint: #b6a4ef; }
.ttp-venue--dexscreener { --venue-tint: #8bcde7; }
.ttp-venue--coingecko { --venue-tint: #b6df78; }
.ttp-venue p { color: var(--ttp-ink-soft); }
.ttp-venue .ttp-text-link { color: #a9e9f8; gap: 8px; padding-top: 12px; }
.ttp-venue .ttp-text-link:focus-visible { border-radius: 4px; }
.ttp-venue__brand { gap: 12px; }
.ttp-venues--track .ttp-venue { padding: 24px; }
.ttp-launch__venues > h3 { color: #d5eef4; }
.ttp-launch__guide { border-top-color: #31414f; }
.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; }
@media (hover: hover) and (pointer: fine) {
 .ttp-explorer:hover { color: #d9fff2; background: #205447; border-color: #75c4aa; }
 .ttp-venue .ttp-text-link:hover { color: #e3faff; text-decoration: underline; text-underline-offset: 4px; }
}
@media (min-width: 1100px) {
 .ttp-venues--buy { gap: 12px; }
 .ttp-venues--buy .ttp-venue__logo { width: 40px; height: 40px; }
 .ttp-venues--buy h4 { font-size: 1rem; }
}
@media (max-width: 700px) {
 .ttp-identity .ttp-actions { align-items: stretch; gap: 10px; }
 .ttp-identity .ttp-actions .btn { min-width: 0; flex: 1 1 auto; padding-inline: 12px; }
 .ttp-identity .ttp-explorer { gap: 8px; }
 .ttp-identity [data-copy-status]:not(:empty) { flex-basis: 100%; color: #b5f5e2; }
 .ttp-venues { gap: 10px; }
 .ttp-venue, .ttp-venues--track .ttp-venue { padding: 16px; }
 .ttp-venue .ttp-text-link { padding-top: 8px; }
}
@media (forced-colors: active) {
 .ttp-identity, .ttp-venue, .ttp-status--live { border: 1px solid CanvasText; }
 .ttp-explorer { border-color: LinkText; }
}
