:root{--bone: #F0EEE6;--paper: #FDFCFA;--ink: #191817;--ink-soft: #605B52;--ink-faint: #9C968A;--rule: #DFDBD1;--clay: #D97757;--clay-deep: #C05F3E;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--gut: clamp(20px, 5.5vw, 40px);--max: 680px;--fs-h1: clamp(1.62rem, 6vw, 2.3rem);--fs-h2: clamp(1.3rem, 4.9vw, 1.68rem);--fs-body: clamp(1rem, 3.5vw, 1.07rem)}astro-dev-toolbar{display:none!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{background:var(--bone);color:var(--ink);font-family:var(--sans);line-height:1.95;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}.wrap{max-width:calc(var(--max) + var(--gut) * 2);margin:0 auto;padding:0 var(--gut)}#bar{position:fixed;top:0;left:0;height:2px;width:0;background:var(--clay);z-index:50;transition:width .1s linear}.top{display:flex;justify-content:space-between;align-items:baseline;padding:clamp(22px,6vw,34px) 0 0}.brand{font-size:var(--fs-body);font-weight:600;letter-spacing:.04em;color:var(--ink);text-decoration:none}.nav-links{display:inline-flex;gap:18px;align-items:baseline}.back{font-size:var(--fs-body);color:var(--ink-faint);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.back:hover{color:var(--clay)}article{padding:clamp(40px,10vw,64px) 0 clamp(30px,7vw,46px)}article h1{font-size:var(--fs-h1);font-weight:600;line-height:1.3;margin-bottom:clamp(24px,5vw,34px)}article h2{font-size:var(--fs-h2);font-weight:600;line-height:1.45;margin:clamp(24px,5vw,34px) 0 clamp(16px,3.4vw,24px)}article h3{font-size:var(--fs-body);font-weight:700;color:var(--clay-deep);line-height:1.6;margin:clamp(28px,6vw,40px) 0 clamp(10px,2.4vw,14px)}article p{margin-bottom:1.2rem;font-size:var(--fs-body);line-height:1.95}article strong{font-weight:600}article a{color:var(--ink);text-decoration:none;font-weight:600;border-bottom:1.5px solid var(--clay);padding-bottom:1px}article a:hover{color:var(--clay)}article ul,article ol{margin:0 0 1.2rem 1.4rem}article ul{list-style:disc}article ol{list-style:decimal}article li{margin-bottom:.5rem;font-size:var(--fs-body);line-height:1.9}article li strong{color:var(--ink)}article hr{border:none;border-top:1.5px solid var(--ink-faint);margin:clamp(46px,11vw,80px) 0 0}article blockquote{border-left:3px solid var(--clay);padding-left:clamp(14px,3.5vw,20px);margin:clamp(20px,4.5vw,28px) 0;color:var(--ink-soft)}article blockquote p{margin-bottom:.8rem}article blockquote p:last-child{margin-bottom:0}article .subtitle{color:var(--ink-soft);font-style:italic}article table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;margin:clamp(20px,4.5vw,28px) 0;font-size:var(--fs-body)}article th{text-align:left;font-weight:600;padding:10px 14px;border:1px solid var(--rule);background:var(--bone);white-space:nowrap}article td{padding:10px 14px;border:1px solid var(--rule);background:var(--paper);vertical-align:top}article pre{background:var(--bone);border:1px solid var(--rule);border-radius:10px;padding:clamp(16px,4vw,22px);margin:clamp(20px,4.5vw,28px) 0;overflow-x:auto;-webkit-overflow-scrolling:touch}article pre code{font-family:var(--mono);font-size:var(--fs-body);line-height:1.7;color:var(--ink-soft);white-space:pre}article figure{margin:clamp(24px,5.5vw,36px) 0;text-align:center}article figure img{max-width:480px;width:100%;height:auto;border-radius:10px}.cta-section{text-align:center}article .cta-section a.cta-link{display:inline-block;padding:12px 28px;background:var(--clay);color:#fff;border-bottom:none;border-radius:8px}article .cta-section a.cta-link:hover{background:var(--clay-deep);color:#fff}article .cta-note{color:var(--ink-faint)}footer{margin-top:clamp(50px,12vw,86px);padding:24px 0 calc(34px + env(safe-area-inset-bottom));border-top:1.5px solid var(--ink-faint);display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-body);color:var(--ink-faint)}footer a{color:var(--ink-faint);text-decoration:none}footer a:hover{color:var(--clay)}
