:root{color-scheme:light;--green:#274c3e;--ink:#24352d;--muted:#637068;--paper:#f8f7f2;--line:#e1e5dc;--accent:#b95c2f;font-size:18px;font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.65}button,input,select{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b95c2f;outline-offset:4px}button{min-height:48px}a{color:var(--green)}.header{max-width:1100px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 30px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:1.25rem;font-weight:750;letter-spacing:.04em}.brand small{display:block;font-size:.66rem;color:var(--muted);font-weight:450;letter-spacing:.12em}.quiet{background:#e9eee5;color:var(--green);padding:0 18px;border-radius:12px;font-weight:650}main{max-width:1040px;margin:auto;padding:0 30px}.hero{position:relative;display:flex;justify-content:space-between;align-items:center;overflow:hidden;background:var(--green);color:#fff9ed;border-radius:24px;padding:32px 40px;min-height:220px;box-shadow:0 10px 30px #274c3e0c}.eyebrow{font-size:.78rem;letter-spacing:.2em;color:#dddbb8;margin:0 0 12px}h1{font-size:2.3rem;line-height:1.25;letter-spacing:.01em;margin:0 0 12px;font-weight:680}#date-title{font-size:.9rem;margin:0;color:#e4eddf}.hero-mark{width:128px;height:154px;border:1px solid #b4c5a757;display:flex;align-items:center;flex-direction:column;justify-content:center;border-radius:64px 64px 12px 12px;transform:rotate(7deg);color:#f0d7a8;margin-left:20px;flex-shrink:0}.hero-mark b{font-family:serif;font-size:3.4rem;font-weight:400;line-height:1.3}.hero-mark span{font-size:.68rem;letter-spacing:.18em}.datebar{display:flex;align-items:center;justify-content:space-between;margin:24px 0 8px;gap:16px}.segmented{display:flex;border:1px solid var(--line);border-radius:14px;padding:4px;background:#eeeee7;gap:4px}.segmented button{padding:8px 28px;border-radius:10px;background:transparent;color:var(--muted);font-weight:650}.segmented button[aria-pressed=true]{background:white;color:var(--green);box-shadow:0 2px 6px #20352e0c}.date-picker{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--muted)}input[type=date]{min-height:48px;border:1px solid var(--line);border-radius:10px;padding:6px 10px;background:white;color:var(--ink);max-width:190px}.status{color:var(--muted);font-size:.76rem;margin:12px 2px 20px;min-height:1.6em}.status.error{color:#a04022}.view-nav{display:flex;border-bottom:1px solid var(--line);gap:22px;margin-bottom:25px}.view-nav button{padding:12px 6px;color:var(--muted);background:transparent;font-weight:650;border-bottom:3px solid transparent;white-space:nowrap}.view-nav button[aria-current=page]{color:var(--green);border-color:var(--green)}.view-nav button>span:first-child{margin-right:6px}.badge{font-size:.7rem;background:#e3e9dd;border-radius:12px;padding:1px 6px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px;gap:10px}.section-heading h2{margin:0;font-size:1.2rem}.section-heading p{margin:0;color:var(--muted);font-size:.76rem}.meal-card{background:white;border:1px solid var(--line);border-radius:18px;margin-bottom:18px;overflow:hidden}.meal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 14px}.meal-title{display:flex;align-items:center;gap:12px}.meal-number{font-size:.7rem;letter-spacing:.1em;color:var(--accent);border:1px solid #e8d8c7;padding:4px 8px;border-radius:6px}.meal-head h2{margin:0;font-size:1.18rem}.meal-head p{color:var(--muted);font-size:.72rem;margin:0}.meal-dishes{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;padding:0 24px 20px}.dish-line{display:flex;align-items:baseline;gap:10px;min-width:0}.dish-line span{flex-shrink:0;font-size:.68rem;color:var(--muted);background:#f1f3ed;border-radius:5px;padding:0 6px}.dish-line strong{font-weight:550;font-size:.95rem}.meal-footer{border-top:1px solid #edf0e9;background:#fbfcf8;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.76rem;color:var(--muted)}.recipe-button{padding:4px 8px;background:transparent;color:var(--green);font-weight:650;white-space:nowrap}.note-card{padding:18px 22px;border-radius:16px;background:#eeeede;color:#525c43;font-size:.83rem;border:1px solid #e5e5d5;margin-bottom:18px}.empty{padding:55px 24px;text-align:center;background:white;border:1px dashed #cbd3c6;border-radius:18px}.empty h2{font-size:1.3rem}.empty p{color:var(--muted);font-size:.9rem}.shopping-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.shopping-head h2{font-size:1.2rem;margin:0}.shopping-head p{font-size:.8rem;color:var(--muted);margin:3px 0 12px}.progress-track{height:7px;background:#e4e9df;border-radius:4px;margin-bottom:24px;overflow:hidden}.progress-fill{height:100%;background:var(--green);transition:width .2s}.shopping-group{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:18px;overflow:hidden}.shopping-group h3{font-size:.86rem;margin:0;padding:12px 20px;background:#edf0e8;color:var(--green)}.shopping-item{border-top:1px solid #edf0e9;padding:12px 20px;display:grid;grid-template-columns:auto 1fr;gap:12px}.shopping-item>input{margin-top:8px;width:23px;height:23px;accent-color:var(--green)}.item-main{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;min-height:36px;font-size:.95rem}.item-main b{white-space:nowrap;font-weight:650}.checked .item-main{color:#7b8376;text-decoration:line-through}.shopping-item small{font-size:.7rem;color:var(--muted)}.shopping-item details{font-size:.72rem;color:var(--muted)}summary{cursor:pointer;min-height:36px;padding:5px 0}summary::marker{color:#809079}.cooking-tabs{display:flex;gap:8px;margin-bottom:20px}.cooking-tabs button{flex:1;border-radius:12px;background:#e9eee5;color:var(--green);padding:8px}.cooking-tabs button[aria-pressed=true]{background:var(--green);color:white}.timeline{list-style:none;counter-reset:step;padding:5px 24px 15px;background:white;border:1px solid var(--line);border-radius:18px}.timeline li{position:relative;counter-increment:step;padding:20px 0 0 42px;font-size:.85rem}.timeline li:before{content:counter(step);position:absolute;left:0;top:22px;width:26px;height:26px;border-radius:50%;background:#eaf0e3;color:var(--green);text-align:center;font-size:.78rem;font-weight:700}.timeline li+li:after{content:"";position:absolute;left:12px;bottom:calc(100% - 20px);height:calc(100% - 26px);border-left:1px solid var(--line)}.timeline p{margin:5px 0 0;color:#617062}.recipe{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:14px;padding:0 22px}.recipe>summary{padding:18px 0;font-weight:650;font-size:1rem}.recipe>summary small{font-weight:400;color:var(--muted);font-size:.7rem;margin-left:10px}.recipe h4{font-size:.83rem;margin:20px 0 8px;color:var(--green)}.recipe p,.recipe li{font-size:.87rem}.ingredients{display:flex;flex-wrap:wrap;gap:6px}.ingredients span{background:#f0f3eb;padding:4px 9px;border-radius:7px;font-size:.78rem}.recipe ol{padding-left:24px}.recipe ol li{padding:0 0 12px 3px}.doneness{border-left:3px solid #b38b4d;background:#faf6ec;padding:10px 14px;margin:16px 0;font-size:.82rem}.tip{color:var(--muted);padding-bottom:10px}.text-button{padding:4px 0;background:none;color:var(--green);font-size:.8rem;min-height:40px}.about{text-align:left;margin:20px auto 0;max-width:680px;border-top:1px solid var(--line);padding-top:12px}.about summary{text-align:center}.about p,.about a{font-size:.72rem}footer{text-align:center;font-size:.72rem;color:var(--muted);padding:35px 0 40px}footer>p{margin:3px 0}.large-font{font-size:22px}@media(min-width:850px){#menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}#menu-grid .meal-card:first-child{grid-column:1/-1}#menu-grid .meal-card:first-child .meal-dishes{grid-template-columns:repeat(2,1fr)}#menu-grid .meal-card:not(:first-child) .meal-dishes{grid-template-columns:1fr}#menu-grid .meal-card{margin:0}.note-card{margin-top:20px}.recipe{padding:0 28px}.hero h1{font-size:2.7rem}}@media(max-width:600px){.header{padding:20px}.brand{font-size:1.1rem}main{padding:0 16px}.hero{padding:27px 23px;min-height:208px;border-radius:20px}.hero-mark{position:absolute;right:-28px;opacity:.28;transform:rotate(12deg);width:120px}h1{font-size:1.9rem;position:relative;z-index:1}.hero>div:first-child{z-index:1}.datebar{gap:8px}.segmented button{padding:6px 19px}.date-picker{font-size:0}.date-picker input{font-size:.78rem;width:155px}.view-nav{position:sticky;top:0;background:var(--paper);z-index:5;justify-content:space-between;gap:3px;margin-top:5px}.view-nav button{font-size:.84rem;padding:13px 3px}.view-nav button>span:first-child{display:none}.meal-head{padding:18px 18px 12px}.meal-dishes{padding:0 18px 18px;gap:9px 12px;grid-template-columns:1fr}.meal-footer{padding:7px 16px}.dish-line strong{font-size:1rem}.meal-head p{font-size:.66rem}.meal-footer>span{max-width:65%}.shopping-item{padding:12px 15px}.recipe{padding:0 17px}.section-heading{align-items:flex-start}.section-heading p{max-width:48%;text-align:right}.timeline{padding:0 16px 17px}.timeline li{padding-left:38px}.large-font .datebar{flex-wrap:wrap}.large-font .view-nav button{font-size:.73rem}.large-font .meal-head{align-items:flex-start;gap:8px}.large-font .meal-head p{text-align:right}.large-font .item-main{align-items:flex-start;flex-wrap:wrap}.large-font .date-picker{font-size:.75rem}}@media print{.header button,.datebar,.view-nav,.cooking-tabs,button,footer,.hero-mark{display:none!important}body{background:#fff;font-size:12pt}main{max-width:none;padding:0}.hero{background:white;color:black;padding:0;min-height:0;box-shadow:none}h1{font-size:20pt}.eyebrow,#date-title{color:black}.meal-card,.shopping-group,.recipe{break-inside:avoid}.recipe{display:block}.status{color:black}}
.shopping-progress{display:block;width:100%;height:8px;border:0;border-radius:5px;overflow:hidden;margin:0 0 24px;background:#e4e9df;accent-color:#274c3e}.shopping-progress::-webkit-progress-bar{background:#e4e9df}.shopping-progress::-webkit-progress-value{background:#274c3e}
.filing{padding-top:20px}.filing a{display:inline-block;min-height:44px;padding:10px 0;color:var(--muted);text-decoration:none}.filing a:hover{text-decoration:underline}
