*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#f7f6f0;color:#263a30;font:18px/1.65 system-ui,"Microsoft YaHei",sans-serif}button,select{font:inherit;cursor:pointer}button,a,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c78738;outline-offset:4px}header{max-width:1000px;margin:auto;padding:26px 24px;display:flex;justify-content:space-between;align-items:center}.brand{color:#285d43;text-decoration:none;font-size:32px;display:flex;gap:10px;align-items:center}.brand span{font-size:22px;font-weight:750}.brand small{display:block;font-size:12px;letter-spacing:2px;font-weight:400}.plain{background:transparent;border:1px solid #d6ddd2;border-radius:24px;padding:9px 16px;color:#386148;min-height:48px}main{max-width:952px;margin:auto;padding:0 24px}.hero{background:#e6eddd;border-radius:26px;padding:44px 48px;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.eyebrow{font-size:13px;letter-spacing:2px;color:#65816a}h1{font-size:44px;line-height:1.3;letter-spacing:-1px;margin:18px 0}h1 em{font-style:normal;color:#347353}.hero p{color:#687969}.hero-tag{font-size:13px;padding:8px 12px;background:#f5f7ed;border-radius:20px}.plate{width:255px;height:255px;border:14px solid #fffdf5;border-radius:50%;background:#f0f1e4;box-shadow:0 18px 40px #32553720;display:grid;grid-template-columns:1fr 1fr;transform:rotate(-12deg);padding:18px;gap:0}.plate span{font-size:68px;line-height:1.4}.datebar{display:flex;justify-content:space-between;align-items:center;margin-top:35px}.datebar small{color:#788076;font-size:14px}h2{font-size:27px;margin:2px 0 16px}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin:6px 0 22px}.week button{border:1px solid #dfe4d9;border-radius:15px;background:#fffdf8;color:#687364;padding:9px 0;font-size:14px}.week button strong{display:block;font-size:22px}.week button.active{background:#2d664c;color:white;border-color:#2d664c}.note{display:flex;gap:12px;background:#f0ede1;color:#7c7154;border-radius:12px;padding:15px 18px;font-size:14px;margin-bottom:24px}#meals{display:grid;gap:18px}.meal{background:#fffefa;border:1px solid #e5e6dc;border-radius:20px;display:grid;grid-template-columns:130px 1fr;overflow:hidden}.food{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#edf0e5;font-size:53px}.food small{font-size:12px;letter-spacing:2px;color:#7a8469}.meal:nth-child(2) .food{background:#f3eada}.meal:nth-child(3) .food{background:#e7eeeb}.mealcontent{padding:22px 26px}.meta{font-size:13px;color:#8b8b78;display:flex;justify-content:space-between}.meal h3{font-size:23px;margin:7px 0}.meal p{font-size:15px;color:#6d786d;margin:5px 0 18px}.actions{display:flex;gap:12px;flex-wrap:wrap}button.primary{background:#2d664c;color:#fff;border:0;border-radius:11px;padding:11px 24px;min-height:48px}.secondary{border:1px solid #dce2d6;background:#fffefa;border-radius:11px;padding:10px 20px;color:#4d684e;min-height:48px}.done{background:#e6efdf!important;color:#355f38!important}.snack{display:flex;gap:20px;padding:26px 10px}.snack>span{font-size:40px}.snack h3{margin:0;font-size:19px}.snack p{font-size:16px;margin:6px 0}.snack small{font-size:13px;color:#808679}.shopping{background:#fffefa;padding:28px;border:1px solid #e5e6dc;border-radius:20px;margin:12px 0 30px}.sectionhead{display:flex;align-items:center;justify-content:space-between}select{padding:9px;border-radius:9px;border:1px solid #dce2d6;background:#f8f8ef;color:#3c6145}.shopping>p{font-size:14px;color:#7a8475}#list{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin:20px 0}#list label{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #eeefe7;font-size:16px}input[type=checkbox]{width:23px;height:23px;accent-color:#326b4e;flex-shrink:0}label:has(input:checked){text-decoration:line-through;color:#929b8a}.tips{border-top:1px solid #dfe3d6;padding:22px 0;color:#768170;font-size:15px}.tips h2{font-size:21px;color:#465f49}.tips summary{cursor:pointer;padding:12px 0;color:#3b6046}.tips a{color:#326b4e}footer{text-align:center;font-size:14px;color:#82907c;padding:25px 0 120px}footer small{font-size:11px}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:110px;background:#fffef9ed;backdrop-filter:blur(15px);border-top:1px solid #e1e6d9;padding:10px 20px max(10px,env(safe-area-inset-bottom))}nav a{text-decoration:none;color:#326749;text-align:center;min-width:80px;font-size:22px}nav span{display:block;font-size:12px}dialog{border:0;border-radius:22px;max-width:630px;width:calc(100% - 24px);max-height:90dvh;padding:26px;background:#fffdf7;color:#293f30}dialog::backdrop{background:#1a2b2080}.dialoghead{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#74836d}.dialoghead button{border:0;border-radius:50%;width:48px;height:48px;background:#edf1e7;font-size:22px}dialog h2{margin-top:15px}dialog li{margin-bottom:18px}dialog ol{padding-left:28px}dialog .ingredients{background:#edf1e7;padding:18px;border-radius:14px}body.large{font-size:21px}body.large .meal p,body.large #list label,body.large .tips,body.large .note,body.large .snack p{font-size:19px}body.large .meta{font-size:16px}@media(max-width:600px){header{padding:18px}.brand span{font-size:20px}main{padding:0 16px}.hero{padding:28px 24px;position:relative}.hero>div:first-child{z-index:1}h1{font-size:32px}.hero p{font-size:16px}.plate{position:absolute;right:-56px;bottom:8px;width:170px;height:170px;opacity:.5;padding:10px;border-width:10px}.plate span{font-size:44px}.hero-tag{font-size:11px}.eyebrow{font-size:11px}.datebar h2{font-size:25px}.datebar .plain{font-size:13px;padding:6px 12px}.week{gap:5px}.week button{font-size:12px;border-radius:12px}.week button strong{font-size:20px}.meal{grid-template-columns:76px 1fr}.food{font-size:38px}.food small{font-size:10px;letter-spacing:1px}.mealcontent{padding:18px 16px}.meal h3{font-size:21px}.meta{font-size:12px}.actions{gap:8px}.actions button{font-size:16px;padding:10px 15px}.shopping{padding:22px 18px}#list{grid-template-columns:1fr}.snack{gap:13px}.snack>span{font-size:30px}nav{gap:85px}}
.family{padding:28px 0 5px}.family h2{font-size:22px;margin:0}.family .sectionhead small{font-size:13px;color:#7b8b73}.members{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.members button{border:1px solid #dce2d5;background:#fffdf8;border-radius:14px;padding:12px 5px;color:#34553c}.members button.active{background:#2d664c;color:white;border-color:#2d664c}.members small{display:block;font-size:11px;margin-top:5px}.family>p{font-size:14px;color:#78856f;background:#edf0e5;border-radius:10px;padding:12px}.shopping .sectionhead{flex-wrap:wrap;gap:8px}.shopping .sectionhead>div{flex:1;min-width:160px}.shopping .sectionhead select{font-size:14px}.family+.datebar{margin-top:18px}body.large .family>p,body.large .snack small{font-size:18px}@media(max-width:600px){.members{gap:6px}.members button{font-size:16px}.members small{font-size:10px}.family h2{font-size:20px}}
.hero>div:first-child{flex-shrink:0}.hero h1{font-size:39px}.hero .plate{flex-shrink:0}@media(max-width:760px){.hero{position:relative;padding:30px 24px}.hero h1{font-size:32px}.hero .plate{position:absolute;right:-60px;bottom:30px;width:190px;height:190px;opacity:.28;border-width:10px;padding:10px}.hero .plate span{font-size:50px}.hero>div:first-child{position:relative;z-index:1}.hero p{font-size:16px}}
.simplemeal{display:block}.simplemeal .mealcontent{padding:24px}.mealheading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.mealheading h2{font-size:24px;margin:0}.mealheading>span{font-size:13px;color:#7c8876}.dishrow{display:flex;align-items:center;gap:15px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid #ebeee3;padding:17px 0;color:#2d4433;min-height:82px}.dishicon{font-size:31px;width:40px;flex-shrink:0}.dishrow>span:nth-child(2){flex:1}.dishrow strong{display:block;font-size:21px;font-weight:650}.dishrow small{display:block;font-size:14px;color:#7a8572;margin-top:3px}.viewrecipe{font-size:15px;color:#36744e;white-space:nowrap}.cookhint{margin-top:16px;color:#848b7b;font-size:13px}.datebar{margin-top:10px;margin-bottom:10px}body.large .dishrow strong{font-size:24px}body.large .dishrow small,body.large .viewrecipe,body.large .cookhint{font-size:18px}@media(max-width:600px){.simplemeal .mealcontent{padding:20px 17px}.mealheading{align-items:baseline}.mealheading>span{font-size:11px}.dishrow{gap:10px}.dishrow strong{font-size:20px}.dishrow small{font-size:13px}.viewrecipe{font-size:13px}.dishicon{font-size:27px;width:30px}header{gap:8px}.brand span{font-size:18px}.brand small{font-size:10px;letter-spacing:1px}.brand{font-size:27px}.plain{font-size:14px}h2#dayTitle{font-size:25px}}
.week{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 12px;scrollbar-width:thin}.week button{flex:0 0 calc((100% - 54px)/7);min-width:54px;scroll-snap-align:start}.week button small{display:block;font-size:10px}.week::-webkit-scrollbar{height:5px}.week::-webkit-scrollbar-thumb{background:#c7d4bf;border-radius:4px}.datebar small{font-size:16px}@media(max-width:600px){.week button{flex-basis:calc((100% - 30px)/7);min-width:44px}}
h1#dayTitle{font-size:29px;margin:4px 0 12px;line-height:1.4;letter-spacing:0}.calendarhint{font-size:12px;color:#8a9482;margin:-16px 0 20px}.datebar>div{min-width:0}@media(max-width:600px){h1#dayTitle{font-size:24px}.datebar .plain{flex-shrink:0}}
