/* Shared typography. Loaded after each page's own stylesheet. */
:root{--muted:#d7cfc1;--paper:#f5eee4;--gold:#e8c68b;--readable-copy:#e5ded2;--readable-muted:#d7cfc1}
body{font-size:18px;line-height:1.7;font-weight:400;color:var(--paper);-webkit-text-size-adjust:100%;text-size-adjust:100%}
input,select,textarea{font-size:18px;line-height:1.5}
button{font-weight:600}
small,figcaption{font-size:16px;line-height:1.6}
p,li,dt,dd,figcaption,label,small{overflow-wrap:break-word}
h1,h2,h3{overflow-wrap:anywhere;hyphens:auto}
main p,main li{font-size:18px;line-height:1.75;color:var(--readable-copy)}
.eyebrow,.account-section-label,.account-greeting{font-size:15px;line-height:1.55;letter-spacing:2px;color:#edcf98;font-weight:600}

/* Main page and legal pages. */
.welcome .intro,.lead,.entry-intro,.closing>p:not(.eyebrow){font-size:19px;line-height:1.7;color:var(--readable-copy);font-weight:400}
.download-status,.release-detail,.release,.meta,.notice,figcaption,.chapter,.art-caption,
.art-caption>span:first-child,.no-script{font-size:16px;line-height:1.6;color:var(--readable-muted)}
.chapter{letter-spacing:1px;flex-wrap:wrap}
.art-caption>span:first-child{letter-spacing:2px}
.updates-link,.text-link,.scroll-link{font-size:17px;line-height:1.5}
.changes li{font-size:18px;line-height:1.75;color:var(--readable-copy)}
dialog>p:not(.eyebrow){font-size:18px;color:var(--readable-copy)}
.entry-body p,.entry-body li{font-size:18px;line-height:1.75}
.entry-body :is(figcaption,.meta,.notice){font-size:16px}
footer,.footer,.site-footer,.account-footer{font-size:16px;line-height:1.6;color:var(--readable-muted);flex-wrap:wrap}
.footer>p{white-space:normal}
footer nav,.footer nav,.legal{display:flex;flex-wrap:wrap;gap:12px 20px;min-width:0}
footer a,.footer a,.site-footer a,.legal button{font-size:16px;line-height:1.6}
.legal button{padding:7px 0}

/* Chronicle navigation and small editorial labels. */
.story-layout aside a{font-size:16px;line-height:1.65;color:#e5d8c1}
.story-layout aside a span{font-size:15px;color:#e8c68b}
.chapter-header .eyebrow,.chronicle-heading .eyebrow,.chapter-number{font-size:15px;line-height:1.6;letter-spacing:1.5px;color:#edcf98}
.chronicle-intro{font-size:19px;line-height:1.7;color:var(--readable-copy)}
.next-chapter>a{font-size:17px;line-height:1.5}

/* Ranking filters, explanatory copy and table. */
.hero-copy>p:not(.eyebrow){font-size:19px;line-height:1.7;color:var(--readable-copy)}
.hero-link{font-size:17px;line-height:1.55}
.stamp,.description,.coverage,.board-note,.filters label{font-size:16px;line-height:1.65;color:var(--readable-muted)}
.filters select{font-size:17px;min-height:46px}
table{font-size:17px;line-height:1.6}
th{font-size:15px;line-height:1.5;color:#e7d1aa;letter-spacing:.5px;white-space:normal}
.champion .affiliation,.champion .unit,.champion .score .unit,.champion .other-score,.other-score{font-size:16px;line-height:1.5;color:var(--readable-muted)}
.champion .rank{font-size:16px}
.clan-art div>p:last-child{font-size:18px;line-height:1.65}

/* Development gallery. */
.intro-note,.gallery-count,.gallery-tip,.shot-era,.shot time,.shot-note,.card-status,
.viewer-bottom,#image-title,.motion summary{font-size:16px;line-height:1.65;color:var(--readable-muted)}
.card-caption{font-size:18px;line-height:1.6}
.card-category{font-size:15px;line-height:1.55;color:#edcf98;letter-spacing:1px}
.filters button,.pair-tabs button{font-size:16px;line-height:1.4;min-height:44px;white-space:normal}

/* Account labels stay readable alongside the large statistic values. */
.account-muted,.account-login-help,.account-code-destination,.account-copy-status,
.account-clan-role,.account-clan-hint,.account-freshness,.account-links small,
.account-lifetime-heading p,.account-arena>div>p,.account-lifetime-note,
.account-danger .account-deletion-help{font-size:16px;line-height:1.7;color:var(--readable-muted)}
.account-main :is(.acc-form label,.account-number,.account-stats dt,.account-details,
.account-details>div,.account-lifetime-totals dt,.account-arena-records,
.account-arena-records dd.is-unknown,.account-lifetime-totals dd.is-unknown,
.account-logout-row p,.account-danger p,.acc-msg,.account-inline-notice){font-size:17px;line-height:1.65}
.account-stats dt,.account-lifetime-totals dt,.account-arena-records dt,.account-details dt{color:#e2d4b9;font-weight:500}
.account-number,.account-freshness,.account-clan-hint{color:var(--readable-muted)}
.account-number-value{font-size:18px}
.account-management summary,.account-refresh,.account-text-button{font-size:17px;line-height:1.5}
.account-danger .account-section-label{font-size:15px}
.account-login-lead{font-size:19px;line-height:1.7}
.account-topline .eyebrow,.account-section-heading .account-section-label{font-size:15px}

/* Header keeps its compact logo, with readable language and action labels. */
[data-site-header]>.languages button{font-size:14px;min-width:32px}
[data-site-header]>.languages>span{font-size:13px;color:#c4b9a6}
[data-site-header]>:is(.main-nav,.site-nav,.journal-nav)>a{font-size:17px}
[data-site-header]>.site-account{font-size:17px}
@media(max-width:1050px){
 [data-site-header]{column-gap:12px}
 [data-site-header]>:is(.main-nav,.site-nav,.journal-nav)>a{font-size:16px;padding-left:10px;padding-right:10px}
 [data-site-header]>.site-account{font-size:16px;padding-left:14px;padding-right:14px}
}
@media(max-width:850px){
 [data-site-header]>:is(.main-nav,.site-nav,.journal-nav)>a{font-size:16px;padding-left:7px;padding-right:7px}
 [data-site-header]>.site-account{font-size:17px}
}
@media(max-width:640px){
 body{font-size:18px}
 .welcome .intro,.lead,.hero-copy>p:not(.eyebrow),.account-login-lead{font-size:18px}
 .eyebrow,.account-section-label,.account-greeting{font-size:14px;letter-spacing:1.4px}
 .account-main :is(.account-stats dt,.account-lifetime-totals dt){font-size:16px}
 .account-lifetime-heading{align-items:flex-start;gap:12px}
 .account-lifetime-heading p{max-width:100%;font-size:16px}
 .account-details>div{align-items:flex-start;gap:10px}
 .account-arena-records>div{gap:12px;align-items:flex-start}
 .account-arena-records dt{min-width:0}
 .account-stats>div{padding-left:14px;padding-right:14px}
 .account-lifetime-totals{gap:22px 18px}
 .story-layout aside a{font-size:16px}
 .chapter-header .eyebrow,.chronicle-heading .eyebrow,.chapter-number{font-size:14px}
 .stamp,.description,.coverage,.board-note{font-size:16px}
 .champion .affiliation,.champion .unit,.champion .score .unit,.champion .other-score{font-size:15px}
 .gallery-count,.gallery-tip,.shot-era,.shot time,.shot-note,.card-status,.viewer-bottom,#image-title{font-size:16px}
 .filters button,.pair-tabs button{font-size:16px}
 .footer,.site-footer,.account-footer{font-size:16px}
}
@media(max-width:420px){
 [data-site-header]>:is(.main-nav,.site-nav,.journal-nav)>a{font-size:15px;padding:10px 4px;overflow-wrap:anywhere}
 .account-main :is(.account-number,.account-details,.account-details>div,.account-arena-records){font-size:16px}
 .account-stats{grid-template-columns:1fr}
 .account-stats>div+div{border-left:0;border-top:1px solid var(--line)}
 .account-stats>div{padding:20px}
}
