:root{--primary-green: #257f31;--deep-green: #0f3d25;--soft-green: #eaf6ea;--border-green: #b8e3b7;--text-dark: #17231c;--text-muted: #6b7280;--surface: #ffffff;--background: #f7faf6;--danger: #d64545;--warning: #f4a62a;--navy: #062a4f;--shadow: 0 24px 70px rgba(15, 61, 37, .12);color:var(--text-dark);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--background)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input,textarea{font:inherit}button{border:0;cursor:pointer}.app-stage{align-items:center;background:linear-gradient(180deg,#ffffffe6,#f7faf6f5),var(--background);display:grid;gap:0;grid-template-columns:minmax(340px,440px);justify-content:center;min-height:100vh;overflow:hidden;padding:38px 24px;position:relative}.phone-shell{background:linear-gradient(180deg,#fff,#fefefe 55%,#fbfdfb);border:14px solid rgba(255,255,255,.86);border-radius:48px;box-shadow:0 0 0 1px #0f3d2514,0 28px 78px #0f3d2529;display:flex;flex-direction:column;min-height:min(835px,calc(100vh - 76px));overflow:hidden;padding:34px 30px 22px;position:relative;width:min(100%,430px)}.topbar{align-items:flex-start;display:flex;justify-content:space-between;min-height:88px}.icon-button,.pill-button{align-items:center;background:var(--surface);color:var(--deep-green);display:inline-flex;justify-content:center}.icon-button{border-radius:999px;height:46px;margin-top:4px;width:46px}.menu-button{background:transparent}.top-actions{display:flex;flex-direction:column;gap:14px}.pill-button{border:1px solid rgba(15,61,37,.09);border-radius:18px;box-shadow:0 8px 22px #0f3d2517;gap:10px;min-height:48px;padding:0 16px;white-space:nowrap}.hero-panel{align-items:center;display:flex;flex-direction:column;padding-top:2px;text-align:center}.food-logo{display:block;height:132px;margin-bottom:8px;object-fit:contain;width:132px}h1,h2,p{margin:0}.hero-panel h1{color:var(--deep-green);font-size:50px;font-weight:820;letter-spacing:0;line-height:1.11}.hero-panel h1 span{display:block}.hero-panel h1 .headline-line{white-space:nowrap}.hero-panel p{color:var(--text-muted);font-size:18px;line-height:1.55;margin-top:20px;max-width:340px}.ask-form{display:flex;flex-direction:column;gap:28px;margin-top:40px}.food-input-wrap{align-items:center;background:#fff;border:1.5px solid var(--border-green);border-radius:28px;box-shadow:inset 0 0 0 1px #b8e3b742;display:flex;gap:15px;min-height:82px;padding:0 28px}.food-input-wrap svg{color:#9ca3af;flex:0 0 auto}.food-input-wrap input{background:transparent;border:0;color:var(--text-dark);font-size:21px;min-width:0;outline:none;width:100%}.food-input-wrap input::placeholder{color:#8b919c}.ask-button{align-items:center;background:linear-gradient(180deg,#42a044,#2f8f3a 48%,#1d762c);border-radius:999px;box-shadow:0 18px 34px #1f732c4f;color:#fff;display:flex;font-size:18px;font-weight:800;justify-content:center;min-height:50px;padding:0 42px 0 22px;position:relative;width:60%;align-self:center}.ask-button svg{height:20px;position:absolute;right:18px;width:20px}.ask-button:disabled{cursor:not-allowed;opacity:.92}.usage-card{align-items:center;align-self:center;background:var(--surface);border:1px solid rgba(15,61,37,.08);border-radius:999px;box-shadow:0 9px 24px #0f3d2514;color:#526052;display:flex;gap:12px;justify-content:center;margin-top:auto;min-height:50px;padding:0 23px;white-space:nowrap}.usage-card svg{color:var(--deep-green)}.quota-line{align-items:center;color:var(--text-muted);display:flex;font-size:13px;justify-content:space-between;margin-top:16px}.quota-line strong{color:var(--deep-green)}.side-preview{background:#ffffffeb;border:1px solid rgba(15,61,37,.08);border-radius:8px;box-shadow:var(--shadow);padding:22px}.sheet-grip{background:#e5e7eb;border-radius:999px;display:block;height:5px;margin:0 auto 22px;width:50px}.side-preview h2,.modal-card h2,.drawer-panel h2{color:var(--deep-green);font-size:22px;font-weight:820;text-align:center}.context-preview{align-self:center;margin-top:150px;max-width:290px}.context-preview p{color:var(--text-muted);font-size:13px;line-height:1.45;margin:22px 8px;text-align:center}.preview-textarea{border:1px solid #e5e7eb;border-radius:8px;color:#9ca3af;min-height:118px;padding:18px}.context-preview button,.modal-actions button{align-items:center;background:linear-gradient(180deg,#42a044,var(--primary-green));border-radius:999px;box-shadow:0 10px 20px #2f8f3a40;color:#fff;display:flex;font-weight:800;gap:9px;justify-content:center;margin:20px auto 0;min-height:44px;padding:0 30px}.records-preview{align-self:center;max-width:300px}.preset-tabs{display:flex;gap:8px;justify-content:center;margin:20px 0}.preset-tabs button{background:#f4f5f4;border-radius:999px;color:#5f6961;font-size:13px;min-height:36px;padding:0 14px}.preset-tabs button.active{background:var(--soft-green);color:var(--primary-green);font-weight:800}.preview-records{border-top:1px solid #edf1ed}.record-row{align-items:center;border-bottom:1px solid #edf1ed;display:grid;gap:12px;grid-template-columns:46px 1fr auto 32px;padding:14px 0}.record-row.compact{grid-template-columns:44px 1fr auto}.record-row strong{color:#141b17;display:block;font-size:15px}.record-row span,.record-row time{color:var(--text-muted);font-size:13px}.record-row button{align-items:center;background:#fbf4f4;border-radius:50%;color:var(--danger);display:flex;height:32px;justify-content:center;width:32px}.view-all{align-items:center;background:transparent;color:var(--primary-green);display:flex;font-weight:800;justify-content:center;margin-top:16px;width:100%}.food-thumb{align-items:center;background:#fbfbfb;border:1px solid #edf1ed;border-radius:50%;display:flex;height:42px;justify-content:center;position:relative;width:42px}.food-thumb i{display:block;position:relative}.food-thumb.bowl i{background:#f2f6ee;border:4px solid #d9a742;border-left-color:transparent;border-radius:50%;height:24px;transform:rotate(18deg);width:26px}.food-thumb.cup i{background:#ead4b8;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #c89b70;height:23px;width:23px}.food-thumb.banana i{border-bottom:7px solid #f0c83a;border-radius:0 0 30px 30px;height:20px;transform:rotate(-22deg);width:28px}.food-thumb.pizza i{border-left:13px solid transparent;border-right:13px solid transparent;border-top:27px solid #f2bf49;transform:rotate(28deg)}.food-thumb.burger i{background:#cf8b42;border-radius:16px 16px 8px 8px;height:18px;width:30px}.overlay{align-items:center;background:#091c1142;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.overlay.align-right{justify-content:flex-end}.overlay.align-left{justify-content:flex-start}.modal-card,.drawer-panel,.result-sheet{background:var(--surface);border:1px solid rgba(15,61,37,.08);border-radius:8px;box-shadow:var(--shadow);max-height:calc(100vh - 40px);overflow:auto;position:relative}.close-button{align-items:center;background:#f3f7f2;border-radius:50%;color:var(--deep-green);display:flex;height:40px;justify-content:center;position:absolute;right:16px;top:16px;width:40px}.context-modal{max-width:430px;padding:26px 22px 22px;width:min(100%,430px)}.context-modal p{color:var(--text-muted);font-size:14px;line-height:1.48;margin:18px auto;max-width:330px;text-align:center}.context-modal textarea{border:1px solid #e0e5df;border-radius:8px;color:var(--text-dark);min-height:170px;outline:none;padding:16px;resize:vertical;width:100%}.context-modal textarea:focus{border-color:var(--border-green);box-shadow:0 0 0 4px #b8e3b759}.context-modal .example-copy{font-size:12px;text-align:left}.modal-actions{align-items:center;display:flex;gap:14px;justify-content:space-between}.modal-actions span{color:var(--text-muted);font-size:13px}.modal-actions button{margin:0}.drawer-panel{height:100%;max-width:420px;padding:28px 22px;width:min(100%,420px)}.records-drawer h2{margin-top:10px}.record-list{margin-top:6px}.empty-state{color:var(--text-muted);margin-top:28px;text-align:center}.menu-drawer{display:flex;flex-direction:column;gap:10px}.menu-drawer h2{margin:28px 0 16px;text-align:left}.menu-drawer>button:not(.close-button){align-items:center;background:#fbfdfb;border:1px solid #eef3ee;border-radius:8px;color:var(--text-dark);display:flex;justify-content:space-between;min-height:52px;padding:0 15px;text-align:left}.result-overlay{align-items:flex-end}.result-sheet{max-width:480px;padding:28px 22px 22px;width:min(100%,480px)}.decision-badge{align-items:center;background:var(--soft-green);border-radius:999px;color:var(--primary-green);display:inline-flex;font-size:13px;font-weight:850;gap:8px;min-height:36px;padding:0 14px}.result-sheet.portion_control .decision-badge{background:#fff5de;color:#b36808}.result-sheet.avoid_today .decision-badge,.result-sheet.medical_redirect .decision-badge{background:#fbebeb;color:var(--danger)}.result-sheet.need_more_context .decision-badge{background:#eef2f7;color:var(--navy)}.result-sheet h2{color:var(--deep-green);font-size:28px;line-height:1.12;margin:18px 50px 18px 0}.result-block{border-top:1px solid #edf1ed;padding:15px 0}.result-block span{color:var(--text-muted);display:block;font-size:12px;font-weight:850;margin-bottom:6px;text-transform:uppercase}.result-block p{color:#26332b;font-size:15px;line-height:1.48}.amount-block strong{color:var(--deep-green);font-size:24px}.result-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:8px}.result-actions button{border-radius:999px;font-weight:800;min-height:48px}.result-actions button:first-child{background:var(--primary-green);color:#fff}.result-actions button:last-child{background:#f3f7f2;color:var(--deep-green)}@media(max-width:1020px){.app-stage{grid-template-columns:minmax(330px,440px);overflow:auto}.side-preview{display:none}}@media(max-width:520px){.app-stage{min-height:100dvh;padding:0}.phone-shell{border:0;border-radius:0;min-height:100dvh;padding:24px 22px 20px;width:100%}.topbar{min-height:84px}.top-actions{gap:10px}.pill-button{border-radius:16px;min-height:43px;padding:0 13px}.hero-panel h1{font-size:46px}.hero-panel p{font-size:16px}.food-logo{height:124px;margin-bottom:4px;width:124px}.ask-form{gap:22px;margin-top:34px}.food-input-wrap{border-radius:24px;min-height:76px;padding:0 22px}.food-input-wrap input{font-size:18px}.ask-button{font-size:21px;min-height:62px;padding:0 50px 0 24px;width:80%}.ask-button svg{height:27px;right:24px;width:27px}.usage-card{gap:9px;padding:0 18px}.result-actions{grid-template-columns:1fr}}@media(max-width:380px){.hero-panel h1{font-size:42px}}@media(max-width:340px){.hero-panel h1{font-size:38px}}
