:root{color-scheme:light;--paper:#f6f8f5;--white:#fff;--ink:#26372f;--muted:#68766e;--green:#356b4e;--line:#dfe6de;--green-pale:#e7eee6;--gold:#a2762b;--blue:#507487}
*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{text-decoration:none}button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #89ad77;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.96)}svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}img{display:block;max-width:100%}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{line-height:1.4}button{border-radius:4px}main,.topbar,.footer{width:min(1180px,calc(100% - 64px));margin-inline:auto}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand-mark{color:var(--green)}.brand-mark svg{width:30px;height:30px}.brand-name{font-size:18px;font-weight:700}.brand-divider{height:17px;border-left:1px solid var(--line);margin:0 8px}.brand-sub{font-size:12px;color:var(--muted)}.top-nav{display:flex;gap:32px;height:100%;align-items:center}.nav-link{font-size:13px;color:var(--muted);height:100%;display:grid;place-items:center;border-bottom:2px solid transparent}.nav-link.active{border-color:var(--green);color:var(--green);font-weight:600}.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;background:transparent;border:1px solid var(--line);color:var(--green);flex:0 0 auto}.daily-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:36px 0 30px}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--green);font-size:12px}.eyebrow-dot{width:6px;height:6px;background:#bd8744;border-radius:50%}h1{font-size:32px;margin-top:9px;font-weight:700}h1 span{color:var(--green)}.intro-copy{margin-top:8px;color:var(--muted);font-size:13px}.intro-detail{display:grid;grid-template-columns:32px 1fr;column-gap:8px;align-items:center}.intro-detail>svg{grid-row:span 2;color:var(--green);width:27px;height:27px}.intro-detail strong{font-size:14px}.intro-detail span{font-size:12px;color:var(--muted)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.date-control{display:flex;align-items:center;gap:12px}.date-current{display:flex;flex-direction:column;min-width:155px}.date-current strong{font-size:15px}.date-current span{font-size:11px;color:var(--muted)}.today-button{border:0;background:var(--green-pale);color:var(--green);padding:6px 13px;font-size:12px}.share-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:var(--green);font-size:13px;padding:8px}.share-button svg,.text-button svg{width:17px;height:17px}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:20px 0 32px;border-block:1px solid var(--line);padding:12px 0;gap:8px}.week-day{display:flex;flex-direction:column;align-items:center;justify-content:center;height:90px;border:1px solid transparent;background:transparent;gap:2px;color:var(--muted)}.week-day span{font-size:12px}.week-day strong{font-size:22px;font-weight:600;color:var(--ink)}.week-day small{font-size:10px}.week-day.selected{background:var(--green);color:#e5eee7}.week-day.selected strong{color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.section-kicker{font-size:10px;color:var(--muted)}.section-heading h2{font-size:23px;margin-top:5px}.section-heading p{font-size:12px;color:var(--muted);margin-top:5px}.portion-control{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.portion-control output,.serving-stepper output{display:inline-grid;place-items:center;min-width:16px;color:var(--ink);font-weight:700}.portion-control .icon-button{width:32px;height:32px}.portion-control svg{width:15px;height:15px}.meal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.meal-card{background:var(--white);border:1px solid var(--line);border-radius:6px;overflow:hidden;min-width:0}.meal-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 18px}.meal-type{display:flex;align-items:center;gap:9px}.meal-type h3{font-size:15px}.meal-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%}.meal-icon svg{width:18px;height:18px}.breakfast-icon{background:#fbf0d8;color:#a2762b}.lunch-icon{background:#e9f0e3;color:#52794e}.dinner-icon{background:#e8eef3;color:#507487}.meal-calories{font-size:16px;font-weight:600}.meal-calories small{font-size:10px;color:var(--muted);font-weight:400}.recipe-cover{display:block;width:100%;padding:0;border:0;border-radius:0;position:relative;aspect-ratio:1.42;background:#eef1ec;overflow:hidden}.recipe-cover img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.recipe-cover:hover img{transform:scale(1.025)}.cover-label{position:absolute;left:14px;bottom:12px;background:rgba(255,255,255,.96);padding:4px 9px;border-radius:3px;color:var(--green);display:flex;align-items:center;gap:5px;font-size:10px}.cover-label svg{width:13px;height:13px}.meal-copy{padding:17px 18px 0}.meal-copy h4{font-size:17px;min-height:24px;overflow-wrap:anywhere}.meal-timing{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:10px}.meal-timing svg{width:14px;height:14px}.meal-timing span:last-child{margin-left:auto}.meal-copy>p{margin-top:7px;font-size:11px;color:var(--muted)}.recipe-open{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 0;margin-top:16px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--green);font-size:12px;font-weight:600}.recipe-open svg{width:17px;height:17px}.menu-note,.nutrition-note{font-size:11px;color:var(--muted);line-height:1.9;margin-top:16px}.nutrition-section{margin-top:48px;padding:30px 0;border-block:1px solid var(--line)}.nutrition-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.nutrient{display:grid;grid-template-columns:22px 1fr;gap:8px 6px;align-items:center;padding:5px 20px;border-left:1px solid var(--line)}.nutrient:first-child{padding-left:0;border:0}.nutrient>svg{width:17px;height:17px;color:var(--green)}.nutrient>span{font-size:12px;color:var(--muted)}.nutrient strong{grid-column:1/-1;font-size:25px;font-weight:600}.nutrient small{font-size:11px;font-weight:400;color:var(--muted);margin-left:7px}.nutrient.protein>svg{color:#bd854c}.nutrient.carbs>svg{color:#a59445}.nutrient.fat>svg{color:var(--blue)}.nutrition-detail{overflow-x:auto;margin-top:24px}.nutrition-detail table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.nutrition-detail caption{text-align:left;padding:10px 0;font-weight:600}.nutrition-detail td,.nutrition-detail th{padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.nutrition-detail th{font-weight:600}.kitchen-notes{padding:38px 0 45px}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.notes-grid article>svg{color:var(--green);margin-bottom:10px}.notes-grid article:nth-child(2)>svg{color:#b08036}.notes-grid article:nth-child(3)>svg{color:var(--blue)}.notes-grid h3{font-size:14px;margin-bottom:7px}.notes-grid p{font-size:12px;color:var(--muted);line-height:1.9}.footer{min-height:75px;border-top:1px solid var(--line);display:flex;align-items:center;gap:16px}.footer .brand-name{font-size:14px}.footer-copy,.copyright{font-size:11px;color:var(--muted)}.copyright{margin-left:auto}
.dialog-open{overflow:hidden}dialog{padding:0;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:white;max-height:92dvh;overscroll-behavior:contain;box-shadow:0 24px 80px #16251b33}dialog::backdrop{background:#18271e88}.recipe-dialog{width:min(1060px,calc(100% - 40px));max-width:none}.dialog-top{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;background:#fff;padding:12px 25px;border-bottom:1px solid var(--line);min-height:63px}.dialog-top>span{font-size:12px;color:var(--green)}.dialog-top .icon-button{border:0}.recipe-heading{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:25px;padding:25px 30px;border-bottom:1px solid var(--line)}.recipe-heading>img{width:160px;height:140px;object-fit:cover;border-radius:4px}.recipe-heading h2{font-size:25px;margin:5px 0 7px}.recipe-heading p{color:var(--muted);font-size:12px}.recipe-badges{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:15px;color:var(--muted);font-size:11px}.recipe-badges>span{display:flex;align-items:center;gap:5px}.recipe-badges svg{width:15px;height:15px}.recipe-workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;padding:28px 30px}.ingredients-heading{display:flex;flex-direction:column;gap:12px;margin-bottom:15px}.ingredients-heading h3,.steps-heading h3{font-size:17px}.serving-stepper{display:flex;align-items:center;gap:8px;font-size:12px}.serving-stepper .icon-button{width:30px;height:30px}.serving-stepper svg{width:14px;height:14px}#ingredient-list,#shopping-list{list-style:none;padding:0;margin:0}#ingredient-list label,#shopping-list label{display:flex;align-items:flex-start;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;cursor:pointer}input[type=checkbox]{accent-color:var(--green);width:17px;height:17px;flex-shrink:0;margin:2px 0 0}#ingredient-list label>span,#shopping-list label>span{flex:1;min-width:0;overflow-wrap:anywhere}#ingredient-list label>strong,#shopping-list label>strong{font-weight:500;white-space:nowrap}label:has(input:checked)>span{text-decoration:line-through;color:var(--muted)}.ingredient-note{font-size:11px;color:var(--muted);line-height:1.9;margin-top:15px}.steps-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.steps-heading>span{font-size:12px;color:var(--green)}.image-note{font-size:11px;color:var(--muted);margin:9px 0 20px;line-height:1.8}#step-list{list-style:none;padding:0;margin:0}.cooking-step{display:grid;grid-template-columns:155px minmax(0,1fr);gap:19px;padding:22px 0;border-top:1px solid var(--line);scroll-margin-top:75px}.cooking-step figure{min-width:0}.cooking-step img{width:100%;aspect-ratio:1;object-fit:cover;height:auto;border-radius:4px}.cooking-step figcaption{font-size:10px;color:var(--muted);margin-top:7px}.step-number{font-size:10px;color:var(--green);font-weight:600}.step-copy h4{font-size:16px;margin:3px 0 8px}.step-copy>p{font-size:13px;line-height:1.9}.step-tip{display:flex;gap:7px;color:#786735;font-size:11px!important;margin-top:12px}.step-tip svg{width:15px;height:15px;margin-top:3px}.step-check{display:flex;align-items:center;gap:7px;margin-top:16px;color:var(--green);font-size:12px;cursor:pointer}.cooking-step.completed .step-number::after{content:" · 已完成"}.cooking-step.completed h4{color:var(--green)}.cooking-footer{position:sticky;bottom:0;z-index:2;border-top:1px solid var(--line);background:#fff;padding:14px 30px;display:flex;align-items:center;justify-content:space-between;gap:12px}.cooking-footer>span{font-size:12px;color:var(--muted)}.done-button{border:0;background:var(--green);color:#fff;font-size:13px;font-weight:600;padding:11px 24px;flex-shrink:0}.shopping-dialog{width:min(520px,calc(100% - 32px));max-width:none;padding-bottom:20px}.shopping-dialog h2{font-size:19px}.shopping-dialog>p{font-size:12px;color:var(--muted);padding:15px 25px 0}.shopping-dialog #shopping-list{padding:12px 25px}.shopping-dialog>.text-button{margin:0 18px}.toast{position:fixed;z-index:20;bottom:24px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#304c38;color:#fff;padding:10px 17px;border-radius:4px;font-size:12px;max-width:calc(100% - 32px);transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){main,.topbar,.footer{width:calc(100% - 40px)}.brand-sub,.brand-divider{display:none}.meal-grid{gap:14px}.meal-copy{padding:14px 13px 0}.meal-card-top{padding:12px}.meal-copy h4{font-size:16px}.meal-timing span:last-child{margin-left:20px}.recipe-workspace{grid-template-columns:210px minmax(0,1fr);gap:24px;padding:24px}.cooking-step{grid-template-columns:120px minmax(0,1fr);gap:15px}.nutrient{padding-inline:14px}}
@media(max-width:700px){main,.topbar,.footer{width:calc(100% - 32px)}.topbar{height:64px}.brand-name{font-size:17px}.top-nav{display:none}.daily-intro{padding:26px 0;align-items:flex-start}.intro-detail{display:none}h1{font-size:26px}.intro-copy{font-size:12px}.eyebrow{font-size:11px}.calendar-toolbar{gap:8px}.date-control{gap:7px}.date-current{min-width:136px}.date-current strong{font-size:13px}.date-current span{font-size:10px}.date-control .icon-button{width:32px;height:36px}.today-button{padding:5px 8px}.share-button{padding:6px}.share-button>span{display:none}.week-strip{gap:3px;margin-top:16px;margin-bottom:25px}.week-day{height:75px}.week-day strong{font-size:19px}.week-day span{font-size:11px}.week-day small{font-size:9px}.section-heading{gap:10px;margin-bottom:17px}.section-heading h2{font-size:20px}.section-heading p{font-size:11px}.portion-control{gap:6px;flex-wrap:wrap;max-width:100px;justify-content:center}.portion-control>span{width:100%;text-align:center;font-size:10px}.portion-control .icon-button{width:28px;height:28px}.meal-grid{grid-template-columns:1fr;gap:20px}.meal-card-top{padding:13px 16px}.recipe-cover{aspect-ratio:1.65}.meal-copy{padding:16px 18px 0}.meal-copy h4{font-size:18px}.meal-timing{font-size:12px}.meal-timing span:last-child{margin-left:auto}.meal-copy>p{font-size:12px}.recipe-open{font-size:13px;padding:14px 0}.menu-note{font-size:11px}.nutrition-section{margin-top:32px;padding:24px 0}.nutrition-section .section-heading{align-items:flex-start}.text-button{font-size:11px;white-space:nowrap}.nutrition-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}.nutrient{padding:0 10px;gap:4px}.nutrient strong{font-size:22px}.nutrient>span{font-size:10px}.nutrient:nth-child(4){border:0;padding-left:0}.nutrient:nth-child(5){grid-column:2}.nutrition-note{margin-top:22px}.notes-grid{grid-template-columns:1fr;gap:22px}.notes-grid article{display:grid;grid-template-columns:26px 1fr;gap:0 10px}.notes-grid article>svg{grid-row:span 2;margin:0}.notes-grid p{grid-column:2}.kitchen-notes{padding:28px 0 35px}.footer{flex-wrap:wrap;padding:20px 0;gap:7px 12px}.copyright{width:100%;margin-left:0}.recipe-dialog{width:calc(100% - 16px);max-height:96dvh}.dialog-top{padding:8px 14px;min-height:55px}.recipe-heading{grid-template-columns:90px minmax(0,1fr);padding:18px 16px;gap:15px}.recipe-heading>img{width:90px;height:110px}.recipe-heading h2{font-size:20px;overflow-wrap:anywhere}.recipe-badges{font-size:10px;gap:6px;margin-top:8px}.recipe-badges>span:first-child{width:100%}.recipe-workspace{grid-template-columns:1fr;gap:28px;padding:20px 16px}.ingredients-heading{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}#ingredient-list label{font-size:13px}.cooking-step{grid-template-columns:1fr;gap:14px;padding:22px 0;scroll-margin-top:68px}.cooking-step figure{width:100%;max-width:330px;margin-inline:auto}.cooking-step img{aspect-ratio:1.2;object-fit:cover}.cooking-step figcaption{text-align:center}.step-copy h4{font-size:17px}.step-copy>p{font-size:14px}.step-tip{font-size:12px!important}.step-check{min-height:35px;font-size:13px}.cooking-footer{padding:12px 16px}.cooking-footer>span{font-size:11px}.done-button{padding:10px 16px;font-size:12px}}
.week-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.week-navigation>span{font-size:12px;color:var(--muted)}.week-navigation+.week-strip{margin-top:5px}.week-navigation button{min-height:38px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
