:root{color-scheme:light;--sh-paper:#f5f1e8;--sh-ink:#273a33;--sh-clay:#b45d3d;--sh-blue:#527982;--sh-pine:#354e40;--sh-plum:#713f49;--sh-ochre:#d6a452;--sh-pale-blue:#d8e2df;--sh-pale-pink:#ead2c4;--sh-pale-green:#dde0c9;--sh-pale-plum:#e6d6db;--sh-background:var(--sh-paper);--sh-surface:#faf7f0;--sh-text:var(--sh-ink);--sh-text-muted:#596357;--sh-text-clay:#a65336;--sh-text-blue:#3a626c;--sh-link:var(--sh-text-blue);--sh-border:#d9d3c8;--sh-focus:var(--sh-text-blue);--sh-selected-background:var(--sh-pale-green);--sh-selected-text:var(--sh-pine);--sh-pending-background:#f0dfc0;--sh-pending-text:#6f4a27;--sh-fruit:var(--sh-clay);--sh-vegetable:var(--sh-pine);--sh-fungi:var(--sh-plum);--sh-seafood:var(--sh-blue);--sh-font-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;--sh-font-sans:"Noto Sans SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--sh-font-number:Georgia, "Times New Roman", var(--sh-font-serif);--sh-font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--sh-text-small:.875rem;--sh-text-body:1rem;--sh-text-lead:clamp(1.0625rem, .98rem + .4vw, 1.25rem);--sh-text-heading:clamp(1.75rem, 1.15rem + 2.3vw, 3rem);--sh-text-display:clamp(2.75rem, 1.6rem + 5vw, 6rem);--sh-text-month:clamp(3.5rem, 2.2rem + 5vw, 7.5rem);--sh-line-body:1.8;--sh-line-ui:1.5;--sh-line-heading:1.2;--sh-space-1:.25rem;--sh-space-2:.5rem;--sh-space-3:.75rem;--sh-space-4:1rem;--sh-space-5:1.5rem;--sh-space-6:2rem;--sh-space-7:3rem;--sh-space-8:4.5rem;--sh-space-9:6.5rem;--sh-page-gutter:clamp(1.25rem, 4vw, 4rem);--sh-section-gap:clamp(3rem, 7vw, 7rem);--sh-content-width:76rem;--sh-reading-width:42rem;--sh-control-min-size:2.75rem;--sh-radius-small:.25rem;--sh-radius-medium:.75rem;--sh-radius-pill:999px;--sh-border-width:1px;--sh-focus-width:3px;--sh-focus-offset:3px;--sh-shadow-soft:0 .35rem 1.2rem #273a330f;--sh-duration-quick:.14s;--sh-duration-gentle:.22s;--sh-ease:cubic-bezier(.2, .7, .2, 1)}@media (prefers-reduced-motion:reduce){:root{--sh-duration-quick:0s;--sh-duration-gentle:0s}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{background:var(--sh-paper);color:var(--sh-ink);font-family:var(--sh-font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.8}:root{--sh-font-serif:"Noto Serif CJK SC", "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, SimSun, serif;--sh-font-sans:"Noto Sans CJK SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif}::selection{background:var(--sh-pale-green)}a{color:inherit;text-underline-offset:.25em}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button,input,select{max-width:100%}img{max-width:100%;height:auto;display:block}svg{flex-shrink:0}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--sh-font-serif);text-wrap:pretty;font-weight:500;line-height:1.4}h1{letter-spacing:-.04em;font-size:clamp(2.5rem,5.2vw,4.5rem)}h2{letter-spacing:-.025em;font-size:clamp(1.75rem,3vw,2.6rem)}h3{font-size:1.4rem}p{margin-bottom:1.2rem}:focus-visible{outline:3px solid var(--sh-focus);outline-offset:5px;border-radius:2px}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.content-container{width:min(calc(100% - 2 * var(--sh-page-gutter)), 1216px);margin-inline:auto}.skip-link{background:var(--sh-pine);color:#fff;z-index:100;padding:.6rem 1rem;position:fixed;top:-6rem;left:1rem}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--sh-border);justify-content:space-between;align-items:center;gap:2rem;min-height:116px;display:flex}.brand{flex-shrink:0;align-items:center;gap:.8rem;text-decoration:none;display:flex}.brand-name{font-family:var(--sh-font-serif);letter-spacing:.12em;font-size:1.55rem;line-height:1.35}.brand-name small{font:.58rem/1.8 var(--sh-font-sans);letter-spacing:.19em;margin-top:.25rem;display:block}.site-nav{align-items:center;gap:clamp(1.2rem,2.6vw,2.6rem);font-size:.875rem;display:flex}.site-nav a{white-space:nowrap;align-items:center;min-height:44px;text-decoration:none;display:flex;position:relative}.site-nav a:hover,.site-nav [aria-current=page]{color:var(--sh-text-clay)}.site-nav [aria-current=page]:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:0;left:calc(50% - 2px)}main:focus{outline:none}.eyebrow{font:.72rem/1.6 var(--sh-font-sans);letter-spacing:.16em;color:var(--sh-text-muted);text-transform:uppercase;margin-bottom:1.25rem}.page-intro{padding-top:clamp(3rem,6vw,6rem);padding-bottom:2.5rem}.page-intro h1{margin-bottom:1.2rem}.page-intro p:not(.eyebrow){max-width:43rem;color:var(--sh-text-muted)}.section-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2rem;display:flex}.section-heading h2,.section-heading p{margin-bottom:0}.section-heading .eyebrow{margin-bottom:.75rem}.text-link{color:var(--sh-text-blue);border-bottom:1px solid;padding-block:.4rem;text-decoration:none;display:inline-block}.text-link:hover{color:var(--sh-text-clay)}.button{border:1px solid var(--sh-pine);background:var(--sh-pine);min-height:48px;color:var(--sh-paper);border-radius:2px;justify-content:center;align-items:center;gap:1.5rem;padding:.7rem 1.5rem;font-size:.9rem;line-height:1.5;text-decoration:none;display:inline-flex}.button:hover{background:var(--sh-ink)}.button-secondary{color:var(--sh-pine);background:0 0}.button-secondary:hover{background:var(--sh-pale-green)}.paper-panel{background:var(--sh-surface);border:1px solid var(--sh-border);padding:clamp(1.25rem,3vw,2.5rem)}.prose{overflow-wrap:anywhere;max-width:48rem}.prose p,.prose li{line-height:1.95}.prose h2{margin-top:2.5rem}.prose a{color:var(--sh-text-blue)}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.tone-fruit{--tone:var(--sh-text-clay);--tone-soft:var(--sh-pale-pink)}.tone-vegetable{--tone:var(--sh-pine);--tone-soft:var(--sh-pale-green)}.tone-fungi{--tone:var(--sh-plum);--tone-soft:var(--sh-pale-plum)}.tone-seafood{--tone:var(--sh-text-blue);--tone-soft:var(--sh-pale-blue)}.season-card{border:1px solid var(--sh-border);min-width:0;height:100%;transition:border-color var(--sh-duration-gentle), background var(--sh-duration-gentle);background:#faf7f0a6;flex-direction:column;padding:1.5rem;display:flex;position:relative}.season-card:hover{border-color:var(--tone);background:var(--sh-surface)}.season-card:focus-within{border-color:var(--tone)}.card-top{justify-content:space-between;align-items:start;height:82px;display:flex}.category-label{color:var(--tone);align-items:center;gap:.45rem;font-size:.75rem;display:inline-flex}.category-label:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;display:inline-block}.card-top .seasonal-glyph{width:86px;height:74px;margin-top:-.5rem}.card-origin{color:var(--sh-text-muted);overflow-wrap:anywhere;margin-bottom:.7rem;font-size:.8rem}.season-card h3{margin-bottom:1.1rem;font-size:1.4rem}.season-card h3 a{text-decoration:none}.card-arrow{font:1rem var(--sh-font-sans);color:var(--tone);margin-left:.6rem}.card-window{color:var(--tone);margin-bottom:.35rem;font-size:.95rem;font-weight:500}.card-season-type{color:var(--sh-text-muted);margin-bottom:1.2rem;font-size:.8rem;line-height:1.8}.card-scope{color:var(--sh-text-muted);margin:.6rem 0 0;font-size:.75rem}.card-note{border-top:1px solid var(--sh-border);margin-top:.8rem;font-size:.8rem}.card-note summary{cursor:pointer;min-height:44px;color:var(--tone);padding-block:.65rem}.card-note p{margin-bottom:.4rem;font-size:.85rem;line-height:1.9}.month-strip{grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;margin:auto 0 0;padding:0;list-style:none;display:grid}.month-strip li{height:26px;font:.67rem/1 var(--sh-font-sans);color:var(--sh-text-muted);border-bottom:2px solid var(--sh-border);justify-content:center;align-items:center;display:flex}.month-strip .covered{background:var(--tone-soft,var(--sh-pale-green));border-color:var(--tone,var(--sh-pine));color:var(--tone,var(--sh-pine));font-weight:600}.month-strip .selected-month{outline:1px solid var(--sh-ink);outline-offset:1px}.site-footer{border-top:1px solid var(--sh-border);margin-top:clamp(4rem,8vw,7rem);padding-top:3rem}.footer-top{justify-content:space-between;gap:2rem;display:flex}.footer-name{font:1.7rem/1.5 var(--sh-font-serif);letter-spacing:.1em;text-decoration:none}.footer-top p{font-family:var(--sh-font-serif);color:var(--sh-text-muted);margin-top:.8rem}.footer-links{flex-wrap:wrap;align-content:start;gap:2rem;font-size:.8rem;display:flex}.footer-links a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.footer-links a:hover{color:var(--sh-text-clay)}.footer-bottom{border-top:1px solid var(--sh-border);color:var(--sh-text-muted);justify-content:space-between;gap:1rem;margin-top:2rem;padding:1.5rem 0 2rem;font-size:.7rem;display:flex}@media (width<=900px){.site-header{flex-wrap:wrap;gap:.7rem;min-height:0;padding-block:1.4rem .65rem}.site-nav{justify-content:space-between;gap:1rem;width:100%}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.site-nav{gap:.7rem;font-size:.75rem}.site-header .brand svg{width:36px;height:36px}.brand-name{font-size:1.3rem}.card-grid{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:start;gap:1rem}.season-card{padding:1.4rem}.footer-top,.footer-bottom{flex-direction:column;gap:.75rem}.footer-links{gap:1.5rem}.footer-bottom{font-size:.65rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:0s!important;animation-duration:0s!important}}
