:root {
  color-scheme: light;
  --paper:#fff; --surface:#fff; --ink:#111; --muted:#333; --line:#d5d5d5;
  --accent:#1F76A9; --rule:#2699DD; --tint:#eef7fc; --quote:#333; --chip:#1F76A9;
  --code:#f3f3f3; --focus:#1F76A9; --sidebar:250px; --header:84px;
}
html[data-theme="dunkel"] {
  color-scheme: dark;
  --paper:#0e1620; --surface:#15202b; --ink:#f5f8fb; --muted:#c3ced6; --line:#2c4254;
  --accent:#2699DD; --rule:#2699DD; --tint:#122b3e; --quote:#d5e0e8; --chip:#2699DD;
  --code:#101922; --focus:#2699DD;
}
* { box-sizing:border-box; }
html { scroll-padding-top:110px; }
body { margin:0; background:var(--paper); color:var(--ink); font:19px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--accent); text-underline-offset:.22em; }
button { font:inherit; cursor:pointer; }
a:focus-visible, button:focus-visible { outline:3px solid var(--focus); outline-offset:5px; }
[hidden] { display:none !important; }
.skip-link { position:fixed; top:-100px; left:15px; padding:12px 18px; background:var(--surface); z-index:10; }
.skip-link:focus { top:12px; }
.masthead { min-height:var(--header); display:flex; align-items:center; gap:35px; padding:15px 30px; background:var(--surface); border-bottom:3px solid var(--rule); position:sticky; top:0; z-index:3; }
.wordmark { flex:0 0 auto; line-height:0; text-decoration:none; }
.logo { display:block; height:54px; width:auto; }
.logo-muted { fill:#7b7979; }
.logo-blue { fill:#05a1e6; }
.logo-ink { fill:#4f4c4d; }
html[data-theme="dunkel"] .logo-muted { fill:#c3ced6; }
html[data-theme="dunkel"] .logo-ink { fill:#f5f8fb; }
.meeting-label { font-size:14px; color:var(--muted); }
.meeting-label span { display:block; font-size:16px; font-weight:650; color:var(--ink); }
.masthead-tools { margin-left:auto; display:flex; align-items:center; gap:8px; }
.theme-switch { display:flex; border:1px solid var(--line); border-radius:4px; overflow:hidden; }
.theme-switch button, #fullscreen { background:var(--surface); color:var(--ink); border-radius:4px; padding:7px 12px; font-size:14px; }
.theme-switch button { border:0; }
.theme-switch button + button { border-left:1px solid var(--line); }
.theme-switch button:hover, .theme-switch button[aria-pressed="true"] { background:var(--tint); color:var(--accent); }
#fullscreen { border:1px solid var(--line); }
.layout { display:grid; grid-template-columns:var(--sidebar) minmax(0,1fr); }
.sidebar { padding:26px 20px; border-right:1px solid var(--line); position:sticky; top:var(--header); max-height:calc(100dvh - var(--header)); overflow-y:auto; align-self:start; }
.sidebar a { display:block; color:var(--muted); text-decoration:none; border-radius:3px; }
.main-nav a { font-size:15px; padding:10px 12px; margin-bottom:4px; font-weight:650; }
.main-nav a[aria-current="page"] { color:var(--accent); background:var(--tint); }
.sidebar a:hover { background:var(--tint); color:var(--accent); }
.page-toc { border-top:1px solid var(--line); margin-top:22px; padding-top:20px; }
.page-toc p { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); margin:0 10px 12px; }
.page-toc a { font-size:12px; padding:7px 10px; line-height:1.45; border-left:2px solid transparent; }
.page-toc a[aria-current="location"] { color:var(--accent); border-left-color:var(--rule); background:var(--tint); }
.sidebar-note { font-size:11px; color:var(--muted); margin:26px 10px 0; line-height:1.6; }
main { min-width:0; max-width:1400px; padding:42px 60px 40px; }
main:focus { outline:none; }
.eyebrow { margin:0 0 18px; color:var(--accent); font-size:12px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.dossier-content { max-width:1050px; }
h1,h2,h3,h4 { text-wrap:balance; letter-spacing:-.025em; line-height:1.2; }
h1 { font-size:clamp(35px,3.3vw,54px); font-weight:720; margin:0 0 25px; }
h2 { font-size:clamp(29px,2.4vw,39px); font-weight:690; margin:0 0 20px; }
h3 { font-size:24px; font-weight:650; margin:35px 0 13px; }
h4 { font-size:21px; margin:25px 0 12px; }
p { margin:0 0 20px; max-width:950px; }
.page-intro > p:first-of-type, .story-section > h2 + p { color:var(--muted); font-size:22px; line-height:1.55; }
.page-intro { padding-bottom:15px; }
.story-section { border-top:1px solid var(--line); padding-top:45px; margin-top:50px; }
.story-section > p > em:only-child { color:var(--accent); font-size:14px; font-style:normal; font-weight:650; }
ul,ol { padding-left:27px; margin:22px 0 28px; max-width:950px; }
li { padding-left:5px; margin:10px 0; }
li::marker { color:var(--rule); font-weight:700; }
blockquote { background:var(--tint); border-left:4px solid var(--rule); margin:30px 0; padding:23px 27px; max-width:100%; }
blockquote p { margin:0 0 12px; color:var(--quote); font-size:18px; }
blockquote p:first-child { font-size:23px; line-height:1.4; color:var(--ink); }
blockquote p:last-child { margin-bottom:0; }
blockquote strong { font-weight:650; }
.demo-link { display:inline-block; padding:10px 15px; font-size:16px; font-weight:650; line-height:1.4; border:1px solid var(--chip); text-decoration:none; border-radius:4px; background:var(--surface); color:var(--accent); }
.demo-link:hover { background:var(--tint); }
.demo-link.pending { color:var(--muted); border-color:var(--line); font-weight:400; }
.demo-link.pending small { font-size:12px; }
table { border-collapse:collapse; width:100%; font-size:16px; margin:25px 0; display:block; overflow-x:auto; }
th,td { text-align:left; padding:13px 16px; border:1px solid var(--line); vertical-align:top; }
th { background:var(--tint); }
img,video { max-width:100%; height:auto; }
.video-demo { margin:25px 0 30px; max-width:960px; }
.video-demo video { display:block; width:100%; aspect-ratio:16 / 9; background:#111; border:1px solid var(--line); }
.video-demo figcaption { margin-top:10px; color:var(--muted); font-size:14px; line-height:1.5; }
.video-demo figcaption a { white-space:nowrap; }
pre { overflow-x:auto; padding:18px; background:var(--code); font-size:15px; }
code { overflow-wrap:anywhere; }
.page-switch { display:flex; justify-content:space-between; gap:25px; flex-wrap:wrap; border-top:2px solid var(--line); padding:25px 0; margin-top:65px; }
.page-switch a { font-size:16px; text-decoration:none; font-weight:650; }
.document-footer { font-size:12px; color:var(--muted); padding:15px 0 10px; }
@media (min-width:1600px) { main { padding:52px 80px; } body { font-size:21px; } }
@media (max-width:1100px) { :root { --sidebar:220px; } main { padding:35px 35px; } .masthead { gap:20px; padding-inline:22px; } .logo { height:48px; } }
@media (max-width:700px) {
  :root { --header:84px; }
  html { scroll-padding-top:168px; }
  .masthead { gap:10px; padding:12px 18px; flex-wrap:wrap; }
  .logo { height:42px; }
  .meeting-label { margin-left:auto; font-size:10px; text-align:right; }
  .meeting-label span { font-size:11px; max-width:185px; }
  .masthead-tools { margin-left:0; flex-basis:100%; justify-content:flex-end; }
  .theme-switch button, #fullscreen { font-size:11px; padding:4px 8px; }
  .layout { display:block; }
  .sidebar { position:relative; top:0; padding:12px 16px; max-height:none; border-right:0; border-bottom:1px solid var(--line); }
  .main-nav { display:flex; gap:8px; overflow-x:auto; }
  .main-nav a { font-size:12px; white-space:nowrap; padding:7px 9px; margin:0; }
  .page-toc,.sidebar-note { display:none; }
  main { padding:27px 21px; }
  h1 { font-size:35px; }
  h2 { font-size:29px; }
  h3 { font-size:23px; }
  .page-intro > p:first-of-type,.story-section > h2 + p { font-size:20px; }
  .story-section { padding-top:30px; margin-top:35px; }
  blockquote { padding:20px; }
  blockquote p:first-child { font-size:21px; }
  blockquote p { font-size:17px; }
  .demo-link { max-width:100%; overflow-wrap:anywhere; font-size:14px; }
}
@media print {
  body { background:white; color:black; font-size:11pt; }
  .masthead { position:static; padding:0 0 15px; }
  :root, html[data-theme] { color-scheme:light; --paper:#fff; --surface:#fff; --ink:#111; --muted:#333; --line:#d5d5d5; --accent:#1F76A9; --rule:#2699DD; --tint:#eef7fc; --quote:#333; --chip:#1F76A9; --code:#f3f3f3; }
  html[data-theme] .logo-muted, .logo-muted { fill:#7b7979; }
  html[data-theme] .logo-blue, .logo-blue { fill:#05a1e6; }
  html[data-theme] .logo-ink, .logo-ink { fill:#4f4c4d; }
  .sidebar,.masthead-tools,.skip-link,.page-switch { display:none !important; }
  .layout { display:block; }
  main { padding:20px 0; max-width:none; }
  .dossier-content { max-width:none; }
  h1 { font-size:26pt; }
  h2 { font-size:20pt; }
  h3 { font-size:14pt; }
  h4 { font-size:12pt; }
  h1,h2,h3,h4 { break-after:avoid; }
  .story-section { margin-top:30px; padding-top:25px; }
  .page-intro > p:first-of-type,.story-section > h2 + p { font-size:13pt; }
  blockquote { break-inside:avoid; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  blockquote p:first-child { font-size:13pt; }
  blockquote p { font-size:11pt; }
  .demo-link { font-size:10pt; }
}
