:root{color-scheme:light;--paper:#fcfbf8;--ink:#203039;--muted:#586973;--accent:#245d72;--line:#d9dfdf;--panel:#eef2f2;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:1px solid var(--line);background:transparent;border-radius:5px;padding:9px 14px;cursor:pointer}button:hover{background:var(--panel)}button:disabled{opacity:.3;cursor:default}a{color:var(--accent);text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,p,figure{margin:0}h1{font-size:clamp(42px,5.4vw,78px);font-weight:600;line-height:1.12;letter-spacing:-.045em;max-width:1100px}h2{font-size:clamp(30px,3.2vw,48px);font-weight:600;letter-spacing:-.035em;line-height:1.15;margin-bottom:30px}h3{font-size:1em;line-height:1.3;font-weight:650;margin-bottom:10px}strong{font-weight:650}.accent{color:var(--accent)}
.toolbar{height:76px;padding:0 4vw;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);font-size:14px;background:var(--paper);position:relative;z-index:5}.brand{text-decoration:none;color:var(--ink);font-size:21px;font-weight:700;letter-spacing:.08em}.brand span{color:var(--muted);font-weight:400}.toolbar nav{display:flex;gap:8px;margin-left:auto}#chapter{color:var(--muted)}
.slide{padding:42px 5vw 38px;max-width:1600px;margin:auto;line-height:1.5;font-size:clamp(20px,2vw,29px);border-bottom:1px solid var(--line)}.content{max-width:1300px}.content> *+*{margin-top:22px}.content>ul:first-child,.content>ol:first-child{margin-top:0}ul,ol{padding-left:1.25em;margin:16px 0}li{padding-left:.2em;margin:10px 0}li::marker{color:var(--accent)}.columns{display:flex;gap:38px;align-items:center;margin:10px 0 26px}.column{flex:1;min-width:0}.column> *+*{margin-top:18px}.block{border-left:3px solid #9bafb6;padding:16px 22px;background:var(--panel);margin:20px 0}.emphasis{border-left-color:var(--accent);background:#e8eff1}.block ul,.block ol{margin-bottom:0}.source{font-size:15px;color:var(--muted)}figure{text-align:center}figure img{display:block;max-width:100%;max-height:37vh;width:auto;height:auto;object-fit:contain;margin:auto;cursor:zoom-in}figure img:focus-visible{outline:3px solid var(--accent)}.diagram{width:100%;max-height:360px;display:block}.center{text-align:center}.center table{text-align:left}.flow{display:flex;align-items:center;justify-content:center;gap:18px;margin:24px auto 36px}.flow>div{padding:18px;border:1px solid #bac8cc;border-radius:5px;background:var(--panel);flex:1}.flow.vertical{flex-direction:column;gap:7px;margin:0 auto;max-width:500px}.flow.vertical>div{padding:9px 22px;width:100%}.arrow{color:var(--accent)}.avatar-symbol{text-align:center}.avatar-symbol svg{width:230px;max-height:26vh}.avatar-symbol p{font-size:.9em}table{border-collapse:collapse;width:100%;font-size:.88em;line-height:1.4}td,th{padding:16px 18px;border-bottom:1px solid var(--line);vertical-align:top}th{text-align:left;background:var(--panel)}td:first-child{font-weight:600;min-width:120px}.table-wrap{overflow-x:auto}.cover{padding:4vh 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:15px;color:var(--accent);margin-bottom:30px}.byline{margin-top:40px;color:var(--muted);font-size:22px;line-height:1.6}.closing{font-size:32px;color:var(--muted)}
.controls{height:70px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;background:var(--paper);border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.pager{display:flex;gap:18px;align-items:center}.pager button{font-size:22px;padding:3px 16px}.pager output{font-variant-numeric:tabular-nums;min-width:68px;text-align:center;color:var(--ink)}.progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--line)}#progress-value{height:100%;background:var(--accent);transition:width .26s ease}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
body.presenting{height:100dvh;overflow:hidden;display:grid;grid-template-rows:76px minmax(0,1fr) 70px}.presenting #deck{position:relative;overflow:hidden;min-height:0}.presenting .slide{position:absolute;inset:0;overflow:auto;max-width:1600px;width:100%;border:0;display:flex;flex-direction:column;justify-content:safe center}.presenting .slide[hidden]{display:none}.presenting .title-slide{justify-content:center}.presenting .slide:focus{outline:none}body.reading .slide{min-height:70vh;padding-top:70px;padding-bottom:70px}.reading .toolbar{position:sticky;top:0}.reading .controls{position:sticky;bottom:0}.reading .slide{scroll-margin-top:75px}.reading #reading{background:var(--panel)}
dialog{border:1px solid var(--line);border-radius:10px;padding:28px;color:var(--ink);background:var(--paper);max-height:85dvh;width:min(850px,92vw)}dialog::backdrop{background:rgba(25,38,44,.45)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.dialog-heading h2{margin:0;font-size:30px}#overview nav{display:grid;gap:3px}#overview nav a{display:grid;grid-template-columns:35px 1fr;gap:8px;text-decoration:none;padding:12px;border-radius:4px;color:var(--ink)}#overview nav a:hover,#overview nav a[aria-current]{background:var(--panel)}#overview nav a>span:first-child{color:var(--muted);font-variant-numeric:tabular-nums}#overview small{grid-column:2;color:var(--muted)}#image-view{width:96vw;height:92dvh;padding:50px 20px 20px}#image-view img{width:100%;height:100%;object-fit:contain}#image-view .close{position:absolute;right:12px;top:9px}
@media(min-width:1100px) and (max-height:760px){.slide{font-size:23px;padding-top:25px;padding-bottom:25px}h2{font-size:36px;margin-bottom:22px}.block{padding:12px 18px;margin:16px 0}li{margin:7px 0}.content> *+*{margin-top:17px}.columns{margin-bottom:15px}.flow.vertical{gap:3px}.flow.vertical>div{padding:4px 20px}}
@media(max-width:760px){.toolbar{padding:0 18px;gap:12px;height:65px}.toolbar nav{gap:5px}.toolbar button{padding:8px 10px}#chapter,#fullscreen span,.hint,.credit{display:none}body.presenting{grid-template-rows:65px minmax(0,1fr) 64px}.slide{font-size:20px;padding:28px 22px}h2{font-size:30px;margin-bottom:24px}.columns{flex-direction:column;align-items:stretch;gap:20px}.column{flex:auto}.block{padding:15px 17px}figure img{max-height:32vh}.flow{flex-wrap:wrap;gap:10px}.flow>div{min-width:100px;padding:12px}.flow.vertical{gap:4px}.flow.vertical>div{min-width:0}.controls{height:64px;justify-content:center}.presenting .slide{justify-content:flex-start}.byline{font-size:20px}.cover{padding:3vh 0}table{font-size:18px}td,th{padding:12px 10px}.table-wrap{max-width:100%}dialog{padding:18px}}
:root[data-theme="dark"]{color-scheme:dark;--paper:#151d23;--ink:#e5edf1;--muted:#afbec8;--accent:#8dcde1;--line:#384751;--panel:#223039}
:root[data-theme="dark"] .emphasis{background:#243b46}
:root[data-theme="dark"] .flow>div{border-color:#617783}
:root[data-theme="dark"] .diagram rect,:root[data-theme="dark"] .avatar-symbol circle{fill:var(--panel);stroke:#8aa4b0}
:root[data-theme="dark"] .diagram text{fill:var(--ink)}
:root[data-theme="dark"] .diagram path[stroke],:root[data-theme="dark"] .avatar-symbol path{stroke:var(--accent)}
:root[data-theme="dark"] .diagram marker path{fill:var(--accent)}
#theme{font-size:20px;line-height:1;min-width:40px}
@media(max-width:400px){.toolbar{padding-inline:12px;gap:8px}.toolbar button{padding-inline:8px}.brand{font-size:18px}#theme{min-width:34px}}
@media print{:root[data-theme="dark"]{color-scheme:light;--paper:#fff;--ink:#203039;--muted:#586973;--accent:#245d72;--line:#d9dfdf;--panel:#eef2f2}:root[data-theme="dark"] .emphasis{background:#e8eff1}}
@media(min-width:761px) and (max-height:820px){#slide-17 figure img{max-height:30vh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{@page{size:A4 landscape;margin:12mm}.toolbar,.controls,dialog,.no-script{display:none!important}body.presenting{display:block;height:auto;overflow:visible}#deck{overflow:visible!important}.slide,.presenting .slide,.presenting .slide[hidden]{display:block!important;position:static!important;overflow:visible;break-after:page;border:none;min-height:0;padding:12px;font-size:18px;max-width:none}.slide:last-child{break-after:auto}h1{font-size:48px}h2{font-size:30px}.columns{display:flex;flex-direction:row}.content>*+*{margin-top:16px}figure img{max-height:100mm}.block{break-inside:avoid}li{margin:7px 0}.source{font-size:12px}}
