/* Structured Edge — Subscriber Onboarding Guide, layout sheet.
   Tokens, fonts, panel recipe and body wash come from /recap/recap_theme_v2.css (loaded first).
   This file only adds the guide's layout: contents rail, figure slots, callout overlays, tables,
   glossary, and the print (A4 PDF) rules. Theme follows data-theme like the recap page. */

/* ── frame ─────────────────────────────────────────────────────────────────────────────────── */
.gd{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:1.5rem 1.25rem 3rem}
.gd-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.gd-main{min-width:0}
.gd-main>.rp-sec{scroll-margin-top:20px}

/* masthead extras */
.rp-mast .gd-sub{font:400 12px/1.5 var(--font-b);color:var(--ink2);letter-spacing:.02em;max-width:640px}
.gd-mast-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.gd-tag{font:500 8.5px var(--font-d);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);border:1px solid var(--line2);border-radius:3px;padding:3px 7px;background:var(--wash)}
.gd-ver{font:400 9px var(--font-d);color:var(--mute);letter-spacing:.12em;text-transform:uppercase;text-align:right}
.theme-tog{width:26px;height:22px;padding:0;position:relative;background:linear-gradient(180deg,rgba(92,211,230,.06),rgba(92,211,230,.015));border:1px solid rgba(92,211,230,.35);border-radius:3px;color:var(--cyan);cursor:pointer;transition:all .15s;box-shadow:0 0 10px rgba(92,211,230,.08),inset 0 1px 0 rgba(255,255,255,.06)}
.theme-tog::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;border:1.5px solid currentColor;background:radial-gradient(circle at 30% 30%,currentColor 0 45%,transparent 46%)}
.theme-tog:hover{background:rgba(92,211,230,.14);color:var(--hi)}
:root[data-theme="light"] .theme-tog::before{background:conic-gradient(currentColor 0 50%,transparent 50%)}
:root[data-theme="light"] .theme-tog{box-shadow:0 2px 6px rgba(7,151,189,.15)}

/* ── contents rail ─────────────────────────────────────────────────────────────────────────── */
.gd-toc{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;padding:14px 14px 16px;border:1px solid var(--line);border-radius:8px;
  background:linear-gradient(180deg,var(--panel-top),var(--panel-mid) 60%,var(--panel-bot));
  box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 0 1px color-mix(in srgb,var(--cyan) 4%,transparent),inset 0 1px 0 rgba(255,255,255,.05)}
:root[data-theme="light"] .gd-toc{box-shadow:0 6px 18px rgba(20,40,60,.12),0 0 0 1px color-mix(in srgb,var(--cyan) 6%,transparent),inset 0 1px 0 rgba(255,255,255,.9)}
.gd-toc-h{font:500 9px var(--font-d);letter-spacing:.22em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.gd-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.gd-toc li{counter-increment:toc}
.gd-toc a{display:flex;gap:9px;align-items:baseline;color:var(--ink2);text-decoration:none;font:400 12px/1.35 var(--font-b);padding:5px 6px;border-radius:4px;border-left:2px solid transparent}
.gd-toc a::before{content:counter(toc,decimal-leading-zero);font:500 9px var(--font-d);color:var(--mute);letter-spacing:.06em;flex-shrink:0;min-width:18px;font-variant-numeric:tabular-nums}
.gd-toc a:hover{color:var(--cyan);background:var(--wash2)}
.gd-toc a.is-active{color:var(--hi);border-left-color:var(--cyan);background:var(--wash2)}
.gd-toc a.is-active::before{color:var(--cyan)}
.gd-toc-foot{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.gd-toc-foot a{font:500 9px var(--font-d);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);text-decoration:none;padding:0}
.gd-toc-foot a::before{content:none}

/* ── prose ─────────────────────────────────────────────────────────────────────────────────── */
.gd-prose{max-width:860px}
.gd-prose p{font-size:14px;color:var(--ink2);line-height:1.75;margin:0 0 12px}
.gd-prose p:last-child{margin-bottom:0}
.gd-prose strong{color:var(--ink);font-weight:600}
.gd-prose em{color:var(--ink);font-style:italic}
.gd-prose code{font:500 12px/1.6 var(--font-d);color:var(--cyan);background:var(--wash2);border:1px solid color-mix(in srgb,var(--cyan) 22%,transparent);border-radius:3px;padding:2px 6px;letter-spacing:.02em;overflow-wrap:anywhere}
.gd-prose a{color:var(--cyan);text-decoration:none;border-bottom:1px dotted color-mix(in srgb,var(--cyan) 50%,transparent)}
.gd-prose a:hover{color:var(--hi)}
.gd-prose ul,.gd-prose ol{margin:0 0 12px;padding-left:22px}
.gd-prose li{font-size:14px;color:var(--ink2);line-height:1.7;margin:0 0 6px}
.gd-prose li::marker{color:var(--cyan)}
/* discrete points: a 1 px --line rule between the top-level items of a section list; nested lists stay plain */
.gd-prose>ul>li,.gd-prose>ol:not(.gd-steps)>li{margin:0;padding:7px 0;border-top:1px solid var(--line)}
.gd-prose>ul>li:first-child,.gd-prose>ol:not(.gd-steps)>li:first-child{border-top:none;padding-top:0}
.gd-prose>ul>li:last-child,.gd-prose>ol:not(.gd-steps)>li:last-child{padding-bottom:0}
.gd-prose li ul,.gd-prose li ol{margin:4px 0 0;padding-left:18px}
.gd-prose li li{font-size:13px;line-height:1.6;margin:0 0 3px;color:var(--ink2)}
.gd-prose li li::marker{color:var(--mute)}
/* numbered point blocks: accent bar, faint alternating tint, a rule between blocks */
.gd-prose ol.gd-steps{counter-reset:step;list-style:none;padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.gd-prose ol.gd-steps>li{counter-increment:step;position:relative;padding:11px 14px 11px 52px;margin:0;border-top:1px solid var(--line);border-left:2px solid color-mix(in srgb,var(--cyan) 45%,transparent)}
.gd-prose ol.gd-steps>li:first-child{border-top:none}
.gd-prose ol.gd-steps>li:nth-child(even){background:var(--wash)}
.gd-prose ol.gd-steps>li>p:last-child{margin-bottom:0}
.gd-prose ol.gd-steps>li::before{content:counter(step);position:absolute;left:13px;top:11px;width:26px;height:26px;border-radius:50%;background:var(--blubg);border:1px solid var(--blubdr);color:var(--cyan);font:700 11px/24px var(--font-d);text-align:center;box-shadow:0 0 10px var(--glow)}
.gd-prose ol.gd-steps .gd-fig{margin:10px 0 4px}
.gd-h3{font:600 15px/1.35 var(--font-b);color:var(--ink);margin:22px 0 8px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:10px;scroll-margin-top:20px}
.gd-h3:first-of-type{margin-top:6px;padding-top:0;border-top:none}
.gd-h3 .tier{font:500 8.5px var(--font-d);letter-spacing:.16em;text-transform:uppercase;color:var(--vio);border:1px solid var(--purbdr);background:var(--purbg);border-radius:3px;padding:2px 6px}
.gd-lead{font-size:16px;color:var(--ink);line-height:1.6;font-weight:500;margin-bottom:14px!important}
.gd-key{border-left:2px solid var(--cyan);padding:10px 14px;background:var(--wash2);border-radius:0 5px 5px 0;margin:14px 0}
.gd-key p{margin:0;color:var(--ink)}
.gd-lesson{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:14px 16px;border:1px solid var(--ambbdr);background:var(--ambbg);border-radius:6px;margin-top:14px}
.gd-lesson .k{font:500 9px var(--font-d);letter-spacing:.2em;text-transform:uppercase;color:var(--flip);padding-top:3px}
.gd-lesson p{margin:0;color:var(--ink)}

/* ── tables ────────────────────────────────────────────────────────────────────────────────── */
.gd-tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px;margin:12px 0 16px}
.gd-tbl{width:100%;border-collapse:collapse;font-size:13px}
.gd-tbl th{font:500 8.5px var(--font-d);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);text-align:left;padding:9px 12px;border-bottom:1px solid var(--line2);background:var(--wash);white-space:nowrap}
.gd-tbl td{padding:9px 12px;border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:top;line-height:1.55}
.gd-tbl tr:last-child td{border-bottom:none}
.gd-tbl td:first-child{color:var(--ink);font-weight:600;white-space:nowrap}
.gd-tbl td code{font:500 11.5px/1 var(--font-d);color:var(--cyan);letter-spacing:.02em}

/* status pills — colours match the dashboard's state classes */
.pill{display:inline-flex;align-items:center;gap:6px;font:600 9.5px var(--font-d);letter-spacing:.16em;text-transform:uppercase;padding:3px 9px;border-radius:3px;border:1px solid;white-space:nowrap}
.pill::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}
.pill-alive{color:var(--sup);border-color:var(--grnbdr);background:var(--grnbg)}
.pill-dormant{color:var(--flip);border-color:var(--ambbdr);background:var(--ambbg)}
.pill-dead{color:var(--res);border-color:var(--redbdr);background:var(--redbg)}
.pill-stopped{color:var(--res);border-color:var(--redbdr);background:var(--redbg)}
.pill-target{color:var(--sup);border-color:var(--grnbdr);background:var(--grnbg)}
.pill-pos{color:var(--gpos);border-color:color-mix(in srgb,var(--gpos) 40%,transparent);background:color-mix(in srgb,var(--gpos) 14%,transparent)}
.pill-neg{color:var(--gneg);border-color:color-mix(in srgb,var(--gneg) 40%,transparent);background:color-mix(in srgb,var(--gneg) 14%,transparent)}

/* colour swatches for level meanings */
.sw{display:inline-block;width:9px;height:9px;border-radius:2px;margin:0 6px -1px 0;box-shadow:0 0 6px currentColor}
.sw-res{background:var(--res);color:var(--res)}.sw-sup{background:var(--sup);color:var(--sup)}.sw-flip{background:var(--flip);color:var(--flip)}
.sw-vwap{background:var(--vwap);color:var(--vwap)}.sw-prof{background:var(--prof);color:var(--prof)}.sw-struct{background:var(--struct);color:var(--struct)}
.sw-gam{background:var(--gamlvl);color:var(--gamlvl)}.sw-gpos{background:var(--gpos);color:var(--gpos)}.sw-gneg{background:var(--gneg);color:var(--gneg)}
.sw-cyan{background:var(--cyan);color:var(--cyan)}.sw-vio{background:var(--vio);color:var(--vio)}
.sw-dot{background:var(--hi);color:var(--hi);border-radius:50%}
.sw-vp{background:color-mix(in srgb,var(--vwap) 70%,transparent);color:var(--vwap)}
.sw-ice{background:color-mix(in srgb,var(--gamlvl) 55%,transparent);color:var(--gamlvl)}
.gd-keylist>li>strong{color:var(--ink)}

/* ── figures ───────────────────────────────────────────────────────────────────────────────── */
.gd-fig{margin:16px 0 20px;break-inside:avoid}
.gd-fig-frame{position:relative;border:1px solid var(--line);border-radius:6px;background:var(--panel-bot);overflow:hidden;
  box-shadow:0 10px 26px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.04)}
:root[data-theme="light"] .gd-fig-frame{box-shadow:0 6px 18px rgba(20,40,60,.12)}
.gd-fig-frame img{display:block;width:100%;height:auto}
.gd-fig.is-narrow{max-width:560px}
.gd-fig.is-mid{max-width:760px}
.gd-fig-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gd-fig-pair .gd-fig{margin:0}
.gd-fig figcaption{display:flex;gap:10px;align-items:baseline;font-size:11.5px;color:var(--mute);margin-top:8px;line-height:1.55}
.gd-fig figcaption .n{font:500 9px var(--font-d);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);flex-shrink:0;padding-top:1px}
.gd-fig figcaption .ill{font-style:italic}
/* pending frame: keeps the slot's aspect ratio until its capture lands */
.gd-fig-ph{position:relative;aspect-ratio:var(--ar,16/9);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;
  background:repeating-linear-gradient(135deg,var(--wash) 0 12px,transparent 12px 24px),var(--panel-bot)}
.gd-fig-ph span{font:500 9.5px var(--font-d);letter-spacing:.18em;text-transform:uppercase;color:var(--mute);border:1px dashed var(--line2);border-radius:4px;padding:8px 14px;background:var(--panel-mid)}

/* callout overlay: cyan numbered markers with a 1 px leader, drawn over the frame — never baked into the image */
.gd-ann{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.gd-ann line{stroke:var(--cyan);stroke-width:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px var(--glow))}
.gd-cn{position:absolute;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;border:1px solid var(--cyan);color:var(--cyan);font:700 10px/18px var(--font-d);text-align:center;background:var(--tip-bg);box-shadow:0 0 8px var(--glow);pointer-events:none}
.gd-pt{position:absolute;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 6px var(--glow),0 0 0 2px var(--tip-bg);pointer-events:none}
.gd-legend{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:5px 16px}
.gd-legend li{display:flex;gap:9px;align-items:baseline;font-size:12px;color:var(--ink2);line-height:1.5}
.gd-legend .cn{flex-shrink:0;width:18px;height:18px;border-radius:50%;border:1px solid var(--cyan);color:var(--cyan);font:700 9.5px/16px var(--font-d);text-align:center;background:var(--tip-bg);box-shadow:0 0 6px var(--glow);position:relative;top:3px}
.gd-legend b{color:var(--ink);font-weight:600}

/* ── timeline (section 3) ──────────────────────────────────────────────────────────────────── */
.gd-timeline{display:block;width:100%;height:auto;margin:6px 0 14px}
.gd-timeline .track{stroke:var(--line2);stroke-width:2}
.gd-timeline .track-lit{stroke:var(--cyan);stroke-width:2;filter:drop-shadow(0 0 4px var(--glow))}
.gd-timeline .rth{fill:var(--wash2)}
.gd-timeline .rth-lbl{fill:var(--mute);font:500 8.5px var(--font-d);letter-spacing:.2em;text-transform:uppercase}
.gd-timeline .node{fill:var(--panel-top);stroke:var(--cyan);stroke-width:1.5;filter:drop-shadow(0 0 6px var(--glow))}
.gd-timeline .node.vio{stroke:var(--vio);filter:drop-shadow(0 0 6px var(--vglow))}
.gd-timeline .node.amb{stroke:var(--flip)}
.gd-timeline .core{fill:var(--cyan)}
.gd-timeline .node.vio+.core{fill:var(--vio)}
.gd-timeline .t{fill:var(--ink);font:600 11.5px var(--font-d);letter-spacing:.04em;text-anchor:middle;font-variant-numeric:tabular-nums}
.gd-timeline .l{fill:var(--ink2);font:500 11px var(--font-b);text-anchor:middle}
.gd-timeline .s{fill:var(--mute);font:400 10px var(--font-b);text-anchor:middle}
.gd-timeline .tick{stroke:var(--line2);stroke-width:1;stroke-dasharray:2 3}
.gd-timeline .pulse{fill:none;stroke:var(--cyan);stroke-width:1;opacity:.5}
.gd-timeline .rep{fill:var(--cyan);font:500 9px var(--font-d);letter-spacing:.16em;text-transform:uppercase;text-anchor:middle}

/* ── glossary ──────────────────────────────────────────────────────────────────────────────── */
.gd-gloss{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0}
.gd-gloss div{padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6;color:var(--ink2);break-inside:avoid}
.gd-gloss dt{display:inline;color:var(--ink);font-weight:600}
.gd-gloss dt::after{content:" — ";color:var(--mute)}
.gd-gloss dd{display:inline;margin:0}
.gd-gloss dd strong{color:var(--ink);font-weight:600}

/* ── FAQ ───────────────────────────────────────────────────────────────────────────────────── */
.gd-faq{margin:0;padding:0;list-style:none}
.gd-faq li{padding:11px 0;border-bottom:1px solid var(--line)}
.gd-faq li:last-child{border-bottom:none}
.gd-faq .q{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:3px}
.gd-faq .a{font-size:13.5px;color:var(--ink2);line-height:1.65}
.gd-faq .a em{color:var(--ink)}

/* ── cover page ────────────────────────────────────────────────────────────────────────────── */
.gd-coverpage{display:flex;flex-direction:column;gap:22px;padding:26px 28px 24px;margin-bottom:22px;position:relative}
.gd-cover-ctl{position:absolute;top:16px;right:18px;display:flex;align-items:center;gap:10px}
.gd-cover-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;width:100%;padding-right:260px}
.gd-cover-logo{width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 0 14px var(--glow))}
.gd-cover-brand{font-size:30px!important}
.gd-cover-title{font:700 22px/1.2 var(--font-d);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:6px 0 8px}
.gd-cover-tagline{font:400 15px/1.5 var(--font-b);color:var(--ink2);margin-bottom:12px}
.gd-cover-ver{font:400 9.5px var(--font-d);color:var(--mute);letter-spacing:.14em;text-transform:uppercase;margin-top:12px}
.gd-cover-contents{border-top:1px solid var(--line);padding-top:16px}
.gd-cover-contents .h{font:500 9.5px var(--font-d);letter-spacing:.24em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
.gd-cover-contents{width:100%}
.gd-cover-contents ol{list-style:none;margin:0;padding:0;counter-reset:cov;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 28px}
.gd-cover-contents li{counter-increment:cov}
.gd-cover-contents a{display:flex;gap:12px;align-items:baseline;color:var(--ink2);text-decoration:none;font:400 14px/1.4 var(--font-b);padding:5px 0;border-bottom:1px solid var(--line)}
.gd-cover-contents a::before{content:counter(cov,decimal-leading-zero);font:500 10px var(--font-d);color:var(--cyan);letter-spacing:.06em;min-width:22px;font-variant-numeric:tabular-nums}
.gd-cover-contents a:hover{color:var(--cyan)}
.gd-cover-hero{width:100%;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel-bot);box-shadow:0 10px 26px rgba(0,0,0,.45)}
.gd-cover-hero img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;object-position:top}

/* ── section cover strip (inside first section) ────────────────────────────────────────────── */
.gd-cover{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:center}
.gd-cover-tag{font:500 9px var(--font-d);letter-spacing:.26em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
.gd-cover-h{font:700 26px/1.15 var(--font-d);letter-spacing:.04em;color:var(--ink);margin-bottom:10px;text-transform:uppercase}
.gd-cover-h .ac{color:var(--cyan);text-shadow:0 0 14px var(--glow)}
.gd-cover-p{font-size:15px;color:var(--ink2);line-height:1.6;max-width:520px}
.gd-cover-list{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.gd-cover-list li{display:flex;gap:10px;align-items:baseline;font-size:13px;color:var(--ink2);line-height:1.5;padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:var(--well-bg)}
.gd-cover-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 6px var(--glow);flex-shrink:0;position:relative;top:-1px}
.gd-cover-list li.prem::before{background:var(--vio);box-shadow:0 0 6px var(--vglow)}
.gd-cover-list b{color:var(--ink);font-weight:600}

/* ── footer ────────────────────────────────────────────────────────────────────────────────── */
.gd-foot{border-top:1px solid var(--line);margin-top:.5rem;padding:1.25rem 0 0}
.gd-foot .disc{font:300 11px/1.7 var(--font-b);color:var(--mute);text-align:center;max-width:860px;margin:0 auto}
.gd-foot .disc strong{color:var(--ink2);font-weight:600}
.gd-foot .ver{font:400 9px var(--font-d);color:var(--mute);opacity:.6;text-align:center;margin-top:10px;letter-spacing:.16em;text-transform:uppercase}

/* ── responsive ────────────────────────────────────────────────────────────────────────────── */
@media(max-width:980px){
  .gd-cover-contents ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gd-cover-head{padding-right:0}
  .gd-grid{grid-template-columns:minmax(0,1fr)}
  .gd-toc{position:static;max-height:none}
  .gd-toc ol{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 12px}
  .gd-cover{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
  .gd{padding:1rem .8rem 2rem}
  .gd-coverpage{padding:18px 16px 18px}
  .gd-cover-head{grid-template-columns:minmax(0,1fr)}
  .gd-cover-logo{width:72px;height:72px}
  .gd-cover-brand{font-size:24px!important}
  .gd-cover-title{font-size:17px}
  .gd-cover-contents ol{grid-template-columns:minmax(0,1fr)}
  .gd-cover-hero img{max-height:300px}
  .gd-cover-ctl{position:static;margin-bottom:6px}
  .gd-fig-pair,.gd-gloss{grid-template-columns:minmax(0,1fr)}
  .gd-cover-h{font-size:21px}
  .rp-mast{flex-wrap:wrap}.rp-right{margin-left:0;width:100%;align-items:flex-start}
}

/* ── print / PDF (A4, dark; page numbers come from the print footer template) ──────────────── */
@media print{
  /* Reserved bands on every page: the top (18 mm) and bottom (16 mm) are page margins — the only way to inset every
     fragment, not just the first — and the header / footer templates paint them with the theme background so the
     page stays dark edge to edge; the running footer lives in the bottom band and can never overprint content.
     The horizontal inset (14 mm) is container padding, which persists across fragments. */
  @page{size:A4;margin:18mm 0 16mm}
  html,body{background:var(--bg)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0}
  body::before,body::after{display:none}
  .gd{max-width:none;padding:0 14mm}
  .gd-grid{display:block}
  .gd-toc,.gd-cover-ctl,.theme-tog{display:none}
  .gd-coverpage{display:grid;grid-template-columns:minmax(0,1fr);break-after:page;box-shadow:none;margin:0;padding:4mm 8mm 0;min-height:250mm;box-sizing:border-box;grid-template-rows:auto auto minmax(0,1fr);gap:8mm}
  .gd-main>.rp-sec{margin-bottom:0}
  .gd-cover-head{padding-right:0}
  .gd-cover-contents ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gd-cover-hero img{max-height:96mm}
  .gd-cover-logo{width:34mm;height:34mm}
  .gd-cover-brand{font-size:34px!important}
  .gd-cover-title{font-size:24px}
  .gd-cover-tagline{font-size:15px}
  .gd-cover-contents a{font-size:13px;padding:4px 0}
  .gd-cover-hero{align-self:end;box-shadow:none;max-height:96mm;display:flex;align-items:center}
  .gd-cover-hero img{width:100%;height:auto;max-height:96mm;object-fit:cover;object-position:top}
  .gd-main>.rp-sec{box-shadow:none;break-inside:auto;padding:12px 14px 14px;margin:0 0 10px;break-before:page}
  .rp-h2,.gd-h3{break-after:avoid;break-inside:avoid}
  .gd-h3+.gd-fig,.rp-h2+.gd-fig,.rp-h2+.gd-prose>p:first-child,.gd-h3+p{break-before:avoid}
  .gd-prose>p{orphans:3;widows:3}
  /* per-section sizing so a one-page section uses its page and a section that nearly fits does not spill a sliver */
  #primer .gd-tbl{font-size:13.5px}
  #primer .gd-tbl td,#primer .gd-tbl th{padding:14px 12px}
  #primer .gd-prose p,#primer .gd-key p{font-size:13.5px}
  #day .gd-timeline{margin:12mm 0 14mm}
  #day .gd-prose li{font-size:14px;line-height:1.75;padding:11px 0}
  #card .gd-fig#fig-19 .gd-fig-frame img{max-height:112mm}
  #worked .gd-fig.is-mid .gd-fig-frame img{max-height:80mm}
  #tools .gd-fig-frame img{max-height:41mm}
  #briefing .gd-fig#fig-30 .gd-fig-frame img{max-height:138mm}
  #recap .gd-fig#fig-31 .gd-fig-frame img{max-height:158mm}
  #indicator .gd-fig-frame img{max-height:120mm}
  #mobile .gd-fig-frame img{max-height:110mm}
  #glossary .gd-gloss div{padding:6px 0;font-size:11.5px;line-height:1.5}
  .gd-prose>ul>li,.gd-prose>ol:not(.gd-steps)>li{padding:5px 0;break-inside:avoid}
  .gd-prose li li{font-size:11.5px}
  .gd-prose ol.gd-steps>li{padding:8px 12px 8px 46px;break-inside:avoid;border-left-color:var(--cyan)}
  .gd-prose ol.gd-steps>li:nth-child(even){background:color-mix(in srgb,var(--cyan) 5%,transparent)}
  .gd-prose ol.gd-steps>li::before{left:11px;top:8px}
  .gd-h3,.rp-h2{break-after:avoid}
  .gd-prose p,.gd-prose li,.gd-tbl,.gd-gloss div,.gd-faq .a{font-size:12.5px}
  .gd-prose p{line-height:1.6}
  .gd-lead{font-size:14px}
  .gd-fig,.gd-tbl-wrap,.gd-key,.gd-lesson,.gd-gloss div,.gd-faq li{break-inside:avoid}
  .gd-fig{margin:6px 0 8px}
  .gd-fig-frame{box-shadow:none;width:fit-content;max-width:100%;margin:0 auto}
  .gd-fig-frame img{max-height:66mm;width:auto;max-width:100%;display:block}
  .gd-fig.is-mid .gd-fig-frame img{max-height:88mm}
  .gd-fig.is-narrow .gd-fig-frame img{max-height:100mm}
  .gd-fig#fig-31 .gd-fig-frame img{max-height:215mm}
  .gd-fig#fig-30 .gd-fig-frame img,.gd-fig#fig-27 .gd-fig-frame img{max-height:170mm}
  .gd-fig-ph{max-height:66mm;margin:0 auto}
  .gd-fig.is-mid .gd-fig-ph{max-height:88mm}
  .gd-fig figcaption{margin-top:5px;font-size:10.5px}
  .gd-fig-pair{gap:10px}
  .gd-legend{gap:1px 10px;grid-template-columns:repeat(3,1fr)}
  .gd-legend li{font-size:10.5px;line-height:1.35}
  .gd-prose a{border-bottom:none}
}
