/* Newspaper typography. Open-license families are self-hosted; see fonts/*-OFL.txt. */
:root{--paper:#fff;--field:#fff;--surface:#f4f4f4;--ink:#161616;--line:#d4d4d4;--accent:#00699c;--serif:'Source Serif 4',Georgia,serif;--body-serif:'Libre Caslon Text',Georgia,serif;--masthead-serif:'Libre Caslon Display','Times New Roman',serif}
.wrap{width:min(1200px,calc(100% - 64px))}
.topline{font-size:.75rem;font-weight:400;letter-spacing:0;padding:12px 0 4px;gap:16px}
.topline a{font-size:.8rem;font-weight:600}
.reader-controls{gap:5px}.reader-controls button,.reader-controls a{min-height:40px;min-width:40px;font-size:.75rem;font-weight:500;padding:6px 8px;border-color:var(--line);border-radius:0}.size-control output{font-size:.85rem;min-width:20px}
.masthead{font-family:var(--masthead-serif);font-weight:700;-webkit-text-stroke:.35px currentColor;font-size:clamp(3.3rem,6.4vw,5.6rem);text-transform:uppercase;letter-spacing:-.02em;word-spacing:.1em;line-height:1;padding:10px 0 18px}
.site-header nav{border-top:1px solid var(--ink);border-bottom:3px double var(--ink);font-size:.9rem;font-weight:600;gap:32px;padding:10px 0}.site-header nav .active{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.section-heading{margin:28px 0 20px;padding-bottom:10px}.section-heading h1,.section-heading h2{font-family:var(--serif);font-size:1.55rem;font-weight:650}.section-heading>span{font-size:.67rem;letter-spacing:.13em;font-weight:500;color:#666}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.07em;margin-bottom:10px;color:var(--accent)}
.lead{gap:30px;align-items:start;padding-bottom:30px}.lead-image{min-height:0}.lead h2{font-family:var(--serif);font-size:clamp(2rem,3vw,2.75rem);font-weight:650;line-height:1.08;letter-spacing:-.035em}.lead p,.story-card p{font-family:var(--serif);font-weight:400;font-size:1.05rem;line-height:1.5}.lead .byline,.byline{font-family:var(--sans);font-size:.75rem;font-weight:400;line-height:1.6;gap:8px}.read-story{font-size:.8rem;font-weight:600;margin-top:12px}.story-grid{gap:26px}.story-card h3{font-family:var(--serif);font-size:1.6rem;font-weight:650;line-height:1.15;letter-spacing:-.025em}.story-card img{margin-bottom:16px}
.article-header{max-width:1000px;margin:28px auto 24px;text-align:left}.article-header h1{font-family:var(--serif);font-size:clamp(2.3rem,4.1vw,3.45rem);font-weight:650;line-height:1.08;letter-spacing:-.035em;margin-bottom:16px;overflow-wrap:normal;hyphens:auto}.standfirst{font-family:var(--serif);font-size:1.3rem;font-weight:400;line-height:1.4;color:#454545;max-width:900px;margin:0 0 18px}.article-header .byline{justify-content:flex-start}
.article-share{max-width:1000px;margin:18px auto;font-size:.8rem}.share-button{font-size:.8rem;font-weight:500;min-height:40px;padding:8px 12px;background:transparent;color:var(--ink);border-color:var(--line)}.share-button:hover{background:var(--surface)}.listen-controls-top button{min-height:40px;font-size:.8rem;padding:8px 10px}.listen-controls-top .listen-speed{font-size:.75rem;font-weight:500}.listen-controls-top .listen-speed select{min-height:40px;font-size:.8rem;padding:6px 10px}
.article-listen{max-width:680px;margin-bottom:28px;padding:14px 0}.article-listen h2{font-size:1rem;font-weight:600}.listen-status{font-size:.8rem;font-weight:400}.article-listen .listen-controls button{font-size:.85rem;min-height:44px;padding:10px 14px}.cover{max-width:1000px;margin-bottom:30px}figcaption{font-family:var(--sans);font-size:.75rem;font-weight:400;line-height:1.5;color:#555}
.article-body{max-width:680px;margin:32px auto;font:400 1.125rem/1.75 var(--body-serif);font-kerning:normal}.article-body p{margin-bottom:1.25em}.article-body h2{font:650 1.65rem/1.2 var(--serif);letter-spacing:-.02em;margin:1.6em 0 .75em}.article-body .article-updated{font:.75rem/1.6 var(--sans);color:#666;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}.article-body .article-toc{padding:16px 20px;background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:400 .9rem/1.5 var(--sans)}.article-body .article-toc h2{font:600 1rem/1.3 var(--sans)}.article-body .article-toc a{padding:.2rem 0;text-decoration:none}.article-body .article-toc a:hover{text-decoration:underline}.sources{font:.85rem/1.65 var(--sans);font-weight:400}.article-body .sources h2{font-size:1.1rem;font-weight:600}.tags a{font-size:.75rem;font-weight:500;padding:7px 10px}footer{font-size:.8rem;font-weight:400;border-top:3px double var(--ink)}.footer-brand{font-family:var(--masthead-serif);font-size:1.8rem;font-weight:400;text-transform:uppercase;letter-spacing:-.03em}
:root[data-theme="dark"]{--paper:#151719;--field:#202326;--surface:#25292d;--ink:#f3f3f3;--line:#60666b;--accent:#88c9ec}:root[data-theme="dark"] .standfirst,:root[data-theme="dark"] figcaption,:root[data-theme="dark"] .article-updated,:root[data-theme="dark"] .section-heading>span{color:#c0c4c8}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.lead{grid-template-columns:1fr}.lead h2{font-size:2.4rem}.masthead{font-size:4.3rem}.article-header h1{font-size:2.75rem}}
@media(max-width:560px){.wrap{width:calc(100% - 32px)}.topline{padding-top:10px;gap:5px;font-size:.65rem}.reader-controls{flex-basis:auto}.reader-controls button,.reader-controls a{min-height:40px;min-width:36px;font-size:.7rem;padding:5px 7px}.topline time{order:3;flex-basis:100%;text-align:center;font-size:.65rem}.masthead{font-size:clamp(2.6rem,11vw,3.7rem);padding:14px 0 16px;white-space:nowrap;letter-spacing:-.02em}.site-header nav{font-size:.82rem;gap:8px 18px;justify-content:center;padding:10px 0}.section-heading>span{font-size:.6rem}.section-heading h1,.section-heading h2{font-size:1.35rem}.lead h2{font-size:2.1rem}.story-card h3{font-size:1.7rem}.article-header{margin:24px 0}.article-header h1{font-size:2.3rem;line-height:1.1}.standfirst{font-size:1.1rem;line-height:1.45}.article-body{font-size:1.05rem;line-height:1.75}.article-body h2{font-size:1.5rem}.article-toolbar{gap:10px}.listen-controls-top{flex:1 1 auto;width:auto;flex-wrap:wrap}.listen-controls-top .listen-speed{flex:0 1 auto}.listen-controls-top button{flex:0 1 auto;padding:8px}.listen-controls-top .listen-speed select{min-width:65px}.article-toolbar>.share-button{margin-left:0}.article-body .article-toc{padding:14px 0}.article-body .article-toc a{padding:.4rem 0}}
@media(max-width:560px){.listen-controls-top [data-listen-action="pause"],.listen-controls-top [data-listen-action="restart"]{display:none}.listen-controls-top .listen-speed{flex-wrap:nowrap;gap:4px}.listen-controls-top{flex:0 1 auto;gap:8px}.article-toolbar{flex-wrap:nowrap;gap:8px}.listen-controls-top .listen-speed select{min-width:60px;padding:6px}.article-toolbar>.share-button{padding:8px}.share-button svg{width:16px;height:16px}}

/* Stock data snapshots */
.stock-detail{max-width:1000px;margin:40px auto}.stock-price{font-size:2.6rem;font-weight:700}.stock-notice,.stock-links{border:1px solid #b7aa8c;padding:20px;margin:24px 0;background:rgba(160,140,95,.08)}.stock-link,.stock-jump a{display:inline-block;padding:10px 14px;border:1px solid #aaa;margin:4px;text-decoration:none}.stock-stats{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.stock-stats>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid #8885}.stock-stats dt{flex:1;font-size:.92rem}.stock-stats dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:55%}.stock-upload{max-width:700px;margin:30px 0}.stock-upload input{display:block;margin:10px 0 24px;max-width:100%}@media(max-width:700px){.stock-stats{grid-template-columns:1fr}.stock-detail h1{font-size:2.2rem}}

a.article-stock-prefix{font-weight:800;color:#c1121f;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px}
html[data-theme="dark"] a.article-stock-prefix{color:#ff737b}

.stock-detail .article-header .stock-identity{font-family:var(--font-body,Georgia,serif);font-size:clamp(1rem,2.3vw,1.6rem);font-weight:700;line-height:1.5;max-width:none;margin-bottom:14px}.stock-detail .article-header{max-width:none}

.stock-price{white-space:nowrap}.stock-price-date{font-size:.5em;font-weight:400}

.import-dialog{width:min(560px,90vw);max-height:85vh;overflow:auto;border:1px solid #a69571;padding:28px;background:var(--paper,#fff);color:inherit}.import-dialog::backdrop{background:#0009}.import-dialog progress{display:block;width:100%;height:20px;margin:22px 0}.import-dialog progress[hidden]{display:none}.import-totals{display:grid;grid-template-columns:1fr auto;gap:12px}.import-totals dd{margin:0;font-weight:700}.import-dialog #import-report p{font-size:.85rem}.import-dialog button{margin-top:18px}

/* Match the prominent article ticker text for screenshot credits. */
.pennygems-caption{font-size:1.3625rem;font-weight:800;line-height:1.65}.pennygems-caption .pennygems-name{color:#c1121f}html[data-theme="dark"] .pennygems-caption .pennygems-name{color:#ff737b}

.pennygems-intro a{color:#c1121f;font-weight:800;text-decoration:underline;text-underline-offset:3px}html[data-theme="dark"] .pennygems-intro a{color:#ff737b}
