/* Each chapter keeps its own palette while the surrounding UI follows the active character. */
.character-page[data-character="mamoru"],.track-mamoru{
 --paper:#f0f4f6;--ink:#273b47;--muted:#71838f;--line:#d4e0e6;--accent:#466d86;
 --theme-text:#596f7e;--theme-muted:#7a8d9b;--theme-surface:#f8fbfc;--theme-wash:#e3ecf1;--theme-edge:#a0b7c6;
 --cover:#142b3c;--glow:#c2deed;--hero-text:#e0edf3;
 --theme-image:url('assets/mamoru-frozen-gate.webp');--art-size:80% auto;--art-position:right 8%;--art-mobile-position:50% 30%;
}
.character-page[data-character="cun"],.track-cun{
 --paper:#f7f4ec;--ink:#38382f;--muted:#8c826f;--line:#e3dccd;--accent:#95703e;
 --theme-text:#776e5b;--theme-muted:#948975;--theme-surface:#fcfaf4;--theme-wash:#eee7d8;--theme-edge:#c5b48d;
 --cover:#172f39;--glow:#eed4a4;--hero-text:#f0e9da;
 --theme-image:url('assets/cun-tidal-battle.webp');--art-size:cover;--art-position:62% 57%;--art-mobile-position:61% 42%;
}
.character-page[data-character="nifofo"],.track-nifofo{
 --paper:#f5f0f6;--ink:#35283d;--muted:#8c7995;--line:#e1d5e5;--accent:#a83e64;
 --theme-text:#806787;--theme-muted:#a085aa;--theme-surface:#fcf7fc;--theme-wash:#eee2f0;--theme-edge:#c7a8cc;
 --cover:#291b39;--glow:#f0b5cf;--hero-text:#efdfed;
 --theme-image:url('assets/anime-key-visual.webp');--art-size:cover;--art-position:60% 35%;--art-mobile-position:32% 25%;
}
.character-page[data-character="teemo"],.track-teemo{
 --paper:#f0f2ee;--ink:#303b37;--muted:#7e8980;--line:#d7ded5;--accent:#8c4a4c;
 --theme-text:#66776b;--theme-muted:#86958a;--theme-surface:#f8faf6;--theme-wash:#e4ebe1;--theme-edge:#adbbac;
 --cover:#202e2d;--glow:#d3dcca;--hero-text:#e2e9e1;
 --theme-image:url('assets/teemo-rain-chronicle.webp');--art-size:cover;--art-position:65% 43%;--art-mobile-position:43% 30%;
}
.character-page{background:var(--paper);color:var(--ink);transition:background-color .2s,color .2s}
.character-page .brand .blockmark{background:var(--accent)}
.character-page .topbar nav a[aria-current="page"],.character-page .back-roadmap{color:var(--accent)}
.journey-slide{background:var(--paper);color:var(--ink)}
.journey-slide .disclosure-icon:before,.journey-slide .disclosure-icon:after{background:var(--accent)}
.journey-slide .story-badge:before{background:var(--theme-edge)}
.journey-slide .story-draft:before{background:#b28a60}.journey-slide .story-proposal:before{background:#b65e7c}
.character-page .primary{background:var(--accent);border-color:var(--accent)}
.character-page .primary:hover{filter:brightness(.92)}
.profile-cover{min-height:400px}
.profile-topline,.profile-bottom{color:var(--glow)}
.track-mamoru .profile-cover h2{font-family:var(--font-serif);font-weight:450;letter-spacing:-1.5px}
.track-cun .profile-cover h2{font-weight:620;letter-spacing:-2.5px}
.track-nifofo .profile-cover h2{font-weight:480;letter-spacing:-2px}
.track-teemo .profile-cover h2{font-family:var(--font-serif);font-weight:500;letter-spacing:-1.2px}
.profile-topline,.profile-question{text-shadow:0 1px 12px #0003}
.character-page footer{border-color:var(--line)}
.character-page .footer-brand{color:var(--accent)}
@media(max-width:700px){
 .profile-cover{min-height:0;padding-top:202px;background:var(--cover)}
 .profile-cover:before{height:245px;inset:0 0 auto;background-size:cover;background-position:var(--art-mobile-position)}
 .profile-cover:after{height:250px;inset:0 0 auto;background:linear-gradient(0deg,var(--cover) 0%,color-mix(in srgb,var(--cover) 35%,transparent) 43%,transparent 100%)}
 .profile-content{margin-top:23px}
 .profile-topline{position:relative;text-shadow:none}
 .track-cun .profile-cover h2{letter-spacing:-1.9px}
 .track-nifofo .profile-cover h2{letter-spacing:-1.5px}
}
@media(prefers-reduced-motion:reduce){.character-page{transition:none}}
