:root{color-scheme:light;--ink:#172b35;--paper:#f3f1e7;--muted:#596870;--green:#c4f377}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.75}a{color:inherit;text-underline-offset:4px}a:hover{color:#487121}.mast{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4vw;border-bottom:1px solid #bec4b9;font:11px/1.5 ui-monospace,monospace;letter-spacing:.07em}.mast a{white-space:nowrap}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:6vw;padding:70px 5vw 65px;max-width:1500px;margin:auto}.kicker{font:11px/1.7 ui-monospace,monospace;letter-spacing:.12em;font-weight:700}.hero h1{font-size:clamp(46px,6vw,88px);line-height:1.04;letter-spacing:-.065em;font-weight:780;margin:30px 0}.hero h1 em{font-style:normal;color:#476f29}.hero h1 span{color:#7ca843}.lede{font-size:20px;line-height:1.5}.heroactions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:30px 0}.button{display:inline-block;background:var(--ink);color:#fff;padding:12px 22px;border-radius:3px;text-decoration:none;font-weight:650}.button:hover{background:#29462f;color:#fff}.metrics{display:flex;flex-wrap:wrap;gap:24px;border-top:1px solid #bfc7ba;padding-top:22px;font:11px ui-monospace,monospace}.metrics b{display:block;font-size:27px;margin-bottom:8px}.archive{background:#142630;color:#c4f377;padding:26px;border-radius:12px;box-shadow:10px 10px 0 #d5dbc9;align-self:center;overflow:hidden}.archive-top{font:10px ui-monospace,monospace;letter-spacing:.15em}.archive pre{background:none;border:0;padding:14px 0;color:#c4f377;font-size:12px;line-height:1.8;margin:0}.archive p{font-size:12px;color:#c7d3ce}.archive a{font-size:13px}.sdchip{position:relative;width:190px;margin:30px auto 10px;padding:24px 20px 18px;background:#e3e8d4;color:#172b35;border-radius:8px 28px 6px 6px;transform:rotate(-6deg);box-shadow:8px 10px 0 #071a20;clip-path:polygon(0 0,78% 0,100% 18%,100% 100%,0 100%);font:10px ui-monospace,monospace}.sdchip strong{display:block;font-size:52px;letter-spacing:-5px}.sdchip small{display:block;font-size:9px;line-height:1.5}.contacts{color:#967c31;letter-spacing:3px;border-top:2px solid #bac3aa;margin-top:22px;padding-top:8px;font-size:19px}.book{display:grid;grid-template-columns:245px minmax(0,1fr);border-top:1px solid #bdc5b9;max-width:1500px;margin:auto}.book>nav{align-self:start;position:sticky;top:15px;padding:30px 20px 30px 3vw;max-height:95vh;overflow:auto}.book>nav a{display:block;font-size:12px;text-decoration:none;padding:8px 0;line-height:1.5;border-bottom:1px solid #d7dccf}.chapters{min-width:0;padding:0 4vw;border-left:1px solid #bdc5b9}section{padding:45px 0;border-bottom:1px solid #c7cdbc;scroll-margin-top:24px}h2{font-size:clamp(25px,3vw,38px);line-height:1.2;letter-spacing:-.04em;margin:15px 0 25px}p{max-width:86ch}pre{max-width:100%;overflow:auto;white-space:pre;font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;background:#e5e8dc;border:1px solid #c3cbb8;border-left:3px solid #729a44;border-radius:3px;padding:20px;color:#172b35}code{font-family:ui-monospace,Consolas,monospace;font-size:.9em}.download{font:12px ui-monospace,monospace}.filters{background:#e1e6d6;padding:20px;border:1px solid #b8c4a8;margin:24px 0}.filters label{display:block;font-size:12px;font-weight:bold}.filters input,.filters select{display:block;width:100%;max-width:550px;padding:12px;border:1px solid #8e9f82;border-radius:3px;background:#fff;color:#172b35;margin:5px 0 14px;font-size:16px}.filters p{font:12px ui-monospace,monospace;margin:0}.instruction{padding:22px;margin:16px 0;border:1px solid #bec9b0;background:#fafaf3;border-radius:5px}.instruction[hidden]{display:none}.instruction header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7ddcf;padding-bottom:14px}.instruction h3{font:700 29px ui-monospace,monospace;margin:0}.instruction header span{font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;border:1px solid #bac7ae;padding:3px 8px;border-radius:20px}.instruction p{font-size:14px}.instruction pre{font-size:13px;padding:10px 15px}.tablewrap{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid #d5dccb}th{font:700 10px ui-monospace,monospace;color:#52703b;text-transform:uppercase;white-space:nowrap}td:nth-child(2){font:11px/1.8 ui-monospace,monospace}td:first-child{white-space:nowrap}.watch{border-left:2px solid #779750;padding-left:14px;color:#46523e}.opmap{width:2300px;font:10px ui-monospace,monospace}.opmap td{min-width:130px;border:1px solid #c7d3b9;white-space:normal}.opmap td a{font:10px/1.6 ui-monospace,monospace}.opmap th{background:#dce4cf}.reserved{background:#e8cbbd;color:#753e22}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 5vw;font:10px ui-monospace,monospace;border-top:1px solid #bdc5b9}body>main{display:block;max-width:none;padding:0}body>header{max-width:none;margin:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #709342;outline-offset:4px}@media(max-width:900px){.hero{gap:30px;padding:40px 5vw}.book{grid-template-columns:190px minmax(0,1fr)}.book>nav{padding-left:15px}.archive{padding:20px}}@media(max-width:650px){.mast{padding:15px 5vw}.mast span{display:none}.hero{grid-template-columns:1fr}.hero h1{font-size:60px}.archive{margin-top:10px}.book{display:block}.book>nav{position:static;display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;padding:25px 5vw;max-height:none}.book>nav .kicker{grid-column:1/-1}.chapters{border-left:0;padding:0 5vw}.instruction{padding:15px}.metrics{gap:18px}pre{font-size:11px;padding:14px}section{padding:35px 0}footer{flex-direction:column}.instruction h3{font-size:25px}}@media print{.mast,.heroactions,.book>nav,.filters,.download,footer{display:none}.hero{display:block;padding:0}.hero h1{font-size:40px}.archive{display:none}.book{display:block}.chapters{border:0;padding:0}section{padding:15px 0}pre{white-space:pre-wrap;overflow:visible}.instruction{break-inside:avoid}.opmap{width:auto}.opcodewrap{display:none}body{background:#fff;color:#000}}

/* Wrap text and code comments, retaining true diagram/table alignment. */
pre{white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;tab-size:4}pre.aligned{white-space:pre;overflow-wrap:normal}
