@font-face{font-family:Besley;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/besley-latin-500-normal.DeEZGih7.woff2)format("woff2"),url(/_astro/besley-latin-500-normal.sstOj9y-.woff)format("woff")}@font-face{font-family:Besley;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/besley-latin-700-normal.DgyNedO8.woff2)format("woff2"),url(/_astro/besley-latin-700-normal.DzZvSNu1.woff)format("woff")}@font-face{font-family:Besley;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/besley-latin-900-normal.C4kxys5T.woff2)format("woff2"),url(/_astro/besley-latin-900-normal.CmRLOtta.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}:root{--c-paper:#f2ecdf;--c-card:#e9e0cc;--c-ink:#221e17;--c-graphite:#5b5344;--c-line:#c9bea6;--c-oak:#8a5a2b;--c-walnut:#4a3a28;--c-signal:#e8590c;--c-signal-ink:#a63e00;--font-display:"Besley", "Georgia", "Times New Roman", serif;--font-body:"IBM Plex Sans", system-ui, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "Consolas", monospace;--fs-display:clamp(2rem, 1.526rem + 2.105vw, 3rem);--fs-title:clamp(1.5rem, 1.263rem + 1.053vw, 2rem);--fs-subtitle:clamp(1.19rem, 1.133rem + .253vw, 1.31rem);--fs-body:clamp(1rem, .97rem + .132vw, 1.0625rem);--fs-small:.875rem;--fs-eyebrow:.75rem;--fs-reading:clamp(1.5rem, 1.263rem + 1.053vw, 2rem);--lh-body:1.6;--lh-tight:1.15;--track-eyebrow:.08em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--w-content:1120px;--w-prose:68ch;--w-heading:22ch;--w-gutter:var(--sp-4);--hairline:1px solid var(--c-line);--rule-emphasis:3px solid var(--c-signal-ink);--ticket-clip:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);--focus-ring:2px solid var(--c-signal);--focus-offset:2px;--t-micro:.12s;--t-reading:.2s;--t-settle:.4s;--touch-target:44px;--datum-h:18px}*,:before,:after{box-sizing:border-box}*{margin:0}html{text-size-adjust:100%}body{background:var(--c-paper);color:var(--c-ink);font-family:var(--font-body);font-size:var(--fs-body);font-weight:400;line-height:var(--lh-body);flex-direction:column;min-height:100vh;display:flex}main{flex:1 0 auto}h1,h2,h3,h4{font-family:var(--font-display);line-height:var(--lh-tight);max-width:var(--w-heading);overflow-wrap:break-word}h1{font-size:var(--fs-display);font-weight:900}h2{font-size:var(--fs-title);font-weight:700}h3{font-size:var(--fs-subtitle);font-weight:700}h4{font-size:var(--fs-body);font-weight:700}p,ul,ol,dl{max-width:var(--w-prose)}small{font-size:var(--fs-small)}a{color:var(--c-signal-ink);text-underline-offset:2px;text-decoration:underline 1px}a:hover{text-decoration-thickness:2px}code,kbd,samp{font-family:var(--font-mono);font-size:.9375em}sup{line-height:0}table{border-collapse:collapse;border-spacing:0}th{text-align:left}button,input,select,textarea{font:inherit;color:inherit}fieldset{border:0;padding:0}legend{padding:0}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}::selection{background:var(--c-ink);color:var(--c-paper)}.skip-link{left:var(--sp-4);top:var(--sp-2);z-index:10;background:var(--c-ink);color:var(--c-paper);padding:var(--sp-3) var(--sp-4);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{@page{margin:14mm}body{background:0 0;min-height:auto;display:block}.site-header,.site-footer,.skip-link,.breadcrumbs,.tool-shell-inputs,.methodology,.crosslink,.tool-noscript{display:none!important}main.page{width:100%;max-width:none;padding:0}.page-hero{margin-bottom:var(--sp-5)}.tool-shell,.tool-shell-stage,.tool-stage{width:100%;max-width:none;display:block}.result-ticket{break-inside:avoid;box-shadow:none;background:0 0}a{color:inherit}}.page{width:100%;max-width:var(--w-content);padding-inline:var(--w-gutter);margin-inline:auto}.section{margin-block:var(--sp-7)}.section-head{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-direction:column;display:flex}.eyebrow{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-eyebrow);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--c-graphite)}.site-header{background:var(--c-paper)}.site-header-bar{align-items:center;gap:var(--sp-2) var(--sp-5);padding-block:var(--sp-4);flex-wrap:wrap;display:flex}.wordmark-link{color:var(--c-ink);margin-right:auto;text-decoration:none;display:inline-flex}.wordmark{width:208px;height:auto;display:block}.wordmark--hero{width:min(480px,100%)}.nav-toggle-box{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.nav-toggle-label{align-items:center;gap:var(--sp-2);min-height:var(--touch-target);padding-inline:var(--sp-3);cursor:pointer;user-select:none;font-weight:500;display:inline-flex}.nav-toggle-label:after{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transform:rotate(45deg)translate(-1px,-1px)}.nav-toggle-box:focus-visible~.nav-toggle-label{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.nav-toggle-box:checked~.nav-toggle-label:after{transform:rotate(225deg)translate(-2px,-2px)}.site-nav{width:100%;display:none}.nav-toggle-box:checked~.site-nav{display:block}.site-nav-list{border-top:var(--hairline);flex-direction:column;padding:0;list-style:none;display:flex}.site-nav-list a{min-height:var(--touch-target);padding-inline:var(--sp-1);color:var(--c-ink);border-bottom:var(--hairline);align-items:center;font-weight:500;text-decoration:none;display:flex}.site-nav-list a:hover{text-underline-offset:4px;text-decoration:underline}.site-nav-list a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--c-signal-ink);text-underline-offset:4px;text-decoration-thickness:2px}@media (width>=900px){.nav-toggle-box,.nav-toggle-label{display:none}.site-nav{width:auto;display:block}.site-nav-list{gap:var(--sp-5);border-top:0;flex-direction:row}.site-nav-list a{border-bottom:0;padding-inline:0}}.datum-strip{height:var(--datum-h);overflow:hidden}.datum-strip svg{width:100%;height:var(--datum-h);display:block}@media (prefers-reduced-motion:no-preference){.datum-strip--masthead svg{animation:datum-draw var(--t-settle) ease-out both}@keyframes datum-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}}.datum-readout svg{width:100%;height:auto;display:block}.datum-reading{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-reading);color:var(--c-ink)}@media (prefers-reduced-motion:no-preference){.datum-pointer{transition:transform var(--t-reading) ease-out}}.site-footer{background:var(--c-walnut);color:var(--c-paper);margin-top:var(--sp-8);flex-shrink:0}.site-footer-inner{gap:var(--sp-5);padding-block:var(--sp-6);flex-direction:column;display:flex}.site-footer a{color:var(--c-paper)}.site-footer :focus-visible{outline-color:var(--c-paper)}.footer-nav ul{gap:var(--sp-2) var(--sp-5);flex-wrap:wrap;padding:0;list-style:none;display:flex}.footer-nav a{min-height:var(--touch-target);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.footer-nav a:hover{text-decoration:underline}.footer-statement{font-size:var(--fs-small);max-width:var(--w-prose)}.breadcrumbs{padding-top:var(--sp-4);font-family:var(--font-mono);font-size:var(--fs-small)}.breadcrumbs ol{gap:var(--sp-2);flex-wrap:wrap;max-width:none;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";margin-right:var(--sp-2);color:var(--c-line)}.breadcrumbs a{color:var(--c-graphite)}.breadcrumbs [aria-current=page]{color:var(--c-ink)}.page-hero{gap:var(--sp-3);padding-block:var(--sp-6) var(--sp-5);flex-direction:column;display:flex}.page-hero-lede{color:var(--c-graphite);max-width:var(--w-prose)}.scribe{padding-bottom:var(--sp-3);position:relative}.scribe:after{content:"";background:var(--c-graphite);width:28px;height:2px;position:absolute;bottom:0;left:-4px}.ledger{border-top:var(--hairline);width:100%}.ledger caption{text-align:left;padding-block:var(--sp-3)}.ledger th,.ledger td{padding:var(--sp-3);border-bottom:var(--hairline);vertical-align:top;text-align:left;font-weight:400}.ledger thead th{background:var(--c-card);font-family:var(--font-mono);font-weight:500;font-size:var(--fs-eyebrow);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--c-graphite);white-space:nowrap}.ledger .num,.ledger-id{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ledger-id{white-space:nowrap;font-weight:500}.ledger-name{font-weight:600}.ledger-sig{font-family:var(--font-mono);font-size:var(--fs-small);white-space:nowrap;color:var(--c-graphite)}.ledger-note{margin-top:var(--sp-3);font-size:var(--fs-small);color:var(--c-graphite);max-width:var(--w-prose)}.ledger tr{position:relative}.row-link{color:var(--c-ink);font-weight:600;text-decoration:none}.row-link:after{content:"";position:absolute;inset:0}tr:has(>th .row-link):hover{background:var(--c-card)}@media (width<=699px){.ledger--stack,.ledger--stack tbody,.ledger--stack tr,.ledger--stack td{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.ledger--stack,.ledger--stack tbody{display:block}.sources-ledger a,.sources-ledger strong,.sources-ledger .ledger-sig{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.ledger--stack thead{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.ledger--stack tr{border-bottom:var(--hairline);padding-block:var(--sp-3);display:block}.ledger--stack th,.ledger--stack td{padding:var(--sp-1) 0;border-bottom:0;display:block}}.btn-primary{width:100%;min-height:var(--touch-target);padding:var(--sp-3) var(--sp-5);background:var(--c-ink);color:var(--c-paper);cursor:pointer;box-shadow:inset 3px 0 0 var(--c-signal);border:0;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary:hover{box-shadow:inset 6px 0 0 var(--c-signal)}.btn-primary:active{padding-block:calc(var(--sp-3) + 1px) calc(var(--sp-3) - 1px)}.btn-primary:disabled{background:var(--c-graphite);box-shadow:inset 3px 0 0 var(--c-line);cursor:not-allowed}@media (prefers-reduced-motion:no-preference){.btn-primary{transition:box-shadow var(--t-micro) ease-out}}.btn-secondary{width:100%;min-height:var(--touch-target);padding:var(--sp-3) var(--sp-5);border:var(--hairline);border-color:var(--c-ink);color:var(--c-ink);font-size:var(--fs-small);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.btn-secondary:hover{background:var(--c-paper)}.input-rail{background:var(--c-card);border:var(--hairline);padding:var(--sp-5);gap:var(--sp-5);flex-direction:column;display:flex}.field{gap:var(--sp-2);flex-direction:column;display:flex}.field-label{font-weight:600}.field-bound{border:var(--hairline);background:var(--c-paper);align-items:stretch;display:flex}.field-input{min-width:0;min-height:var(--touch-target);padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1}.field-unit{padding-inline:var(--sp-3);background:var(--c-card);border-left:var(--hairline);font-family:var(--font-mono);font-size:var(--fs-small);color:var(--c-graphite);align-items:center;display:flex}.field-hint{font-size:var(--fs-small);color:var(--c-graphite)}.field-error{font-size:var(--fs-small);color:var(--c-signal-ink);font-weight:600}.field-error:empty{display:none}.field--error .field-bound{border-color:var(--c-signal-ink)}.segmented{flex-wrap:wrap;display:flex}.segmented-option{flex:auto;display:flex}.segmented-option input{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.segmented-option label{min-height:var(--touch-target);padding:var(--sp-2) var(--sp-3);border:var(--hairline);background:var(--c-paper);font-size:var(--fs-small);text-align:center;cursor:pointer;flex:1;justify-content:center;align-items:center;margin-top:-1px;margin-left:-1px;display:flex}.segmented-option input:checked+label{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-paper)}.segmented-option input:focus-visible+label{outline:var(--focus-ring);outline-offset:var(--focus-offset);z-index:1}.field--segmented{gap:var(--sp-2)}.field--segmented .field-label{padding:0}.tool-advanced{border:var(--hairline);background:var(--c-paper)}.tool-advanced summary{cursor:pointer;min-height:var(--touch-target);padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-weight:500;font-size:var(--fs-eyebrow);letter-spacing:var(--track-eyebrow);text-transform:uppercase;align-items:center;list-style:none;display:flex}.tool-advanced summary::-webkit-details-marker{display:none}.tool-advanced summary:before{content:"";width:8px;height:8px;margin-right:var(--sp-2);border-right:2px solid var(--c-graphite);border-bottom:2px solid var(--c-graphite);display:inline-block;transform:rotate(-45deg)}.tool-advanced[open] summary:before{transform:rotate(45deg)}.tool-advanced summary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.tool-advanced-body{gap:var(--sp-4);padding:var(--sp-3);border-top:var(--hairline);flex-direction:column;display:flex}.field--toggle .field-toggle-row{align-items:center;gap:var(--sp-3);min-height:var(--touch-target);cursor:pointer;font-weight:600;display:flex}.field--toggle input[type=checkbox]{width:var(--sp-5);height:var(--sp-5);accent-color:var(--c-ink);flex:none}.field--toggle input[type=checkbox]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.tool-actions{gap:var(--sp-3);flex-direction:column;display:flex}.tool-status{font-size:var(--fs-small);color:var(--c-graphite)}.tool-status:empty{display:none}.error-summary{border-left:var(--rule-emphasis);background:var(--c-paper);padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.error-summary[hidden]{display:none}.error-summary-list{padding-left:var(--sp-5);gap:var(--sp-1);font-size:var(--fs-small);flex-direction:column;display:flex}.result-ticket{background:var(--c-card);border:var(--hairline);clip-path:var(--ticket-clip);padding:var(--sp-5);gap:var(--sp-4);flex-direction:column;display:flex}.result-ticket [data-ticket-body]{gap:var(--sp-4);flex-direction:column;display:flex}.reading-line{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.reading-secondary,.ticket-note{font-size:var(--fs-small);color:var(--c-graphite)}.reading-secondary{font-family:var(--font-mono)}.ticket-why{max-width:var(--w-prose)}.waiting-line{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-subtitle);color:var(--c-signal-ink)}.example-caption{border-top:var(--hairline);padding-top:var(--sp-3)}.result-values{border-top:0}.result-values caption{padding-top:0}.grit-ladder{border-top:var(--hairline);max-width:none;margin:0;padding:0;list-style:none}.grit-step{align-items:baseline;gap:var(--sp-2) var(--sp-4);padding:var(--sp-3) 0;border-bottom:var(--hairline);flex-wrap:wrap;display:flex}.grit-grit{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-subtitle);min-width:4ch}.grit-count{font-family:var(--font-mono);margin-right:auto}.grit-cover{font-size:var(--fs-small);color:var(--c-graphite);font-family:var(--font-mono)}.segment-bar svg,.datum-readout svg{width:100%;height:auto;display:block}.solution-list,.removal-list{gap:var(--sp-4);flex-direction:column;max-width:none;margin:0;padding:0;list-style:none;display:flex}.removal-list{gap:var(--sp-2);font-size:var(--fs-small)}.removal-list li{border-top:var(--hairline);padding-top:var(--sp-2)}.solution{gap:var(--sp-2);border-top:var(--hairline);padding-top:var(--sp-3);flex-direction:column;display:flex}.solution-terms{font-family:var(--font-mono);font-weight:500}.solution-more{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--c-graphite)}.tool-noscript{border:var(--hairline);padding:var(--sp-4) var(--sp-5);gap:var(--sp-3);flex-direction:column;display:flex}.notes-list{gap:var(--sp-2);font-size:var(--fs-small);color:var(--c-graphite);flex-direction:column;padding:0;list-style:none;display:flex}.notes-list li{border-top:var(--hairline);padding-top:var(--sp-2)}.warning-note{border-left:var(--rule-emphasis);padding:var(--sp-3) var(--sp-4);max-width:var(--w-prose)}.methodology{border-top:var(--hairline);border-bottom:var(--hairline)}.methodology summary{align-items:center;gap:var(--sp-3);min-height:var(--touch-target);font-family:var(--font-display);font-weight:700;font-size:var(--fs-subtitle);cursor:pointer;list-style:none;display:flex}.methodology summary::-webkit-details-marker{display:none}.methodology summary:before{content:"";border-right:2px solid var(--c-graphite);border-bottom:2px solid var(--c-graphite);flex-shrink:0;width:7px;height:7px;transform:rotate(-45deg)}.methodology[open] summary:before{transform:rotate(45deg)}.methodology-body{gap:var(--sp-4);padding-block:var(--sp-2) var(--sp-5);flex-direction:column;display:flex}.source-note{font-size:.7em}.source-note a{font-family:var(--font-mono);text-decoration:none}.source-note a:hover{text-decoration:underline}.formula-strip{gap:var(--sp-1);background:var(--c-card);border:var(--hairline);max-width:max-content;padding:var(--sp-3) var(--sp-4);flex-direction:column;display:flex}.formula-strip code{font-size:var(--fs-body);white-space:pre-wrap}.formula-note{font-size:var(--fs-small);color:var(--c-graphite);font-family:var(--font-body)}.crosslink{gap:var(--sp-2);background:var(--c-card);border:var(--hairline);padding:var(--sp-4) var(--sp-5);max-width:var(--w-prose);flex-direction:column;display:flex}.crosslink a{font-weight:600}.material-chip{background:var(--c-card);border:var(--hairline);padding:2px var(--sp-2);font-family:var(--font-mono);font-weight:500;font-size:var(--fs-eyebrow);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--c-ink);white-space:nowrap;display:inline-block}.tool-shell{gap:var(--sp-5);align-items:start;display:grid}@media (width>=900px){.tool-shell{grid-template-columns:2fr 3fr}}.tool-shell-inputs{gap:var(--sp-4);flex-direction:column;display:flex}.tool-stage{gap:var(--sp-5);flex-direction:column;display:flex}.article-shell{max-width:var(--w-prose);margin-inline:auto}.margin-note{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-eyebrow);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--c-graphite);margin-bottom:var(--sp-2);display:block}@media (width>=1100px){.article-shell{position:relative}.margin-note{left:calc(-1 * var(--sp-9) - var(--sp-5));width:var(--sp-9);text-align:right;margin-bottom:0;position:absolute}}.prose{gap:var(--sp-4);flex-direction:column;display:flex}.prose h2{margin-top:var(--sp-5)}.prose h3{margin-top:var(--sp-3)}.prose ul,.prose ol{padding-left:var(--sp-5);gap:var(--sp-2);flex-direction:column;display:flex}.prose blockquote{border-left:var(--rule-emphasis);padding:var(--sp-3) var(--sp-4);color:var(--c-graphite)}.dim-note{gap:var(--sp-2);flex-direction:column;max-width:360px;display:flex}.dim-note svg{width:100%;height:auto;display:block}.dim-note-label{font-family:var(--font-mono);color:var(--c-graphite);font-weight:500}
