@font-face{font-family:Plex;src:url(assets/fonts/IBMPlexSans-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:PlexCondensed;src:url(assets/fonts/IBMPlexSansCondensed-SemiBold.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:PlexMono;src:url(assets/fonts/IBMPlexMono-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#f4f6ef;--ink:#102f2b;--forest:#164c43;--coral:#ff795d;--warning:#9b2f20;--rule:#728781}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.55 Plex,Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}button{cursor:pointer;min-height:48px;background:var(--forest);color:white;border:2px solid var(--forest);border-radius:4px;padding:12px 18px;text-align:left}button:disabled{cursor:not-allowed;background:#d7ded8;color:#3f514c;border-color:#728781}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,.table-scroll:focus-visible{outline:3px solid var(--warning);outline-offset:4px}.wrap{max-width:1280px;margin:auto;padding:28px clamp(16px,4vw,48px)}.masthead{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--rule)}.wordmark,.eyebrow{font:400 .78rem/1.5 PlexMono,Consolas,monospace;letter-spacing:.04em}.wordmark{min-height:44px;display:flex;align-items:center;text-decoration:none}.masthead nav{display:flex;gap:24px;flex-wrap:wrap}.masthead nav a{display:inline-flex;align-items:center;min-height:44px}.skip{position:absolute;top:-100px;left:12px;background:white;padding:12px;z-index:5}.skip:focus{top:12px}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{font-family:PlexCondensed,'Arial Narrow',Arial,sans-serif;font-weight:600;line-height:1.02}h1{font-size:clamp(3.3rem,7.2vw,6.5rem);letter-spacing:-.025em;margin:20px 0 24px}h2{font-size:clamp(2rem,3.6vw,3.2rem)}h3{font-size:1.65rem;margin:25px 0 12px}.intro{max-width:900px;padding:24px 0 54px}.lead{font-size:1.25rem;max-width:59ch;margin:22px 0}.small,.hint{font-size:.88rem;line-height:1.55}.intro .small{max-width:75ch;margin-top:14px}.workspace{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:48px;border-top:2px solid var(--ink)}form,.result{min-width:0;padding-top:30px}.section-top,.result-heading{margin-bottom:24px}.eyebrow{display:block;margin-bottom:10px}.section-top:not(:first-child){margin-top:34px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;margin-bottom:22px}.hint{display:block;margin-top:7px}.optional{font-size:.8rem}input:not([type=checkbox]),textarea{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--rule);border-radius:3px;background:white;color:var(--ink);display:block;margin-top:7px}textarea{resize:vertical;font-family:PlexMono,Consolas,monospace;font-size:.95rem;line-height:1.6}input[type=checkbox]{width:20px;height:20px;accent-color:var(--forest)}fieldset{border:0;padding:0;margin:0;min-width:0}.weekdays{display:flex;flex-wrap:wrap;gap:0 14px;margin-bottom:16px}.weekdays legend{margin-bottom:10px}.weekdays label{display:flex;align-items:center;min-height:44px;gap:5px;margin:0;font-size:.9rem}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0 32px}.metrics>div{min-width:0;display:flex;flex-direction:column-reverse;gap:12px}.metrics dt{font-size:.9rem}.metrics dd{font:400 clamp(2.4rem,4.2vw,3.8rem)/1.15 PlexMono,Consolas,monospace;letter-spacing:-.05em;overflow-wrap:anywhere}.secondary{border-top:1px solid var(--rule);padding-top:24px}.secondary dd{font-size:clamp(2rem,3.4vw,2.7rem)}.chart-caption{display:flex;justify-content:space-between;gap:15px;font-size:.72rem;margin-bottom:14px}.chart{width:100%;overflow:hidden}.chart svg{width:100%;height:190px;display:block}.chart .entry{fill:var(--forest)}.chart .tail{fill:var(--coral);stroke:var(--forest);stroke-width:1}.chart .capacity{stroke:var(--warning);stroke-dasharray:4 4;stroke-width:1.5}.chart .boundary{stroke:var(--ink);stroke-width:2}.chart-key{font-size:.76rem;margin-top:14px}.key-entry,.key-tail{display:inline-block;border-bottom:4px solid var(--forest);margin:0 12px 8px 0}.key-tail{border-color:var(--coral)}.capacity-result{font-size:1rem;border-left:3px solid var(--warning);padding:8px 16px;margin-bottom:24px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:.9rem;margin-bottom:24px}.facts dd{font-family:PlexMono,Consolas,monospace;overflow-wrap:anywhere}.export-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 10px}.secondary-button{background:transparent;color:var(--forest)}summary{cursor:pointer;min-height:48px;padding:14px 0}details{border-top:1px solid var(--rule);margin-top:20px}.table-scroll{max-width:100%;overflow:auto;max-height:560px;margin:12px 0 20px}table{width:100%;border-collapse:collapse;font:400 .8rem/1.5 PlexMono,Consolas,monospace}caption{text-align:left;font:400 .85rem/1.5 Plex,Arial,sans-serif;margin-bottom:15px}th,td{text-align:left;border-bottom:1px solid var(--rule);padding:9px 10px;white-space:nowrap}th{font-weight:400;background:#e6ece2}thead th{position:sticky;top:0}td:last-child{white-space:normal;min-width:110px}.tail-row{border-left:3px solid var(--warning)}.notice{border-left:3px solid var(--warning);padding:12px;margin:16px 0}.error{color:var(--warning)}.stale #result-status{color:var(--warning)}.stale #result-content{border-top:3px solid var(--warning);padding-top:12px}.method,.privacy{border-top:2px solid var(--ink);margin-top:70px;padding-top:32px}.method-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:20px 0 28px}.privacy p{max-width:70ch;margin-top:24px}.footer{border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem;margin-top:50px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:900px){.workspace{grid-template-columns:1fr;gap:20px}.result{border-top:2px solid var(--ink);padding-top:28px}.method-columns{grid-template-columns:1fr;gap:0}.result-heading h2{max-width:22ch}.metrics dd{font-size:clamp(2rem,7vw,3.8rem)}}
@media(max-width:440px){body{font-size:17px}.wrap{padding:20px 16px}.masthead{align-items:start;gap:12px}.masthead nav{gap:10px;font-size:.85rem}.wordmark{max-width:11ch;font-size:.7rem}.fields{grid-template-columns:1fr}.intro{padding-top:20px;padding-bottom:34px}h1{font-size:3.4rem}.lead{font-size:1.12rem}.metrics{gap:14px}.metrics dd{font-size:2.15rem}.secondary dd{font-size:1.9rem}.facts{grid-template-columns:1fr;gap:3px}.facts dd{margin-bottom:14px}.chart-caption{display:block}.chart-caption span{display:block;margin-top:5px}.export-actions button{width:100%}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color 160ms,color 160ms}}
@media print{.masthead,form,.export-actions,.footer,.skip{display:none}.workspace,.method-columns{display:block}.result{border:0}.wrap{padding:0;max-width:none}.table-scroll{max-height:none;overflow:visible}.method,.privacy{margin-top:30px}.chart svg{height:160px}th{position:static}}
