/* Towards China — editor-selected Chinese manifesto identity, 4 October 2026. Native WordPress Global Styles; no executable PHP. */

html:root:root {
  --paper: #f7f1e5;
  --paper-deep: #eadfcc;
  --white: #fffcf7;
  --ink: #20231f;
  --muted: #59635c;
  --red: #b62017;
  --red-dark: #8d1e17;
  --jade: #28695a;
  --jade-soft: #e2e9df;
  --line: #d3c9b8;
  --gold: #a37a3f;
  --display: Georgia, 'Times New Roman', serif;
  --sans: 'Segoe UI', Arial, sans-serif;
}

html body { background: var(--paper); }

html body::before { height: 650px; background: linear-gradient(180deg, #fffcf7 0%, var(--paper) 100%); }

body .site-header { position: relative; background: var(--white); border-top: 6px solid var(--red); }

body .header-top { min-height: 38px; color: var(--red-dark); border-bottom: 1px solid #ddd3c3; letter-spacing: .1em; }

body .brand-row { min-height: 260px; gap: 40px; padding-top: 12px; padding-bottom: 20px; }

body .brand-lockup { flex: 0 1 460px; min-width: 0; }

body .site-title { width: 360px; max-width: 100%; line-height: 0; }

body .site-title .publication-logo { display: block; width: 100%; height: auto; max-width: 100%; object-fit: contain; }

body .site-description { margin: 0; padding: 4px 0 0; max-width: 370px; font: 400 .84rem/1.6 var(--sans); letter-spacing: 0; }

body .reading-room-entry { position: relative; border: 1px solid var(--jade); border-radius: 3px; padding: 18px 22px; background: #edf0e6; box-shadow: 5px 5px 0 #28695a10; }

body .reading-room-entry::before { content: ''; position: absolute; width: 14px; height: 14px; top: -1px; right: -1px; border-top: 3px solid var(--red); border-right: 3px solid var(--red); pointer-events: none; }

body .reading-room-entry:hover { background: var(--jade-soft); }

body .reading-room-entry strong { font-family: var(--display); font-size: 1.25rem; }

body .reading-room-entry small { color: #43534a; }

body .nav-shell { background: var(--ink); border-top: 3px double #ddcab1; border-bottom: 3px double #ddcab1; color: var(--white); }

body .nav-inner { min-height: 60px; gap: 16px; }

body .primary-navigation a { padding: 18px 9px; font-size: .67rem; letter-spacing: .04em; }

body .primary-navigation a:hover, body .primary-navigation .current-menu-item>a, body .primary-navigation .current-cat>a { background: var(--red); color: var(--white); }

body .nav-actions a, body .search-trigger, body .menu-toggle { color: var(--white); }

body .nav-account { border-color: #c7b8a1; }

body .nav-actions a:hover { color: #ffcfb6; }

body .menu-toggle { cursor: pointer; }

body .intro-band { padding-top: 28px; padding-bottom: 26px; }

body .intro-band .issue-tag { color: var(--red-dark); }

body .intro-band p { font-size: 1.14rem; }

body .lead-story { background: var(--ink); border: 1px solid var(--ink); box-shadow: 6px 6px 0 #d9cbbb; }

body .lead-image { border-bottom: 4px solid var(--red); }

body .lead-copy { padding: 30px 36px 35px; }

body .lead-copy::before { left: 36px; height: 6px; top: -6px; width: 74px; }

body .lead-copy::after { content: ''; position: absolute; right: 20px; bottom: 20px; width: 22px; height: 22px; border-right: 2px solid #b97854; border-bottom: 2px solid #b97854; pointer-events: none; }

body .lead-copy h1 { font-family: var(--display); line-height: 1.1; letter-spacing: -.035em; font-weight: 700; font-size: clamp(2rem, 3.5vw, 3.65rem); }

body .lead-copy .eyebrow { color: #ffbdab; }

body .lead-copy p { color: #e0e3d9; }

body .rail-heading { border-top: 4px double var(--red); padding-top: 11px; }

body .round-link { border-radius: 2px; }

body .story-card { border: 1px solid var(--line); border-bottom: 3px solid #bdb099; border-radius: 2px; box-shadow: 3px 3px 0 #d9cbb82e; }

body .story-card:hover { box-shadow: 6px 6px 0 #b620171a; border-bottom-color: var(--red); }

body .story-card__image { border-bottom: 1px solid var(--line); }

body .story-card__body { padding: 22px 24px 24px; }

body .story-card h3 { font-family: var(--display); line-height: 1.19; letter-spacing: -.025em; font-weight: 700; }

body .story-card p { font-size: .9rem; line-height: 1.65; }

body .text-link { color: var(--red-dark); letter-spacing: .08em; }

body .text-link:hover { color: var(--jade); }

body .section-heading { position: relative; border-bottom: 3px double #a99a83; padding-bottom: 20px; }

body .section-heading::after { content: ''; position: absolute; right: 0; bottom: -7px; width: 10px; height: 10px; background: var(--red); border: 2px solid var(--paper); }

body .section-heading h2, body .listing-header h1, body .missing-page h1 { font-family: var(--display); letter-spacing: -.04em; }

body .section-heading h2 { font-size: clamp(2.2rem, 4vw, 3.75rem); }

body .section-annotation { font-family: var(--display); color: #5f655b; }

body .topic-grid { gap: 16px; }

body .topic-card { min-height: 190px; padding: 22px 24px; border: 1px solid #d6c7b1; border-top: 3px solid var(--red); border-radius: 2px; background: #fff9ef; overflow: hidden; }

body .topic-card:nth-child(3n+2) { background: #f2eee2; border-color: #cdbb9f; border-top-color: var(--jade); }

body .topic-card:nth-child(3n) { background: #f8eadd; border-color: #dbbeab; border-top-color: var(--gold); }

body .topic-card::after { content: ''; position: absolute; right: -10px; bottom: -10px; width: 65px; height: 65px; border: 6px double currentColor; box-shadow: inset 0 0 0 8px var(--white); opacity: .08; pointer-events: none; }

body .topic-card:hover { background: var(--ink); color: var(--white); }

body .topic-no { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--red); color: var(--red-dark); letter-spacing: 0; }

body .topic-card:nth-child(3n+2) .topic-no { border-color: var(--jade); color: var(--jade); }

body .topic-card:nth-child(3n) .topic-no { border-color: #946835; color: #765327; }

body .topic-card:hover .topic-no { border-color: #efb69a; color: #efb69a; }

body .topic-card strong { font-family: var(--display); font-size: 1.65rem; margin-top: 18px; }

body .topic-detail { max-width: 30ch; font-size: .79rem; line-height: 1.5; }

body .topic-arrow { top: 22px; right: 22px; }

body .character-card { background: #f5e7d6; border: 1px solid #cfb99d; border-top: 4px solid var(--red); border-radius: 3px; box-shadow: 6px 6px 0 #cfb99d33; padding: 36px 42px; }

body .character-card::after { content: ''; position: absolute; bottom: 17px; right: 17px; width: 20px; height: 20px; border-right: 2px solid var(--red); border-bottom: 2px solid var(--red); opacity: .65; pointer-events: none; }

body .character-symbol { background: var(--white); color: var(--red-dark); border: 1px solid #d6b298; border-radius: 3px; box-shadow: 6px 6px 0 #b6201714; font-family: KaiTi, STKaiti, 'Microsoft YaHei', 'PingFang SC', serif; }

body .character-copy h2, body .reading-room-title h1 { font-family: var(--display); letter-spacing: -.04em; }

body .character-copy h2 { font-size: clamp(2rem, 3.2vw, 3rem); }

body .character-copy summary, body .story-traditions summary { color: var(--red-dark); }

body .character-details { border-radius: 3px; border: 1px solid #d7c7b1; }

body .character-listen, body .character-memory button { border-radius: 3px; background: var(--red-dark); }

body .character-memory { background: #e5eadd; border-radius: 3px; }

body .character-memory-art { border-radius: 3px; border: 1px solid #bcc8b9; }

body .story-traditions { background: #f6eada; border-radius: 3px; border: 1px solid #d2b897; border-left: 4px solid var(--red); }

body .story-traditions h2 { font-family: var(--display); }

body .library-switch a { border-radius: 3px; border-color: var(--red-dark); color: var(--red-dark); }

body .library-switch a[aria-current] { background: var(--red-dark); color: #fff; }

body .load-more { background: var(--red-dark); border-color: var(--red-dark); border-radius: 3px; box-shadow: 4px 4px 0 #b620171c; }

body .load-more:hover { background: var(--ink); border-color: var(--ink); }

body .read-badge { border-radius: 3px; border: 1px solid #b7c2b1; }

body .surprise-card { border: 1px solid #c8bba6; border-top: 4px solid var(--red); border-radius: 3px; background: #f0e9db; }

body .surprise-card h2 { font-family: var(--display); letter-spacing: -.035em; }

body .surprise-card__button { background: var(--red-dark); border-radius: 3px; }

body .article-header h1 { font-family: var(--display); font-size: clamp(2.55rem, 4.9vw, 5rem); line-height: 1.1; letter-spacing: -.04em; }

body .article-deck { font-family: var(--display); color: #4c594f; }

body .article-meta { border-top: 3px double #c6baa6; border-bottom: 1px solid #c6baa6; }

body .article-content { font-size: 1.17rem; line-height: 1.8; }

body .article-content h2, body .article-content h3 { font-family: var(--display); color: var(--ink); }

body .article-content blockquote { background: #fff9ef; padding: 23px 28px; border-left: 4px solid var(--red); border-right: 1px solid var(--line); }

body .article-tags a, body .share-tools a, body .share-tools button { border-radius: 3px; }

body .article-tags a { background: var(--white); }

body .share-tools a, body .share-tools button { border-color: var(--red-dark); color: var(--red-dark); }

body .share-tools a:hover, body .share-tools button:hover { background: var(--red-dark); color: #fff; }

body .read-toggle { border-color: #ccb59a; box-shadow: 0 4px 0 #d7c3aa; }

body .read-toggle strong { font-family: var(--display); letter-spacing: -.025em; }

body .read-toggle .eyebrow { color: var(--red-dark); }

body .reader-note a, body .shelf-note a { color: var(--red-dark); }

body .sidebar-stories h2 { font-family: var(--display); border-bottom: 3px double #b3a58d; }

body .tc-about-profile { background: #f5e9d8; border-color: #c9b397; border-top-color: var(--red); box-shadow: 6px 6px 0 #b620170c; }

body .tml { border-top-color: var(--red); border-radius: 3px; }

body .tml input[type=submit], body .tml button[type=submit] { background: var(--red-dark); }

body .site-footer { position: relative; background: var(--ink); border-top: 7px solid var(--red); color: var(--white); }

body .site-footer::before { content: ''; display: block; height: 12px; opacity: .2; background-image: linear-gradient(90deg, transparent 0 9px, #e6ccb0 9px 11px, transparent 11px 22px), linear-gradient(0deg, transparent 0 4px, #e6ccb0 4px 6px, transparent 6px 12px); background-size: 22px 12px; }

body .footer-grid { gap: 60px; }

body .footer-brand { display: block; width: 290px; max-width: 100%; padding: 14px; background: var(--white); border: 1px solid #e1cab0; border-radius: 2px; line-height: 0; }

body .footer-publication-logo { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; }

body .site-footer p { color: #cbd0c2; line-height: 1.7; }

body .site-footer h2 { color: #ffc4a5; font-family: var(--display); font-size: 1.35rem; text-transform: none; letter-spacing: 0; }

body .site-footer a:hover { color: #ffcdad; }

body .footer-bottom { border-top-color: #756652; color: #c0c5b8; }

@media (max-width: 1150px) {

body .brand-row { min-height: 242px; }

body .site-title { width: 330px; }

body .primary-navigation a { padding-inline: 7px; font-size: .64rem; }

body .topic-card { padding: 20px; }


}

@media (max-width: 960px) {

body .brand-row { min-height: 226px; gap: 26px; }

body .brand-lockup { flex-basis: 350px; }

body .site-title { width: 300px; }

body .primary-navigation { background: var(--ink); border-color: #8f7962; }

body .primary-navigation a { color: var(--white); border-bottom-color: #544e43; font-size: .78rem; padding: 14px 18px; }

body .nav-inner { min-height: 54px; }

body .reading-room-entry { padding: 15px; }

body .reading-room-entry strong { font-size: 1.12rem; }

body .lead-copy { padding: 27px; }

body .lead-copy::before { left: 27px; }

body .lead-copy h1 { font-size: 2.4rem; }

body .character-card { padding: 28px; gap: 25px; }

body .article-header h1 { font-size: 3.2rem; }

body .footer-grid { gap: 38px; }


}

@media (max-width: 640px) {

body .brand-row { display: block; padding-top: 14px; padding-bottom: 20px; }

body .brand-lockup { width: 100%; text-align: center; }

body .site-title { width: 260px; max-width: 100%; margin-inline: auto; }

body .site-description { margin-inline: auto; max-width: 37ch; font-size: .76rem; }

body .reading-room-entry { margin-top: 19px; min-height: 66px; text-align: left; }

body .reading-room-entry strong { font-size: 1.12rem; }

body .header-top { font-size: .6rem; letter-spacing: .06em; }

body .nav-actions { gap: 9px; }

body .nav-account { color: var(--white); }

body .intro-band p { font-size: 1rem; }

body .lead-copy { padding: 25px 23px; }

body .lead-copy::before { left: 23px; }

body .lead-copy::after { width: 13px; height: 13px; right: 12px; bottom: 12px; }

body .lead-copy h1 { font-size: 2rem; }

body .section-heading h2 { font-size: 2.4rem; }

body .topic-grid { gap: 10px; }

body .topic-card { min-height: 192px; padding: 15px; }

body .topic-card strong { font-size: 1.25rem; margin-right: 0; }

body .topic-detail { font-size: .72rem; }

body .topic-arrow { top: 18px; right: 14px; }

body .character-card { display: block; padding: 24px; }

body .character-symbol { width: 130px; margin-bottom: 21px; }

body .character-copy h2 { font-size: 2.1rem; }

body .article-header h1 { font-size: 2.65rem; }

body .article-content { font-size: 1.08rem; line-height: 1.8; }

body .article-content blockquote { padding: 18px 20px; }

body .footer-brand { width: 260px; margin-inline: auto; }

body .footer-grid>div:first-child { text-align: center; }

body .footer-grid>div:first-child p { margin-inline: auto; }


}

@media (prefers-reduced-motion: reduce) {

body .story-card:hover, body .topic-card:hover, body .read-toggle:hover { transform: none; }


}



/* Native logo and read-state media; no fixed image URLs. */
/* Newsletter access is part of the page; privacy preferences live on Privacy. */
body .header-top { gap:16px; }
body .header-edition { margin-left:auto; }
body .header-newsletter { flex:0 0 auto; padding:9px 2px; text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }
body .header-newsletter span { display:inline!important; }
/* Temporarily hide Google account-entry buttons without changing authentication. */
body.tcm-reader-entry-hidden .nsl-container { display:none!important; }
body .newsletter-section { display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:48px; margin-block:40px 55px; padding:32px; border:1px solid #c8b99e; border-top:4px solid var(--red); background:#f4eadb; }
body .newsletter-section h2 { margin:12px 0 18px; font-family:var(--display); font-size:clamp(2rem,4vw,3.3rem); line-height:1.1; }
body .newsletter-copy p { max-width:38ch; line-height:1.65; }
body .newsletter-signup { min-width:0; }
body .newsletter-signup .mailpoet_form { margin:0!important; padding:0!important; }
body .newsletter-signup input[type=email] { width:100%; max-width:100%; box-sizing:border-box; }
body .newsletter-help { font-size:.78rem; line-height:1.6; margin:12px 0 0; }
/* A quiet homepage invitation; the full signup form lives on Newsletter. */
.newsletter-strip { display:flex; align-items:center; gap:24px; position:relative; margin-block:26px 38px; padding:19px 62px 19px 24px; border-block:1px solid #c8b99e; background:#f3ede2; }
.newsletter-strip[hidden] { display:none!important; }
.newsletter-strip>div { flex:1; min-width:0; }
.newsletter-strip h2 { font:700 clamp(1.35rem,2.1vw,1.7rem)/1.2 var(--display); margin:0 0 5px; letter-spacing:-.02em; }
.newsletter-strip p { margin:0; font-size:.88rem; line-height:1.5; }
.newsletter-strip__link { flex-shrink:0; padding:11px 15px; border:1px solid #9c2b20; color:#9c2b20; font-size:.82rem; font-weight:700; line-height:1.4; text-decoration:none; }
.newsletter-strip__link:hover { background:#9c2b20; color:#fff; }
.newsletter-strip__dismiss { position:absolute; right:5px; top:50%; transform:translateY(-50%); width:44px; height:44px; padding:0; border:0; background:transparent; color:#665e52; font-size:1.4rem; cursor:pointer; }
.newsletter-strip a:focus-visible,.newsletter-strip button:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
@media(max-width:640px) { .newsletter-strip { display:block; margin-block:20px 28px; padding:18px 48px 18px 18px; } .newsletter-strip__link { display:inline-block; margin-top:13px; padding:9px 12px; } .newsletter-strip__dismiss { top:4px; transform:none; right:2px; } }
/* Native newsletter results: one welcome, followed immediately by magazine cards. */
.newsletter-result-page { padding-block:32px 56px; }
.newsletter-welcome { display:flex; align-items:center; gap:24px; padding:24px 28px; margin-bottom:34px; border:1px solid #c8b99e; border-top:4px solid var(--red); background:#f4eadb; }
.newsletter-welcome__panda { width:88px; height:88px; object-fit:contain; flex:0 0 88px; }
.newsletter-welcome h1 { font:700 clamp(2rem,4vw,3.25rem)/1.1 var(--display); letter-spacing:-.035em; margin:9px 0 12px; }
.newsletter-welcome p { margin:0; font-size:1.05rem; line-height:1.6; }
.newsletter-start-stories .section-heading { margin-bottom:24px; align-items:end; }
.newsletter-start-stories .section-heading h2 { font-size:clamp(1.8rem,3.2vw,2.7rem); }
.newsletter-result-message { max-width:780px; margin:0 auto; }
.newsletter-result-message h1 { font:700 clamp(2rem,4vw,3.2rem)/1.15 var(--display); margin:12px 0 24px; }
@media(max-width:600px) { .newsletter-result-page { padding-top:20px; } .newsletter-welcome { display:block; position:relative; padding:20px 17px; margin-bottom:28px; } .newsletter-welcome__panda { position:absolute; right:16px; top:16px; width:42px; height:42px; } .newsletter-welcome .eyebrow { display:block; padding-right:48px; min-height:32px; } .newsletter-welcome h1 { font-size:1.75rem; } .newsletter-welcome p { font-size:.95rem; } .newsletter-start-stories .section-heading .text-link { display:inline-block; margin-top:12px; } }
body #privacy-preferences { padding:24px; margin:28px 0; border:1px solid #c8b99e; border-top:4px solid var(--red); background:#f4eadb; scroll-margin-top:24px; }
body #privacy-preferences .cmplz-manage-consent-container { max-width:100%; }
body .footer-bottom>a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:640px) {
 body .header-top>.header-edition { display:none; }
 body .header-top>span:first-child { display:block; flex:1; min-width:0; line-height:1.5; }
 body .newsletter-section { grid-template-columns:1fr; gap:24px; padding:22px; margin-block:28px 38px; }
 body #privacy-preferences { padding:18px; }
}
body .brand-row.tcm-brand-row { min-height:166px; gap:36px; padding-top:14px; padding-bottom:16px; }
body .tcm-brand-row .brand-lockup { flex:0 1 700px; }
body .site-title.tcm-media-logo { position:relative; background:none!important; display:block; width:620px; max-width:100%; height:auto; aspect-ratio:5 / 1; overflow:hidden; padding:0; }
body .tcm-media-logo .tcm-media-logo__image { position:absolute; width:100%; height:auto; max-width:none; top:50%; left:50%; transform:translate(-50%,-50%); }
body .tcm-brand-row .site-description { max-width:490px; padding-top:2px; }
body .footer-brand.tcm-media-logo { position:relative; background:var(--white)!important; display:block; width:320px; max-width:100%; height:auto; aspect-ratio:5 / 1; overflow:hidden; padding:0; }
body .footer-brand.tcm-media-logo .tcm-media-logo__image { width:96%; }
body .site-title.tcm-text-logo, body .footer-brand.tcm-text-logo { background:none!important; width:auto; aspect-ratio:auto; height:auto; font-size:2.5rem; line-height:1.15; }
body .footer-brand.tcm-text-logo { color:var(--white); }
body .read-toggle .tcm-panda { position:relative; display:block; flex:0 0 116px; width:116px; height:109px; }
body .tcm-panda .reading-panda { display:block; width:100%; height:100%; background:none!important; }
body .tcm-panda .tcm-panda-success { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:none; }
body .read-toggle[aria-pressed="true"] .tcm-panda--has-success .reading-panda { visibility:hidden; }
body .read-toggle[aria-pressed="true"] .tcm-panda--has-success .tcm-panda-success { display:block; animation:tc-panda-happy .35s ease-out; }
body .read-toggle[aria-pressed="true"] { background:#f6e8de; border-color:var(--red); }
body .read-toggle[aria-pressed="true"] .read-check { background:var(--red-dark); border-color:var(--red-dark); color:#fff; }
@keyframes tc-panda-happy { 0% { transform:scale(.9) rotate(-3deg); } 65% { transform:scale(1.04) rotate(2deg); } 100% { transform:scale(1) rotate(0); } }
@media(max-width:1150px) { body .brand-row.tcm-brand-row { min-height:138px; gap:24px; } body .site-title.tcm-media-logo { width:560px; } }
@media(max-width:960px) { body .brand-row.tcm-brand-row { min-height:132px; } body .tcm-brand-row .brand-lockup { flex-basis:450px; } body .site-title.tcm-media-logo { width:510px; } }
@media(max-width:640px) {
 body .brand-row.tcm-brand-row { min-height:0; padding-top:14px; padding-bottom:16px; }
 body .tcm-brand-row .brand-lockup { width:100%; }
 body .site-title.tcm-media-logo { width:360px; max-width:100%; margin-inline:auto; }
 body .tcm-brand-row .site-description { max-width:42ch; padding-top:4px; }
 body .tcm-brand-row .reading-room-entry { margin-top:15px; }
 body .footer-brand.tcm-media-logo { width:290px; max-width:100%; margin-inline:auto; }
 body .read-toggle .tcm-panda { flex-basis:82px; width:82px; height:77px; }
}
@media(prefers-reduced-motion:reduce) { body .read-toggle[aria-pressed="true"] .tcm-panda-success { animation:none; } }

/* Documented character journey and a quieter production note. */
.character-journey { margin:24px 0; padding:22px; border:1px solid #c4b296; background:#fffcf7; border-radius:10px; }
.character-journey[hidden] { display:none; }
.character-journey-art { min-height:190px; display:flex; align-items:center; justify-content:center; gap:22px; margin:12px 0; overflow:hidden; }
.character-journey-figure { display:flex; align-items:center; flex-direction:column; flex:1; max-width:190px; margin:0; gap:8px; }
.character-journey-figure img { display:block; width:145px; height:145px; object-fit:contain; }
.character-journey-figure figcaption { font-size:.76rem; text-align:center; }
.character-journey-glyph { display:flex; align-items:center; justify-content:center; width:145px; height:145px; font:110px/1 KaiTi,STKaiti,'Noto Serif CJK SC','Microsoft YaHei',serif; color:var(--red-dark); }
.character-journey-art.is-close .character-journey-figure img { transform:scale(1.13); }
.character-journey-art.is-overview { gap:8px; min-height:140px; }
.character-journey-art.is-overview .character-journey-figure img,.character-journey-art.is-overview .character-journey-glyph { width:65px; height:80px; font-size:60px; }
.character-journey-art.is-overview figcaption { font-size:.66rem; }
.character-journey-controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:18px 0 10px; }
.character-journey-controls button { border:1px solid var(--red-dark); border-radius:5px; min-height:44px; padding:9px 13px; background:var(--red-dark); color:#fff; cursor:pointer; font:inherit; font-size:.83rem; }
.character-journey-controls button:disabled { opacity:.35; cursor:default; }
.character-journey-controls button:focus-visible { outline:3px solid #246e64; outline-offset:3px; }
.character-journey-controls span { margin-left:auto; font-size:.82rem; font-variant-numeric:tabular-nums; }
.character-journey-progress { height:4px; background:linear-gradient(to right,var(--red-dark) var(--journey-progress,10%),#ddd0bc 0); margin-bottom:15px; }
.character-journey small,.character-credits { font-size:.78rem; line-height:1.6; }
.character-credits { margin-top:18px; }
.character-credits ul { padding-left:20px; }
.tc-about-smallprint { margin:22px 0 35px; padding:16px 20px; border-top:1px solid var(--line); font-size:.86rem; line-height:1.65; }
.tc-about-smallprint summary { cursor:pointer; font-weight:600; }
@media(max-width:640px) { .character-journey { padding:15px; margin-inline:-6px; } .character-journey-art { gap:10px; } .character-journey-figure img,.character-journey-glyph { width:100px; height:125px; font-size:87px; } .character-journey-art.is-overview { flex-wrap:wrap; } .character-journey-art.is-overview .character-journey-figure { flex:0 0 27%; } }
body .tcm-brand-row .brand-lockup, body .tcm-brand-row .brand-lockup > div { min-width:0; max-width:100%; } @media(max-width:640px) { body .tcm-brand-row .brand-lockup { flex-basis:auto; } body .tcm-brand-row .site-description { width:100%; overflow-wrap:break-word; } } .character-journey-figure { min-width:0; } .character-journey-figure img,.character-journey-glyph { max-width:100%; }


/* 6 October: restore the original light navigation above legacy Additional CSS. */
body .site-header .nav-shell { background:var(--white); color:var(--ink); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
body .site-header .primary-navigation { background:var(--white); }
body .site-header .primary-navigation a, body .site-header .nav-actions a, body .site-header .search-trigger, body .site-header .menu-toggle { color:var(--ink); }
body .site-header .primary-navigation a:hover, body .site-header .primary-navigation .current-menu-item > a, body .site-header .primary-navigation .current-cat > a { background:var(--jade-soft); color:var(--jade); }
body .site-header .nav-account { border-color:var(--red-dark); color:var(--red-dark); }
body .site-header .nav-actions a:hover { color:var(--red-dark); }
body .site-header .nav-actions .nav-account:hover { background:var(--red-dark); color:var(--white); }
body .site-header .primary-navigation a:focus-visible, body .site-header .nav-actions a:focus-visible, body .site-header .menu-toggle:focus-visible { outline:3px solid var(--jade); outline-offset:3px; }
@media(max-width:1100px) { body .site-header .primary-navigation { border-color:var(--line); } body .site-header .primary-navigation a { border-bottom-color:var(--line); } }

/* Small screens: the footer logo must not impose an implicit grid minimum. */
@media(max-width:640px){body .footer-grid{grid-template-columns:minmax(0,1fr)}body .footer-grid>div{min-width:0}}
