/* Reading preferences: larger defaults without enlarging display headlines. */
:root{--reading-text:20px;--reading-secondary:16px;--reading-ui:16px}
:root[data-reading-size="large"]{--reading-text:23px;--reading-secondary:18px;--reading-ui:18px}
:root[data-reading-size="extra-large"]{--reading-text:26px;--reading-secondary:20px;--reading-ui:20px}
@media screen{
 body{font-size:var(--reading-text);line-height:1.65}
 header,.toolbar{flex-wrap:wrap;gap:16px}
 header>nav,.toolbar nav{font-size:var(--reading-ui);line-height:1.5;flex-wrap:wrap;gap:10px 22px}
 header>nav a,.toolbar nav a{min-height:44px;display:inline-flex;align-items:center}
 .text-size-controls{flex:1 0 100%;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding-top:10px;border-top:1px solid var(--line,#ccd4db);font:700 16px/1.4 Arial,Helvetica,sans-serif;letter-spacing:normal}
 .text-size-label{margin-right:6px}
 .text-size-controls button,.toolbar .text-size-controls button{min-height:44px;padding:8px 14px;border:1px solid var(--ink);border-radius:4px;font:700 16px/1.4 Arial,Helvetica,sans-serif;background:transparent;color:var(--ink);cursor:pointer}
 .text-size-controls button[aria-pressed="true"],.toolbar .text-size-controls button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
 .text-size-controls button:hover{text-decoration:underline;text-underline-offset:4px}
 button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
 .byline,.meta,.tag,.eyebrow,.review-bar,.page-top,.page-bottom,.cover-top,.artcredit,figcaption,.note-label,.signature,.source-kind,.quiet,.sources,footer,.notes-body,summary,.read,.read-link,.contents-list span,.contents-list em,.cover-teasers span,.blue-note small,.blue-note>span,.stamp,.experiment-strip>span,.question>span,blockquote cite{font-size:var(--reading-secondary);line-height:1.55}
 .page-bottom a,.bottom-nav,.print-again{font-size:var(--reading-ui);line-height:1.5}
 .notebook ol,.parts>div,.parts p:last-child,.experiment-strip p,.dispatch p,.ownership,.cover-bottom p{font-size:var(--reading-text);line-height:1.6}
 .cover-teasers a{font-size:var(--reading-text);line-height:1.4}
 .dek,.deck,.article .deck,.abe-grid .dek,.intro{font-size:1.2em;line-height:1.5}
 .story-grid article p,.article>p{line-height:1.7}
 .story h2,.contents h2{font-size:clamp(38px,5.5vw,68px);line-height:1.08;letter-spacing:-.045em}
 .sheet,.card,.mast>*{min-width:0}
 .bottom-nav,.page-top,.page-bottom,.review-bar,.cover-top{flex-wrap:wrap}
 .cover-teasers a,.contents-list strong,.card h2,.article h1,.story h2,a,p{overflow-wrap:break-word}
 .sources a,.notes-body a{overflow-wrap:anywhere}
}
@media screen and (max-width:800px){
 .toolbar{position:static}
 .text-size-controls{justify-content:flex-start}
}
@media screen and (max-width:520px){
 header,.toolbar{padding:14px 16px;gap:8px 16px;align-items:flex-start}
 header>nav,.toolbar nav{justify-content:flex-start;gap:6px 16px;flex:1 0 100%}
 .text-size-controls{gap:8px}
 .text-size-label{flex-basis:100%}
 .text-size-controls button,.toolbar .text-size-controls button{padding:8px 11px}
 .page-top,.page-bottom,.review-bar,.cover-top{letter-spacing:.025em}
 .cover-teasers{grid-template-columns:1fr}
 .article h1{font-size:38px;line-height:1.08;letter-spacing:-.04em}
 .bottom-nav{flex-wrap:wrap}
}
@media print{
 .text-size-controls{display:none!important}
 body{font-size:12pt}
}
/* A compact author introduction belongs to the masthead, not a separate banner. */
.masthead-identity{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;text-align:left}
.toolbar .masthead-sparky{font:700 14px/1.4 Arial,Helvetica,sans-serif;letter-spacing:0;color:var(--blue);min-height:24px;display:inline-flex;align-items:center;gap:5px;text-decoration:underline;text-underline-offset:3px}
.toolbar .masthead-sparky:hover{text-decoration-thickness:2px}
@media(max-width:520px){.masthead-identity{flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px 16px}.toolbar .masthead-sparky{min-height:36px}}
@media print{.masthead-sparky{display:none!important}}
