
/* ==========================================================================
   Editorial pages, September 2026. Brings every inner page into the editorial
   home's language: white paper, near-black ink, one sage accent, Newsreader 400
   headings, hairline rules, square corners, no shadows or gradients.
   Presentation only — no markup depends on it.

   How it wins without a pile of !important:
   · Tokens are set on body:not(#nuc-a):not(#nuc-b) — two id-weight :not()s (no
     element has those ids) — so they beat the Game Room's body:has(#app.gr-context)
     palette and theme v2's :root without the style-invalidation cost of :has(),
     and reach the editorial header/footer and the command palette too.
   · Component rules are scoped body:not(.ed-is-home) #app …, so the home is never
     touched and one id outranks theme v2 and the in-body #game-room-design sheet.
   · !important appears only against the General NM rules that use it themselves.
   Chapter hues (--sys / --sys-ink) survive as a faint hint on small labels only.
   ========================================================================== */

/* ---- 1 · tokens ------------------------------------------------------------ */
html:not([data-theme="dark"]) body:not(#nuc-a):not(#nuc-b){
  --bg:#fff;--surface:#fff;--surface-2:#f5f5ef;--surface-3:#ecece4;--band:#f5f5ef;--band-2:#ecece4;
  --text:#20231f;--text-2:#555c55;--text-3:#626962;
  --border:#dedfd8;--border-strong:#c4c6bd;--hairline:rgba(32,35,31,.08);
  --primary:#284936;--accent:#42624b;--accent-ink:#284936;--accent-soft:#eef1ea;--link:#284936;--focus:#42624b;
  --navy-900:#20231f;--navy-800:#2b302a;--navy-700:#3a4039;--teal-700:#284936;--teal-600:#42624b;--teal-500:#5f7b66;
  --cyan-500:#42624b;--cyan-400:#5f7b66;--cyan-100:#eef1ea;
  background:var(--bg);color:var(--text);background-image:none}
html[data-theme="dark"] body:not(#nuc-a):not(#nuc-b){
  --bg:#141c1b;--surface:#141c1b;--surface-2:#1b2523;--surface-3:#222e2b;--band:#1b2523;--band-2:#222e2b;
  --text:#e7ece5;--text-2:#b5c2b9;--text-3:#90a198;
  --border:#2e3c37;--border-strong:#4a5d54;--hairline:rgba(231,236,229,.08);
  --primary:#c3d6c9;--accent:#93b7a0;--accent-ink:#b3d1bd;--accent-soft:#25352e;--link:#b3d1bd;--focus:#b3d1bd;
  --navy-900:#1a2523;--navy-800:#22302c;--navy-700:#2c3e38;--teal-700:#2f4a3f;--teal-600:#3c5e50;--teal-500:#4f7767;
  --cyan-500:#93b7a0;--cyan-400:#b3d1bd;--cyan-100:#25352e;
  background:var(--bg);color:var(--text);background-image:none}
body:not(#nuc-a):not(#nuc-b){
  --shadow-xs:none;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;
  --r-xs:0;--r-sm:0;--r-md:0;--r-lg:0;--radius:0;--radius-sm:0;--radius-lg:0}
/* The sub-apps' own token families, pointed at the editorial ones so both themes follow. */
body:not(.ed-is-home) #app.gnm-context,body:not(.ed-is-home) #app .gnmx-shell,body:not(.ed-is-home) #app .sg,body:not(.ed-is-home) #app .pbr{
  --accent:var(--link);--accent-ink:var(--link);
  --gc-ink:var(--text);--gc-head:var(--text);--gc-muted:var(--text-2);--gc-faint:var(--text-3);
  --gc-paper:var(--bg);--gc-panel:var(--surface-2);--gc-panel-2:var(--surface-2);
  --gc-line:var(--border);--gc-line-soft:var(--border);--gc-accent:var(--text-2);--gc-accent-ink:var(--link);
  --gc-label:var(--sys-ink,var(--text-2));--gc-hero-a:var(--bg);--gc-hero-b:var(--bg);
  --gnm-ink:var(--text);--gnm-muted:var(--text-2);--gnm-line:var(--border);--gnm-paper:var(--bg);
  --sg-ink:var(--text);--sg-muted:var(--text-2);--sg-accent:var(--link);--sg-warm:var(--text-2);--sg-line:var(--border);--sg-paper:var(--bg);--sg-soft:var(--surface-2);
  --pbr-ink:var(--text);--pbr-soft:var(--surface-2);--pbr-line:var(--border);--pbr-muted:var(--text-2)}
body:not(.ed-is-home) #app{--sys-ink-hint:var(--sys-ink,var(--text-2))}
body:not(.ed-is-home) #app.sg-context,body:not(.ed-is-home) #app.gr-context{background:transparent}

/* ---- 2 · type ---------------------------------------------------------------- */
body:not(.ed-is-home) #app h1,body:not(.ed-is-home) #app h2,body:not(.ed-is-home) #app h3,body:not(.ed-is-home) #app h4{
  font-family:var(--display);font-weight:400;color:var(--text)}
body:not(.ed-is-home) #app h1{font-size:clamp(34px,4vw,52px);line-height:1.1;letter-spacing:-.028em}
body:not(.ed-is-home) #app h2{letter-spacing:-.02em}
body:not(.ed-is-home) #app .prose h2{border-top:0}
body:not(.ed-is-home) #app strong,body:not(.ed-is-home) #app b{color:inherit}
/* Eyebrows: the home's bare uppercase label. The chapter hue lives here, and only here. */
body:not(.ed-is-home) #app .tag,body:not(.ed-is-home) #app .eyebrow,body:not(.ed-is-home) #app .kicker,
body:not(.ed-is-home) #app .gnmx-card-kicker,body:not(.ed-is-home) #app .gnmx-mini,body:not(.ed-is-home) #app .gnmx-group>header span,
body:not(.ed-is-home) #app .sg-kicker,body:not(.ed-is-home) #app .gr-kicker{
  background:none;border:0;border-radius:0;padding:0;box-shadow:none;
  font:500 11px/1.7 var(--font);letter-spacing:.2em;text-transform:uppercase;color:var(--sys-ink-hint)}
body:not(.ed-is-home) #app .breadcrumb{font-size:13px;color:var(--text-2)}
body:not(.ed-is-home) #app .breadcrumb a{color:var(--text-2)}
body:not(.ed-is-home) #app .breadcrumb a:hover,body:not(.ed-is-home) #app a:hover{color:var(--text);text-decoration:underline;text-underline-offset:4px}
body:not(.ed-is-home) #app .prose a:not(.btn):not([class*="card"]){color:var(--link);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}
body:not(.ed-is-home) #app .prose a:not(.btn):not([class*="card"]):hover{text-decoration-color:currentColor}

/* ---- 3 · surfaces: square, flat, hairline -------------------------------------- */
body:not(.ed-is-home) #app :is(.card,.mod-card,.stat,.start-card,.sys-card,.chap-card,.pg-card,.calc-card,.worked,.sec-railcard,.recent,.fc-mstat,.nx-daily,.keynum,.tsel,.tbl-wrap,.qb-exp,.refvals,.tx-note,.pagenav a,.sr-syscard),
body:not(.ed-is-home) #app [class^="gr-"]:is([class*="card"],[class*="panel"],[class*="feature"],[class*="summary"],[class*="empty"],[class*="debrief"],[class*="preview"],[class*="resource"],[class*="table-wrap"],[class*="controls"],[class*="question"]),
body:not(.ed-is-home) #app [class^="pbr-"]:is(.pbr-summary,.pbr-controls,.pbr-card,.pbr-empty,.pbr-recall,.pbr-compare>article),
body:not(.ed-is-home) #app :is(.gnmx-card,.gnmx-path,.gnmx-az,.gnmx-search,.gnmx-empty,.sg-patient,.sg-directory,.sg-search,.sg-detail,.sg-dose-none,.sg-calc-result,.sg-sources,.sg-activity,.sg-tracer){
  border-radius:0;box-shadow:none;background-color:var(--bg);background-image:none;border-color:var(--border)}
body:not(.ed-is-home) #app :is(.card,.mod-card,.stat,.start-card,.sys-card,.chap-card,.pg-card,.calc-card,.gnmx-card,.gnmx-path,.pbr-card,.sr-syscard):hover{
  box-shadow:none;transform:none;border-color:var(--text-3)}
body:not(.ed-is-home) #app .calc-card{border-top-width:1px;border-top-color:var(--border)}
body:not(.ed-is-home) #app .ci,body:not(.ed-is-home) #app :is(.tx-ic,[class$="-ic"],.gnmx-card-icon,.gnmx-path-icon,.gnmx-az-letter,.gnmx-source>span,.gnmx-tab>span,.sg-patient>div>span,.sg-step,.sg-dose-none>span,.sg-sources>div>span,.sg-mod){
  background:transparent;color:var(--text-2);border-radius:0}
/* Gradient bands and dark feature blocks become quiet paper. */
body:not(.ed-is-home) #app :is(.hero,.feature-petct,.sys-card.all,.mod-card.feat,.lec-thumb,.wr-panel.wr-hero,.dash,.nmp-player,.sec-hero,.sec-mono,.gnmx-hero,.sg-hero,.sg-detail-head,.sg-activity-title,.sg-dose,.sg-mod-tabs){
  background:var(--bg);background-image:none;color:var(--text);box-shadow:none;border-radius:0}
body:not(.ed-is-home) #app :is(.sys-card.all,.mod-card.feat,.wr-panel.wr-hero,.nmp-player,.lec-thumb) :is(h1,h2,h3,h4,p,span,small,b,strong,a,div){color:inherit}
body:not(.ed-is-home) #app :is(.gnmx-hero,.sg-hero){border:0;border-bottom:1px solid var(--border);padding-left:0;padding-right:0}
body:not(.ed-is-home) #app .gnmx-hero:before{display:none}
body:not(.ed-is-home) #app :is(.gnmx-hero h1,.sg-hero h1,.sg-detail h2,.gnmx-group h2,.gnmx-view-intro h2,.gnmx-path h3,.gnmx-card strong,.gnmx-az strong,.gnmx-empty h3,.sg-protocol-grid h3,.sg-dose h3,.pbr-card h3,.pbr-compare h3){
  font-family:var(--display);font-weight:400;color:var(--text)}
body:not(.ed-is-home) #app :is(.gnmx-hero p,.gnmx-metrics span,.sg-hero p,.sg-hero-stat span,.gnmx-path p,.gnmx-az small,.sg-detail-head p){color:var(--text-2)}
body:not(.ed-is-home) #app :is(.gnmx-metrics b,.sg-hero-stat b,.sg-calc-result>strong,.sg-activity-range strong,.pbr-prompts b){font-weight:400;color:var(--text)}
body:not(.ed-is-home) #app :is(.gnmx-metrics,.gnmx-metrics span,.sg-hero-stat){border-color:var(--border)}
/* Tabs and pill links: an underline marks the current one, as in print. */
body:not(.ed-is-home) #app :is(.gnmx-tabs,.sg-mod-tabs){background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:0}
body:not(.ed-is-home) #app :is(.gnmx-tab,.sg-mod-tabs button){border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:var(--text-2)}
body:not(.ed-is-home) #app :is(.gnmx-tab.on,.sg-mod-tabs button.on){border-bottom-color:var(--text);background:transparent;box-shadow:none;color:var(--text)}
body:not(.ed-is-home) #app :is(.gnmx-tab b,.gnmx-tab.on b){color:inherit}
body:not(.ed-is-home) #app .gnmx-tab.on>span{background:transparent;color:var(--text)}
body:not(.ed-is-home) #app :is(.gnmx-path-links a,.gnmx-readnav a,.gnmx-pagebar>div a,.gnmx-card-topics span,.sg-sources a,.sg-patient-chip,.pbr-tracer-strip span,.pbr-nature,.pbr-recall-mark){
  background:transparent;border:1px solid var(--border);border-radius:0;color:var(--text-2)}
body:not(.ed-is-home) #app :is(.gnmx-path-links a,.gnmx-readnav a,.gnmx-pagebar>div a,.sg-sources a):hover{border-color:var(--text);color:var(--text)}
body:not(.ed-is-home) #app :is(.gnmx-pagebar,.gnmx-readnav,.gnmx-source){background:transparent;border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0}
body:not(.ed-is-home) #app :is(.sg-scan,.sg-scan.on,.sg-scan:hover){border-radius:0;box-shadow:none;color:var(--text)}
body:not(.ed-is-home) #app .sg-scan.on{background:var(--surface-2);border-color:transparent;border-left:2px solid var(--text)}
body:not(.ed-is-home) #app :is(.sg-crumb a,.sg-detail-foot a,.sg-dose-none a,.gnmx-source a,.pbr-text-button,.pbr-card summary){color:var(--link)}
body:not(.ed-is-home) #app :is(.sg-crumb b,.sg-list-head b,.sg-formula b,.sg-formula code,.sg-dose-none b,.sg-sources p b,.sg-activity-title b,.sg-activity-range span,.gnmx-source b,.gnmx-az>a,.gnmx-tab b){color:var(--text)}
body:not(.ed-is-home) #app :is(.sg-activity>code){background:var(--surface-2);border-radius:0;color:var(--text)}
body:not(.ed-is-home) #app :is(.pbr-key,.pbr-pitfall,.pbr-compare>article){border-left-color:var(--text-2)!important;border-top-color:var(--border)}
body:not(.ed-is-home) #app .pbr-meter i.on{background:var(--text-2)}
body:not(.ed-is-home) #app .pbr-meter i.variable.on{background:repeating-linear-gradient(45deg,var(--text-2) 0 3px,var(--border-strong) 3px 6px)}
body:not(.ed-is-home) #app :is(.pbr-controls input,.pbr-controls select,.sg-system select,.gnmx-search input,.sg-search input){border-radius:0}
body:not(.ed-is-home) #app .pbr-controls fieldset button[aria-pressed="true"],body:not(.ed-is-home) #app .pbr-tabs button[aria-pressed="true"]{border-color:var(--text)}
body:not(.ed-is-home) #app .pbr-controls fieldset button[aria-pressed="true"]{background:var(--text);color:var(--bg)}
/* Game Room: its own slate palette is replaced by the tokens above; flatten the shapes. */
body:not(.ed-is-home) #app [class^="gr-"],body:not(.ed-is-home) #app [class*=" gr-"]{box-shadow:none}
body:not(.ed-is-home) #app :is(.gr-card,.gr-question,.gr-answer,.gr-feedback,.gr-debrief,.gr-empty,.gr-button,.gr-feature,.gr-summary,.gr-tags,.gr-library-controls,.gr-preview,.gr-resource,.gr-table-wrap,.gr-letter){border-radius:0;background-image:none}
body:not(.ed-is-home) #app .gr h1,body:not(.ed-is-home) #app .gr h2,body:not(.ed-is-home) #app .gr h3{font-weight:400}

/* ---- 4 · General NM chapter/topic pages (their rules carry !important) -------- */
body:not(.ed-is-home) #app .chero{background:transparent!important;border:0!important;border-radius:0!important;padding:8px 0 22px!important;box-shadow:none!important}
body:not(.ed-is-home) #app .chero .ci{display:none!important}
body:not(.ed-is-home) #app .chero>div{max-width:none}
body:not(.ed-is-home) #app .chero h1{font-weight:400}
body:not(.ed-is-home) #app .snap{background:var(--surface-2)!important;border:0!important;border-left:2px solid var(--text-2)!important;border-radius:0!important;box-shadow:none!important}
body:not(.ed-is-home) #app .keynum{background:transparent!important;border:0!important;border-top:1px solid var(--border)!important;border-radius:0!important;padding:14px 0!important;box-shadow:none!important}
body:not(.ed-is-home) #app .keynum b{color:var(--text)}
body:not(.ed-is-home) #app .chap-card{border-radius:0!important;box-shadow:none!important;background:transparent!important;border-color:var(--border)!important}
body:not(.ed-is-home) #app .tsel{background:transparent!important;border:0!important;border-top:1px solid var(--border)!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;padding:20px 0!important}
body:not(.ed-is-home) #app .acc,body:not(.ed-is-home) #app details.acc{border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
body:not(.ed-is-home) #app .acc summary{background:transparent!important;padding:14px 0!important;font:400 1.15rem/1.35 var(--display)!important;color:var(--text)}
body:not(.ed-is-home) #app .acc-body{padding:4px 0 18px!important}
body:not(.ed-is-home) #app .tcard{border-radius:0!important;box-shadow:none!important}
body:not(.ed-is-home) #app :is(.disclaimer,.draft){border-radius:0!important}
body:not(.ed-is-home) #app .gnm-context table.data th,body:not(.ed-is-home) #app table.data thead th{background:transparent!important;color:var(--text-2)!important}

/* ---- 5 · callouts, tables, buttons, chips, page nav ------------------------------ */
body:not(.ed-is-home) #app .callout{border-radius:0;box-shadow:none;border:0;border-left:2px solid var(--border-strong);background:var(--surface-2)}
body:not(.ed-is-home) #app .callout .ct{font:500 11px/1.7 var(--font);letter-spacing:.2em;text-transform:uppercase;color:var(--text-2)}
body:not(.ed-is-home) #app :is(.c-pearl,.c-guide){border-left-color:var(--accent)}
body:not(.ed-is-home) #app .c-study{border-left-color:var(--text-3)}
body:not(.ed-is-home) #app .c-pit{border-left-color:var(--amber-500)}
body:not(.ed-is-home) #app .c-caution{border-left-color:var(--red-600)}
body:not(.ed-is-home) #app .c-value{border-left-color:var(--border-strong)}
body:not(.ed-is-home) #app .tbl-wrap{border:0;border-top:1px solid var(--text-3);background:transparent}
body:not(.ed-is-home) #app table.data thead th{border-bottom:1px solid var(--text-3);font-weight:500;letter-spacing:.12em}
body:not(.ed-is-home) #app table.data tbody tr:nth-child(even){background:transparent}
body:not(.ed-is-home) #app table.data tbody tr:hover{background:var(--surface-2)}
body:not(.ed-is-home) #app table.data td .statbar,body:not(.ed-is-home) #app table.data td .statbar>span{border-radius:0}
body:not(.ed-is-home) #app .btn{border-radius:0;box-shadow:none;transform:none}
body:not(.ed-is-home) #app .btn-primary,body:not(.ed-is-home) #app .btn-dark{background:var(--text);border-color:var(--text);color:var(--bg)}
body:not(.ed-is-home) #app .btn-primary:hover,body:not(.ed-is-home) #app .btn-dark:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--bg);box-shadow:none;text-decoration:none}
body:not(.ed-is-home) #app .btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}
body:not(.ed-is-home) #app .btn-ghost:hover{background:transparent;border-color:var(--text);box-shadow:none;text-decoration:none}
body:not(.ed-is-home) #app :is(.chip,.sys-chip,.qb-seg button,.tsel-btns button){border-radius:0;box-shadow:none}
body:not(.ed-is-home) #app :is(.chip.active,.qb-seg button.on){background:transparent;border-color:var(--text);color:var(--text)}
body:not(.ed-is-home) #app .tsel-btns button.on{background:var(--text)!important;border-color:var(--text)!important;color:var(--bg)!important}
body:not(.ed-is-home) #app .pagenav a{background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;font-family:var(--display)}
body:not(.ed-is-home) #app :is(input,select,textarea){border-radius:0}

/* Stragglers found by auditing every route: remaining rounded panels, data bars,
   inline-styled placeholder art, and slate-blue literals in the sub-apps. */
body:not(.ed-is-home) #app :is(.gr-week,.pg-stat,.pg-ref,.tx-card,.nx-empty,.nmp-statbox,.nmp-panel,[class*="card"],[class*="panel"]){border-radius:0;box-shadow:none}
body:not(.ed-is-home) #app :is(img,figure,video){border-radius:0!important}
body:not(.ed-is-home) #app :is(.bd-wrap,.in-cav,.tabs a,.tabs button,.seg a,.seg button,.side a,[class*="chip"]){border-radius:0}
body:not(.ed-is-home) #app pre{border-radius:0!important}
body:not(.ed-is-home) #app .statbar>span{background:var(--accent);border-radius:0}
body:not(.ed-is-home) #app .statbar{border-radius:0}
body:not(.ed-is-home) #app .sg-patient label span{border-radius:0;background:transparent;border-color:var(--border)}
body:not(.ed-is-home) #app :is(.sg-patient label,.sg-protocol-grid li,.sg-empty,.sg-dose-caution,.gnmx-source,.gnmx-source p,.gnmx-empty,.gnmx-arrow){color:var(--text-2)}
body:not(.ed-is-home) #app .sg-tracer{color:var(--text)}
body:not(.ed-is-home) #app .sg-protocol-grid li:before{border-color:var(--text-3)}
body:not(.ed-is-home) #app .sg-weight-range{accent-color:var(--text)}
body:not(.ed-is-home) #app .more{color:var(--link)}

/* ---- 6 · chrome outside #app that inner pages show ------------------------------- */
body:not(.ed-is-home) .nx-dock,body:not(.ed-is-home) .nx-dock *{border-radius:0}
.cmdk-box{border-radius:0;box-shadow:none;border:1px solid var(--border)}

/* ---- 7 · narrow screens: nothing wider than the phone ---------------------------- */
@media(max-width:640px){
  body:not(.ed-is-home) #app :is(.calc-grid,.grid,.g2,.g3,.g4){grid-template-columns:minmax(0,1fr)}
  body:not(.ed-is-home) #app :is(.calc-card,.card,.calc-row,.calc-row>*){min-width:0;max-width:100%}
  body:not(.ed-is-home) #app .calc-card h3{overflow-wrap:anywhere}
}

/* Core reading templates. Scoped so specialist tools retain their layouts. */
@media screen {
body:not(.ed-is-home) #app:is(.ed-reading,.ed-chapter){--fs-prose:17px;--lh-prose:1.78}
body:not(.ed-is-home) #app:is(.ed-reading,.ed-chapter)>.container{width:min(1200px,calc(100% - 80px));padding-inline:0}
body:not(.ed-is-home) #app:is(.ed-reading,.ed-chapter) .breadcrumb{padding:12px 0 24px;font:400 12px/1.7 var(--font);color:var(--text-2)}
body:not(.ed-is-home) #app.ed-reading .article-wrap{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px 56px;max-width:1200px;padding:12px 0 64px;align-items:start}
body:not(.ed-is-home) #app.ed-reading .article-wrap>.prose{grid-column:2;grid-row:1;max-width:none;width:100%;min-width:0}
/* Full articles keep one reading measure for text, tables and figures, leaving white space on the right. */
/* One reading measure for every long-form page: articles, topic pages, short reads. */
body:not(.ed-is-home) #app.ed-reading .article-wrap>.prose{max-width:740px}
body:not(.ed-is-home) #app.ed-reading .article-wrap>.toc{grid-column:1;grid-row:1}
body:not(.ed-is-home) #app.ed-reading .article-aside{display:flex;flex-wrap:wrap;gap:24px;grid-column:2;margin-top:16px}
body:not(.ed-is-home) #app.ed-reading .article-aside .card{flex:1 1 200px;margin:0}
body:not(.ed-is-home) #app.ed-reading .prose{font-family:var(--font);font-size:17px;line-height:1.78;max-width:68ch;margin-inline:auto}
body:not(.ed-is-home) #app.ed-reading .prose>:is(p,ul,ol,blockquote,dl){max-width:68ch}
body:not(.ed-is-home) #app.ed-reading .prose h1{font:400 clamp(36px,3.8vw,52px)/1.1 var(--display);letter-spacing:-.03em;max-width:25ch;margin:12px 0 24px;text-wrap:balance}
body:not(.ed-is-home) #app.ed-reading .prose h2{font:400 30px/1.2 var(--display);letter-spacing:-.02em;margin:44px 0 16px;padding:0;border:0;scroll-margin-top:24px}
body:not(.ed-is-home) #app.ed-reading .prose h3{font:400 24px/1.3 var(--display);margin:28px 0 12px}
body:not(.ed-is-home) #app.ed-reading .prose>p{font-size:17px;line-height:1.78;margin:0 0 20px}
body:not(.ed-is-home) #app.ed-reading .prose>.sr-dek{font-size:20px;line-height:1.55;color:var(--text-2);margin-bottom:24px}
body:not(.ed-is-home) #app.ed-reading .prose>.sr-meta{font-size:12px;line-height:1.7;color:var(--text-2);margin:0 0 24px}
body:not(.ed-is-home) #app.ed-reading .byline{display:flex;flex-wrap:wrap;gap:16px 28px;border-block:1px solid var(--border);padding:18px 0;margin:0 0 24px;font:400 12px/1.7 var(--font)}
body:not(.ed-is-home) #app.ed-reading .byline b{font:500 10px/1.7 var(--font);letter-spacing:.08em;color:var(--text-2)}
body:not(.ed-is-home) #app.ed-reading .prose>.tbl-wrap,body:not(.ed-is-home) #app.ed-reading .prose>figure{width:100%;max-width:none;margin-block:28px;min-width:0}
body:not(.ed-is-home) #app.ed-reading .tbl-wrap{overflow-x:auto;overscroll-behavior-inline:contain}
body:not(.ed-is-home) #app.ed-reading .tbl-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
body:not(.ed-is-home) #app.ed-reading .prose table.data :is(td,th){font-size:14px;line-height:1.6;padding:12px 16px}
body:not(.ed-is-home) #app.ed-reading .toc{position:sticky;top:24px;max-height:calc(100dvh - 48px);align-self:start;overflow-y:auto;border:0;border-right:1px solid var(--border);border-radius:0;padding:4px 20px 4px 0;background:none;font:400 12px/1.6 var(--font)}
body:not(.ed-is-home) #app.ed-reading .ed-toc-details>summary{font:500 11px/1.7 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);list-style:none;margin-bottom:16px;pointer-events:none}
body:not(.ed-is-home) #app.ed-reading .ed-toc-details>summary::-webkit-details-marker{display:none}
body:not(.ed-is-home) #app.ed-reading .toc :is(a,button){display:block;width:100%;padding:9px 0;text-align:left;font:400 12px/1.6 var(--font);border:0;border-radius:0;background:none;color:var(--text-2);cursor:pointer;overflow-wrap:anywhere}
body:not(.ed-is-home) #app.ed-reading .toc :is(a,button):hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}
body:not(.ed-is-home) #app.ed-reading .toc :is(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
body:not(.ed-is-home) #app.ed-reading .toc a.active{color:var(--accent-ink);font-weight:500;background:none}
body:not(.ed-is-home) #app.ed-reading .toc .art-toc{margin:0;padding:0;border:0;background:none}
body:not(.ed-is-home) #app.ed-reading .toc .art-toc ol{columns:1;padding-left:26px}
body:not(.ed-is-home) #app.ed-reading .toc .art-toc b{display:none}
body:not(.ed-is-home) #app.ed-chapter .prose{max-width:none}
body:not(.ed-is-home) #app.ed-chapter .chap-grid{gap:24px 32px}
body:not(.ed-is-home) #app.ed-chapter .chap-card{padding:24px 0!important;border:0!important;border-top:1px solid var(--border)!important}
body:not(.ed-is-home) #app.ed-chapter .chap-card .ci{display:none}
body:not(.ed-is-home) #app.ed-chapter .chap-card h4{font:400 25px/1.25 var(--display);margin:0 0 10px}
body:not(.ed-is-home) #app.ed-chapter .chap-card p{font:400 14px/1.7 var(--font);max-width:45ch}
@media(max-width:950px){
 body:not(.ed-is-home) #app:is(.ed-reading,.ed-chapter)>.container{width:calc(100% - 48px)}
 body:not(.ed-is-home) #app.ed-reading .article-wrap{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:0}
 body:not(.ed-is-home) #app.ed-reading .article-wrap>:is(.prose,.toc,.article-aside){grid-column:1;grid-row:auto}
 body:not(.ed-is-home) #app.ed-reading .article-wrap>.prose{max-width:68ch;justify-self:center}
 body:not(.ed-is-home) #app.ed-reading .toc{order:-1;position:static;width:100%;max-height:none;border:0;border-block:1px solid var(--border);padding:0}
 body:not(.ed-is-home) #app.ed-reading .ed-toc-details>summary{pointer-events:auto;cursor:pointer;padding:16px 0;margin:0;display:flex;justify-content:space-between;align-items:center}
 body:not(.ed-is-home) #app.ed-reading .ed-toc-details>summary:after{content:'+';font-size:20px}
 body:not(.ed-is-home) #app.ed-reading .ed-toc-details[open]>summary:after{content:'−'}
 body:not(.ed-is-home) #app.ed-reading .ed-toc-content{max-height:45dvh;overflow:auto;padding-bottom:16px}
 body:not(.ed-is-home) #app.ed-reading .article-aside{display:flex}
}
@media(max-width:640px){
 body:not(.ed-is-home) #app:is(.ed-reading,.ed-chapter)>.container{width:calc(100% - 40px)}
 body:not(.ed-is-home) #app.ed-reading .prose h1{font-size:36px;line-height:1.12;overflow-wrap:anywhere}
 body:not(.ed-is-home) #app.ed-reading .prose h2{font-size:28px;margin-top:36px}
 body:not(.ed-is-home) #app.ed-reading .prose h3{font-size:23px}
 body:not(.ed-is-home) #app.ed-reading .article-wrap{padding-bottom:40px}
 body:not(.ed-is-home) #app.ed-reading .prose table.data :is(td,th){padding:10px 12px}
}
}
@media print{.ed-reading .toc{display:none!important}.ed-reading .article-wrap{display:block!important}.ed-reading .prose{max-width:none!important}}

