:root{color:#243229;font-synthesis:none;background:#f5f3ed;font-family:Inter,Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit;cursor:pointer}.app-shell{background:#faf9f5;max-width:680px;min-height:100vh;margin:auto;padding-bottom:92px;box-shadow:0 0 40px #25382a10}header{padding:calc(18px + env(safe-area-inset-top)) 20px 14px;border-bottom:1px solid #e5e3dc;justify-content:space-between;align-items:center;display:flex}header small,.page-heading p,.date-heading p{color:#6b7d70;letter-spacing:.12em;margin:0 0 2px;font-size:11px}h1{margin:0;font-family:Georgia,Yu Mincho,serif;font-size:21px;font-weight:600}h2{margin:2px 0 0;font-size:26px}h3{margin:0;font-size:16px}p{margin:0}.local-badge{color:#4c6755;background:#e8eee7;border-radius:99px;padding:6px 10px;font-size:11px}main{padding:18px 16px 28px}.date-heading,.page-heading{justify-content:space-between;align-items:center;margin:2px 2px 16px;display:flex}.date-heading>div:first-child,.page-heading>div:first-child{align-items:baseline;gap:10px;display:flex}.date-heading>div:first-child p,.page-heading>div:first-child p{margin:0}.leaf{color:#0000;background:#dfe9d6;border-radius:50% 4px 50% 50%;width:42px;height:42px;transform:rotate(-15deg)}.card{background:#fff;border:1px solid #e5e3dc;border-radius:16px;box-shadow:0 3px 12px #26392b08}.summary-card{color:#fff;background:#3f684e;border-radius:20px;margin-bottom:12px;padding:18px}.today-result{margin-top:20px;margin-bottom:0}.summary-title{justify-content:space-between;align-items:baseline;margin-bottom:17px;display:flex}.summary-title span{font-weight:700}.summary-title small{opacity:.68}.nutrition{text-align:center;grid-template-columns:1.5fr repeat(3,1fr);display:grid}.nutrition div+div{border-left:1px solid #ffffff30}.nutrition strong{font-size:24px;display:block}.nutrition span{opacity:.72;font-size:11px}.nutrition.compact{color:#45604d;background:#f4f7f3;border-radius:11px;padding:10px 0}.nutrition.compact strong{margin-right:3px;font-size:15px;display:inline}.nutrition.compact div+div{border-color:#d8e2d8}.weight-card{align-items:center;gap:10px;margin-bottom:22px;padding:14px 14px 14px 17px;display:flex}.weight-card>div{margin-right:auto}.weight-card p{color:#7c857f;margin-top:3px;font-size:11px}.weight-card label{border-bottom:1px solid #9ba69e;align-items:baseline;display:flex}.weight-card input{text-align:right;background:0 0;border:0;outline:0;width:67px;padding:6px 2px;font-size:19px;font-weight:700}.weight-card label span{font-size:12px}button{background:#fff;border:1px solid #d9ddd8;border-radius:10px;padding:10px 13px;font-weight:650}button.primary{color:#fff;background:#3f684e;border-color:#3f684e}button:disabled{opacity:.45}.small-button{padding:7px 11px}.section-title{justify-content:space-between;align-items:center;margin:0 2px 10px;display:flex}.section-title span{color:#718077;font-size:12px}.meal-card{margin-bottom:10px;padding:15px}.meal-card.completed{border-left:4px solid #6c9577}.meal-card.skipped{opacity:.72}.meal-top{align-items:center;gap:11px;display:flex}.meal-icon{color:#8d6d2f;background:#f1e9d3;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.grow{flex:1;min-width:0}.meal-top p{color:#717b75;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12px;overflow:hidden}.status{color:#4a7357;background:#e9f2e9;border-radius:99px;padding:4px 8px;font-size:11px}.meal-card .nutrition{margin-top:12px}.meal-actions{gap:7px;margin-top:12px;display:flex}.meal-actions button{flex:1;padding:9px 7px;font-size:12px}.meal-actions .text-button,.meal-actions .danger-text{background:0 0;border:0;flex:none}.danger-text{color:#a54942}nav{z-index:20;width:100%;max-width:680px;padding:7px 10px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffefdeb;border-top:1px solid #deded8;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}nav button{color:#879087;background:0 0;border:0;padding:4px;font-size:11px}nav button span{height:24px;font-size:20px;display:block}nav button.active{color:#3f684e}.toast{z-index:50;color:#fff;white-space:nowrap;background:#243229;border-radius:99px;padding:11px 18px;font-size:13px;position:fixed;bottom:85px;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #0003}.modal-backdrop{z-index:40;background:#17241bb0;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:680px;max-height:88vh;padding:22px 17px calc(20px + env(safe-area-inset-bottom));background:#faf9f5;border-radius:24px 24px 0 0;overflow:auto}.muted,.hint{color:#727e75;margin:5px 0 16px;font-size:12px}.item-list{gap:8px;display:grid}.item-row{grid-template-columns:minmax(120px,1fr) 72px 30px 38px;align-items:center;gap:5px;display:grid}input,select{background:#fff;border:1px solid #d6d8d2;border-radius:9px;width:100%;padding:10px}.icon-button{color:#a54942;padding:8px}.add-button{background:0 0;border-style:dashed;width:100%;margin-top:10px}.modal-actions{grid-template-columns:1fr 1.5fr;gap:9px;margin-top:20px;display:grid}.group-heading{color:#65726a;margin:20px 2px 9px;font-size:13px}.food-list{gap:8px;display:grid}.food-row{align-items:center;gap:8px;padding:10px;display:flex}.food-main{text-align:left;border:0;flex:1;align-items:center;gap:9px;min-width:0;padding:0;display:flex}.food-main span:nth-child(2){min-width:0}.food-main strong,.food-main small{display:block}.food-main small{color:#778078;margin-top:3px;font-size:11px}.food-mark{color:#57715d;background:#edf1e9;border-radius:11px;flex:0 0 38px;place-items:center;height:38px;display:grid}.stock{text-align:right;min-width:48px}.stock strong,.stock small{display:block}.stock small{color:#7b847e;font-size:10px}.stock.low{color:#b34f45}.stock-add{padding:7px 10px;font-size:18px}.chip-list{flex-wrap:wrap;gap:7px;display:flex}.chip{border-radius:99px;padding:8px 12px}.chip span{color:#7f8a82;margin-left:7px;font-size:10px}.templates-title{margin-top:28px}.template-row{text-align:left;grid-template-columns:55px 1fr 15px;align-items:center;width:100%;margin-bottom:7px;display:grid}.template-row small{color:#6f7b73;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.apply-defaults{color:#4d6755;background:#f7f7f1;border-style:dashed;width:100%;margin:2px 0 26px}.weekly-planner{margin-top:8px}.weekly-planner .section-title>div{align-items:baseline;gap:8px;display:flex}.weekly-planner .section-title>div small{color:#748077;margin-top:0;display:inline}.weekly-planner .section-title button{padding:8px 10px;font-size:12px}.weekly-planner>select{margin-bottom:10px}.plan-days{gap:8px;display:grid}.plan-day{padding:12px}.plan-day>strong{color:#52645a;margin-bottom:8px;font-size:13px;display:block}.plan-day>div{gap:5px;display:grid}.plan-day button{text-align:left;background:#f4f5f0;border:0;grid-template-columns:45px 1fr;padding:7px 8px;display:grid}.plan-day button b{font-size:11px}.plan-day button span{color:#6d786f;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.shopping{background:#e9eee7;border-radius:16px;margin-top:16px;padding:15px}.shopping>p{color:#6b786e;margin:4px 0 11px;font-size:11px}.shopping>div{border-top:1px solid #d2dbd1;padding:12px 0}.shopping span,.shopping small{display:block}.shopping small{color:#728076;margin-top:3px;font-size:10px}.shopping>div>strong{color:#3f684e;white-space:nowrap;font-size:13px}.shopping-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.shopping-head>strong{color:#3f684e;white-space:nowrap;font-size:12px}.shopping-head .confirmed{color:#fff;background:#6d8b74;border-radius:99px;padding:4px 7px;font-size:10px}.purchase-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.purchase-grid label{color:#657269;font-size:10px;position:relative}.purchase-grid input{color:#26352b;margin-top:3px;padding-right:45px}.purchase-grid label>span:not(.calculated){color:#69756c;position:absolute;bottom:11px;right:9px}.purchase-grid .calculated{color:#26352b;background:#f8faf6;border:1px solid #d6d8d2;border-radius:9px;height:40px;margin-top:3px;padding:10px;font-size:13px}.shopping .tomato-note{color:#8a6b34;margin-top:8px;font-size:10px}.confirm-purchase{color:#3f684e;background:#fff;width:100%;margin-top:9px}.confirm-purchase:disabled{color:#6f7b73}.compact-shopping{background:#f8faf6;border-radius:12px;margin:8px -5px 0;border:1px solid #d8dfd6!important;padding:11px!important}.purchase-check{cursor:pointer;align-items:center;gap:9px;display:flex}.purchase-check input{accent-color:#3f684e;width:20px;height:20px;margin:0}.purchase-check{flex:1;min-width:0}.purchase-summary{flex:1;grid-template-columns:minmax(70px,.65fr) minmax(150px,1.35fr);align-items:center;gap:10px;min-width:0;display:grid!important}.purchase-summary>b{font-size:13px}.purchase-notes{min-width:0}.purchase-notes small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.compact-purchase-grid{grid-template-columns:1fr 1fr 1.25fr;gap:7px;margin-top:9px;display:grid}.compact-purchase-grid label,.tomato-actual{color:#657269;font-size:9px;position:relative}.compact-purchase-grid input,.tomato-actual input{color:#26352b;margin-top:3px;padding:9px 30px 9px 8px}.compact-purchase-grid label>span:not(.calculated),.tomato-actual>span{position:absolute;bottom:10px;right:7px}.compact-purchase-grid .calculated{color:#26352b;background:#fff;border:1px solid #d6d8d2;border-radius:9px;height:39px;margin-top:3px;padding:10px 7px;font-size:12px;display:block}.tomato-actual{width:50%;margin-top:7px;display:block}.price-total{text-align:right;color:#657269;margin-top:6px;font-size:10px}.shopping-total{justify-content:space-between;font-size:13px;display:flex;padding:13px 2px 4px!important}.bulk-purchase{width:100%;margin-top:8px}.plan-subheading{justify-content:space-between;align-items:baseline;margin:24px 2px 9px;display:flex}.plan-subheading small{color:#748077}@media (width<=420px){.compact-purchase-grid{grid-template-columns:1fr 1fr}.compact-purchase-grid label:last-child{grid-column:1/-1}.purchase-summary{grid-template-columns:minmax(62px,.55fr) minmax(130px,1.45fr);gap:6px}.purchase-notes small{font-size:9px}}.form-grid{grid-template-columns:1fr 1fr;gap:11px;margin-top:15px;display:grid}.form-grid label{color:#66736a;font-size:11px}.form-grid input{color:#243229;margin-top:4px}.form-grid .wide{grid-column:1/-1}.switch-row{align-items:center;gap:8px;padding:8px 0;display:flex;font-size:14px!important}.switch-row input{width:20px;margin:0}.backup{background:#ecece5;border-radius:15px;margin:30px 0 4px;padding:18px}.backup p{color:#6d756f;margin:5px 0 12px;font-size:12px}.backup>div{gap:7px;display:flex}.backup button{flex:1;font-size:12px}.backup .test-data-button{color:#4d6755;background:#f7f7f1;border-style:dashed;width:100%;margin-top:8px}.backup .reset-data-button{color:#a54942;background:#fff8f7;border-color:#d7aaa5;width:100%;margin-top:8px}.chart-card{padding:17px}.chart-card svg{width:100%;height:150px}.chart-card line{stroke:#d8ded8}.chart-card polyline{fill:none;stroke:#4b7858;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.chart-card circle{fill:#e0ad4c;stroke:#fff;stroke-width:3px}.chart-summary{border-top:1px solid #e6e8e4;justify-content:space-around;padding-top:10px;font-size:12px;display:flex}.chart-summary strong{margin-left:5px}.empty{text-align:center;color:#7a847d;padding:28px 8px;font-size:12px}.history-row{margin-bottom:8px;overflow:hidden}.history-row>button{text-align:left;border:0;justify-content:space-between;align-items:center;width:100%;padding:14px;display:flex}.history-row button div>*{display:block}.history-row button small{color:#748077;margin-top:4px}.history-row button div:last-child{text-align:right}.history-row button span{color:#748077;margin-top:4px}.history-detail{border-top:1px solid #e3e5e0;padding:12px}.history-detail>div:not(.nutrition){grid-template-columns:55px 1fr;margin-top:10px;font-size:12px;display:grid}.history-detail>div span{color:#67736b}.loading{color:#66766b;place-items:center;min-height:100vh;display:grid}@media (width>=700px){body{padding:20px 0}.app-shell{border-radius:24px;min-height:calc(100vh - 40px);overflow:hidden}nav{border-radius:0 0 24px 24px;bottom:20px}.modal-backdrop{align-items:center}.modal{border-radius:24px;max-height:85vh}}
