.cu{--paper:#f8f7f2;--ink:#262e35;--ink-2:#626963;--ink-3:#7b847e;--rule:#dcddd5;--recess:#f0efe7;--white:#fffffd;--cobalt:#2458c6;--cobalt-bg:#dfe9f6;--gold:#8b682c;--gold-bg:#f1e6cc;--mint:#3e745c;--mint-bg:#e1eee6;--rose:#975567;--rose-bg:#f4e2e6;--red:#a03b2a;--night:#15191d;--mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--serif:"Coconat", Georgia, serif;--pad:clamp(22px, 5vw, 80px);color:var(--ink);background:var(--paper);caret-color:var(--cobalt)}:root[data-theme=dark] .cu{--paper:#191b19;--ink:#e8e7df;--ink-2:#a8ada6;--ink-3:#929b90;--rule:#363b36;--recess:#20241f;--white:#232722;--cobalt:#93b4ee;--cobalt-bg:#27374c;--gold:#d5b775;--gold-bg:#39311f;--mint:#9bc8af;--mint-bg:#24372b;--rose:#d5a6b2;--rose-bg:#392b32;--red:#e9ae9a}.cu main:focus{outline:none}.cu a{text-underline-offset:4px}.cu button,.cu input{font:inherit}.cu-mast{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:24px;max-width:960px;margin:auto;padding:20px 24px;display:flex}.cu-mast .name{font:20px var(--serif);letter-spacing:-.02em;white-space:nowrap}.cu-mast .name span{color:var(--ink-2)}.cu-mast .name .dot{color:var(--cobalt)}.cu-mast .header-actions{gap:20px}.cu-mast nav{align-items:center;gap:20px;font-size:12px;display:flex}.cu-mast nav>a{color:var(--ink-2)}.cu-mast ol{gap:3px;margin:0;padding:0;list-style:none;display:flex}.cu-mast ol a{text-align:center;min-width:28px;color:var(--ink-2);font-variant-numeric:tabular-nums;border-bottom:1px solid #0000;padding:6px;display:block}.cu-mast ol a[aria-current],.cu-mast a:hover{color:var(--cobalt);border-color:var(--cobalt)}.hero,.body,.next{max-width:744px;margin:auto;padding-inline:24px}.hero{padding-top:44px}.hero h1{font:400 clamp(32px, 4vw, 44px)/1.16 var(--serif);letter-spacing:-.025em;text-wrap:balance}.chapter-meta{color:var(--ink-2);margin:14px 0 28px;font-size:12px}.chapter-opening,.prose,.txt,.plate-head{font-size:16px;line-height:1.8}.chapter-opening p,.body p{overflow-wrap:break-word;margin:0 0 18px;font-size:16px;line-height:1.8}.body strong,.chapter-opening strong{font-weight:600}.body a,.chapter-opening a{color:var(--cobalt);text-decoration:underline}.body h2{font:400 27px/1.24 var(--serif);letter-spacing:-.015em;text-wrap:balance;margin:0 0 20px;display:block}.body h3{letter-spacing:-.01em;margin:30px 0 15px;font:500 19px/1.35 DM Sans,sans-serif;display:block}.body li{margin-bottom:10px;font-size:16px;line-height:1.8}.body ul,.body ol{margin:18px 0 24px;padding-left:22px}.sec,.plate,.notes{border:0;padding:38px 0 0;display:block}.txt,.plate-head{margin:0;display:block}.txt p.lede{font-size:16px}.hero-art{max-width:560px;margin:28px auto 2px}.hero-art svg{width:100%;height:auto;display:block}.art-viewport,.fig-body{overscroll-behavior-x:contain;overflow-x:auto}.hero-art figcaption,.fig figcaption{color:var(--ink-2);margin:9px 0 0;font-size:12px;line-height:1.65}.fig{margin:24px 0;padding:0}.fig-head{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:8px;display:flex}.fig-pause,.fig-size{color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:3px;flex:none;padding:5px 9px;font:11px DM Sans,sans-serif}.fig-pause:hover,.fig-size:hover{color:var(--cobalt);border-color:var(--cobalt)}.fig-body{padding-block:4px}.fig-body>svg,.fig-body>div>svg{width:100%;height:auto;display:block}.fig.is-expanded .fig-body>svg,.fig.is-expanded .fig-body>div>svg{width:1080px;min-width:1080px;max-width:none}.hero-art.is-expanded{max-width:none}.hero-art.is-expanded .chapter-drawing{width:1120px;min-width:1120px;max-width:none}.fig-n{font-variant-numeric:tabular-nums}.ev{color:var(--ink-2);font-size:11px}.cu svg .art-display{font-family:var(--serif);font-size:29px}.cu svg .art-label{font-size:20px}.cu svg .art-small{font-size:16px}.cu svg .art-micro{font-size:13px}.cu svg .art-mono{font-family:var(--mono);font-size:18px}.body code,.chapter-opening code{font:.86em var(--mono);background:var(--recess);overflow-wrap:anywhere;padding:1px 3px}.code,.body pre{min-width:0;max-width:100%;font:12px/1.75 var(--mono);border:1px solid var(--rule);background:var(--recess);white-space:pre;border-radius:3px;margin:22px 0;padding:16px 18px;overflow-x:auto}.body pre code{font:inherit;overflow-wrap:normal;padding:0}.code .k{color:var(--cobalt)}.code .c{color:var(--ink-2)}.tbl{border-collapse:collapse;width:100%;margin:24px 0;font-size:13px;line-height:1.65}.tbl th{text-align:left;color:var(--ink-2);border-bottom:1px solid var(--ink-3);padding:10px 12px;font-size:12px;font-weight:500}.tbl td{border-bottom:1px solid var(--rule);vertical-align:top;padding:12px}.technical{border-block:1px solid var(--rule);padding:20px 0;font-size:15px;line-height:1.8}.technical summary{cursor:pointer;font-weight:500}.technical summary+*{margin-top:20px}.thesis{padding:28px 0 0}.thesis p{font:400 22px/1.5 var(--serif)}.thesis em{color:var(--cobalt);font-style:normal}.notes li>svg{display:none}.notes li b{font-weight:500}.notes h3 small{display:none}.next{margin-top:48px}.next a{border-top:1px solid var(--rule);gap:8px;padding:26px 0 36px;display:grid}.next small{color:var(--ink-2);font-size:12px}.next span{font:400 25px/1.3 var(--serif);letter-spacing:-.015em}.next a:hover span{color:var(--cobalt)}.cu-foot{border-top:1px solid var(--rule);max-width:960px;color:var(--ink-2);justify-content:space-between;gap:24px;margin:0 auto;padding:22px 24px;font-size:12px;line-height:1.6;display:flex}.ctl{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px 18px;margin:14px 0;font-size:13px;display:flex}.ctl button{color:var(--ink);background:var(--white);border:1px solid var(--ink-3);cursor:pointer;border-radius:3px;padding:7px 11px}.ctl button[aria-pressed=true]{color:var(--paper);background:var(--ink)}.ctl button:hover{border-color:var(--cobalt)}.ctl input{accent-color:var(--cobalt)}.ctl output{font:12px/1.7 var(--mono);color:var(--ink);overflow-wrap:anywhere}.vocab{border-top:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;margin:22px 0;display:grid}.vocab>div{border-bottom:1px solid var(--rule);padding:18px 0}.vocab svg{width:105px;max-width:100%;height:auto;margin-bottom:12px;display:block}.vocab code{font-size:12px}.vocab p{margin:10px 0 0;font-size:13px;line-height:1.65}.cu svg text{fill:var(--ink);font-family:DM Sans,sans-serif;font-size:16px}.cu svg .t-s{fill:var(--ink-2);font-size:14px}.cu svg .t-m{font-family:var(--mono);font-size:14px}.cu svg .t-b{font-weight:500}.cu svg .t-big{font-family:var(--serif);font-size:38px}.cu svg .t-ser{font-family:var(--serif);font-size:22px}.cu svg .t-c{fill:var(--cobalt)}.cu svg .t-g{fill:var(--gold)}.cu svg .t-r{fill:var(--red)}.cu svg .t-mi{fill:var(--mint)}.cu svg .t-w{fill:#e9e7df}.cu svg .t-dim{fill:#a8ada6}.ink,.hair,.faint,.cob,.gold,.mint,.rose,.red,.dash{fill:none;stroke-linecap:round;stroke-linejoin:round}.ink{stroke:var(--ink);stroke-width:1.2px}.hair{stroke:var(--ink-3);stroke-width:.8px}.faint{stroke:var(--rule);stroke-width:1px}.cob{stroke:var(--cobalt);stroke-width:1.4px}.gold{stroke:var(--gold);stroke-width:1.3px}.mint{stroke:var(--mint);stroke-width:1.3px}.rose{stroke:var(--rose);stroke-width:1.3px}.red{stroke:var(--red);stroke-width:1.4px}.dash{stroke-dasharray:3 4}.dot{stroke-dasharray:.1 4;stroke-width:1.6px}.w2{stroke-width:2px}.f-ink{fill:var(--ink)}.f-paper{fill:var(--paper)}.f-white{fill:var(--white)}.f-recess{fill:var(--recess)}.f-plot{fill:var(--plot)}.f-cob{fill:var(--cobalt)}.f-cobbg{fill:var(--cobalt-bg)}.f-gold{fill:var(--gold)}.f-goldbg{fill:var(--gold-bg)}.f-mint{fill:var(--mint)}.f-mintbg{fill:var(--mint-bg)}.f-rose{fill:var(--rose)}.f-rosebg{fill:var(--rose-bg)}.f-red{fill:var(--red)}.ibox path{stroke:var(--ink);stroke-width:1px;stroke-linejoin:round}.ibox .ft{fill:var(--white)}.ibox .fl{fill:var(--recess)}.ibox .fr{fill:var(--stone)}.ibox.glass path{fill:none;stroke:var(--ink-3);stroke-dasharray:3 3}.ibox.blue path{stroke:var(--cobalt);fill:var(--cobalt-bg)}.ibox.gold path{fill:var(--gold-bg)}.ibox.mint path{fill:var(--mint-bg)}.ibox.rose path{fill:var(--rose-bg)}.ibox.night path{stroke:#5c666e;fill:#20272d}.ibox.nightb path{stroke:#7fa2ec;fill:#1f2c47}.plate.dark svg text{fill:#e9e7df}.plate.dark svg .t-s{fill:#a8ada6}.plate.dark svg .t-c{fill:#93b4ee}.plate.dark svg .t-g{fill:#d5b775}.plate.dark svg .t-mi{fill:#9bc8af}.plate.dark .hair{stroke:#7b858a}.plate.dark .faint{stroke:#343b41}.plate.dark .cob{stroke:#93b4ee}.plate.dark .mint{stroke:#9bc8af}.plate.dark .gold{stroke:#d5b775}.lit{fill:#93b4ee}@keyframes march{to{stroke-dashoffset:-14px}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes ripple{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(2)}}@keyframes draw{0%{stroke-dashoffset:var(--len,400)}to{stroke-dashoffset:0}}@keyframes press{0%,22%,62%,to{transform:translateY(0)}34%,46%{transform:translateY(26px)}}@keyframes sink{0%,30%,52%,to{transform:translateY(0)}36%,46%{transform:translateY(3px)}}@keyframes ring{0%,34%{opacity:0;transform:scale(.6)}36%{opacity:.9}70%,to{opacity:0;transform:scale(2.4)}}@keyframes slide{0%,30%{opacity:0;transform:translateY(-70px)}42%,to{opacity:1;transform:translateY(0)}}@keyframes shove{0%,30%{transform:translateY(0)}42%,to{transform:translateY(52px)}}@keyframes sweep{0%{transform:translate(0)}to{transform:translateX(var(--sw,800px))}}@keyframes pointer-press{0%,25%,75%,to{transform:translate(8px,-10px)}35%,55%{transform:translate(0)}}@keyframes blink{50%{opacity:0}}.march{stroke-dasharray:4 3;animation:1.2s linear infinite march}.pulse{animation:2.4s ease-in-out infinite pulse}.ripple,.ring{transform-box:fill-box;transform-origin:50%;animation:3.2s ease-out infinite ring}.press{animation:3.2s ease-in-out infinite press}.sink{animation:3.2s ease-in-out infinite sink}.slide{animation:6s ease-out infinite slide}.shove{animation:6s ease-out infinite shove}.sweep{animation:6s linear infinite sweep}.art-pointer{animation:4s ease-in-out infinite pointer-press}.blink{animation:1.1s step-end infinite blink}.paused,.paused *{animation-play-state:paused!important}@media (width<=760px){.cu-mast{flex-wrap:wrap;gap:12px;padding-block:16px}.cu-mast .header-actions,.cu-mast nav{gap:12px}.cu-mast nav>a{display:none}.cu-mast ol a{min-width:24px;padding-inline:5px}.cu-mast .name{font-size:19px}.hero{padding-top:30px}.hero h1{font-size:33px}.chapter-meta{margin-bottom:24px}.body h2{font-size:25px}.body h3{font-size:19px}.sec,.plate,.notes{padding-top:30px}.hero-art{margin-block:24px 0}.hero-art svg{min-width:0}.fig-head{gap:6px}.fig figcaption{font-size:12px}.vocab{grid-template-columns:repeat(2,minmax(0,1fr))}.cu-foot{gap:14px}}@media (prefers-reduced-motion:reduce){.cu *{animation:none!important}}
