@font-face{font-family:IM Fell French Canon;font-style:normal;font-display:swap;font-weight:400;src:url(./im-fell-french-canon-latin-400-normal-CR4XPOt4.woff2) format("woff2"),url(./im-fell-french-canon-latin-400-normal-DwHsrVhc.woff) format("woff")}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.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:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.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:Atkinson Hyperlegible Mono Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./atkinson-hyperlegible-mono-latin-ext-wght-normal-CXgNM06D.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:Atkinson Hyperlegible Mono Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./atkinson-hyperlegible-mono-latin-wght-normal-CoA7y8X5.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{--night: #0a2150;--ground: #102e6b;--wash: #1a4290;--wash-2: #22509f;--paper: #f3efe4;--paper-dim: #c9d3ea;--paper-faint: rgba(243, 239, 228, .62);--line: rgba(243, 239, 228, .22);--line-strong: rgba(243, 239, 228, .45);--burn: #ffffff;--sun: #ffb547;--ink: #0a2150;--ink-dim: #34466e;--error: #ffd0c2;--font-display: "IM Fell French Canon", "Iowan Old Style", Georgia, serif;--font-ui: "Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible Next", system-ui, sans-serif;--font-mono: "Atkinson Hyperlegible Mono Variable", "Atkinson Hyperlegible Mono", ui-monospace, monospace;--t-xs: .8125rem;--t-sm: .9375rem;--t-md: 1.0625rem;--t-lg: 1.3125rem;--t-xl: clamp(1.4rem, 1.1rem + 1vw, 1.65rem);--t-2xl: clamp(1.7rem, 1.2rem + 1.6vw, 2.1rem);--t-3xl: clamp(2rem, 1.3rem + 2.4vw, 2.6rem);--t-display: clamp(3rem, 1.6rem + 5vw, 5.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4.5rem;--space-9: 7rem;--gutter: clamp(1rem, .4rem + 2.6vw, 3rem);--measure: 66ch;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--develop: .9s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--wash-2) var(--night)}body{margin:0;background-color:var(--ground);color:var(--paper);font-family:var(--font-ui);font-size:var(--t-md);line-height:1.55;font-variant-numeric:tabular-nums;overflow-x:hidden;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:var(--sun);color:var(--ink)}a{color:var(--paper);text-decoration-color:var(--line-strong);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-color:var(--sun)}:focus-visible{outline:2px solid var(--sun);outline-offset:3px}.defs{position:absolute;width:0;height:0;overflow:hidden}.skip{position:absolute;left:var(--space-4);top:-4rem;padding:var(--space-2) var(--space-4);background:var(--paper);color:var(--ink);z-index:10}.skip:focus{top:var(--space-4)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.masthead{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-5);padding:var(--space-6) var(--gutter) var(--space-4)}.wordmark{margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--t-display);line-height:.9;letter-spacing:-.01em}.deck{margin:0;font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--paper-dim)}.stage{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--space-6) var(--space-7);padding:0 var(--gutter) var(--space-8);align-items:start}.stage__main{min-width:0}.verdict{margin:var(--space-3) 0 var(--space-4);max-width:22ch;font-family:var(--font-display);font-weight:400;font-size:var(--t-3xl);line-height:1.08;text-wrap:balance}.verdict em{font-style:normal;color:var(--sun)}.verdict__lines{margin:0 0 var(--space-2);padding:0;list-style:none;font-size:var(--t-md);color:var(--paper);max-width:var(--measure)}.verdict__lines li+li{margin-top:var(--space-1)}.verdict__next{margin:0 0 var(--space-6);font-family:var(--font-mono);font-size:var(--t-sm);color:var(--paper-dim);min-height:1.5em}.plate{margin:0}.plate__caption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-1) var(--space-4);margin-bottom:var(--space-3)}.plate__title{font-family:var(--font-display);font-size:var(--t-xl);line-height:1.2}.plate__meta{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.04em;color:var(--paper-dim)}.plate__coat{position:relative;padding:clamp(10px,1.6vw,22px);isolation:isolate}.plate__coat:before{content:"";position:absolute;inset:0;background:var(--night);filter:url(#emulsion);z-index:-1}.plate__field{position:relative;aspect-ratio:16 / 8.6;touch-action:pan-y}.plate__field canvas,.plate__overlay,.plate__develop,.plate__scrub{position:absolute;inset:0;width:100%;height:100%}.plate__overlay{overflow:visible;pointer-events:none}.plate__develop{background:#d9dcb4;opacity:0;pointer-events:none;mix-blend-mode:multiply}.plate__field.is-developing canvas{animation:develop-sharpen var(--develop) var(--ease-out) both}.plate__field.is-developing .plate__develop{animation:develop-wash var(--develop) var(--ease-out) both}@keyframes develop-wash{0%{opacity:1}to{opacity:0}}@keyframes develop-sharpen{0%{filter:blur(5px) brightness(1.35)}to{filter:none}}.plate__scrub{cursor:crosshair;outline-offset:6px}.plate__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);margin-top:var(--space-4)}.plate__hint{margin:0;font-size:var(--t-xs);color:var(--paper-dim)}.wedge{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0;padding:0;list-style:none;font-size:var(--t-xs);color:var(--paper-dim)}.wedge li{display:inline-flex;align-items:center;gap:var(--space-2)}.wedge__swatch{width:22px;height:12px;border:1px solid var(--line)}.wedge__swatch--night{background:var(--night)}.wedge__swatch--day{background:var(--wash)}.wedge__swatch--l1{background:#5f7fb8}.wedge__swatch--l2{background:#b9c8e6}.wedge__swatch--l3{background:var(--burn)}.wedge__swatch--hit{background:var(--sun)}.stage__side{display:grid;gap:var(--space-7);min-width:0}.slip{position:relative;background:var(--paper);color:var(--ink);padding:var(--space-5) var(--space-5) var(--space-6);font-size:var(--t-sm)}.slip:before{content:"";position:absolute;left:0;right:0;top:-5px;height:10px;background:var(--paper);filter:url(#emulsion)}.slip__title{margin:0 0 var(--space-4);font-family:var(--font-display);font-weight:400;font-size:var(--t-2xl);line-height:1.1}.slip__group{margin:0 0 var(--space-4);padding:var(--space-4) 0 0;border:0;border-top:1px solid rgba(10,33,80,.2);min-width:0}.slip__group legend{padding:0;font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-dim);float:left;width:100%;margin-bottom:var(--space-3)}.slip__group legend+*{clear:both}.field{display:grid;gap:var(--space-1);margin-bottom:var(--space-3)}.field--row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.field label,.field__label{font-weight:600;font-size:var(--t-sm)}.field__aside{font-weight:400;color:var(--ink-dim)}.field__note{font-size:var(--t-xs);color:var(--ink-dim);margin:0}.field__note.is-error{color:#9a1b00}.slip input[type=text],.slip input[type=time],.slip input[type=number],.slip select{width:100%;min-height:44px;padding:var(--space-2) 0;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-family:var(--font-mono);font-size:var(--t-md)}.slip select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:var(--space-6)}.slip input::placeholder{color:#6b7898}.slip input:focus-visible,.slip select:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-bottom-color:var(--sun)}.slip input[aria-invalid=true]{border-bottom-color:#9a1b00}.toggle{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;text-transform:none;letter-spacing:0;font-family:var(--font-ui);font-size:var(--t-md);font-weight:700;color:var(--ink);min-height:32px}.toggle--small{font-size:var(--t-sm);font-weight:400;margin-bottom:var(--space-3)}.toggle input,.steps input,.days input{accent-color:var(--ink);width:18px;height:18px;margin:0}.leg{display:grid;grid-template-columns:148px minmax(0,1fr);gap:var(--space-4);align-items:start}.leg__fields .field:last-child{margin-bottom:0}.slip__group.is-off .leg,.slip__group.is-off .toggle--small{opacity:.45}.compass{width:148px;aspect-ratio:1;touch-action:none}.compass svg{width:100%;height:100%;display:block;overflow:visible}.compass [role=slider]{cursor:grab}.compass [role=slider]:active{cursor:grabbing}.compass [role=slider]:focus{outline:none}.compass [role=slider]:focus-visible .compass__ring{stroke:var(--sun);stroke-width:3}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-1)}.days label{display:grid;justify-items:center;gap:2px;padding:var(--space-2) 0;border:1px solid rgba(10,33,80,.25);font-family:var(--font-mono);font-size:var(--t-xs);cursor:pointer;min-height:44px}.days label:has(input:checked){background:var(--ink);color:var(--paper)}.days label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.days input{position:absolute;opacity:0;pointer-events:none}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ink)}.steps label{position:relative;display:grid;place-items:center;min-height:44px;font-family:var(--font-mono);cursor:pointer}.steps label:nth-child(1){background:#5f7fb8;color:var(--paper)}.steps label:nth-child(2){background:#b9c8e6;color:var(--ink)}.steps label:nth-child(3){background:#fff;color:var(--ink)}.steps input{position:absolute;opacity:0}.steps label:has(input:checked){box-shadow:inset 0 0 0 3px var(--ink);font-weight:700}.steps label:has(input:checked) span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 1.5px var(--ink);vertical-align:1px}.steps label:has(input:focus-visible){outline:2px solid var(--sun);outline-offset:-5px}.slip__more{margin:0 0 var(--space-4);border-top:1px solid rgba(10,33,80,.2);padding-top:var(--space-3)}.slip__more summary{cursor:pointer;font-weight:700;min-height:32px;display:flex;align-items:center}.slip__more[open] summary{margin-bottom:var(--space-3)}.slip__more input+input{margin-top:var(--space-2)}.slip__actions{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-4);border:1.5px solid var(--ink);border-radius:1px;font:inherit;font-weight:700;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .12s var(--ease-out)}.btn:active{transform:translateY(1px)}.btn--ink{background:var(--ink);color:var(--paper)}.btn--ink:hover{background:var(--wash)}.btn--ghost{background:transparent;color:var(--ink)}.btn--ghost:hover{background:#0a215014}.btn[disabled]{opacity:.5;cursor:not-allowed}.plate--view .plate__coat{padding:clamp(8px,1.2vw,14px)}.view{position:relative;aspect-ratio:16 / 10}.view svg{display:block;width:100%;height:100%}.view__readout{margin:var(--space-3) 0 0;font-family:var(--font-mono);font-size:var(--t-sm);color:var(--paper);min-height:3em}.seasons,.proof,.method,.limits,.prior{padding:var(--space-8) var(--gutter);border-top:1px solid var(--line)}.section-title{margin:0 0 var(--space-4);font-family:var(--font-display);font-weight:400;font-size:var(--t-3xl);line-height:1.05}.section-lede{margin:0 0 var(--space-6);max-width:var(--measure);color:var(--paper-dim)}.season-list{margin:0;padding:0;list-style:none}.season{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-3) var(--space-6);align-items:baseline;padding:var(--space-5) 0;border-bottom:1px solid var(--line)}.season:first-child{border-top:1px solid var(--line)}.season__range{font-family:var(--font-display);font-size:var(--t-2xl);line-height:1.1}.season__leg{display:block;margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--paper-dim)}.season__facts{margin:0;font-size:var(--t-sm)}.season__facts dt{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--paper-dim)}.season__facts dd{margin:0 0 var(--space-2)}.season__action{display:grid;gap:var(--space-2);justify-items:start}.season__advice{margin:0;font-weight:700;color:var(--sun)}.btn--paper{background:transparent;color:var(--paper);border-color:var(--line-strong)}.btn--paper:hover{border-color:var(--paper);background:#f3efe40f}.henge-note{margin:var(--space-6) 0 0;max-width:var(--measure);color:var(--paper-dim)}.proof__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-7)}.proof__item h3,.method__steps h3{margin:0 0 var(--space-2);font-family:var(--font-display);font-weight:400;font-size:var(--t-xl)}.proof__item p,.method__steps p{margin:0 0 var(--space-4);max-width:var(--measure);color:var(--paper-dim)}.proof__table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:var(--t-sm)}.proof__table th,.proof__table td{text-align:left;padding:var(--space-2) var(--space-3) var(--space-2) 0;border-bottom:1px solid var(--line);vertical-align:top}.proof__table th{font-weight:400;color:var(--paper-dim);font-size:var(--t-xs);letter-spacing:.04em;text-transform:uppercase}.proof__table .ok{color:var(--sun)}.method__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);margin:0;padding:0;list-style:none}.limits__list,.prior__list{margin:0;padding:0;list-style:none;max-width:80ch}.limits__list li,.prior__list li{padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.prior p{max-width:var(--measure)}.colophon{padding:var(--space-7) var(--gutter) var(--space-8);border-top:1px solid var(--line);font-size:var(--t-sm);color:var(--paper-dim)}.colophon p{max-width:80ch;margin:0 0 var(--space-3)}.colophon__credit{font-family:var(--font-display);font-size:var(--t-xl);color:var(--paper)}@media(max-width:1099px){.stage{grid-template-columns:minmax(0,1fr)}.stage__side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.method__steps{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.stage__side{grid-template-columns:minmax(0,1fr)}.plate__field{aspect-ratio:16 / 12}.season,.proof__grid{grid-template-columns:minmax(0,1fr)}.masthead{padding-top:var(--space-5)}}@media(max-width:420px){.leg{grid-template-columns:120px minmax(0,1fr)}.compass{width:120px}.slip{padding:var(--space-4) var(--space-4) var(--space-5)}}@media(prefers-reduced-motion:reduce){.plate__field.is-developing canvas,.plate__field.is-developing .plate__develop{animation-duration:.12s}.btn{transition:none}}
