:root { color-scheme:dark; --bg:#24272b; --text:#eceeea; --muted:#aeb5ba; --accent:#99d8c7; --line:#41474b; }
* { box-sizing:border-box; letter-spacing:0; }
html { scroll-padding-top:90px; }
body { margin:0; background:var(--bg); color:var(--text); font:18px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:var(--accent); }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; }
[hidden] { display:none !important; }
:focus-visible { outline:2px solid #f0c77b; outline-offset:4px; }
.skip-link { position:fixed; top:-80px; left:12px; z-index:5; padding:10px; background:var(--bg); }
.skip-link:focus { top:8px; }
.toolbar { position:sticky; top:0; z-index:2; background:var(--bg); border-bottom:1px solid var(--line); padding-top:env(safe-area-inset-top); }
.toolbar-inner { max-width:760px; margin:auto; padding:8px 18px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.toolbar nav { display:flex; gap:5px; }
.toolbar-actions { display:flex; gap:4px; }
.toolbar nav a,.icon-button { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; flex:none; border:0; border-radius:6px; color:var(--muted); background:transparent; text-decoration:none; cursor:pointer; position:relative; }
.toolbar nav a { font-size:16px; font-weight:650; font-variant-numeric:tabular-nums; }
.toolbar nav a[aria-current="page"] { background:#374741; color:#d5f1e4; box-shadow:inset 0 -2px var(--accent); }
.icon-button svg { width:21px; height:21px; stroke-width:1.8; }
.icon-button:disabled { opacity:.28; cursor:default; }
.version-button { color:#e3c18d; border:1px solid #756446; font-size:17px; font-weight:700; font-variant-numeric:tabular-nums; }
.version-button[data-version="2"] { color:var(--accent); border-color:#568878; }
.version-button[data-version="3"] { color:#b7c9eb; border-color:#617897; }
[data-tooltip]::after { content:attr(data-tooltip); position:absolute; top:calc(100% + 5px); right:0; padding:5px 9px; background:#111416; color:#fff; border:1px solid var(--line); border-radius:4px; font-size:12px; white-space:nowrap; pointer-events:none; opacity:0; }
.toolbar-inner > :first-child::after { left:0; right:auto; }
[data-tooltip]:focus-visible::after { opacity:1; }
main { max-width:760px; margin:auto; padding:25px 22px 24px; }
article + article { margin-top:64px; }
body.notes-ready article { margin-top:0; }
.slide-heading { margin-bottom:26px; }
.slide-number { margin:0 0 6px; font-size:14px; font-weight:650; color:#e3c18d; }
h1 { margin:0; font-size:30px; font-weight:680; line-height:1.22; overflow-wrap:break-word; }
h1:focus { outline:none; }
h2 { margin:27px 0 7px; font-size:17px; font-weight:650; line-height:1.4; color:var(--accent); }
p { margin:0 0 15px; }
strong { color:#fff; font-weight:650; }
.spoken ul { margin:0; padding-left:22px; }
.spoken li { margin:0 0 17px; padding-left:3px; overflow-wrap:break-word; }
.spoken li::marker { color:var(--accent); }
.spoken li:last-child { margin-bottom:0; }
.sources { margin-top:30px; border-top:1px solid var(--line); font-size:14px; color:var(--muted); }
.sources summary { min-height:44px; padding:10px 0; cursor:pointer; }
.sources ul { padding-left:18px; margin:4px 0; }
.sources li { margin-bottom:10px; }
.sources a { color:var(--muted); text-underline-offset:3px; overflow-wrap:anywhere; }
.stepper { max-width:760px; margin:0 auto; padding:0 22px calc(26px + env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:space-between; }
.stepper span { font-size:14px; color:var(--muted); }
.stepper [data-tooltip]::after { top:auto; bottom:calc(100% + 5px); }
.stepper > :first-child::after { left:0; right:auto; }
@media (hover:hover) {
    .icon-button:not(:disabled):hover,.toolbar nav a:hover { background:#33393d; color:#fff; }
    [data-tooltip]:not(:disabled):hover::after { opacity:1; }
}
@media (max-width:600px) {
    body { font-size:18px; line-height:1.65; }
    main { padding:22px 18px 18px; }
    h1 { font-size:25px; }
    .toolbar-inner { padding:7px 10px; gap:4px; }
    .toolbar nav a,.toolbar .icon-button { width:40px; }
    .toolbar nav { gap:2px; }
    .slide-heading { margin-bottom:23px; }
}
@media (max-width:359px) {
    .toolbar-inner { padding-inline:7px; }
    .toolbar .icon-button { width:36px; }
    .toolbar nav a { width:34px; }
    .toolbar nav { gap:1px; }
    .toolbar-actions { gap:2px; }
    main { padding-inline:16px; }
}
@media print {
    @page { size:A4; margin:17mm 18mm 20mm; }
    :root { color-scheme:light; --text:#222b2b; --accent:#216f63; --muted:#586560; }
    body { background:white; color:var(--text); font:13pt/1.55 Arial,sans-serif; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    .toolbar,.stepper,.skip-link,.sources { display:none !important; }
    main { max-width:none; margin:0; padding:0; }
    article,article[hidden] { display:block !important; margin:0 !important; break-after:page; }
    article:last-child { break-after:auto; }
    .slide-heading { margin-bottom:18px; }
    .slide-number { color:#84622d; font-size:10pt; }
    h1 { font-size:22pt; line-height:1.2; }
    h2 { font-size:12pt; margin:18px 0 6px; break-after:avoid; }
    p { margin:0 0 11px; orphans:3; widows:3; }
    strong { color:#222b2b; }
    .spoken[data-notes-version="3"] { font-size:12pt; line-height:1.5; }
    .spoken li { margin-bottom:9px; break-inside:avoid; }
}
