:root{color-scheme:light;--paper:#f7f8f2;--ink:#253e32;--muted:#69766b;--line:#e1e7dc;--green:#397549;--white:#fffefa;--soft:#edf2df;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bf8426;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:36px}h2{font-size:23px}h3{font-size:18px}p{line-height:1.6}a{color:inherit}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{max-width:100%}[hidden]{display:none!important}
.shell{max-width:990px;margin:auto;padding:26px 32px 130px;min-height:100dvh}.topbar,.header-actions,.brand{display:flex;align-items:center}.topbar{justify-content:space-between;margin-bottom:28px;gap:12px}.brand{gap:10px;background:none;padding:0;font-size:23px;font-weight:750;letter-spacing:-.7px}.brand-avatar{width:42px;height:42px;border-radius:15px}.header-actions{gap:10px}.badge{font-size:11px;font-weight:700;background:#e7eedb;border-radius:50px;padding:6px 11px}.chat-link{background:none;font-size:13px;padding:10px}.eyebrow{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:750;color:var(--muted)}.dashboard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:12px}.dashboard-head h1{margin-top:5px}.icon-button{width:44px;height:44px;border:1px solid var(--line);background:var(--white);border-radius:15px;display:grid;place-items:center;flex-shrink:0}.welcome-banner{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;background:#f4efdc;border-radius:26px;overflow:hidden;margin-bottom:22px}.welcome-copy{padding:28px}.welcome-copy h2{margin:12px 0;white-space:pre-line;font-size:27px}.welcome-copy p{font-size:13px;color:var(--muted)}.welcome-image{width:100%;height:220px;object-fit:cover;object-position:center}.dash-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.card{background:var(--white);border:1px solid var(--line);border-radius:25px;padding:26px}.energy{background:#28543a;color:#fffef4;border:none}.energy-top{display:flex;justify-content:space-between}.energy .eyebrow,.energy small{color:#d6e4cf}.energy-number{font-size:62px;line-height:1.15;font-weight:650;letter-spacing:-3px;margin:12px 0 0;font-variant-numeric:tabular-nums}.energy-note{font-size:12px;color:#d6e4cf;margin:18px 0}.energy-bar{height:7px;background:#577660;border-radius:20px;margin:22px 0;overflow:hidden}.energy-bar span{display:block;height:100%;width:var(--value,0%);background:#e3ec95}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid #ffffff30;padding-top:16px;margin-top:20px}.macro-grid small{display:block;font-size:11px}.macro-grid strong{display:block;font-size:19px;font-weight:600;margin-top:5px}.insight{background:var(--soft);border:0;display:flex;flex-direction:column;gap:14px;justify-content:space-between}.insight h2{white-space:pre-line;font-size:27px}.insight p{font-size:13px;color:var(--muted)}.primary,.secondary,.danger{border-radius:15px;padding:15px 19px;min-height:52px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;text-decoration:none}.primary{background:var(--green);color:white}.primary:hover{background:#2c613b}.secondary{background:#e9eddf;color:var(--ink)}.danger{background:#f8e5df;color:#a13f32}.back,.text-button{background:none;padding:12px 0;color:var(--green);font-size:13px}.text-button{text-decoration:underline;text-underline-offset:4px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:28px 0 14px}.section-head h2{font-size:21px}.section-head small{font-size:12px;color:var(--muted)}.meals{display:grid;gap:10px}.empty{text-align:center;padding:30px 20px;border:1px dashed #c8d5bf;border-radius:24px;color:var(--muted)}.empty svg{width:32px;height:32px;margin-bottom:12px}.empty h3{color:var(--ink);margin-bottom:8px}.empty p{font-size:13px}.meal-row{width:100%;display:flex;align-items:center;text-align:left;gap:14px;background:var(--white);padding:18px;border:1px solid var(--line);border-radius:20px}.meal-icon{display:grid;place-items:center;width:46px;height:46px;background:var(--soft);border-radius:15px;flex-shrink:0;color:var(--green)}.meal-copy{min-width:0;flex:1}.meal-copy strong{font-size:14px;display:block;line-height:1.35;overflow-wrap:anywhere}.meal-copy small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.meal-kcal{font-size:13px;white-space:nowrap;font-weight:650}.sync-note{text-align:center;color:var(--muted);font-size:11px;margin:18px 0}.navigation{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:6px;padding:7px;width:460px;max-width:calc(100% - 24px);background:#fffefa;border:1px solid var(--line);border-radius:24px;box-shadow:0 8px 35px #254b3014;z-index:5}.navigation button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:17px;padding:10px 5px;background:none;color:var(--muted);font-size:11px}.navigation .active{background:#e7efd9;color:#2c603a;font-weight:700}.navigation svg{width:22px;height:22px}
.onboarding{max-width:600px;margin:auto}.result-title{font-size:36px;margin:12px 0 16px}.intro{font-size:15px;color:var(--muted);margin-bottom:22px}.note{background:#edf1de;border-radius:17px;padding:17px 20px;font-size:13px;margin:20px 0;color:#526347}.note p{font-size:13px}.next{width:100%;margin-top:20px}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.inline-actions>*{flex:1;min-width:130px}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted);margin-top:18px}.field textarea,.field input,.field select{width:100%;min-width:0;min-height:52px;border:1px solid #cbd6c3;border-radius:14px;background:var(--white);color:var(--ink);padding:14px;font-size:16px}.field textarea{resize:vertical;min-height:96px}.field input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--green)}.check{display:flex;align-items:flex-start;gap:10px;font-size:13px;margin:18px 0}.photo-area{background:var(--white);border:1px dashed #b9caae;border-radius:26px;padding:28px;text-align:center;margin:22px 0}.photo-symbol{color:var(--green);font-size:40px}.photo-area p{font-size:13px;color:var(--muted);margin:12px 0}.photo-area input{width:100%;font-size:12px}.photo-area input::file-selector-button{background:#e7efd9;color:var(--ink);border:0;border-radius:10px;padding:12px;margin-right:8px;font-weight:650}.preview-photo{max-height:290px;width:100%;object-fit:contain;border-radius:16px;margin:20px auto 0;display:block}.result-total{font-size:42px;letter-spacing:-1.5px;font-weight:650;margin:10px 0}.tiny{font-size:13px;color:var(--muted)}.section-label{font-size:11px;letter-spacing:1px;font-weight:750;margin:24px 0 12px}.ingredient{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.ingredient small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.ingredient strong{white-space:nowrap}.legal{font-size:12px;color:var(--muted);margin:22px 0;line-height:1.65}.settings-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.settings-row span{color:var(--muted)}.settings-row strong{text-align:right;font-weight:600}.settings-list{margin-top:24px}.date-control{display:flex;gap:10px;align-items:center;margin:24px 0 14px}.date-control input{flex:1;min-width:0;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--ink)}.day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:18px 0 24px}.day-chip{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:12px 0;display:flex;flex-direction:column;gap:5px;align-items:center}.day-chip small{font-size:10px;color:var(--muted)}.day-chip.active{background:var(--green);color:white;border-color:var(--green)}.day-chip.active small{color:#dce9d5}.daily-total{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 20px}.daily-total strong{font-size:26px}.daily-total small{font-size:12px;color:var(--muted)}.error{color:#923e30;background:#fae8e0;border:1px solid #e6bdb0;border-radius:14px;padding:15px 18px;font-size:13px;margin:16px 0}.loading{padding:22px 5px;text-align:center;color:var(--muted);font-size:14px}.spinner{display:inline-block;width:15px;height:15px;border:2px solid #c1ceb8;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite;margin-right:10px}.toast{position:fixed;bottom:108px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 22px;border-radius:17px;z-index:8;max-width:90%;font-size:13px}.boot{text-align:center;padding:80px 24px}.details{margin-top:20px;font-size:13px;color:var(--muted)}.details summary{cursor:pointer;color:var(--green);padding:8px 0}.draft-notice{display:flex;align-items:center;justify-content:space-between;gap:12px}.plan-price{font-size:46px;font-weight:700;letter-spacing:-2px;margin:18px 0 5px}.price-card{background:#eaf0db;margin-top:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
@media(max-width:680px){.welcome-banner{display:grid!important;grid-template-columns:1.15fr 1fr!important}.welcome-copy{padding:19px 0 19px 20px!important}.welcome-copy .eyebrow{display:none}.welcome-copy h2{font-size:20px!important}.welcome-copy p{display:none}.welcome-image{height:158px!important;object-position:20% center!important}}
@media(max-width:680px){.shell{padding:calc(16px + env(safe-area-inset-top)) 18px calc(112px + env(safe-area-inset-bottom))}.topbar{margin-bottom:24px}.brand{font-size:21px}.brand-avatar{width:37px;height:37px;border-radius:13px}h1,.dashboard-head h1{font-size:29px}.dashboard-head{margin-bottom:18px}.eyebrow{font-size:9px;letter-spacing:1.1px}.welcome-banner{display:flex;flex-direction:column;margin-bottom:16px}.welcome-copy{padding:22px 22px 0;width:100%}.welcome-copy h2{font-size:25px;margin:8px 0}.welcome-image{height:150px;object-fit:cover}.welcome-copy p{font-size:12px}.dash-grid{grid-template-columns:1fr;gap:14px}.card{padding:22px}.energy-number{font-size:55px}.energy-note{margin:12px 0}.energy .macro-grid{margin-top:16px}.insight{gap:12px}.insight h2{font-size:23px;white-space:normal}.insight .eyebrow{display:none}.insight .intro{margin-bottom:0}.section-head h2{font-size:19px}.meal-row{padding:14px;gap:10px}.meal-icon{width:36px;height:40px;border-radius:12px}.meal-kcal{font-size:11px}.meal-copy strong{font-size:13px}.result-title{font-size:30px}.result-total{font-size:36px}.intro{font-size:14px}.photo-area{padding:22px}.navigation{bottom:calc(10px + env(safe-area-inset-bottom))}.navigation button{padding:9px 4px}.settings-row{font-size:13px}.day-strip{gap:5px}.day-chip{border-radius:12px}.daily-total{padding:18px}.daily-total strong{font-size:24px}.form-grid{grid-template-columns:1fr}.draft-notice{align-items:flex-start;flex-direction:column}}
