/* Shared type scale. Loaded after component styles so every page uses it. */
:root{--type-xs:.8125rem;--type-sm:.875rem;--type-base:1rem;--type-lead:1.125rem;--type-h3:clamp(1.5rem,1.3rem + .5vw,1.875rem);--type-h2:clamp(1.875rem,1.5rem + 1vw,2.5rem);--type-h1:clamp(2.5rem,1.9rem + 2vw,3.5rem);--muted:#aaa8ba}
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--type-base);line-height:1.65}
h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.15;letter-spacing:-.015em;text-wrap:balance;overflow-wrap:break-word}
h1,.page-section>h1,.tool-page>h1{font-size:var(--type-h1);letter-spacing:-.02em;line-height:1.08}
.hero h1{font-size:clamp(2.875rem,2rem + 2.8vw,4.5rem);line-height:1.02;letter-spacing:-.02em}
h2,.section-heading h2,.directory-group h2,.editorial h2,.seo-faq h2{font-size:var(--type-h2);line-height:1.15}
h3,.section-heading h3,.movers h3,.directory-card h3,.tool-preview h3{font-size:var(--type-h3);line-height:1.2}
h4,h5,h6{font-size:1.375rem}
.about-coin h2,.tool-help h2,.related-tools>h2{font-size:clamp(1.625rem,1.4rem + .6vw,2rem);line-height:1.2}
.tools-teaser h2{font-size:clamp(2rem,1.6rem + 1vw,2.75rem);line-height:1.12}
.hero-copy>p,.lead{font-size:var(--type-lead);line-height:1.65;max-width:60ch}
.hero-copy>p{max-width:46ch}
.editorial p,.about-coin p,.tool-help p,.seo-faq p,.directory-card p,.tools-teaser p,.seo-answer{font-size:var(--type-base);line-height:1.75}
.editorial>p,.editorial>article,.tool-help,.seo-faq{max-width:72ch}
.section-heading p{font-size:var(--type-base);line-height:1.6}
.header-inner nav>a,.header-action,.button,.text-link,.hero-actions .text-link{font-size:var(--type-base);line-height:1.4}
.button{font-weight:600;min-height:48px}
.header-inner nav>a{padding-block:10px}
.hero-note,.eyebrow,.pill,.tool-preview .pill,.directory-badge{font-size:var(--type-xs);line-height:1.5}
.eyebrow{letter-spacing:.1em}
.section-heading>.text-link{font-size:var(--type-sm);max-width:none}
.section-heading>.muted,.section-heading>.pill{font-size:var(--type-xs)}
.card-top strong,.coin-name strong{font-size:var(--type-base);font-weight:600;line-height:1.35}
.card-top small,.coin-name small{font-size:var(--type-xs);line-height:1.5}
.card-price{font-size:clamp(1.5rem,1.25rem + .65vw,2rem);line-height:1.25;letter-spacing:-.015em;overflow-wrap:anywhere}
.card-bottom>span,.card-bottom>small,.card-bottom small{font-size:var(--type-xs);line-height:1.5}
th{font-size:var(--type-sm);font-weight:600;line-height:1.4}
td,.number{font-size:var(--type-base);line-height:1.5}
.number,.card-price,.detail-price,.tool-result{font-variant-numeric:tabular-nums lining-nums}
.range-value,.rank-number{font-size:var(--type-xs);line-height:1.5}
.table-more,.market-pagination button,.market-pagination span{font-size:var(--type-sm);line-height:1.5}
.mover-row,.mover-row>span:nth-child(2),.mover-row>strong{font-size:var(--type-sm);line-height:1.5}
.fine-print,.about-coin .fine-print,.content-credit{font-size:var(--type-xs)!important;line-height:1.65;color:var(--muted)}
.source-bar label,.source-bar p,.source-bar button{font-size:var(--type-sm);line-height:1.5}
.source-bar small{font-size:var(--type-xs);line-height:1.6}
input,select,textarea,.about-coin input,.about-coin select,.form-pair select{font-size:1rem;line-height:1.5}
input::placeholder{font-size:1rem}
.about-coin form label,.sort-label,.watchlist-toolbar label{font-size:var(--type-sm);line-height:1.5}
.search-box{min-height:48px}
.secondary-button,.remove-purchase,.saved-coin button,.form-pair button{font-size:var(--type-sm);line-height:1.5;min-height:40px}
.tool-result{font-size:1.5rem;line-height:1.4}
.tool-result div,.comparison-tool .tool-result,.saved-coin,#saved-watchlist,#compare-status,.directory-action,.compare-legend,dl{font-size:var(--type-base);line-height:1.6}
.detail-heading h1{font-size:clamp(2rem,1.6rem + 1.5vw,3rem);line-height:1.1;letter-spacing:-.015em}
.detail-heading h1 span{font-size:1.125rem}
.detail-price{font-size:clamp(2rem,1.6rem + 1.2vw,2.75rem);line-height:1.3;letter-spacing:-.02em;overflow-wrap:anywhere}
.detail-price>[data-change],.detail-price>span{font-size:var(--type-base)}
.chart-panel>p,.chart-controls button,.chart-caption{font-size:var(--type-xs);line-height:1.5}
.chart-controls button{min-height:40px}
.chart-axis{font-size:.75rem;line-height:1.4;color:var(--muted)}
.chart-caption{color:var(--muted);gap:12px;flex-wrap:wrap}
.seo-faq summary{font-size:1.0625rem;line-height:1.5;padding-block:4px}
.seo-breadcrumb,.tool-breadcrumb{font-size:var(--type-sm);line-height:1.5}
.footer-top p,.footer-top>a:last-child,.footer-bottom{font-size:var(--type-sm);line-height:1.6;color:var(--muted)}
.brand{font-size:1.625rem;line-height:1.2;font-weight:700;letter-spacing:-.03em}
footer .brand{font-size:1.5rem}
.section-heading{gap:16px}
.tool-result strong{overflow-wrap:anywhere;min-width:0}
@media(max-width:760px){
 .section-heading h2{max-width:none}
 .section-heading{flex-wrap:wrap}
 .section-heading>.text-link{align-self:center;text-align:left}
 .coin-cards{gap:12px}
 .card-top{flex-wrap:wrap;gap:7px}
 .card-top strong{font-size:var(--type-sm)}
 .card-top>span:last-child{display:none}
 .card-price{font-size:1.5rem}
 .card-bottom{flex-wrap:wrap;gap:4px}
 .coin-name strong{font-size:var(--type-sm)}
 td,.number{font-size:var(--type-sm)}
 th{font-size:var(--type-xs)}
 .hero-actions{flex-wrap:wrap;gap:18px}
 .hero-actions .button{gap:14px}
 .hero-note{margin-bottom:16px}
 .source-bar label{flex-wrap:wrap;gap:6px}
 .source-bar select{max-width:100%}
 .mover-row{flex-wrap:wrap;gap:8px}
 .mover-row>.coin-name{min-width:150px}
 .tool-result div{flex-wrap:wrap;gap:4px 16px}
 .tool-result strong{text-align:left}
 .form-pair{flex-wrap:wrap}
 .form-pair>label{flex-basis:130px}
 .header-inner nav.open{gap:8px}
 .header-inner nav>a{min-height:44px}
 .menu-toggle{min-width:44px;min-height:44px}
 .footer-bottom{gap:12px}
}
