:root { --navy:#0d1b2d; --crimson:#8b0f27; --red:#e3183f; --teal:#146c77; --green:#57a773; --pale:#f7e9ed; --ice:#e8f2fc; --ink:#1d2935; --muted:#697586; }
body { margin:0; background:#edf1f5; color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.sheet { max-width:210mm; margin:auto; background:#fff; }
.page { position:relative; box-sizing:border-box; min-height:297mm; padding:11mm 12mm 15mm; overflow:hidden; }
.front { border-top:6px solid var(--navy); } .back { border-top:6px solid var(--crimson); }
.hero,.page-head { display:flex; justify-content:space-between; align-items:flex-start; }
.eyebrow { color:var(--crimson); font-size:8pt; font-weight:800; letter-spacing:.18em; margin:0 0 3mm; }
h1 { color:var(--navy); font-size:24pt; line-height:.94; letter-spacing:.02em; margin:0; } .subtitle { margin:2mm 0 1mm; font-size:13pt; font-weight:700; } .tagline,.page-head p { color:var(--muted); margin:0; font-size:9pt; }
.badge { border:1px solid #dfbac4; border-radius:50%; width:21mm; height:21mm; display:grid; place-content:center; text-align:center; color:var(--crimson); font-weight:900; font-size:13pt; line-height:1; } .badge span { font-size:7pt; font-weight:600; margin-top:1mm; }
.graph { margin:3mm 0 2.5mm; border:1px solid #d8e0e7; border-radius:5px; padding:1.5mm 2mm 1mm; background:#fff; } .graph img { width:100%; height:30mm; object-fit:fill; display:block; } figcaption { text-align:center; color:var(--muted); font-size:7.8pt; }
.legend-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--green); } .feature{background:#72c7d1}.release{background:#7d9cc6}.legend-cherry{color:var(--red);font-weight:900}
.hero-copy{min-width:0}.front h1{max-width:150mm}.paper-columns{display:grid;grid-template-columns:1fr 1fr;gap:5mm;align-items:start}.paper-column{min-width:0}.topic{break-inside:avoid;margin:0 0 4mm}.topic:last-child{margin-bottom:0}.topic h2{font-size:10.4pt;overflow-wrap:anywhere}.page-head h1{max-width:180mm}.callout{margin:2mm 0;padding:2.2mm 3mm;border-radius:5px;border-left:4px solid var(--crimson);background:var(--pale);break-inside:avoid}.callout .callout-title{color:var(--crimson);font-size:8.6pt;font-weight:800;margin-bottom:1mm}.callout .callout-icon-container{display:none}.callout p{margin:0}.callout-warning{border-left-color:var(--red);background:#fff1f2}.callout-warning .callout-title{color:var(--red)}.callout-tip{border-left-color:var(--green);background:#eef8f1}.callout-tip .callout-title{color:#287948}.page blockquote{margin:0;padding:2.2mm 3mm;border-left:4px solid var(--crimson);border-radius:5px;background:var(--pale)}.page blockquote p{margin:0}.page blockquote p:first-child{color:var(--crimson);font-size:8.6pt;font-weight:800;margin-bottom:1mm}.topic blockquote{margin:2mm 0}.topic blockquote p{font-size:8.1pt}.topic blockquote p:first-child{color:var(--crimson)}.page .topic blockquote:last-child{border-left-color:var(--red);background:#fff1f2}.page .topic blockquote:last-child p:first-child{color:var(--red)}.graph p{margin:0}.graph em{display:block;text-align:center;color:var(--muted);font-size:7.8pt}.signature p{margin:0}.signature .quarto-figure,.signature figure{margin:0}.signature figcaption{display:none}.signature p:first-child{display:block}.signature p:last-child{display:flex;flex-direction:column;line-height:1.15}.signature img{display:block}
pre { position:relative; margin:1.2mm 0; padding:2.2mm 2.5mm; border-left:3px solid var(--red); background:#f4f6f8; border-radius:0 4px 4px 0; white-space:pre; overflow-x:auto; overflow-y:hidden; } pre code { color:var(--navy); font-size:9.15pt; line-height:1.28; white-space:pre; overflow-wrap:normal; word-break:normal; } .sourceCode .im,.sourceCode .fu,.sourceCode .cf{color:var(--teal);font-weight:800}.sourceCode .ot,.sourceCode .op{color:var(--red);font-weight:700}.sourceCode .st{color:var(--green)}.sourceCode .co{color:var(--muted);font-style:italic}.sourceCode .va{color:var(--crimson)}.sourceCode .kw{color:#7048a8;font-weight:700}.tok-command{color:var(--teal);font-weight:800}.tok-option{color:var(--red);font-weight:700}.tok-string{color:var(--green)}.tok-comment{color:var(--muted);font-style:italic}.copy-code{position:absolute;top:4px;right:5px;border:1px solid #d8e0e7;border-radius:3px;background:#fff;color:var(--crimson);font:600 6.5pt/1 system-ui;padding:4px 6px;cursor:pointer;opacity:.85;transition:opacity .15s} pre:hover .copy-code,.copy-code:focus{opacity:1}
.grid { display:grid; gap:4mm; } .two { grid-template-columns:1fr 1fr; } .setup-sequence{gap:2mm}.three{grid-template-columns:repeat(3,1fr);gap:3mm}.grid section { min-width:0; }
.front .topic{margin-bottom:2.5mm}.front .topic p{font-size:8.2pt;line-height:1.2}.front pre{padding:1.6mm 2.2mm;margin:1mm 0}.front pre code{font-size:8.5pt;line-height:1.2}.front .callout{margin:1.5mm 0;padding:1.7mm 2.5mm}.front .callout p{font-size:8.1pt}
.highlight { background:var(--pale); border-radius:5px; padding:2.5mm 3mm; border-left:4px solid var(--crimson); } .principles{margin-bottom:3mm}.conflict{background:var(--ice);padding:1.5mm 2mm;border-radius:3px;font-size:7.8pt;line-height:1.3}.lower{margin-top:2.5mm}.bottom-grid{margin-top:3mm}.warning{color:var(--muted);font-size:7.8pt}.cleanup-row{margin-top:2.5mm;border-top:1px solid #d8e0e7;padding-top:2mm}.cleanup-row pre{display:inline-block;width:51%;vertical-align:top}.cleanup-row p{display:inline-block;width:43%;margin-left:3%;vertical-align:top}
.page-head h1 { font-size:21pt; margin-bottom:1.5mm; } .page-head h1 span{color:var(--red)} .page-head{margin-bottom:3mm}.hotfix{margin:2.5mm 0}.hotfix pre{background:#fff}.back .three{margin-bottom:2.5mm}.flag{background:#f8eef1;padding:2.5mm 3mm;border-radius:5px;border-top:3px solid var(--crimson)}.flag pre{border:0;background:#fff}.flag pre code{font-size:7.7pt}.check{list-style:none;padding:0;margin:0}.check li{margin:.7mm 0}.check li:before{content:"□";color:var(--red);font-weight:900;margin-right:1.5mm}.bottom-back{margin-bottom:2.5mm}.final-row{border-top:1px solid #d8e0e7;padding-top:2mm}.pitfalls,.glossary{font-size:8pt}.signature{position:absolute;right:12mm;bottom:5mm;display:grid;grid-template-columns:9mm auto;grid-template-rows:auto auto;column-gap:2mm;align-items:center;color:var(--muted);font-size:7.5pt;font-weight:700}.signature .quarto-figure,.signature figure{grid-column:1;grid-row:1;margin:0}.signature p:nth-of-type(1){grid-column:2;grid-row:1;margin:0;line-height:1.12}.signature p:nth-of-type(2){grid-column:1 / span 2;grid-row:2;margin:1mm 0 0;text-align:center;font-size:6pt;font-weight:500;font-style:italic;letter-spacing:.01em}.signature img{width:9mm;height:9mm;object-fit:contain}.signature figcaption{display:none}.refs{max-width:210mm;margin:auto;padding:5mm 12mm;color:var(--muted);font-size:8pt}.refs a{color:var(--crimson)}
.command-glossary{margin-top:3mm;border-top:1px solid #d8e0e7;padding-top:2mm}.command-glossary h2{font-size:10pt;margin:0 0 1.5mm;color:var(--navy)}.command-grid{display:grid;grid-template-columns:1fr 1fr;gap:5mm}.command-col{font-size:7pt;line-height:1.08}.command-col p{margin:0 0 .7mm}.command-col strong{color:var(--teal)}p code{background:#eef2f5;color:#0d5060;border:1px solid #d8e0e7;border-radius:3px;padding:.08em .25em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em;white-space:nowrap}
@media screen and (max-width:760px){.page{min-height:auto;padding:8vw 6vw 18vw;overflow:visible}.two,.three,.paper-columns{grid-template-columns:1fr}.graph img{height:auto}.cleanup-row pre,.cleanup-row p{display:block;width:auto;margin-left:0}.signature{bottom:5vw;right:6vw}.badge{width:17mm;height:17mm}h1{font-size:10vw}.page-head h1{font-size:9vw}pre code{font-size:10pt}}

/* Quarto callout palette: note, tip, warning, important and caution. */
.callout-note{--callout-color:#146c77;--callout-bg:#e8f2fc}.callout-tip{--callout-color:#287948;--callout-bg:#eef8f1}.callout-warning{--callout-color:#9a6700;--callout-bg:#fff7df}.callout-important{--callout-color:#8b0f27;--callout-bg:#f7e9ed}.callout-caution{--callout-color:#e3183f;--callout-bg:#fff1f2}.callout{border-left-color:var(--callout-color);background:var(--callout-bg)}.callout .callout-title{color:var(--callout-color)}
/* Fallback styling for the same native ::: blocks when Quarto lowers them to blockquote HTML. */
.page > div:has(> blockquote),.topic > div:has(> blockquote){margin:2mm 0;padding:2.2mm 3mm;border-left:4px solid #146c77;border-radius:5px;background:#e8f2fc;break-inside:avoid}.page > div:has(> blockquote)>blockquote,.topic > div:has(> blockquote)>blockquote{margin:0;padding:0;border:0;background:transparent}.page > div:has(> blockquote) blockquote p,.topic > div:has(> blockquote) blockquote p{margin:0}.page > div:has(> blockquote) blockquote p:first-child,.topic > div:has(> blockquote) blockquote p:first-child{color:#146c77;font-size:8.6pt;font-weight:800;margin-bottom:1mm}.front .paper-column:first-child .topic:nth-child(2)>div:has(> blockquote){border-left-color:#287948;background:#eef8f1}.front .paper-column:first-child .topic:nth-child(2)>div:has(> blockquote) blockquote p:first-child{color:#287948}.front .paper-column:last-child .topic:first-child>div:has(> blockquote){border-left-color:#9a6700;background:#fff7df}.front .paper-column:last-child .topic:first-child>div:has(> blockquote) blockquote p:first-child{color:#9a6700}.front .paper-column:last-child .topic:nth-child(2)>div:has(> blockquote){border-left-color:#8b0f27;background:#f7e9ed}.front .paper-column:last-child .topic:nth-child(2)>div:has(> blockquote) blockquote p:first-child{color:#8b0f27}.back .paper-column:first-child .topic:first-child>div:has(> blockquote){border-left-color:#e3183f;background:#fff1f2}.back .paper-column:first-child .topic:first-child>div:has(> blockquote) blockquote p:first-child{color:#e3183f}.back .paper-column:last-child .topic:first-child>div:has(> blockquote){border-left-color:#e3183f;background:#fff1f2}.back .paper-column:last-child .topic:first-child>div:has(> blockquote) blockquote p:first-child{color:#e3183f}
.page > div:has(> blockquote)>blockquote,.topic > div:has(> blockquote)>blockquote{background:transparent !important;border:0 !important}
.graph img.graph-img{max-width:none!important;width:100%!important;height:30mm!important;object-fit:fill!important}
.graph .quarto-figure,.graph figure{display:block;width:100%;margin:0}
.hero{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.42fr);gap:6mm;align-items:center}.hero-copy{min-width:0}.hero-graph{min-width:0;border:1px solid #d8e0e7;border-radius:5px;padding:2mm 2.5mm 1mm;background:#fff}.hero-graph .quarto-figure,.hero-graph figure{display:block;width:100%;margin:0}.hero-graph img.graph-img{max-width:none!important;width:100%!important;height:34mm!important;object-fit:fill!important}.hero-graph p{margin:0}.hero-graph em{display:block;text-align:center;color:var(--muted);font-size:7.5pt}.front > div:has(> blockquote){padding:1.7mm 2.5mm}.front > div:has(> blockquote) blockquote p{font-size:8.2pt;line-height:1.2}
@media print{.hero-graph img.graph-img{max-width:none!important;width:100%!important;height:34mm!important;object-fit:fill!important}}
@media screen and (max-width:760px){.hero{grid-template-columns:1fr;gap:5vw}.hero-graph img.graph-img{height:auto!important;object-fit:contain!important}}
.refs p:first-child{margin-top:0}.refs p:first-child a{font-weight:800}
