.calendar-view .site-shell{max-width:870px;padding:0 28px}
.calendar-view .site-header{height:78px;border-bottom:0}
.calendar-view .wordmark{font-size:29px;letter-spacing:-1.5px}
.calendar-view .wordmark .pear{width:29px;height:37px}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 0 17px}
.calendar-toolbar .back{min-height:40px;font-size:13px}
.calendar-page-switch{display:flex;align-items:center;gap:4px}
.calendar-page-switch>.icon-button{width:38px;height:40px}
.calendar-month-trigger{min-height:44px;padding:4px 9px;font-size:15px;font-weight:750;display:flex;gap:9px;align-items:center;color:#53653a}
.calendar-sheet{background:#fffefa;border:1px solid #e3e3d9;border-radius:4px;box-shadow:0 4px 18px #424f2010;position:relative;padding:25px 36px 20px}
.calendar-sheet:before{content:"";display:block;position:absolute;top:0;left:22px;right:22px;border-top:3px dotted #dadfce}
.calendar-poster-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 0 19px}
.calendar-month-number{display:flex;align-items:baseline;flex:none;color:#42532e;font-weight:800;letter-spacing:-5px;line-height:1}
.calendar-month-number>span{font-size:88px;font-variant-numeric:tabular-nums}
.calendar-month-number>small{font-size:22px;letter-spacing:-1px;margin-left:4px;font-weight:650}
.calendar-month-caption{padding-top:6px;flex:1;text-align:right}
.calendar-month-caption .calendar-kicker{font-size:13px;font-weight:650;letter-spacing:.1px;color:#78826d;margin-bottom:8px}
.calendar-month-caption h1{font-size:26px;font-weight:750;line-height:1.55;letter-spacing:-1px;word-break:keep-all}
.calendar-poster-count{font-size:13px;line-height:1.7;color:#7b8470;margin-top:8px}
.calendar-view .categories{margin:0 0 5px;border-bottom:1px solid #dfe3d6;grid-template-columns:.8fr .9fr 1.4fr 1fr}
.calendar-view .categories button{min-height:44px;font-size:15px;padding:0 3px;border-bottom-width:2px}
.calendar-view .categories button[aria-pressed=true]{color:#526a32;border-color:#526a32}
.calendar-view .search{margin:5px 0 10px;height:46px;background:#fafbf6;border-color:#e2e6d8}
.calendar-view .search input{font-size:15px}
.calendar-family{padding:17px 0 14px;border-bottom:1px solid #e5e7dd}
.calendar-family:last-child{border-bottom:0}
.calendar-family-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.calendar-family-heading h2{font-size:17px;letter-spacing:-.4px;font-weight:750;line-height:1.6}
.calendar-family-heading h2>span{font-weight:500;font-size:12px;color:#969d8c;margin-left:5px}
.calendar-family-heading>button{font-size:12px;color:#758264;min-height:36px;padding:3px 0 3px 10px}
.calendar-food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px}
.calendar-ingredient{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center;border-radius:8px;padding:0 2px 7px}
.calendar-ingredient img{width:100%;height:108px;object-fit:contain;transition:transform .18s ease}
.calendar-ingredient:hover img{transform:translateY(-4px) rotate(-2deg)}
.calendar-ingredient:focus-visible{outline:2px solid #657f3f;outline-offset:4px;background:#f3f6eb}
.calendar-ingredient>strong{font-size:18px;font-weight:750;line-height:1.55;letter-spacing:-.5px;margin-top:5px;word-break:keep-all;overflow-wrap:anywhere}
.calendar-food-info{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px 7px;font-size:12px;line-height:1.7;color:#858c7b;margin-top:2px}
.calendar-stage{font-size:10px;font-weight:550;color:#9b9f94;white-space:nowrap}
.calendar-stage.season{color:#617a40;font-weight:700}
.calendar-stage.reference,.calendar-stage.unknown{color:#93998a}
.calendar-poster-foot{border-top:1px solid #e5e7dd;padding-top:13px;margin-top:6px;display:flex;justify-content:space-between;gap:14px;align-items:center}
.calendar-poster-foot p{font-size:12px;color:#7a846d;line-height:1.8}
.calendar-poster-foot>a{font-size:12px;color:#87927b;min-height:40px;display:flex;align-items:center;white-space:nowrap}
.calendar-afterword{display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:12px;line-height:1.8;color:#93998b;padding:18px 0 24px}
.calendar-afterword>a{min-height:40px;display:flex;align-items:center;color:#6a7959;white-space:nowrap}
.calendar-empty{padding:42px 8px;text-align:center;color:#8b9380;font-size:14px;line-height:1.9}
.calendar-empty strong{display:block;font-size:18px;font-weight:750;color:#546444;margin-bottom:7px}
.calendar-image-placeholder{display:flex;height:108px;align-items:center;font-size:16px;color:#7b8968}
@media(min-width:900px){.calendar-sheet{padding-left:48px;padding-right:48px}.calendar-poster-heading{padding-bottom:26px}.calendar-family{padding-top:19px;padding-bottom:19px}.calendar-food-grid{gap:25px}.calendar-ingredient img{height:120px}.calendar-month-number>span{font-size:100px}}
@media(max-width:600px){.calendar-view .site-shell{padding:0 18px}.calendar-toolbar{padding-bottom:10px}.calendar-toolbar .back{font-size:12px}.calendar-month-trigger{font-size:14px;padding:4px 7px}.calendar-page-switch>.icon-button{width:30px}.calendar-sheet{padding:20px 17px 14px}.calendar-poster-heading{gap:13px;padding-bottom:14px}.calendar-month-number{letter-spacing:-4px}.calendar-month-number>span{font-size:70px}.calendar-month-number>small{font-size:18px;margin-left:3px}.calendar-month-caption .calendar-kicker{font-size:11px;margin-bottom:5px}.calendar-month-caption h1{font-size:20px;line-height:1.55;letter-spacing:-.7px}.calendar-poster-count{font-size:11px;margin-top:5px}.calendar-view .categories button{font-size:13px;min-height:40px}.calendar-family{padding:11px 0 10px}.calendar-family-heading{margin-bottom:2px}.calendar-family-heading h2{font-size:15px}.calendar-family-heading h2>span{font-size:10px}.calendar-family-heading>button{font-size:11px;min-height:32px}.calendar-food-grid{gap:19px 9px}.calendar-ingredient img{height:78px}.calendar-ingredient>strong{font-size:17px;margin-top:3px}.calendar-food-info{font-size:12px;gap:1px 5px}.calendar-stage{font-size:10px}.calendar-poster-foot{gap:6px;padding-top:8px}.calendar-poster-foot p,.calendar-poster-foot>a{font-size:10px}.calendar-afterword{font-size:11px;padding-top:10px}.calendar-image-placeholder{height:78px}}
@media(max-width:350px){.calendar-view .site-shell{padding:0 13px}.calendar-sheet{padding-left:13px;padding-right:13px}.calendar-month-number>span{font-size:61px}.calendar-month-caption h1{font-size:18px}.calendar-poster-heading{gap:10px}.calendar-month-caption .calendar-kicker{font-size:10px}.calendar-poster-count{font-size:10px}.calendar-ingredient img{height:68px}.calendar-ingredient>strong{font-size:14px}.calendar-food-info{font-size:10px;gap:1px 3px}.calendar-stage{font-size:9px}.calendar-view .categories button{font-size:12px}.calendar-toolbar .back{font-size:11px}}
@media(prefers-reduced-motion:reduce){.calendar-ingredient img{transition:none}}
