:root{--brand:#008cc9;--deep:#00658e;--ink:#123344;--muted:#556c78;--line:#d7e7ef;--pale:#edf8fd;--white:#fff;--ease:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}body{margin:0;font:16px/1.65 'Segoe UI','Microsoft JhengHei',Arial,sans-serif;color:var(--ink);background:#fff}button,input,select{font:inherit}button,a,input{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--deep);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #008cc9;outline-offset:4px}button:disabled{opacity:.55;cursor:default}[hidden]{display:none!important}.skip-link{position:absolute;inset-inline-start:1rem;top:-100px;background:white;padding:1rem;z-index:20}.skip-link:focus{top:1rem}.preview-bar{border-top:4px solid var(--brand);background:var(--pale);color:var(--deep);font-size:13px;text-align:center;padding:5px}.site-header{max-width:1320px;margin:auto;padding:20px 40px;display:flex;gap:28px;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-size:27px;font-weight:800;text-decoration:none;line-height:1.2;white-space:nowrap}.wordmark span{display:block;font-size:11px;letter-spacing:2.8px;margin-top:5px}.back-link{font-size:14px}.header-tools{margin-inline-start:auto;display:flex;align-items:center;gap:20px}.language{display:flex;align-items:center;gap:8px;font-size:12px}.language select{background:white;color:var(--deep);border:1px solid var(--line);border-radius:30px;padding:9px 13px;max-width:180px}.basket-toggle{background:white;border:1px solid var(--line);border-radius:30px;padding:8px 12px;display:flex;align-items:center;gap:10px;font-size:14px;white-space:nowrap}#cart-count{background:var(--brand);color:white;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}main{max-width:1320px;margin:auto;padding:35px 40px 65px}.planner-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:28px}.eyebrow{color:var(--deep);font-size:12px;font-weight:700;letter-spacing:1.7px;margin:0 0 12px}h1{font-size:clamp(30px,3.6vw,49px);line-height:1.24;letter-spacing:-1.5px;margin:12px 0 14px;white-space:pre-line}h2{font-size:24px;line-height:1.4;margin:0}p{margin:.7rem 0}.planner-intro>div>p:last-child{color:var(--muted);max-width:580px}.intro-mascot{display:flex;align-items:center;max-width:350px;gap:10px}.intro-mascot img{width:130px;flex-shrink:0;animation:float 4s ease-in-out infinite}.intro-mascot p{font-size:16px;background:var(--pale);border-radius:22px 22px 22px 2px;padding:16px}.steps{display:flex;list-style:none;padding:0;margin:0 0 22px;border-bottom:1px solid var(--line);gap:36px}.steps li{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;padding:13px 0;border-bottom:3px solid transparent}.steps li>span:first-child{font-size:12px;color:var(--brand);font-weight:700}.steps li.active{border-color:var(--brand);color:var(--ink);font-weight:650}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:28px;align-items:start}.profile-panel{background:#f7fbfe;border:1px solid var(--line);border-radius:22px;padding:24px;position:sticky;top:20px}.panel-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:20px}.panel-title h2{font-size:21px}.text-button{background:transparent;border:0;color:var(--deep);padding:0;font-size:13px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.measurements{display:grid;grid-template-columns:1fr 1fr;gap:14px}.measurements label:first-child{grid-column:1/-1}.measurements label{display:grid;gap:5px;font-size:14px}.input-unit{display:flex;align-items:center;background:white;border:1px solid #bdd1dc;border-radius:12px;padding-inline-end:12px}.input-unit input{border:0;min-width:0;width:100%;padding:10px 12px;background:none;border-radius:12px;color:var(--ink);font-size:20px;font-weight:600}.input-unit span{color:var(--muted);font-size:12px}fieldset{border:0;margin:20px 0 0;padding:0}legend{font-size:14px;margin-bottom:8px}.choice-grid{display:flex;gap:7px}.choice{flex:1;min-width:0}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:block;padding:10px 8px;border:1px solid var(--line);border-radius:11px;background:white;text-align:center;font-size:13px;line-height:1.45;cursor:pointer}.choice input:checked+span{background:#008cc9;color:white;border-color:#008cc9;font-weight:650}.choice input:focus-visible+span{outline:3px solid var(--deep);outline-offset:3px}.field-note{font-size:12px;color:var(--muted);margin:8px 0 0}.allergy-chips{display:flex;gap:7px;flex-wrap:wrap}.allergy-chips label{display:flex;align-items:center;gap:4px;font-size:12px;background:white;padding:6px 8px;border-radius:8px;border:1px solid var(--line)}input[type=checkbox]{accent-color:var(--brand);width:16px;height:16px;flex-shrink:0}.special-check{display:flex;align-items:flex-start;gap:7px;font-size:12px;margin:18px 0}.special-check input{margin-top:4px}.primary,.secondary{border:0;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;font-size:15px;font-weight:650;line-height:1.5;text-decoration:none;transition:transform .2s,background .2s}.primary{background:var(--brand);color:#fff;box-shadow:0 5px 18px #008cc91c}.primary:hover{background:#007cb3;transform:translateY(-2px)}.secondary{background:#edf8fd;color:var(--deep);border:1px solid #c5e6f6}.start{width:100%}.privacy{font-size:12px;color:var(--muted);text-align:center;margin-bottom:0}.form-error{color:#994222;font-size:13px}.welcome{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:white;min-height:640px;display:flex;flex-direction:column}.welcome-picture{background:#008cc9}.welcome-picture img{display:block;width:100%;height:270px;object-fit:cover}.welcome-copy{padding:30px 34px}.welcome h2{font-size:32px;white-space:pre-line}.welcome p{color:var(--muted);max-width:560px;font-size:15px}.label-chips{display:flex;gap:10px;margin-top:25px;flex-wrap:wrap}.label-chips span{font-size:12px;color:var(--deep);padding:6px 10px;border-radius:6px;background:#f2f8fb}.tofu-message{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tofu-message img{flex-shrink:0;animation:float 4s ease-in-out infinite}.tofu-message p{flex:1;background:var(--pale);border-radius:18px 18px 18px 2px;padding:13px 18px;font-size:15px}.icon-button{border:1px solid var(--line);background:white;color:var(--deep);border-radius:30px;font-size:12px;padding:8px 12px;white-space:nowrap}.personal-reference{display:flex;gap:25px;align-items:center;padding:16px 24px;background:#f7fbfd;border:1px solid var(--line);border-radius:16px;margin-bottom:16px}.personal-reference>div{flex-shrink:0;display:flex;align-items:center;gap:15px}.personal-reference>div>span{font-size:13px;max-width:115px;line-height:1.4}.personal-reference strong{font-size:30px;line-height:1.2;font-weight:700;white-space:nowrap}.personal-reference strong small{font-size:16px}.personal-reference p{font-size:12px;color:var(--muted);line-height:1.6;max-width:380px;margin:0}.meal-card{border:1px solid var(--line);padding:26px;border-radius:24px;background:white;box-shadow:0 15px 60px #12334406}.meal-card-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.meal-card-heading h2{font-size:26px;line-height:1.25}.diet-badge{display:inline-block;font-size:12px;color:var(--deep);background:var(--pale);padding:2px 9px;border-radius:5px;margin-top:8px}.video-button{border:1px solid var(--line);background:white;color:var(--deep);border-radius:30px;display:flex;align-items:center;gap:8px;padding:10px 13px;font-size:12px;white-space:nowrap}.video-button>span:first-child{font-size:10px}.nutrition-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:30px;align-items:center;margin:26px 0 12px}.protein-ring{--arc:130deg;width:195px;height:195px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--brand) var(--arc),#e9f3f8 var(--arc));transform:rotate(-12deg);transition:background .4s}.protein-ring>div{width:166px;height:166px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(12deg)}.protein-ring span{font-size:13px}.protein-ring strong{font-size:42px;line-height:1.3;letter-spacing:-1px}.protein-ring strong span{font-size:42px}.protein-ring small{font-size:18px;font-weight:500}.protein-ring #coverage{font-size:11px;color:var(--muted);padding-inline:12px;text-align:center}.nutrient-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.nutrient-grid>div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:0 7px}.nutrient-grid span{grid-column:1/-1;font-size:12px;color:var(--muted)}.nutrient-grid strong{font-size:26px;line-height:1.3}.nutrient-grid small{font-size:12px;color:var(--muted)}.sodium-note{padding:10px 13px;border-radius:10px;background:#fff8ef;color:#815011;font-size:12px;margin:12px 0 22px}.servings{border-top:1px solid var(--line);padding-top:20px}.serving-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;align-items:center;margin-bottom:17px}.serving-row label{font-size:14px;font-weight:600;display:block}.serving-row small{display:block;font-size:12px;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--brand);height:24px;cursor:pointer}.estimate-note{color:var(--muted);font-size:11px;margin:0 0 20px}.meal-finish{border:1px solid var(--line);border-radius:14px;display:flex;gap:13px;align-items:flex-start;background:#fafcfd;padding:16px}.finish-mark{font-size:22px;color:var(--brand);line-height:1.4}.meal-finish strong{font-size:14px}.meal-finish p{font-size:12px;color:var(--muted);margin:4px 0}.meal-finish a{font-size:12px}.meal-actions{display:flex;gap:20px;align-items:center;margin-top:24px}.price-note{display:flex;flex-direction:column;font-size:11px;color:var(--muted)}.price-note strong{font-size:19px;color:var(--ink)}.purchase-note{font-size:11px;color:var(--muted);margin:12px 0 0}.sources{font-size:12px;color:var(--muted);margin-top:20px;padding:12px 6px}.sources summary{cursor:pointer;color:var(--deep);font-size:13px}.sources a{display:block;margin-top:6px}.care-panel{text-align:center;border:1px solid var(--line);border-radius:24px;background:var(--pale);padding:65px 35px}.care-panel h2{margin:15px 0}.care-panel p{max-width:460px;margin:16px auto 25px}.care-panel .text-button{display:block;margin:25px auto}.care-panel img{animation:float 4s ease-in-out infinite}footer{max-width:1240px;margin:auto;padding:25px 0 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px}dialog{border:0;border-radius:25px;color:var(--ink);padding:30px;width:min(560px,calc(100vw - 28px));max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #12334440}dialog::backdrop{background:#12334499;backdrop-filter:blur(6px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.dialog-header h2{font-size:25px}.dialog-header .eyebrow{font-size:11px}.cart-line{display:grid;grid-template-columns:82px 1fr;gap:15px;padding:18px 0;border-block:1px solid var(--line)}.cart-line img{width:82px;height:82px;object-fit:cover;border-radius:14px}.cart-line h3{margin:0;font-size:17px}.cart-line p{font-size:12px;color:var(--muted);margin:4px 0 8px}.quantity{display:flex;align-items:center;gap:14px}.quantity button{border:1px solid var(--line);background:white;color:var(--deep);border-radius:50%;width:30px;height:30px;font-size:18px}.quantity .remove{margin-inline-start:auto;font-size:12px;border:0;border-radius:0;width:auto;text-decoration:underline}.cart-total{display:flex;justify-content:space-between;align-items:center;font-size:15px;margin-top:25px}.cart-total strong{font-size:25px}#cart-footer p{font-size:13px;color:var(--muted);margin:15px 0 22px}#checkout{width:100%}.empty-cart{text-align:center;padding:40px 10px;color:var(--muted)}#video-dialog{width:min(850px,calc(100vw - 28px))}video{display:block;width:100%;border-radius:14px;background:#008cc9}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);background:#123344;color:white;border-radius:99px;padding:13px 24px;opacity:0;pointer-events:none;transition:.25s;z-index:20;font-size:14px;box-shadow:0 6px 35px #12334430;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.pop{animation:pop .6s var(--ease)}.reveal{animation:reveal .5s var(--ease)}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pop{0%,100%{transform:scale(1)}45%{transform:scale(1.13) rotate(-4deg)}}@keyframes reveal{from{opacity:.2;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1450px){main{padding-top:45px}.planner-intro{margin-bottom:40px}}@media(max-width:1050px){.workspace{grid-template-columns:300px minmax(0,1fr);gap:20px}.profile-panel{padding:20px}.nutrition-layout{grid-template-columns:150px 1fr;gap:18px}.protein-ring{width:150px;height:150px}.protein-ring>div{width:127px;height:127px}.protein-ring strong,.protein-ring strong span{font-size:32px}.personal-reference{display:block}.personal-reference p{margin-top:10px}.meal-actions{flex-direction:column;align-items:stretch;gap:12px}.price-note{flex-direction:row;align-items:baseline;gap:8px}.meal-card{padding:22px}.intro-mascot{max-width:280px}.intro-mascot p{font-size:13px}.intro-mascot img{width:100px}.serving-row{grid-template-columns:130px 1fr}.nutrient-grid{gap:10px}.nutrient-grid strong{font-size:23px}}@media(max-width:800px){.site-header{padding:16px 20px;gap:15px;flex-wrap:wrap}.back-link{font-size:12px}.header-tools{gap:10px}.language{font-size:0}.language select{font-size:13px;max-width:145px}.basket-toggle{font-size:12px}.wordmark{font-size:23px}main{padding:25px 20px 40px}.planner-intro{align-items:flex-start;gap:5px}.planner-intro>div:first-child{flex:1}.planner-intro h1{font-size:32px;letter-spacing:-1px}.planner-intro>div>p:last-child{font-size:14px}.intro-mascot{display:block;width:95px;flex-shrink:0;padding-top:26px}.intro-mascot img{width:90px}.intro-mascot p{display:none}.eyebrow{font-size:10px}.steps{gap:0;justify-content:space-between}.steps li{font-size:12px;gap:6px}.workspace{grid-template-columns:1fr;gap:20px}.profile-panel{position:static;padding:22px}.measurements{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.measurements label:first-child{grid-column:auto}.choice span{font-size:14px}.field-note,.special-check,.privacy{font-size:13px}.allergy-chips label{font-size:13px}.welcome{min-height:0}.welcome-picture img{height:auto}.welcome-copy{padding:24px}.welcome h2{font-size:28px}.welcome p{font-size:14px}.tofu-message img{width:58px}.tofu-message{gap:8px}.tofu-message p{font-size:13px;padding:12px}.tofu-message .icon-button{font-size:11px;padding:7px 9px}.personal-reference{display:flex;gap:15px;padding:15px 18px}.personal-reference>div{display:block}.personal-reference>div>span{display:block;font-size:12px}.personal-reference strong{font-size:28px}.personal-reference p{font-size:11px;margin:0}.nutrition-layout{grid-template-columns:160px 1fr;gap:18px}.protein-ring{width:160px;height:160px}.protein-ring>div{width:137px;height:137px}.protein-ring strong,.protein-ring strong span{font-size:35px}.meal-card-heading h2{font-size:22px}.video-button{font-size:11px;white-space:normal}.nutrient-grid strong{font-size:22px}.nutrient-grid span{font-size:11px}.sodium-note{font-size:12px}.serving-row{grid-template-columns:145px 1fr}.estimate-note,.purchase-note{font-size:12px}.meal-finish p,.meal-finish a{font-size:13px}.meal-actions .primary{font-size:15px}.price-note{font-size:12px}footer{padding:24px 20px;margin:0 20px;flex-wrap:wrap}.care-panel{padding:35px 20px}.sources{font-size:13px}}
@media(max-width:400px){.header-tools{width:100%;justify-content:space-between}.back-link{margin-inline-start:auto}.planner-intro h1{font-size:27px}.intro-mascot{width:70px}.intro-mascot img{width:70px}.nutrition-layout{grid-template-columns:130px 1fr;gap:12px}.protein-ring{width:130px;height:130px}.protein-ring>div{width:110px;height:110px}.protein-ring strong,.protein-ring strong span{font-size:28px}.protein-ring #coverage{font-size:10px}.meal-card{padding:18px}.nutrient-grid{gap:12px 8px}.nutrient-grid strong{font-size:21px}.meal-card-heading{align-items:flex-start}.serving-row{grid-template-columns:125px 1fr}.measurements .input-unit input{padding:10px 7px;font-size:18px}.steps li{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.site-header,.profile-panel,.steps,.meal-actions,footer,.preview-bar,.video-button,.icon-button,dialog{display:none!important}.workspace{display:block}.meal-space{width:100%}.meal-card{break-inside:avoid}.tofu-message img{width:50px}}

.cart-item{display:grid;grid-template-columns:74px minmax(0,1fr);gap:15px;border-block:1px solid var(--line);padding:20px 0}.cart-item>img{width:74px;height:74px;object-fit:cover;border-radius:12px}.cart-item>strong{grid-column:2;font-size:18px}.cart-item p{font-size:12px;color:var(--muted);margin:5px 0 10px}.qty-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.qty-controls button{border:1px solid var(--line);background:white;color:var(--deep);border-radius:20px;min-width:34px;min-height:34px;padding:4px 10px}.qty-controls button:last-child{font-size:12px;margin-inline-start:auto}.sodium-note.high{border-inline-start:3px solid #b87418}.estimate-note,.purchase-note,.price-note{font-size:12px}
