/* Towards China: fluid magazine rhythm and usable small-screen controls. */
body.tcm-ux {
  --ux-gutter:clamp(16px,4vw,40px);
  --ux-section:clamp(40px,6vw,72px);
  --ux-gap:clamp(16px,2.2vw,28px);
}
body.tcm-ux .wrap { max-width:1280px; padding-inline:var(--ux-gutter); }
body.tcm-ux :is(a,button,input,summary) { -webkit-tap-highlight-color:#28695a22; }
body.tcm-ux :is(a,button,input,summary):focus-visible { outline:3px solid var(--jade); outline-offset:4px; }
body.tcm-ux :is(button,a,input,summary) { scroll-margin-block:24px; }
body.tcm-ux .brand-row.tcm-brand-row { min-height:150px; gap:32px; padding-block:12px 14px; }
body.tcm-ux .tcm-brand-row .brand-lockup { flex:0 1 620px; }
body.tcm-ux .site-title.tcm-media-logo { width:580px; max-width:100%; }
body.tcm-ux .reading-room-entry { min-height:72px; padding:14px 18px; box-shadow:none; }
body.tcm-ux .reading-room-entry strong { font-size:1.125rem; }
body.tcm-ux .reading-room-entry small { font-size:.75rem; }
body.tcm-ux .nav-inner { min-height:56px; gap:16px; }
body.tcm-ux .nav-actions { gap:12px; }
body.tcm-ux .nav-actions>a,body.tcm-ux .menu-toggle { min-height:44px; }
body.tcm-ux .nav-actions>.nav-reading-room { display:none; }
body.tcm-ux .search-trigger { min-width:44px; }
body.tcm-ux .nav-actions .search-trigger { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; border:0; padding:8px 0; background:transparent; color:var(--ink); cursor:pointer; font-size:.72rem; font-weight:800; line-height:1; letter-spacing:.05em; text-transform:uppercase; }
body.tcm-ux .nav-actions .search-trigger span { font:inherit; }
body.tcm-ux .nav-actions .search-trigger:hover,body.tcm-ux .nav-actions .search-trigger[aria-expanded=true] { color:var(--red-dark); }
body.tcm-ux .header-search[hidden] { display:none; }
body.tcm-ux .header-search { border-top:1px solid var(--line); background:var(--paper); color:var(--ink); }
body.tcm-ux .header-search .wrap { padding-block:18px; }
body.tcm-ux .header-search-form { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; max-width:800px; margin:0 0 0 auto; }
body.tcm-ux .header-search-form label { grid-column:1/-1; font-size:.8125rem; font-weight:700; }
body.tcm-ux .header-search-form input { min-width:0; width:100%; min-height:48px; border:1px solid var(--ink); border-radius:3px; padding:11px 12px; background:var(--white); color:var(--ink); font-size:1rem; }
body.tcm-ux .header-search-submit,body.tcm-ux .search-close { min-height:48px; border:1px solid var(--jade); border-radius:3px; cursor:pointer; }
body.tcm-ux .header-search-submit { padding:11px 20px; background:var(--jade); color:var(--white); font-size:.875rem; font-weight:700; }
body.tcm-ux .header-search-submit:hover { background:var(--ink); }
body.tcm-ux .search-close { min-width:44px; padding:10px; background:transparent; color:var(--ink); font-size:1.5rem; line-height:1; }
body.tcm-ux .search-close:hover { background:var(--jade-soft); }
body.tcm-ux .intro-band { padding-block:22px; }
body.tcm-ux .intro-band p { font-size:1rem; }
/* A 1.618 : 1 editorial hierarchy; text measure takes priority over a fixed ratio. */
body.tcm-ux .lead-section { grid-template-columns:minmax(0,1.618fr) minmax(0,1fr); gap:var(--ux-gap); align-items:start; }
body.tcm-ux .lead-story { grid-template-rows:auto auto; box-shadow:4px 4px 0 #d9cbbb; }
body.tcm-ux .lead-image { min-height:0; aspect-ratio:16/10; }
body.tcm-ux .lead-image img { height:100%; max-height:none; }
body.tcm-ux .lead-copy { padding:24px 28px 28px; }
body.tcm-ux .lead-copy h1 { font-size:clamp(2rem,1.25rem + 1.6vw,2.8rem); line-height:1.12; margin:12px 0; }
body.tcm-ux .lead-copy p { font-size:1rem; line-height:1.6; max-width:55ch; }
body.tcm-ux .lead-copy::before { left:28px; }
body.tcm-ux .round-link { min-height:44px; align-items:center; }
body.tcm-ux .lead-rail { gap:16px; }
body.tcm-ux .rail-card { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
body.tcm-ux .rail-card .story-card__image { height:100%; aspect-ratio:auto; }
body.tcm-ux .rail-card .story-card__body { padding:18px; }
body.tcm-ux .rail-card h3 { font-size:clamp(1.25rem,1rem + .5vw,1.5rem); }
body.tcm-ux .rail-card p { display:none; }
body.tcm-ux .rail-card .text-link { display:inline-flex; min-height:36px; align-items:center; margin-top:auto; }
body.tcm-ux .browse-section,body.tcm-ux .latest-section { padding-top:var(--ux-section); }
body.tcm-ux .daily-section { padding-top:var(--ux-section); }
body.tcm-ux .section-heading { margin-bottom:24px; padding-bottom:16px; gap:20px; }
body.tcm-ux .section-heading h2 { font-size:clamp(1.875rem,1.4rem + 1.5vw,3rem); line-height:1.12; }
body.tcm-ux .topic-grid { gap:16px; }
body.tcm-ux .topic-card { min-height:158px; padding:18px 20px; }
body.tcm-ux .topic-card strong { font-size:1.375rem; line-height:1.2; margin-top:14px; }
body.tcm-ux .topic-detail { font-size:.8125rem; line-height:1.5; }
body.tcm-ux .story-grid { gap:var(--ux-gap); }
body.tcm-ux .story-card__body { padding:20px; }
body.tcm-ux .story-card h3 { font-size:clamp(1.375rem,1.15rem + .7vw,1.75rem); line-height:1.2; }
body.tcm-ux .story-card p { font-size:.9375rem; line-height:1.6; }
body.tcm-ux .story-card .text-link { display:inline-flex; align-items:center; min-height:40px; margin-top:auto; }
body.tcm-ux .newsletter-strip.wrap { width:calc(100% - 2 * var(--ux-gutter)); max-width:calc(1280px - 2 * var(--ux-gutter)); padding:18px 60px 18px 22px; margin-block:28px 0; border:1px solid var(--line); border-radius:4px; }
body.tcm-ux .newsletter-strip.wrap { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px 24px; }
body.tcm-ux .newsletter-strip__link { min-height:44px; background:transparent; cursor:pointer; justify-content:center; }
body.tcm-ux .newsletter-strip__link:hover { background:var(--red-dark); color:var(--white); }
body.tcm-ux .newsletter-strip__dismiss { top:18px; transform:none; }
body.tcm-ux .newsletter-strip__form { grid-column:1/-1; min-width:0; border-top:1px solid var(--line); padding-top:22px; }
body.tcm-ux .newsletter-strip__form[hidden] { display:none; }
body.tcm-ux .newsletter-strip__form .newsletter-signup { max-width:680px; }
body.tcm-ux .newsletter-strip__form .mailpoet_form { margin:0!important; padding:0!important; }
body.tcm-ux .newsletter-strip__form .newsletter-help { max-width:80ch; margin-top:16px; font-size:.8125rem; line-height:1.6; }
body.tcm-ux .newsletter-strip__form .newsletter-help a { text-decoration:underline; text-underline-offset:3px; }
body.tcm-ux .newsletter-strip__form .mailpoet_paragraph { overflow-wrap:anywhere; }
body.tcm-ux .newsletter-strip:not([hidden])+.latest-section { padding-top:40px; }
body.tcm-ux .character-card { grid-template-columns:168px minmax(0,1fr); padding:28px 32px; gap:28px; }
body.tcm-ux .character-symbol { width:168px; font-size:6.75rem; }
body.tcm-ux .character-copy h2 { font-size:clamp(1.75rem,1.3rem + 1.3vw,2.5rem); }
body.tcm-ux .character-copy summary { min-height:44px; display:list-item; }
body.tcm-ux .listing-page { padding-block:40px 56px; }
body.tcm-ux .listing-header { max-width:820px; margin-bottom:28px; }
body.tcm-ux .listing-header h1,body.tcm-ux .article-header h1 { font-size:clamp(2.125rem,1.5rem + 2.2vw,3.75rem); line-height:1.12; letter-spacing:-.035em; }
body.tcm-ux .listing-header p { font-size:1.125rem; line-height:1.6; }
body.tcm-ux .reading-room-title { gap:16px; }
body.tcm-ux .reading-room-title>.shelf-icon { width:48px; height:48px; flex-basis:48px; }
body.tcm-ux .library-switch { gap:10px; margin-top:22px; }
body.tcm-ux .library-switch a { min-height:48px; padding:12px 16px; font-size:.9375rem; }
body.tcm-ux .shelf-note { max-width:65ch; font-size:.875rem; }
body.tcm-ux .article-layout { grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr); gap:clamp(32px,4vw,56px); }
body.tcm-ux .article-main,body.tcm-ux .article-sidebar { min-width:0; }
body.tcm-ux .article-header h1 { margin:12px 0 18px; }
body.tcm-ux .article-deck { font-size:clamp(1.125rem,1rem + .5vw,1.375rem); line-height:1.55; }
body.tcm-ux .article-meta { font-size:.75rem; line-height:1.6; gap:12px; padding-block:12px; }
body.tcm-ux .article-content { font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem); line-height:1.75; }
body.tcm-ux .article-content>* { max-width:65ch; }
body.tcm-ux .article-content h2 { font-size:clamp(1.5rem,1.2rem + .9vw,2rem); line-height:1.25; }
body.tcm-ux .article-content h3 { font-size:1.375rem; line-height:1.3; }
body.tcm-ux .article-content p { margin-bottom:1.3em; }
body.tcm-ux .article-feature { margin-block:24px 32px; }
body.tcm-ux .article-feature figcaption { line-height:1.5; }
body.tcm-ux .article-sidebar .sidebar-stories { margin-top:0; }
body.tcm-ux .sidebar-stories h2 { font-size:1.625rem; }
body.tcm-ux .sidebar-card .story-card__body { padding:16px; }
body.tcm-ux .sidebar-card h3 { font-size:1.25rem; }
body.tcm-ux .reader-finish { margin-top:36px; }
body.tcm-ux .read-toggle { min-height:124px; padding:20px; gap:20px; border-radius:12px; box-shadow:0 3px 0 #d7c3aa; }
body.tcm-ux .read-toggle>span:not(.tcm-panda):not(.read-check) { flex:1; min-width:0; }
body.tcm-ux .read-toggle strong { font-size:1.5rem; line-height:1.2; }
body.tcm-ux .read-toggle [data-tc-read-hint] { font-size:.875rem; }
/* Supersede the obsolete Additional CSS that made every SVG child transparent. */
body.tcm-ux .reader-finish .read-toggle .tcm-panda .reading-panda { visibility:visible; opacity:1; background:none!important; }
body.tcm-ux .reader-finish .read-toggle .tcm-panda .reading-panda>* { opacity:1; }
body.tcm-ux .reader-finish .read-toggle .tcm-panda .tcm-panda-success { display:none; }
body.tcm-ux .reader-finish .read-toggle[aria-pressed=true] .tcm-panda--success-ready .reading-panda { visibility:hidden; }
body.tcm-ux .reader-finish .read-toggle[aria-pressed=true] .tcm-panda--success-ready .tcm-panda-success { display:block; }
body.tcm-ux .share-tools { gap:10px; padding-block:20px; }
body.tcm-ux .share-tools :is(a,button) { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; font-size:.8125rem; }
body.tcm-ux .surprise-card { margin-top:40px; padding:28px; box-shadow:4px 4px 0 #28695a10; }
body.tcm-ux .surprise-card h2 { font-size:clamp(1.625rem,1.25rem + 1vw,2.25rem); }
body.tcm-ux .surprise-card__button { min-height:44px; align-items:center; }
body.tcm-ux .footer-grid { gap:40px; padding-block:48px; }
body.tcm-ux .site-footer h2 { font-size:1.25rem; margin-bottom:14px; }
body.tcm-ux .site-footer li a,body.tcm-ux .footer-utility { min-height:36px; display:flex; align-items:center; margin-top:0; line-height:1.45; }
body.tcm-ux .footer-signout { display:none; }
body.tcm-ux form.mailpoet_form input[type=email],body.tcm-ux .tml input:is([type=text],[type=email],[type=password]) { min-height:48px; font-size:1rem; padding:12px; }
body.tcm-ux form.mailpoet_form input[type=submit],body.tcm-ux form.mailpoet_form button[type=submit] { min-height:48px; font-size:1rem; }
body.tcm-ux form.mailpoet_form input[type=checkbox] { min-width:20px; min-height:20px; }
@media(max-width:1100px) {
  body.tcm-ux .tcm-brand-row .reading-room-entry { display:none; }
  body.tcm-ux .brand-row.tcm-brand-row { min-height:0; padding-block:14px; justify-content:center; }
  body.tcm-ux .tcm-brand-row .brand-lockup { flex:0 1 620px; }
  body.tcm-ux .site-title.tcm-media-logo { width:520px; margin-inline:auto; }
  body.tcm-ux .tcm-brand-row .site-description { text-align:center; max-width:none; }
  body.tcm-ux .nav-actions>.nav-reading-room { display:inline-flex; gap:7px; padding:8px 12px; border:1px solid #a9bdb0; border-radius:4px; color:var(--jade); text-transform:none; font-size:.875rem; letter-spacing:0; white-space:nowrap; }
  body.tcm-ux .nav-reading-room .shelf-icon { width:22px; height:22px; flex-basis:22px; }
  body.tcm-ux .nav-actions>.nav-account { display:none; }
  body.tcm-ux .footer-signout { display:flex; }
  body.tcm-ux .menu-toggle { padding:10px 0; font-size:.8125rem; }
  body.tcm-ux .primary-navigation { left:var(--ux-gutter); right:var(--ux-gutter); box-shadow:0 10px 20px #20302e18; }
  body.tcm-ux .primary-navigation a { min-height:48px; display:flex; align-items:center; padding:12px 18px; }
}
@media(max-width:960px) {
  body.tcm-ux .lead-section { display:block; }
  body.tcm-ux .lead-rail { margin-top:24px; gap:14px; }
  body.tcm-ux .lead-copy h1 { font-size:clamp(1.875rem,1.35rem + 2vw,2.6rem); }
  body.tcm-ux .article-layout { display:block; }
  body.tcm-ux .article-main { max-width:760px; margin-inline:auto; }
  body.tcm-ux .article-sidebar { display:block; margin-top:40px; padding-top:28px; }
  body.tcm-ux .sidebar-stories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  body.tcm-ux .sidebar-stories h2 { grid-column:1/-1; margin-bottom:0; }
  body.tcm-ux .article-sidebar .surprise-card { margin-top:24px; }
}
@media(max-width:640px) {
  body.tcm-ux .header-search-form { gap:8px; }
  body.tcm-ux .header-search-submit { padding-inline:13px; }
  body.tcm-ux .header-top { min-height:34px; font-size:.625rem; letter-spacing:.04em; gap:12px; }
  body.tcm-ux .header-newsletter { padding-block:8px; }
  body.tcm-ux .brand-row.tcm-brand-row { padding-block:12px 14px; }
  body.tcm-ux .site-title.tcm-media-logo { width:360px; }
  body.tcm-ux .tcm-brand-row .site-description { font-size:.75rem; line-height:1.5; padding-top:4px; }
  body.tcm-ux .nav-inner { min-height:56px; gap:8px; }
  body.tcm-ux .nav-actions { gap:6px; }
  body.tcm-ux .nav-actions .search-trigger span { display:none; }
  body.tcm-ux .nav-actions>.nav-reading-room { padding-inline:10px; font-size:.8125rem; }
  body.tcm-ux .intro-band { padding-block:18px; }
  body.tcm-ux .intro-band p { margin-top:7px; font-size:.9375rem; line-height:1.5; }
  body.tcm-ux .lead-image { aspect-ratio:3/2; }
  body.tcm-ux .lead-copy { padding:20px; }
  body.tcm-ux .lead-copy::before { left:20px; }
  body.tcm-ux .lead-copy h1 { font-size:clamp(1.75rem,1.4rem + 2vw,2.25rem); }
  body.tcm-ux .lead-copy p { font-size:.9375rem; line-height:1.6; }
  body.tcm-ux .rail-card { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
  body.tcm-ux .rail-card .story-card__body { padding:14px; }
  body.tcm-ux .rail-card h3 { font-size:1.1875rem; line-height:1.22; }
  body.tcm-ux .rail-card .text-link { display:none; }
  body.tcm-ux .topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  body.tcm-ux .topic-card { min-height:148px; padding:16px 14px; }
  body.tcm-ux .topic-card strong { font-size:1.1875rem; margin-top:14px; }
  body.tcm-ux .topic-detail { font-size:.75rem; }
  body.tcm-ux .topic-no { width:26px; height:26px; }
  body.tcm-ux .topic-arrow { top:18px; right:14px; }
  body.tcm-ux .character-card { display:block; padding:20px; }
  body.tcm-ux .character-symbol { float:left; width:80px; height:80px; font-size:3.75rem; margin:0 16px 10px 0; }
  body.tcm-ux .character-copy h2 { font-size:1.625rem; margin-top:8px; }
  body.tcm-ux .character-copy>p { font-size:.9375rem; line-height:1.55; }
  body.tcm-ux .character-copy>details { clear:both; }
  body.tcm-ux .character-copy small { clear:both; line-height:1.55; }
  body.tcm-ux .character-card::after { width:14px; height:14px; right:12px; bottom:12px; }
  body.tcm-ux .newsletter-strip.wrap { padding:18px 44px 18px 18px; margin-top:24px; }
  body.tcm-ux .newsletter-strip.wrap { grid-template-columns:1fr; gap:14px; }
  body.tcm-ux .newsletter-strip__link { justify-self:start; margin-top:0; }
  body.tcm-ux .newsletter-strip__dismiss { top:8px; }
  body.tcm-ux .newsletter-strip h2 { font-size:1.375rem; }
  body.tcm-ux .newsletter-strip p { font-size:.875rem; }
  body.tcm-ux .newsletter-strip__link { min-height:44px; display:inline-flex; align-items:center; }
  body.tcm-ux .listing-page { padding-top:28px; }
  body.tcm-ux .listing-header h1,body.tcm-ux .article-header h1 { font-size:clamp(2rem,1.55rem + 2vw,2.5rem); }
  body.tcm-ux .reading-room-title { gap:12px; }
  body.tcm-ux .reading-room-title>.shelf-icon { width:34px; height:34px; flex-basis:34px; }
  body.tcm-ux .library-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  body.tcm-ux .library-switch a { justify-content:center; min-height:50px; padding:10px 8px; font-size:.875rem; gap:5px; text-align:center; }
  body.tcm-ux .library-switch .shelf-icon,body.tcm-ux .library-switch a>span[aria-hidden] { display:none; }
  body.tcm-ux .article-header h1 { line-height:1.14; }
  body.tcm-ux .article-meta { flex-wrap:wrap; gap:6px 16px; font-size:.6875rem; }
  body.tcm-ux .article-content { font-size:1.0625rem; line-height:1.75; }
  body.tcm-ux .article-feature { margin-block:20px 26px; }
  body.tcm-ux .read-toggle { display:grid; grid-template-columns:72px minmax(0,1fr); gap:16px; padding:16px; min-height:112px; }
  body.tcm-ux .read-toggle .tcm-panda { width:72px; height:68px; }
  body.tcm-ux .read-toggle>span:not(.tcm-panda):not(.read-check) { display:flex; min-width:0; gap:7px; }
  body.tcm-ux .read-toggle .eyebrow { font-size:.5625rem; letter-spacing:.06em; }
  body.tcm-ux .read-toggle strong { font-size:1.25rem; line-height:1.2; }
  body.tcm-ux .read-toggle [data-tc-read-hint] { font-size:.8125rem; }
  body.tcm-ux .read-toggle .read-check { display:none; }
  body.tcm-ux .reader-note { font-size:.8125rem; padding-inline:0; }
  body.tcm-ux .sidebar-stories { grid-template-columns:1fr; }
  body.tcm-ux .sidebar-card { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); margin-bottom:0; }
  body.tcm-ux .sidebar-card .story-card__image { height:100%; aspect-ratio:auto; }
  body.tcm-ux .sidebar-card h3 { font-size:1.1875rem; }
  body.tcm-ux .sidebar-card .text-link { display:none; }
  body.tcm-ux .surprise-card { padding:22px; }
  body.tcm-ux .footer-grid { padding-block:36px; gap:28px; }
  body.tcm-ux .site-footer ul,body.tcm-ux .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; row-gap:4px; }
  body.tcm-ux .site-footer li { margin:0; }
  body.tcm-ux .site-footer li a,body.tcm-ux .footer-utility { min-height:40px; font-size:.8125rem; }
}
@media(prefers-reduced-motion:reduce) { body.tcm-ux *,body.tcm-ux *::before,body.tcm-ux *::after { animation:none!important; scroll-behavior:auto!important; } }
