*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f1f0ec;color:#641e28;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:#641e2833;color:inherit}.module-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#f1f0ece0;border-bottom:1px solid rgba(100,30,40,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.module-logo{display:flex;flex-direction:column;color:inherit;text-decoration:none}.module-logo span:first-child{font-family:Fraunces,serif;font-size:16px;font-weight:500;line-height:1.1}.module-logo span:last-child{font-size:9px;font-weight:600;letter-spacing:1.2px;line-height:1.2;text-transform:uppercase;opacity:.7}.module-label{color:inherit;font-size:12px;font-weight:700;letter-spacing:1.4px;text-decoration:none;text-transform:uppercase;opacity:.62}a.module-label{transition:opacity .2s ease}a.module-label:hover{opacity:1}.module-shell{display:grid;grid-template-columns:minmax(20px,1fr) minmax(0,820px) minmax(20px,1fr);min-height:calc(100vh - 58px);padding:64px 0 110px}.module-content{grid-column:2;min-width:0;overflow-wrap:anywhere}.module-content h1,.module-content h2,.module-content h3{font-family:Fraunces,serif;text-wrap:balance}.module-content h1{max-width:780px;margin:0 0 34px;font-size:clamp(44px,7vw,72px);font-weight:650;letter-spacing:-1.5px;line-height:1}.module-content h2{margin:76px 0 24px;padding-top:32px;border-top:1px solid rgba(100,30,40,.14);font-size:clamp(30px,4.5vw,42px);font-weight:600;letter-spacing:-.5px;line-height:1.12}.module-content h3{margin:44px 0 16px;font-size:clamp(23px,3.5vw,30px);font-weight:600;letter-spacing:-.25px;line-height:1.18}.module-content p,.module-content li{font-size:17px;line-height:1.72}.module-content p{margin:0 0 20px}.module-content ul,.module-content ol{margin:0 0 24px;padding-left:28px}.module-content li{padding-left:5px}.module-content li+li{margin-top:9px}.module-content strong{font-weight:700}.module-content a{color:#8c2d37;text-decoration-thickness:1px;text-underline-offset:3px}.module-content a:hover{color:#641e28}.module-content blockquote{margin:30px 0;padding:22px 26px;border-left:4px solid rgb(140,45,55);background:#ffffff9e;font-family:Fraunces,serif;font-size:20px}.module-content blockquote p{font-size:inherit}.module-content blockquote p:last-child{margin-bottom:0}.module-content code{padding:2px 5px;border-radius:3px;background:#641e2814;font-size:.9em}.module-content pre{max-width:100%;margin:26px 0;padding:20px 22px;overflow-x:auto;border:1px solid rgba(100,30,40,.12);border-radius:6px;background:#fff;white-space:pre-wrap}.module-content pre code{padding:0;background:transparent;font-size:15px;line-height:1.65}.module-table-scroll{width:100%;margin:30px 0;overflow-x:auto;border-radius:6px;outline:none}.module-table-scroll:focus-visible{outline:3px solid rgb(210,160,168);outline-offset:3px}.module-content table{width:100%;min-width:560px;margin:0;border-collapse:collapse;background:#ffffffa6;font-size:15px;line-height:1.55}.module-content th,.module-content td{padding:13px 15px;border:1px solid rgba(100,30,40,.14);text-align:left;vertical-align:top}.module-content th{background:#641e2812;font-weight:700}.module-content img{display:block;max-width:100%;width:100%;height:auto;margin:30px 0 12px;border:1px solid rgba(100,30,40,.1);border-radius:6px;background:#fff;box-shadow:0 2px 8px #641e280f,0 1px 3px #641e280a}.module-image-fallback{display:block;margin:30px 0 12px;padding:24px;border:1px solid rgba(100,30,40,.14);border-radius:6px;background:#ffffffa6}.module-diagram{max-width:100%;margin:30px 0}.module-content .mermaid{padding:24px;overflow-x:auto;border:1px solid rgba(100,30,40,.12);border-radius:6px;background:#fff}.module-content .mermaid svg{display:block;width:100%;min-width:720px;height:auto;margin:0 auto}.module-diagram-source{margin-top:10px;color:#641e28b8;font-size:13px}.module-diagram-source summary{cursor:pointer;font-weight:600}.module-diagram-source pre{margin-top:12px}.module-diagram-error{padding:22px;border:1px solid rgba(100,30,40,.14);border-radius:6px;background:#ffffffa6;line-height:1.6}.module-content em{text-wrap:pretty}@media(max-width:640px){.module-shell{padding-top:42px}.module-content h2{margin-top:60px}.module-content p,.module-content li{font-size:16px}.module-content .mermaid{padding:16px}}
