@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f3eee4;--card: #fffcf7;--ink: #1a2420;--muted: #3a4943;--line: #e0d5c4;--spruce: #1c3d34;--spruce-2: #244e43;--moss: #e4f0e8;--clay: #9a4328;--clay-soft: #f6e6dc;--gold: #f3e2bc;--danger: #7c2e2a;--danger-bg: #f8ebe6;--ok: #1b5c3e;--ok-bg: #e5f2ea;--warn: #7a5410;--warn-bg: #f8efd8;--shadow: 0 18px 40px rgba(48, 36, 18, .08);--serif: "Fraunces Variable", "Iowan Old Style", Palatino, Georgia, serif;--sans: "Outfit Variable", "Avenir Next", "Segoe UI", sans-serif;--radius: 18px;--ad-slot-min-height: 0px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{font-size:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--sans);color:var(--ink);background:radial-gradient(900px 420px at -10% -20%,#efe2cc 0%,transparent 55%),radial-gradient(800px 380px at 110% -10%,#e5f0e8 0%,transparent 50%),var(--paper);border-top:8px solid var(--spruce);line-height:1.5}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--clay);outline-offset:3px}::selection{background:var(--gold);color:var(--ink)}img,svg{max-width:100%}a{color:var(--spruce);text-underline-offset:.18em}a:hover{color:var(--clay)}.skip{position:absolute;left:1rem;top:0;transform:translateY(-120%);background:var(--card);color:var(--ink);padding:.6rem .9rem;z-index:5;border-radius:0 0 10px 10px}.skip:focus{transform:none}.wrap{width:min(1080px,calc(100% - 2rem));margin-inline:auto}.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1.25rem;width:min(1080px,calc(100% - 2rem));margin:0 auto;padding:.85rem 0 .35rem}.brand{display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none}.brand strong{display:block;font-family:var(--serif);font-weight:560;font-size:1.45rem;letter-spacing:-.03em;line-height:1}.brand small{display:block;color:var(--muted);font-size:.82rem;margin-top:.15rem}.mark{flex:none}.nav{display:flex;flex-wrap:wrap;gap:.15rem .2rem}.nav a,.site-footer nav a{display:inline-flex;align-items:center;min-height:44px;padding:.2rem .55rem;color:var(--ink);text-decoration:none;border-radius:999px}.nav a[aria-current=page]{background:var(--spruce);color:#f6f1e7}.page-head{padding:.6rem 0 1rem}.kicker,.page-head .eyebrow{margin:0 0 .35rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:650;color:var(--clay)}h1,h2,h3{font-family:var(--serif);font-weight:560;letter-spacing:-.03em;line-height:1.15}h1{font-size:clamp(2.15rem,5vw,3.5rem);margin:0 0 .55rem}h2{font-size:clamp(1.45rem,2.5vw,1.9rem);margin:0 0 .55rem}h3{font-size:1.2rem;margin:0 0 .35rem}.lede,.tool-intro{font-size:1.125rem;max-width:42rem;margin:0;color:var(--ink)}.crumbs{color:var(--muted);font-size:.92rem;margin:0 0 .4rem}.crumbs a{color:var(--muted)}.calculator{display:grid;gap:1rem;align-items:start}#results{scroll-margin-top:.75rem}@media(min-width:960px){.calculator{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.results{position:sticky;top:.75rem;max-height:calc(100vh - 1.5rem);overflow:auto}}.tool,.results,.panel-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.tool{border-top:6px solid var(--spruce);padding:1.15rem 1.1rem 1.2rem}.results{border-top:6px solid var(--clay);padding:1.15rem 1.1rem 1.25rem}.segment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;padding:.3rem;margin:.9rem 0 .85rem;background:#f6f1e7;border:1px solid var(--line);border-radius:16px}.segment label{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:.35rem .4rem;border-radius:12px;font-weight:650;font-size:.92rem;line-height:1.2;cursor:pointer}.segment input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.segment label:has(input:checked){background:var(--spruce);color:#f7f3ea}.segment label:focus-within{outline:3px solid var(--clay);outline-offset:2px}.field,.choice{display:block;font-weight:650;margin:.75rem 0}.choice{font-weight:550;display:flex;gap:.65rem;align-items:flex-start;min-height:44px}.choice input{width:1.15rem;height:1.15rem;margin-top:.2rem;accent-color:var(--spruce);flex:none}.field input,.field select,input[type=date],input[type=number],select{display:block;width:100%;margin-top:.35rem;min-height:48px;padding:.45rem .7rem;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid #d3c6b3;border-radius:12px}.hint,.fineprint{color:var(--muted);font-size:.92rem;font-weight:450}.fineprint{margin:.8rem 0 0}fieldset{border:0;margin:0;padding:0}legend{font-weight:700;padding:0}.date-row{display:flex;gap:.4rem;align-items:flex-end}.date-row .field{flex:1}.date-row .remove-date{margin-bottom:.15rem}.form-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}button,.button-primary,.button-secondary,.button-ghost{font:inherit;cursor:pointer;min-height:48px;border-radius:999px;padding:.65rem 1rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center}.button-primary{background:var(--spruce);color:#f6f1e7;border:1px solid var(--spruce);flex:1 1 12rem}.button-primary:hover{background:#142e28}.button-secondary{background:transparent;color:var(--spruce);border:1px solid var(--spruce)}.button-secondary:hover{background:var(--moss)}.button-ghost{background:transparent;color:var(--spruce);border:0;text-decoration:underline;text-underline-offset:.18em;padding-inline:.4rem}.banner-error,.banner-warn{border-radius:12px;padding:.75rem .85rem;margin:.75rem 0}.banner-error{background:var(--danger-bg);color:var(--danger)}.banner-warn{background:var(--warn-bg);color:var(--warn)}.banner-warn p,.banner-error p{margin:.3rem 0}[aria-invalid=true]{border-color:var(--danger)!important}.context{margin-top:.4rem;border-top:1px solid var(--line);padding-top:.4rem}.context summary{cursor:pointer;font-weight:700;min-height:48px;display:flex;align-items:center}.empty-title{font-family:var(--serif);font-size:1.7rem;margin:.2rem 0 .4rem;letter-spacing:-.03em}.facts{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem}.facts li{background:var(--moss);border-radius:12px;padding:.65rem .75rem;display:flex;flex-direction:column}.facts strong{font-family:var(--serif);font-size:1.25rem;font-weight:560}.facts span{color:var(--muted);font-size:.9rem}@media(min-width:560px){.facts{grid-template-columns:repeat(3,1fr)}}.source{margin:0;color:var(--muted)}.primary{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.08;letter-spacing:-.03em;margin:.25rem 0 .45rem}.primary-range{font-size:clamp(1.45rem,3vw,2.15rem)}.secondary{margin:0 0 .8rem}.status{margin:0 0 .7rem;padding:.65rem .8rem;border-radius:12px;font-weight:650}.status-ahead{background:var(--moss);color:var(--spruce)}.status-open{background:var(--ok-bg);color:var(--ok)}.status-past{background:var(--danger-bg);color:var(--danger)}.along{margin:.2rem 0 .7rem;color:var(--muted)}.bar{width:100%;height:28px;display:block}.bar-track{fill:#eadfce}.bar-window{fill:var(--spruce)}.bar-today{fill:var(--clay)}.bar-legend{display:flex;gap:1rem;font-size:.85rem;color:var(--muted);margin:.15rem 0 .8rem}.swatch{width:.75rem;height:.75rem;display:inline-block;margin-right:.3rem;vertical-align:-.05rem}.swatch-window{background:var(--spruce);border-radius:2px}.swatch-today{background:var(--clay);border-radius:50%}.actions{display:flex;flex-wrap:wrap;gap:.45rem;margin:.3rem 0 .4rem}.actions .button-primary{flex:1 1 100%}@media(min-width:720px){.actions .button-primary{flex:1 1 auto}}.detail-list,.notes-list{margin:.3rem 0 0;padding-left:1.1rem}.detail-list li,.notes-list li{margin:.35rem 0}.milestones{list-style:none;margin:0;padding:0}.milestones li{display:grid;grid-template-columns:1fr;gap:.15rem;padding:.75rem 0;border-top:1px solid var(--line)}.milestones .when{margin:0;color:var(--clay);font-weight:700;font-size:.92rem}.milestones p{margin:.25rem 0 0}.milestones .is-past{opacity:.72}@media(min-width:700px){.milestones li{grid-template-columns:11rem 1fr;gap:.8rem}}.week{border-top:1px solid var(--line)}.week summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:4.6rem 1fr;gap:.55rem;align-items:center;min-height:52px;padding:.45rem 0}.week summary::-webkit-details-marker{display:none}.week-num{font-family:var(--serif);color:var(--clay);font-size:1.05rem}.week-when{display:block;color:var(--muted);font-size:.85rem}.week-title{display:block;font-weight:700}.week-body{padding:0 0 .8rem}.week.current{background:var(--moss);border-radius:12px;padding:0 .65rem;margin:.2rem 0}.week-note{color:var(--muted)}.prose{max-width:72ch;padding-top:.5rem}.prose p,.prose li{font-size:1.05rem}.prose h2{margin-top:1.8rem}.prose h3{margin-top:1.2rem}.gweek{border-top:1px solid var(--line);padding:.4rem 0 .8rem}.table-wrap{overflow-x:auto;margin:1rem 0}table{width:100%;border-collapse:collapse;font-size:.98rem}th,td{text-align:left;vertical-align:top;padding:.65rem .55rem;border-bottom:1px solid var(--line)}th{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}caption{text-align:left;font-weight:700;margin-bottom:.4rem}.faq{max-width:72ch;margin-top:1rem}.qa{border-top:1px solid var(--line);padding:.85rem 0}.qa h3{font-size:1.25rem}.callout{border-radius:16px;padding:1rem 1rem .4rem;margin:1rem 0}.callout-urgent{background:var(--clay-soft);border:1px solid #e4c2b2}.callout h2{margin-top:0}.sources{font-size:.95rem;color:var(--muted);padding-left:1.1rem}.sources li{margin:.45rem 0}.check-group{margin:1.1rem 0 1.4rem}.check{list-style:none;margin:0;padding:0}.check label{display:grid;grid-template-columns:1.25rem 1fr;gap:.75rem;align-items:flex-start;padding:.75rem 0;border-top:1px solid var(--line);min-height:48px}.check input{width:1.2rem;height:1.2rem;margin-top:.15rem;accent-color:var(--spruce)}.check-tools{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.6rem 0 1rem}#check-progress{font-weight:700}.ad-slot{margin:1.25rem 0;min-height:var(--ad-slot-min-height)}.ad-slot:empty{display:none}.site-footer{margin-top:3rem;border-top:1px solid var(--line);padding:1.5rem 0 2.5rem;color:var(--muted)}.footer-grid{display:grid;gap:1rem}.footer-name{font-family:var(--serif);color:var(--ink);font-size:1.3rem;margin:0 0 .3rem}.site-footer nav{display:grid}.site-footer nav a{padding-left:0}@media(min-width:800px){.footer-grid{grid-template-columns:1.4fr 1fr}.footer-grid .fineprint{grid-column:1 / -1}}.print-only{display:none}.copy-buffer{position:fixed;left:-9999px;top:0}@media print{body{background:#fff;border:0}.site-header,.site-footer,.no-print,.ad-slot,.skip,.tool,.form-actions{display:none!important}.results{box-shadow:none;max-height:none;overflow:visible;position:static;border:0}.week-body{display:block!important}a{color:#000;text-decoration:none}.print-only{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
