:root{font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;color:#19362f;background:#f6f8f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.shell{min-height:100vh}.top{height:80px;background:#fff;border-bottom:1px solid #e2e9e2;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1100px)/2))}.brand{display:flex;gap:12px;align-items:center}.brand-mark{display:grid;place-items:center;background:#187b62;color:#fff;border-radius:14px;width:42px;height:42px;font-size:26px}.brand strong{display:block;font-size:17px}.brand small{display:block;color:#70877b;font-size:11px;margin-top:3px}.content,.login{max-width:1100px;margin:auto;padding:54px 24px 120px}.login{max-width:580px;padding-top:72px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.17em;color:#187b62}h1{font-size:clamp(30px,5vw,48px);line-height:1.3;letter-spacing:-.04em;margin:12px 0}h1 em{font-style:normal;color:#187b62}.lead,.login>p{color:#698077}.card{background:#fff;border:1px solid #e0e9e0;border-radius:20px;padding:26px;box-shadow:0 8px 30px #1b563808}.card h2{font-size:19px;margin:8px 0 12px}.card p{color:#6b7d73;line-height:1.7}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.card-icon{font-size:26px}.login-card{margin-top:42px}.login-card label{display:block;font-size:13px;font-weight:700;margin-top:20px}.login-card input{display:block;width:100%;height:48px;margin-top:8px;border:1px solid #cbd9cf;border-radius:10px;padding:0 14px;font:inherit}.primary{height:48px;border:0;border-radius:10px;background:#187b62;color:#fff;font-weight:700;font-size:15px;width:100%;margin-top:26px;cursor:pointer}.primary:disabled{opacity:.55}.note{font-size:12px}.error{color:#b32828!important}.text-button{border:0;background:none;color:#187b62;cursor:pointer}.bottom{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e1e8df;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));justify-content:center;gap:2px;padding:8px 8px max(8px,env(safe-area-inset-bottom))}.bottom button{min-width:0;width:auto;border:0;background:none;color:#758a7d;font-size:11px;cursor:pointer;padding:6px 0}.bottom button span{display:block;font-size:22px;margin-bottom:3px}.bottom button.active{color:#187b62;font-weight:800}.muted{font-size:13px}li{margin:10px 0}li span{color:#82928a}@media(max-width:700px){.top{height:68px;padding:0 18px}.brand strong{font-size:14px}.content,.login{padding:36px 18px 110px}.status-grid{grid-template-columns:1fr}.bottom{gap:0;justify-content:space-around}.bottom button{width:auto;flex:1;font-size:10px}.bottom button span{font-size:20px}}.section-card{margin-top:24px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.inline{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline>label{flex:1;min-width:120px}.inline.tight{align-items:center;margin-top:8px}.inline.tight input{max-width:155px}.card form{margin-top:18px}.card form label{display:block;margin:12px 0;font-weight:700;font-size:13px}.card input,.card select,.card textarea,.section-head select{width:100%;padding:10px 12px;border:1px solid #cbd9cf;border-radius:9px;background:#fff;color:#19362f;font:inherit;min-height:42px;margin-top:6px}.card textarea{min-height:100px;resize:vertical}.compact{width:auto;padding:0 22px;margin:0}.link-button{border:0;background:none;color:#187b62;font-weight:700;cursor:pointer;padding:4px 0}.small-button{border:1px solid #bdd5c8;border-radius:8px;color:#187b62;background:#fff;font-weight:700;cursor:pointer;padding:8px 11px;margin:5px 5px 0 0}.small-button:disabled{opacity:.5}.small-button.accent{background:#187b62;color:#fff}.notice{background:#ecf6ed;color:#205d43;border:1px solid #c1dfca;padding:12px 16px;border-radius:10px;display:flex;justify-content:space-between;gap:12px}.notice button{background:none;border:0;font-size:18px;cursor:pointer}.warning{color:#a85d00!important;background:#fff6e7;padding:8px 12px;border-radius:8px}.slot-list{margin-top:20px}.slot{display:grid;grid-template-columns:128px 1fr;border-top:1px solid #e0e9e0;padding:15px 0;gap:15px}.slot-date{color:#6b8176;font-size:12px}.slot-date b{display:block;color:#187b62;font-size:15px;margin-top:4px}.slot-main strong,.slot-main small{display:block}.slot-main small{color:#71867a;margin-top:5px}.options{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.option{border:1px solid #bfd5c6;border-radius:8px;background:#f7fbf8;padding:8px 10px;cursor:pointer}.shopping-row,.list-row{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #e5ece5}.shopping-row>div:first-child{min-width:150px}.shopping-row small,.list-row span,.list-row small,.recipe-card small{display:block;color:#75897d;font-size:12px;margin-top:4px}.shopping-row input{width:140px}.shopping-row b{color:#187b62}.list-row{display:block}.pill{background:#e9f5ee;color:#237555;border-radius:20px;padding:3px 8px;font-size:11px;font-weight:700}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.recipe-card{border:1px solid #dfebdf;border-radius:12px;padding:12px}.check-row{display:flex!important;align-items:center;gap:10px;font-weight:400!important}.check-row input{width:auto;min-height:auto;margin:0}.done{color:#18805c;font-weight:700}.loading{padding:40px;text-align:center}@media(max-width:700px){.two-col,.recipe-grid{grid-template-columns:1fr}.section-head{display:block}.section-head select{margin-top:8px}.slot{grid-template-columns:90px 1fr}.shopping-row{display:block}.shopping-row>div+div{margin-top:8px}.card{padding:20px}.inline.tight input{max-width:120px}}.rule-grid{max-height:18rem;overflow:auto;border:1px solid #dbe8de;border-radius:12px;padding:.5rem}.rule-grid .list-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.rule-grid .inline label{display:flex;align-items:center;gap:.3rem;margin:0;white-space:nowrap}.introduced-foods{margin:18px 0;padding:14px;border:1px solid #dbe8de;border-radius:12px}.introduced-foods legend{padding:0 6px;font-weight:700}.introduced-food-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px;max-height:220px;overflow:auto;padding:8px;border:1px solid #dbe8de;border-radius:10px}.introduced-food-option{display:flex;align-items:center;gap:8px;margin:0!important;padding:6px;border-radius:6px;font-weight:500!important}.introduced-food-option input{width:20px;min-height:20px;accent-color:#187b62}.introduced-foods>label{margin:8px 0 12px!important}.onboarding-wrap{max-width:780px;margin:0 auto;padding:8px 0 50px}.onboarding-card{background:#fff;border:1px solid #dfe9df;border-radius:22px;padding:clamp(20px,5vw,42px);box-shadow:0 12px 36px #1b56380c}.onboarding-card h1{font-size:clamp(28px,6vw,42px);margin:10px 0}.onboarding-card h1 em{font-style:normal;color:#187b62}.onboarding-card>.lead{max-width:620px}.setup-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}.setup-step{min-height:68px;display:flex;align-items:center;gap:10px;padding:12px;border-bottom:3px solid #dce8de;color:#72867c}.setup-step span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#edf2ed;font-size:13px;font-weight:800}.setup-step b{font-size:13px}.setup-step.active{border-color:#187b62;color:#187b62}.setup-step.active span{background:#187b62;color:#fff}.setup-section{border-top:1px solid #e3ebe3;padding-top:20px;margin-top:10px}.setup-section h2{font-size:21px;margin:0 0 8px}.setup-person-list{display:grid;gap:12px;margin:18px 0}.setup-person{padding:14px;border:1px solid #e0e9e0;border-radius:12px;background:#fbfcfa}.setup-person .inline{align-items:flex-end}.setup-person .text-button{margin-top:8px}.setup-member-list{margin:14px 0}.setup-food-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:8px;max-height:290px;overflow:auto;margin:12px 0;padding:8px;border:1px solid #dbe8de;border-radius:12px}.setup-food{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px;border-radius:8px;background:#f8faf7;font-size:13px}.setup-food label{display:flex;align-items:center;gap:4px;margin:0!important;white-space:nowrap;font-size:12px}.setup-food input{width:18px;min-height:18px;margin:0;accent-color:#187b62}.setup-finish{margin-top:18px;padding:18px;border-radius:12px;background:#f0f6ef}.setup-finish span{display:block;color:#587467}.setup-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.setup-bottom .text-button{padding:12px}.onboarding-card .warning{padding:12px;background:#fff8e9;border-radius:9px;color:#805800}@media(max-width:600px){.setup-progress{gap:4px}.setup-step{display:grid;justify-items:center;gap:4px;padding:7px 2px}.setup-step b{font-size:10px;text-align:center}.setup-food-grid{grid-template-columns:1fr}.setup-food{grid-template-columns:1fr auto auto}.onboarding-wrap{padding:0 0 24px}}.shopping-check{display:flex;align-items:center;gap:5px;min-width:64px;font-size:12px;color:#256b50;cursor:pointer}.shopping-check input{width:20px;min-height:20px;margin:0;accent-color:#187b62}.check-conflict{max-width:350px;margin:8px 0;padding:10px;border:1px solid #efcc7d;background:#fff8e8;border-radius:8px}.check-conflict small{color:#805600!important}.child-day{border-top:1px solid #e6ede7;padding:16px 0}.child-day h2{font-size:17px}.child-meals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.child-meal{background:#f7faf6;border:1px solid #e0e9e0;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}.child-meal select,.child-meal input{width:100%}.child-meal p{font-size:13px;margin:0}@media(max-width:640px){.child-meals{grid-template-columns:1fr}}.recipe-guide-list{display:flex;flex-wrap:wrap;gap:8px}.recipe-detail{margin:18px 0}.photo-empty{min-height:180px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px dashed #a8c1b2;border-radius:16px;background:#f7faf6;text-align:center;color:#587467}.photo-empty span{font-size:40px}.photo-empty small{max-width:34em}.photo-upload{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.photo-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.recipe-cover figure,.step-photo{margin:12px 0}.recipe-cover img{max-width:100%;max-height:420px;object-fit:cover;border-radius:16px}.step-photo img{max-width:100%;max-height:320px;object-fit:cover;border-radius:12px}.recipe-cover figcaption,.step-photo figcaption{font-size:12px;color:#698077}.recipe-steps{padding-left:26px}.recipe-steps li{padding:8px 0 14px 8px}.recipe-steps li::marker{color:#187b62;font-weight:800}.recipe-steps li>div{display:grid;gap:8px}.recipe-detail .section-head{align-items:flex-start}@media(max-width:640px){.recipe-cover img,.step-photo img{width:100%;max-height:320px;object-fit:cover}}.recipe-title-button{display:flex;align-items:center;gap:10px;width:100%;padding:0;border:0;background:transparent;color:var(--ink,#183b32);font:inherit;font-weight:750;text-align:left;cursor:pointer}.recipe-title-button span:last-child{margin-left:auto;color:#187a63;font-size:1.4em}.recipe-title-text{flex:1}.recipe-thumb{flex:0 0 54px;width:54px;height:54px;object-fit:cover;border-radius:10px;background:#edf4ee}.recipe-title-button:focus-visible{outline:3px solid #187a63;outline-offset:3px;border-radius:4px}.recipe-thumb-empty{display:grid;place-items:center;font-size:25px;color:#688579}.recipe-detail-overlay{position:fixed;z-index:1000;inset:0;background:#10251fc9;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:clamp(12px,4vw,32px)}.recipe-detail-panel{width:min(100%,760px);margin:auto}.recipe-detail-panel>.recipe-detail{margin:0;box-shadow:0 20px 70px #061b1590;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}.recipe-detail .section-head{position:sticky;top:-20px;z-index:2;background:#fff;padding:6px 0 10px}.recipe-detail .section-head button{flex:none}@media(max-width:640px){.recipe-detail-overlay{padding:8px;align-items:flex-start}.recipe-detail-panel>.recipe-detail{max-height:calc(100dvh - 16px);border-radius:16px;padding:18px}.recipe-detail .section-head{top:-18px}.recipe-detail-panel{margin:0 auto}}.recipe-ingredients{margin:22px 0;padding:16px 18px;border:1px solid #dce8dd;border-radius:14px;background:#f8fbf7}.recipe-ingredients h3{margin:0 0 10px}.recipe-ingredients ul{list-style:none;padding:0;margin:0}.recipe-ingredients li{display:flex;justify-content:space-between;gap:16px;padding:8px 2px;border-bottom:1px solid #e5ece5}.recipe-ingredients li:last-child{border-bottom:0}.recipe-ingredients li strong{white-space:nowrap;color:#226d50}.recipe-nutrition{padding:10px 14px;background:#eff6ef;border-radius:10px;font-size:13px;color:#496d5a}.recipe-steps li>div>strong{line-height:1.8}.card form textarea{min-height:150px;line-height:1.8}.recipe-card{display:grid;gap:8px}.menu-components{display:grid;gap:.35rem;margin:.5rem 0;padding:.55rem .7rem;border-radius:12px;background:#f3f8f5}.menu-component{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.menu-component>span{font-size:.75rem;font-weight:700;color:#267d68;min-width:3rem}.menu-component .text-button{margin:0;padding:.15rem 0;text-align:left}.menu-component small{color:#71827c}.recipe-component-button{display:flex;align-items:center;gap:.5rem;min-height:42px}.recipe-component-button .recipe-thumb{flex-basis:38px;width:38px;height:38px;border-radius:8px}.recipe-component-button .recipe-thumb-empty{font-size:18px}.event-toggle{display:flex;align-items:center;gap:8px;flex:0 0 auto!important;min-height:42px;color:#315c4d;font-size:13px;font-weight:700}.event-toggle input{width:18px!important;min-height:18px;margin:0!important;accent-color:#187b62}.price-source-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.price-source-legend span{display:inline-flex;gap:5px;align-items:center;padding:7px 10px;border:1px solid #dce8de;border-radius:999px;background:#f8fbf8;color:#64796e;font-size:12px}.price-source-legend strong{color:#187b62}.price-scope,.price-roadmap{margin-top:16px;padding:14px 16px;border-left:4px solid #187b62;border-radius:8px;background:#f0f6f0}.price-scope p,.price-roadmap p{margin:6px 0 0;font-size:13px}.grain-priority{padding:0;border-radius:20px;overflow:hidden;background:#f1f7f2;border:1px solid #d9e8dc}.grain-priority-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:22px 24px 12px}.grain-priority-heading h2{font-size:23px;margin:8px 0 0}.grain-priority-heading p{max-width:390px;margin:0;font-size:13px}.grain-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:8px 18px 18px}.grain-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;padding:19px;border:1px solid #e1e9e2;border-radius:16px;background:#fff}.grain-tag{font-size:12px;font-weight:800;color:#26715e}.grain-value{font-size:31px;line-height:1.2;letter-spacing:-.04em;color:#183c31}.grain-value span{font-size:14px;letter-spacing:0;margin-left:5px}.grain-value.unavailable{font-size:19px;letter-spacing:0;margin:8px 0}.grain-delta{font-size:13px;font-weight:750;color:#287a5e}.grain-delta.up{color:#a85d00}.grain-card small{color:#6e8176;font-size:12px}.grain-card a{color:#187b62;font-size:13px;font-weight:750;text-decoration:none;margin-top:2px}.grain-card a:hover{text-decoration:underline}.grain-card p{font-size:12px;line-height:1.6;margin:3px 0 0}.grain-inline-note{font-size:12px;color:#536b5d;padding:6px 9px;background:#f2f6f2;border-radius:8px}.grain-disclaimer{margin:0;padding:14px 22px 18px;border-top:1px solid #d9e8dc;background:#e8f1e9;color:#5c7366;font-size:12px;line-height:1.7}.forecast-card{padding:16px 0;border-bottom:1px solid #e4eae5;display:grid;gap:10px}.forecast-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.forecast-points>div{padding:12px;border-radius:10px;background:#f4f8f4;display:grid;gap:5px}.forecast-points small,.forecast-points span{font-size:12px;color:#687a70}.forecast-points b{font-size:18px;color:#14765f}@media(max-width:520px){.forecast-points{grid-template-columns:1fr}}@media(max-width:700px){.grain-priority-heading{display:block;padding:19px 18px 8px}.grain-priority-heading p{margin-top:9px}.grain-card-grid{grid-template-columns:1fr;padding:8px 12px 14px}.grain-value{font-size:28px}.grain-disclaimer{padding:12px 16px 15px}}.recipe-attribution{margin-top:1rem;padding:1rem;border:1px solid #d4e5db;border-radius:12px;background:#f6faf7}.recipe-attribution h3{margin-top:0}.recipe-attribution p{margin:.45rem 0}.recipe-attribution a{color:#176f56;text-decoration:underline}
