:root{--paper: #f4f5f2;--paper-2: #eceeea;--ink: #16211e;--soft: #5c6a66;--rule: #d6dbd7;--mark: #0f5c4e;--serif: Charter, "Iowan Old Style", "Palatino Linotype", Georgia, "Times New Roman", serif;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--t-xs: .66rem;--t-sm: .78rem;--t-cap: .87rem;--t-base: 1rem;--t-lg: 1.12rem;--t-xl: 1.3rem;--t-2xl: 1.62rem;--t-3xl: 2.05rem;--t-4xl: 2.4rem;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4.5rem;--measure: 33rem;--rail: 5.4rem;--rail-gap: 1.6rem;--page-w: 60rem}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:var(--t-base);line-height:1.65;font-variant-numeric:oldstyle-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}p{margin:0}a{color:inherit}:focus-visible{outline:2px solid var(--mark);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.container{max-width:var(--page-w);margin:0 auto;padding:0 var(--s-5)}.section{padding:var(--s-6) 0 var(--s-8)}.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:var(--s-2) var(--s-4);font-family:var(--sans);font-size:var(--t-sm);z-index:10}.skip-link:focus{left:var(--s-4);top:var(--s-2)}.nav-wrap{border-bottom:1px solid var(--ink)}.nav{max-width:var(--page-w);margin:0 auto;padding:var(--s-4) var(--s-5) var(--s-3);display:flex;align-items:baseline;gap:var(--s-5)}.logo{font-size:var(--t-xl);font-weight:700;letter-spacing:-.03em;text-decoration:none;flex-shrink:0}.logo span{color:var(--mark)}.nav-links{display:flex;gap:var(--s-5);margin:0 0 0 auto;padding:0;list-style:none;font-family:var(--sans);font-size:var(--t-sm)}.nav-links a{color:var(--soft);text-decoration:none;padding-bottom:2px;transition:color .15s ease}.nav-links a:hover{color:var(--ink)}.nav-links a[aria-current]{color:var(--ink);box-shadow:0 1.5px 0 var(--mark)}.nav-right{flex-shrink:0}.lang-switch{position:relative;font-family:var(--sans);font-size:var(--t-sm)}.lang-switch summary{list-style:none;cursor:pointer;color:var(--soft);border:1px solid var(--rule);border-radius:2px;padding:2px var(--s-2)}.lang-switch summary::-webkit-details-marker{display:none}.lang-switch[open] summary{color:var(--ink);border-color:var(--soft)}.lang-menu{position:absolute;right:0;top:calc(100% + var(--s-2));background:var(--paper);border:1px solid var(--rule);min-width:9rem;padding:var(--s-1) 0;z-index:20}.lang-menu a{display:block;padding:var(--s-1) var(--s-3);text-decoration:none;color:var(--soft)}.lang-menu a:hover{background:var(--paper-2);color:var(--ink)}.lang-menu a[aria-current]{color:var(--mark)}.burger{display:none}.footer{border-top:1px solid var(--ink);margin-top:var(--s-7);padding:var(--s-6) 0 var(--s-7);font-family:var(--sans);font-size:var(--t-sm);color:var(--soft)}.footer-top{display:flex;flex-wrap:wrap;gap:var(--s-5) var(--s-6);align-items:flex-start}.footer-about{flex:1 1 16rem;max-width:24rem;display:flex;flex-direction:column;gap:var(--s-2)}.footer-about .logo{font-size:var(--t-lg)}.footer-nav-cols{display:flex;flex-wrap:wrap;gap:var(--s-5) var(--s-6);margin-left:auto}.footer-col{display:flex;flex-direction:column;gap:var(--s-2)}.footer-warning{display:flex;flex-direction:column;gap:var(--s-1);margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--rule);font-size:var(--t-xs)}.footer-bottom{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);margin-top:var(--s-4);font-size:var(--t-xs)}.footer-bottom nav{display:flex;gap:var(--s-4);margin-left:auto}.footer h4{font-family:var(--sans);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:600}.footer a{color:var(--soft);text-decoration:none}.footer a:hover{color:var(--ink)}.idx{border-top:1px solid var(--ink)}.idx-row{display:grid;grid-template-columns:var(--rail) 1fr;gap:var(--rail-gap);padding:var(--s-4) 0;border-bottom:1px solid var(--rule);align-items:start;text-decoration:none;color:inherit}.idx-row:hover .idx-title{box-shadow:0 1.5px 0 var(--mark)}.idx-time{text-align:right;padding-top:2px;font-variant-numeric:lining-nums tabular-nums}.idx-min{display:block;font-size:var(--t-2xl);line-height:.95;font-weight:700;letter-spacing:-.04em}.idx-unit{display:block;margin-top:var(--s-1);font-family:var(--sans);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}.idx-body{display:block;min-width:0}.idx-sect{display:block;margin-bottom:var(--s-1);font-family:var(--sans);font-size:var(--t-xs);letter-spacing:.11em;text-transform:uppercase;color:var(--mark)}.idx-title{font-size:var(--t-lg);line-height:1.28;letter-spacing:-.012em;font-weight:600;margin-bottom:var(--s-1);display:inline-block}.idx-desc{display:block;font-size:var(--t-cap);color:var(--soft);max-width:var(--measure)}.idx-date{display:block;margin-top:var(--s-1);font-family:var(--sans);font-size:var(--t-xs);color:var(--soft);font-variant-numeric:lining-nums}.page-head{padding:var(--s-6) 0 var(--s-5)}.page-head .container>*+*{margin-top:var(--s-3)}.breadcrumb{font-family:var(--sans);font-size:var(--t-sm);color:var(--soft)}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{color:var(--ink)}.breadcrumb .sep{color:var(--rule);margin:0 var(--s-2)}.page-head h1{font-size:var(--t-3xl);max-width:var(--measure)}.page-head .lede{font-size:var(--t-lg);color:var(--soft);max-width:var(--measure)}.article-head{border-bottom:1px solid var(--ink)}.article-meta{display:flex;flex-wrap:wrap;gap:var(--s-4);font-family:var(--sans);font-size:var(--t-sm);color:var(--soft);font-variant-numeric:lining-nums}.article-meta .meta-link{color:var(--soft)}.article-meta .meta-link:hover{color:var(--ink)}.article-body{display:grid;grid-template-columns:var(--rail) 1fr;gap:var(--rail-gap)}.article-rail{text-align:right;font-variant-numeric:lining-nums tabular-nums;position:sticky;top:var(--s-4);align-self:start}.article-rail .idx-min{font-size:var(--t-2xl)}.prose{max-width:var(--measure);font-size:var(--t-base);line-height:1.7}.prose>*+*{margin-top:var(--s-4)}.prose h2{font-size:var(--t-xl);margin-top:var(--s-6)}.prose h3{font-size:var(--t-lg);margin-top:var(--s-5)}.prose h4,.prose h5,.prose h6{font-size:var(--t-base);margin-top:var(--s-5)}.prose a{color:var(--ink);text-decoration-color:var(--mark);text-underline-offset:.15em}.prose a:hover{color:var(--mark)}.prose ul,.prose ol{padding-left:1.15rem}.prose li+li{margin-top:var(--s-1)}.prose blockquote{border-left:2px solid var(--mark);background:var(--paper-2);padding:var(--s-3) var(--s-4);margin-left:0;margin-right:0;font-size:var(--t-cap)}.prose blockquote>*+*{margin-top:var(--s-2)}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:var(--paper-2);padding:.05em .3em;border-radius:2px}.prose pre{background:var(--paper-2);border:1px solid var(--rule);padding:var(--s-3) var(--s-4);overflow-x:auto;font-size:var(--t-cap)}.prose pre code{background:none;padding:0}.prose img{margin:var(--s-5) 0}.prose hr{border:0;border-top:1px solid var(--rule)}.prose table{width:100%;border-collapse:collapse;font-size:var(--t-cap)}.prose th,.prose td{text-align:left;padding:var(--s-2) var(--s-3) var(--s-2) 0;border-bottom:1px solid var(--rule);vertical-align:top}.prose th{font-family:var(--sans);font-size:var(--t-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--soft);font-weight:600}.prose td:last-child,.prose th:last-child{text-align:right;padding-right:0;font-variant-numeric:lining-nums tabular-nums}.article-figure{max-width:var(--measure);margin-top:var(--s-5)}.article-figure img{border:1px solid var(--rule)}.yt-embed{max-width:var(--measure);margin-top:var(--s-5);aspect-ratio:16 / 9}.yt-embed iframe{width:100%;height:100%;border:0}.prose-foot{max-width:var(--measure)}.faq-list{max-width:var(--measure);border-top:1px solid var(--ink)}.faq-item{border-bottom:1px solid var(--rule);padding:var(--s-4) 0}.faq-item>summary{font-size:var(--t-lg);font-weight:600;line-height:1.3;cursor:pointer;list-style:none;display:flex;gap:var(--s-3);align-items:baseline}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary:before{content:"";flex:none;width:.5rem;height:.5rem;margin-top:.35em;border-right:1.5px solid var(--mark);border-bottom:1.5px solid var(--mark);transform:rotate(-45deg);transition:transform .15s ease}.faq-item[open]>summary:before{transform:rotate(45deg)}.faq-body{font-size:var(--t-cap);color:var(--soft);margin-top:var(--s-3)}.faq-body>*+*{margin-top:var(--s-2)}.faq-body a{color:var(--ink);text-decoration-color:var(--mark)}.notice{max-width:var(--measure);font-family:var(--sans);font-size:var(--t-cap);color:var(--soft);background:var(--paper-2);border-left:2px solid var(--rule);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-5)}.notice--error{border-left-color:var(--mark);color:var(--ink)}.notice strong{font-weight:600}.rg-block{max-width:var(--measure);font-family:var(--sans);font-size:var(--t-cap);color:var(--soft);background:var(--paper-2);border-left:2px solid var(--mark);padding:var(--s-3) var(--s-4);margin-top:var(--s-6)}.rg-block p{margin:0 0 var(--s-2)}.rg-block p:last-child{margin-bottom:0}.rg-title{font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:600}.rg-links a{color:var(--ink);margin-left:var(--s-2)}.section-sub{color:var(--soft);font-size:var(--t-cap)}.calc{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);max-width:calc(var(--measure) * 1.5);margin-bottom:var(--s-5)}.calc-form{display:flex;flex-direction:column;gap:var(--s-4)}.calc-field{display:flex;flex-direction:column;gap:var(--s-1)}.calc-field label{font-family:var(--sans);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}.calc-field input{font-family:var(--sans);font-size:var(--t-base);font-variant-numeric:lining-nums;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:0;padding:var(--s-2) var(--s-3);width:100%}.calc-field input:focus{outline:2px solid var(--mark);outline-offset:-1px}.calc-field select{font-family:var(--sans);font-size:var(--t-base);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:0;padding:var(--s-2) var(--s-3);width:100%}.calc-field select:focus{outline:2px solid var(--mark);outline-offset:-1px}.calc-field small{font-family:var(--sans);font-size:var(--t-xs);color:var(--soft)}.calc-results{background:var(--paper-2);border-left:2px solid var(--rule);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-4);align-self:start}.calc-row{display:flex;flex-direction:column;gap:var(--s-1)}.calc-label{font-family:var(--sans);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}.calc-value{font-family:var(--serif);font-size:var(--t-2xl);font-variant-numeric:lining-nums;color:var(--ink)}.calc-row--accent .calc-value{color:var(--mark)}.calc-row small{font-family:var(--sans);font-size:var(--t-xs);color:var(--soft)}.calc-note{font-family:var(--sans);font-size:var(--t-cap);color:var(--ink)}.calc-article-link{font-family:var(--sans);font-size:var(--t-cap)}.hub-text{max-width:var(--measure)}.author-card{display:flex;gap:var(--s-5);align-items:flex-start;max-width:calc(var(--measure) + 120px + var(--s-5));margin-bottom:var(--s-6)}.author-photo{border-radius:50%;flex-shrink:0}.author-links a{margin-right:var(--s-3);font-family:var(--sans);font-size:var(--t-cap)}.tool-promo{max-width:var(--measure);font-family:var(--sans);font-size:var(--t-cap);background:var(--paper-2);border-left:2px solid var(--mark);padding:var(--s-3) var(--s-4);margin-top:var(--s-5)}.tool-promo a{color:var(--ink);font-weight:600}.nf-code{font-family:var(--sans);font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--mark);margin-bottom:var(--s-2)}.nf-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-5)}.nf-sections-title{font-family:var(--sans);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:var(--s-3)}.nf-sections{display:flex;flex-direction:column;border-top:1px solid var(--rule)}.nf-section{padding:var(--s-3) 0;border-bottom:1px solid var(--rule);text-decoration:none;font-size:var(--t-cap)}.nf-section:hover{color:var(--mark)}.lede{font-size:var(--t-lg);color:var(--soft);max-width:var(--measure)}.back-link{display:inline-block;margin-top:var(--s-5);font-family:var(--sans);font-size:var(--t-sm);color:var(--soft);text-decoration:none}.back-link:hover{color:var(--mark)}.article-content{min-width:0}.static-page .prose{max-width:var(--measure)}.btn{display:inline-block;font-family:var(--sans);font-size:var(--t-sm);text-decoration:none;padding:var(--s-2) var(--s-4);border:1px solid var(--ink);color:var(--ink);transition:background-color .15s ease,color .15s ease}.btn:hover,.btn--primary{background:var(--ink);color:var(--paper)}.btn--primary:hover{background:var(--mark);border-color:var(--mark)}.btn--outline{background:none;color:var(--ink)}@media(max-width:46rem){:root{--page-w: 100%}.calc{grid-template-columns:1fr}.author-card{flex-direction:column}.nav{flex-wrap:wrap;gap:var(--s-3);padding:var(--s-3) var(--s-4)}.burger{display:flex;flex-direction:column;gap:4px;margin-left:auto;order:1;background:none;border:0;padding:var(--s-1);cursor:pointer}.burger span{display:block;width:1.15rem;height:1.5px;background:var(--ink)}.nav-right{order:2}.nav-links{order:3;flex-basis:100%;display:none;flex-direction:column;gap:0;margin:0;border-top:1px solid var(--rule)}.nav-links.open{display:flex}.nav-links li{border-bottom:1px solid var(--rule)}.nav-links a{display:block;padding:var(--s-3) 0}.container{padding:0 var(--s-4)}.idx-row{display:block}.idx-row:after{content:"";display:block;clear:both}.idx-time{float:right;margin-left:var(--s-3);display:flex;align-items:baseline;gap:var(--s-1);padding-top:0}.idx-min{font-size:var(--t-lg);line-height:1.25}.idx-unit{margin-top:0}.article-body{grid-template-columns:1fr;gap:0}.article-rail{position:static;display:flex;align-items:baseline;justify-content:flex-start;gap:var(--s-1);text-align:left;margin-bottom:var(--s-4)}.article-rail .idx-min{font-size:var(--t-lg)}.article-rail .idx-unit{margin-top:0}.page-head h1{font-size:var(--t-2xl)}.prose table{display:block;overflow-x:auto;white-space:nowrap}}
