@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap');
:root{--bg:#f8f9f5;--ink:#2c3529;--muted:#91968c;--green:#5d7045;--line:#e8eae2;--light:#eef2e8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans TC',sans-serif;font-size:16.25px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #a5b888;outline-offset:4px}.sidebar{width:224px;background:#fff;height:100vh;position:fixed;left:0;top:0;border-right:1px solid var(--line);padding:37px 22px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;padding:0 10px;font-size:28.75px;font-weight:700;letter-spacing:2px}.brand-icon{font-size:53.75px;color:var(--green);font-weight:400;line-height:1}.brand small{display:block;font-size:11.25px;letter-spacing:3px;margin-top:3px;color:var(--green)}.workspace-label{font-size:12.5px;letter-spacing:1px;color:#a0a496;text-align:center;margin:27px 0 28px}nav{display:grid;gap:9px}.nav-item{display:flex;width:100%;align-items:center;gap:13px;padding:14px 16px;border-radius:8px;font-size:16.25px;border:0;background:transparent;text-align:left;color:#777f70}.nav-item>span{font-size:25px;line-height:1}.nav-item.active{background:var(--light);color:#50623d;font-weight:600}.nav-item:hover{background:#f4f5ef}.sidebar-note{margin: auto 8px 35px;padding:23px 17px;background:#f7f8f2;border-radius:12px;position:relative}.plant{display:block;color:#8d9e77;font-size:57.5px;margin-bottom:15px}.sidebar-note h3{font-size:15px;line-height:1.8;font-weight:500}.sidebar-note p{font-size:13.75px;color:#959b8b;line-height:1.9}.note-line{display:block;width:23px;border-top:1px solid #cbd2bd;margin:23px 0 13px}.sidebar-note small{font-size:8.75px;letter-spacing:1px;color:#8c967e}.sidebar-bottom{border:0;border-top:1px solid var(--line);padding:20px 4px 0;background:none;display:flex;gap:11px;color:#8b9183;font-size:13.75px}.sidebar-bottom span:last-child{margin-left:auto}.main-shell{margin-left:224px}.topbar{height:77px;border-bottom:1px solid var(--line);background:#ffffffa8;display:flex;align-items:center;justify-content:space-between;padding:0 45px}.breadcrumb{font-size:13.75px;color:#93988d}.breadcrumb span{margin:0 15px;color:#c4c7bf}.breadcrumb strong{font-weight:500;color:#5c6457}.topbar-right{display:flex;align-items:center;gap:22px}.local-badge{font-size:12.5px;color:#92998a}.local-badge i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#9baa87;vertical-align:middle;margin-right:6px}.avatar{border:1px solid #e0e5d6;background:#edf1e4;border-radius:50%;width:33px;height:33px;color:#66774e;font-size:15px}main{max-width:1440px;margin:auto;padding:35px 45px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{font-size:11.25px;font-weight:600;letter-spacing:2px;color:#8a9778;margin-bottom:10px}h1{font-size:33.75px;letter-spacing:1px;font-weight:600;line-height:1.5;margin:0 0 9px}h1 span{color:#8d9a73}.page-heading p{font-size:13.75px;color:#909588;margin:0}.button{border-radius:7px;padding:10px 16px;font-size:13.75px;display:inline-flex;justify-content:center;align-items:center;gap:6px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-1px)}.secondary{border:1px solid #dfe3d7;background:#fff}.primary{background:var(--green);color:white;border:1px solid var(--green)}.primary:hover{background:#485b33}.hero{position:relative;overflow:hidden;border-radius:13px;background:#ecf0e3;min-height:268px;display:flex;justify-content:space-between;border:1px solid #e8ecdf}.hero-content{padding:29px 35px;z-index:1}.hero-label{font-size:12.5px;letter-spacing:1px;color:#71805e;display:flex;align-items:center;gap:7px}.hero-label>span{width:5px;height:5px;background:#869c67;border-radius:50%}.hero h2{font-size:35px;font-weight:600;letter-spacing:1px;line-height:1.65;margin:12px 0 9px}.hero p{font-size:13.75px;line-height:1.9;color:#8b927f;margin:0}.hero-foot{margin-top:18px;font-size:11.25px;color:#778565;display:flex;gap:9px;align-items:center}.hero-foot b{font-weight:400;color:#b8c1ab}.mini-leaf{font-size:20px}.plate-scene{width:44%;position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center}.plate-scene img{width:248px;height:248px;object-fit:cover;border-radius:50%;box-shadow:0 10px 24px #3c50252b;border:10px solid #fafbf5;transform:rotate(-13deg);z-index:1}.orbit{position:absolute;border:1px solid #d6ddc8;border-radius:50%;width:320px;height:320px;right:3%}.orbit-two{width:400px;height:400px;right:-6%;border-style:dashed;opacity:.7}.floating-tag{position:absolute;z-index:2;background:#ffffffef;box-shadow:0 4px 20px #6178440e;border:1px solid #fff;border-radius:7px;padding:10px 12px;font-size:12.5px;color:#6c795c;transform:rotate(-5deg)}.tag-one{top:43px;left:0}.tag-two{bottom:32px;right:4%;transform:rotate(4deg)}.tag-two span{background:#eaf0df;border-radius:50%;padding:2px 4px;margin-right:5px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-title h2{font-size:18.75px;font-weight:600;margin:0;letter-spacing:.3px}.section-title h2>span{font-family:Arial;font-size:12.5px;color:#b2baaa;margin-left:10px;font-weight:400}.section-title>span{font-size:12.5px;color:#9b9f92}.age-section{margin-top:29px}.age-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.age-tabs button{padding:17px 14px;background:#fff;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:12px;text-align:left;position:relative}.age-tabs button.selected{background:#eff3e9;border:1.5px solid #829469}.age-symbol{width:36px;height:36px;background:#f6f6ef;border-radius:50%;display:grid;place-items:center;font-size:30px;color:#a3aa87}.age-tabs button:nth-child(2) .age-symbol{background:#fcf4e5;color:#c7ab6c}.age-tabs button:nth-child(4) .age-symbol{background:#f3edf6;color:#ad9cb7}.age-tabs button.selected .age-symbol{background:#e1e9d5;color:#718257}.age-tabs strong{display:block;font-size:15px;font-weight:600;margin-bottom:5px}.age-tabs small{font-size:11.25px;color:#9b9f91;white-space:nowrap}.age-tabs i{display:none;position:absolute;right:9px;top:9px;font-size:10px;border-radius:50%;background:#74875b;color:#fff;padding:1px 3px;font-style:normal}.age-tabs .selected i{display:block}.age-tip{display:flex;align-items:center;gap:10px;background:#f0f3e9;border-radius:6px;margin-top:12px;padding:11px 15px;color:#859373}.age-tip>span{font-size:20px}.age-tip p{margin:0;font-size:12.5px;flex:1;line-height:1.8}.age-tip button{border:0;background:none;font-size:11.25px;color:#778764;white-space:nowrap}.nutrition-section{margin-top:29px}.text-button{border:0;background:none;font-size:12.5px;color:#7f8c6e;padding:4px 0}.metrics{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:13px}.metric{border:1px solid var(--line);background:white;border-radius:10px;padding:16px 17px}.metric.energy{background:#f0f3e9;border-color:#e1e7d5}.metric-label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#8b9480;white-space:nowrap}.metric-icon{font-size:17.5px;color:#82926a}.metric-icon.peach{color:#ceac96}.metric-icon.yellow{color:#c6af6e}.metric-icon.blue{color:#91b0b5}.badge{font-size:8.75px;border:1px solid #dce4cf;border-radius:3px;padding:2px 4px;margin-left:auto;color:#8a9977}.metric-value{display:flex;align-items:baseline;gap:8px;margin:10px 0 12px}.metric-value strong{font-size:36.25px;font-weight:500;letter-spacing:-.8px;font-family:Arial,sans-serif}.metric-value>span{font-size:12.5px;color:#9aa08e}.metric-bottom{display:flex;align-items:center;justify-content:space-between;color:#a2a797;font-size:10px;white-space:nowrap}.spark{color:#a9ba8c;font-size:18.75px;letter-spacing:1px;line-height:.8}.macro-dot{height:4px;width:23px;border-radius:9px;background:#e8d4c5}.yellow-dot{background:#e6dcae}.blue-dot{background:#c9dcde}.meal-section{margin-top:31px}.meal-title{margin-bottom:18px}.meal-title p{font-size:12.5px;color:#989e8e;margin:7px 0 0}.meal-actions{display:flex;gap:9px}.planner-toolbar{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0;background:#fff;padding:12px 15px}.week-days{display:flex;gap:8px}.week-days button{background:none;border:0;color:#a0a596;font-size:12.5px;padding:7px 11px;border-radius:5px}.week-days button.selected{background:#eff2e8;color:#687b4f;font-weight:600}.diet-label{font-size:11.25px;color:#929b84}.diet-label span{margin:0 8px;color:#c0c6b8}.meal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:0 0 9px 9px}.meal-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.meal-photo{height:157px;position:relative;background:#edf0e6;overflow:hidden}.meal-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.meal-card:hover .meal-photo img{transform:scale(1.04)}.meal-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0002);pointer-events:none}.meal-type{position:absolute;top:12px;left:12px;z-index:1;background:#fffffff0;border-radius:5px;padding:5px 9px;color:#676f5d;font-size:12.5px}.meal-type span{margin-right:5px;color:#bfa26d}.meal-ratio{position:absolute;bottom:10px;right:11px;color:white;font-size:11.25px;z-index:1}.meal-info{padding:15px}.meal-time{font-size:10px;letter-spacing:1px;color:#a5a998}.meal-info h3{font-size:16.25px;font-weight:500;margin:8px 0 7px}.meal-desc{font-size:11.25px;color:#9a9f90;line-height:1.8;min-height:33px;margin:0}.meal-nutrients{margin-top:13px;display:flex;align-items:baseline;gap:5px}.meal-nutrients strong{font-family:Arial;font-size:25px;font-weight:500}.meal-nutrients>span{font-size:10px;color:#a6ab9b}.meal-nutrients small{font-size:10px;margin-left:auto;color:#9b9f92}.meal-tags{display:flex;gap:5px;margin-top:11px}.meal-tags span{font-size:10px;background:#f1f4ec;padding:4px 6px;border-radius:3px;color:#899679}.meal-card-bottom{display:flex;justify-content:space-between;border-top:1px solid #f0f1eb;margin-top:13px;padding-top:11px}.meal-card-bottom button{border:0;background:none;font-size:11.25px;color:#8a957c;padding:1px}.meal-card-bottom button:last-child{color:#a3a99b}.plan-summary{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:14px 17px;background:#eef2e7;border-radius:7px;font-size:12.5px}.plan-summary>div:first-child{display:flex;align-items:center;gap:9px}.summary-check{color:#74895b;background:#e0e8d4;border-radius:50%;padding:3px 5px;font-size:10px}.plan-summary strong{font-size:12.5px;font-weight:500}.summary-caption{font-size:10px;color:#a0a88f}.plan-summary #plan-total{color:#899579;font-size:11.25px}.plan-summary #plan-total b{font-family:Arial;font-size:17.5px;color:#5e7049;margin-right:3px}.bottom-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:17px;margin-top:26px}.water-card,.balance-card{border:1px solid var(--line);background:white;border-radius:9px;padding:22px}.water-card{display:flex;gap:16px}.water-icon{width:40px;height:40px;border-radius:50%;background:#edf4f4;color:#9ababe;display:grid;place-items:center;font-size:33.75px}.water-card h3,.balance-card h3{font-size:16.25px;font-weight:500;margin:0 0 7px}.water-card p,.balance-card p{font-size:11.25px;line-height:1.9;color:#989f90;margin:0}.water-cups{display:flex;gap:8px;margin:16px 0 9px}.water-cups button{width:24px;height:28px;border:1.5px solid #dce7e7;border-radius:2px 2px 6px 6px;background:#f6f9f9;color:#c1d2d2;font-size:15px;padding:0;transition:background .2s}.water-cups button.filled{background:#cee4e5;border-color:#a1c6c9;color:#6b9b9f}.water-card small{font-size:11.25px;color:#95a3a0}.water-card small strong{font-weight:500;color:#7d9d9b}.water-card small span{font-size:10px;color:#adb4a7;margin-left:8px}.balance-card{background:#f4f3ec;border-color:#edede2;padding-left:25px}.balance-card .eyebrow{font-size:10px;margin-bottom:9px;color:#a7a58a}.balance-card h3{font-size:17.5px;color:#747b61}.food-tags{display:flex;gap:8px;margin-top:14px}.food-tags span{font-size:10px;border:1px solid #dfdfce;padding:4px 7px;border-radius:4px;color:#999e86}footer{display:flex;justify-content:space-between;align-items:center;padding:27px 0 23px;color:#b0b6a7;font-size:10px;gap:15px}.footer-brand{font-size:13.75px;color:#939f80;white-space:nowrap}.footer-brand small{font-size:10px;margin-left:10px;color:#b0b6a7}footer button{border:0;background:none;color:#9ba68c;font-size:10px;padding:0;margin-left:8px}dialog{width:540px;max-width:calc(100% - 30px);max-height:90vh;border:1px solid #e4e8dc;border-radius:16px;padding:28px;color:var(--ink);box-shadow:0 25px 100px #24331d33}dialog::backdrop{background:#25321c66;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.dialog-heading h2{font-size:26.25px;margin:0 0 15px}.close{border:0;background:#f2f4ee;border-radius:50%;width:30px;height:30px;font-size:26.25px;color:#879276}.dialog-intro{font-size:13.75px;color:#929b86;line-height:1.8;margin-bottom:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{font-size:13.75px;color:#768268;display:flex;flex-direction:column;gap:7px}input,select{width:100%;border:1px solid #dfe5d6;background:#fafbf8;border-radius:6px;padding:10px;color:#526244;min-width:0}input:focus,select:focus{outline:2px solid #a5b98d}.form-notice{font-size:12.5px;color:#999e8e;line-height:1.9;background:#f4f6ee;padding:12px;border-radius:6px;margin:19px 0}.full-width{width:100%}#content-body{font-size:15px;line-height:1.9;color:#7d8871}#content-body h3{color:#516740;font-size:17.5px;margin-bottom:8px}#content-body ul{padding-left:20px}#content-body a{color:#5b7848;text-decoration:underline}#content-body .shopping-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center}#content-body input[type=checkbox]{width:auto;accent-color:var(--green)}.toast{position:fixed;bottom:28px;left:calc(50% + 112px);transform:translate(-50%,15px);background:#3e5331;color:white;padding:13px 24px;border-radius:9px;font-size:15px;opacity:0;pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}.recipe-note{padding:13px;background:#f0f3e8;border-radius:6px;font-size:13.75px}.print-only{display:none}@media(min-width:1500px){main{padding-top:45px}.hero{min-height:300px}.plate-scene img{width:270px;height:270px}.hero h2{font-size:40px}.meal-photo{height:185px}.age-section,.nutrition-section,.meal-section{margin-top:35px}}@media(max-width:1180px){.sidebar{width:190px;padding:30px 14px}.main-shell{margin-left:190px}main{padding:28px 28px 0}.topbar{padding:0 28px}.age-tabs{gap:8px}.age-tabs button{gap:8px;padding:14px 10px}.age-symbol{width:29px;height:29px}.age-tabs small{font-size:10px}.metrics{gap:9px}.metric{padding:14px 12px}.metric-bottom{font-size:8.75px}.spark{display:none}.plate-scene img{width:225px;height:225px}.summary-caption{display:none}.toast{left:calc(50% + 95px)}.hero-content{padding:28px}.meal-grid{gap:11px;padding:13px}.meal-info{padding:12px}.meal-nutrients small{font-size:8.75px}}@media(max-width:950px){.sidebar{width:76px;padding:30px 11px}.brand{padding:0;justify-content:center}.brand>span:last-child,.workspace-label,.nav-item:not(.active)>span~*,.sidebar-note,.sidebar-bottom{display:none}nav{margin-top:40px}.nav-item{font-size:0;justify-content:center;padding:15px 0}.nav-item>span{font-size:28.75px}.main-shell{margin-left:76px}h1{font-size:30px}.hero h2{font-size:31.25px}.hero-content{padding:24px}.plate-scene img{width:200px;height:200px}.plate-scene{width:40%}.tag-one{left:-25px}.floating-tag{font-size:10px;padding:8px}.age-tabs button{gap:6px}.age-symbol{display:none}.age-tabs button{padding:15px}.metric-label{font-size:11.25px}.badge{display:none}.metric-value strong{font-size:32.5px}.meal-photo{height:135px}.meal-nutrients small{display:none}.bottom-grid{gap:13px}.water-card,.balance-card{padding:18px}.water-icon{display:none}.water-cups{gap:6px}.water-cups button{width:22px}.plan-summary #plan-total{font-size:10px}.toast{left:calc(50% + 38px)}footer{flex-direction:column;align-items:flex-start;gap:10px}}@media(max-width:650px){.sidebar{height:62px;width:100%;padding:0 17px;flex-direction:row;align-items:center;border-bottom:1px solid var(--line)}.brand{gap:7px}.brand>span:last-child{display:block;font-size:21.25px}.brand-icon{font-size:38.75px}.brand small{font-size:7.5px;margin-top:0}.sidebar nav{display:flex;margin:0 0 0 auto;gap:3px}.nav-item{width:34px;padding:9px 0}.nav-item>span{font-size:22.5px}.main-shell{margin-left:0;padding-top:62px}.topbar{height:50px;padding:0 19px}.local-badge{font-size:10px}.topbar-right{gap:9px}.breadcrumb{font-size:11.25px}.breadcrumb span{margin:0 7px}.avatar{width:26px;height:26px;font-size:12.5px}main{padding:26px 18px 0}.page-heading{align-items:flex-start;gap:8px;flex-wrap:wrap;margin-bottom:20px}.eyebrow{font-size:10px}h1{font-size:27.5px;letter-spacing:0}.page-heading p{font-size:12.5px}.page-heading>.button{margin-top:5px;padding:7px 10px;font-size:12.5px}.hero{min-height:245px}.hero-content{padding:24px 20px;max-width:80%}.hero h2{font-size:30px}.hero p{font-size:12.5px}.hero-label{font-size:11.25px}.hero-foot{font-size:10px;gap:6px}.plate-scene{position:absolute;right:-79px;top:52px;width:185px;opacity:.65}.plate-scene img{height:180px;width:180px;border-width:7px}.orbit{width:230px;height:230px}.orbit-two{width:280px;height:280px}.floating-tag{display:none}.hero-content{position:relative;z-index:3}.section-title h2{font-size:17.5px}.section-title>span{display:none}.age-tabs{grid-template-columns:1fr 1fr;gap:9px}.age-tabs button{padding:14px 13px;gap:10px}.age-symbol{display:grid;width:31px;height:31px}.age-tabs small{font-size:11.25px}.age-tip{padding:10px;gap:7px}.age-tip p{font-size:11.25px}.age-tip button{font-size:10px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:15px}.metric-label{font-size:12.5px}.metric-bottom{font-size:10px}.badge{display:inline;font-size:7.5px}.metric-value strong{font-size:36.25px}.meal-title{align-items:flex-start;gap:10px;flex-direction:column}.meal-actions{width:100%}.meal-actions .button{padding:8px 13px;font-size:12.5px}.meal-actions .primary{margin-left:auto}.planner-toolbar{flex-wrap:wrap;gap:9px;padding:11px}.week-days{width:100%;justify-content:space-between;gap:0}.week-days button{padding:6px 8px;font-size:11.25px}.diet-label{font-size:10px;padding-left:7px}.meal-grid{grid-template-columns:1fr;padding:12px;gap:14px}.meal-photo{height:185px}.meal-info{padding:16px}.meal-info h3{font-size:18.75px}.meal-desc{font-size:13.75px;min-height:0}.meal-nutrients small{display:block;font-size:11.25px}.meal-tags span{font-size:11.25px}.meal-card-bottom button{font-size:13.75px}.meal-tags{margin-top:12px}.meal-card-bottom{padding-top:13px}.meal-type{font-size:13.75px}.plan-summary{padding:13px;flex-wrap:wrap;gap:12px}.plan-summary>div:first-child{gap:7px}.plan-summary #plan-total{font-size:11.25px}.plan-summary>.text-button{margin-left:auto}.bottom-grid{grid-template-columns:1fr;gap:13px;margin-top:20px}.water-card{padding:23px;gap:17px}.water-icon{display:grid}.water-cups{gap:9px}.balance-card{padding:24px}.water-cups button{width:23px}.water-card p,.balance-card p{font-size:12.5px}.toast{left:50%;width:max-content;max-width:90%;text-align:center}dialog{padding:23px}.form-grid{gap:14px}.form-grid label{font-size:12.5px}.dialog-heading h2{font-size:23.75px}footer{font-size:8.75px;padding-top:23px}footer button{font-size:8.75px;margin-left:0}html{scroll-padding-top:77px}}@media print{.sidebar,.topbar,.page-heading,.hero,.age-section,.nutrition-section,.bottom-grid,footer,.meal-actions,.planner-toolbar,.text-button,.meal-card-bottom,.toast,dialog{display:none!important}.main-shell{margin:0;padding:0}main{padding:0}.meal-section{margin:0}.meal-grid{grid-template-columns:repeat(3,1fr);border:0;padding:0}.meal-photo{height:130px}.meal-card{break-inside:avoid}.meal-title:before{content:'日日好食｜每日三餐計畫';display:block;font-size:30px;margin-bottom:20px}.meal-title{display:block}.plan-summary{print-color-adjust:exact}body{background:white}.meal-nutrients small{display:block}.print-only{display:block}}
