:root{color:#26231f;background:#fbfaf7;font-family:Inter,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-shell{display:flex;min-height:100vh;flex-direction:column}.site-header,.site-footer,.page-shell{width:min(100% - 32px,1040px);margin:0 auto}.site-header{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}.brand{display:inline-flex;min-width:0;align-items:center;gap:10px;color:#1f2b24;font-weight:800;text-decoration:none}.brand-mark{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:8px;background:#2f6f52;color:#fff}.site-nav{display:flex;align-items:center;gap:8px}.site-nav{flex-wrap:wrap;justify-content:flex-end}.site-nav a{border-radius:8px;color:#4f4942;font-size:.92rem;font-weight:700;text-decoration:none}.site-nav a{padding:10px 12px}.site-nav a:hover,.site-nav a.active{background:#edf4ef;color:#24543e}.page-shell{flex:1;padding:32px 0 56px}.hero{padding:44px 0 40px}.eyebrow{margin:0 0 12px;color:#6e5d48;font-size:.875rem;font-weight:700}h1,h2,p{margin-top:0}h1{max-width:720px;margin-bottom:16px;font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;overflow-wrap:anywhere}h2{margin-bottom:16px;font-size:1.35rem}p,li{line-height:1.8;overflow-wrap:anywhere}.hero p:not(.eyebrow),.content-page>p{max-width:640px;margin-bottom:28px;color:#4f4942}.primary-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border-radius:8px;background:#356b4f;color:#fff;font-weight:700;padding:0 18px;text-decoration:none}.primary-link:hover{background:#24543e}.section-band{border-top:1px solid #ded7ce;padding:32px 0 0}.section-heading{max-width:680px;margin-bottom:20px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none}.feature-grid li,.form-section,.form-guidance,.selection-summary,.recipe-match-list>ol>li{border:1px solid #ded7ce;border-radius:8px;background:#fff}.feature-grid li{display:grid;gap:6px;padding:16px}.feature-grid span{color:#5f564e}.content-page{padding:28px 0 0}.check-list{display:grid;gap:10px;margin:0;padding-left:1.25rem}.planner-form{display:grid;max-width:820px;gap:16px}.form-guidance{display:grid;gap:6px;padding:16px}.form-guidance strong{color:#26231f}.form-guidance span{color:#5f564e;line-height:1.7}.form-section{display:grid;gap:12px;min-width:0;margin:0;padding:18px}.form-section legend{padding:0 6px;color:#26231f;font-size:1.05rem;font-weight:800}.form-section.has-error{border-color:#c62828;background:#fff7f7}.form-section.has-error:focus{outline:3px solid #f0b8b8;outline-offset:2px}.form-section p{margin:0;color:#5f564e;font-size:.92rem}.choice-grid,.segmented-control{display:flex;flex-wrap:wrap;gap:10px}.choice-pill{display:inline-flex;min-height:44px;min-width:88px;align-items:center;justify-content:center;border:1px solid #d4cabf;border-radius:8px;background:#fbfaf7;color:#3f3933;font-weight:700;overflow:hidden}.choice-pill:has(input:checked){border-color:#356b4f;background:#edf4ef;color:#24543e}.choice-pill input{position:absolute;width:1px;height:1px;opacity:0}.choice-pill span{padding:10px 14px;text-align:center;overflow-wrap:anywhere}.choice-pill:focus-within{outline:3px solid #b9d5c3;outline-offset:2px}.form-section .form-error{border-left:4px solid #c62828;border-radius:6px;background:#ffe8e8;color:#9f1d1d;font-weight:700;padding:8px 10px}.form-actions{display:flex;align-items:center;gap:12px;justify-content:flex-start;min-width:0}.primary-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:0;border-radius:8px;background:#356b4f;color:#fff;font-weight:800;padding:0 22px}.primary-button:hover{background:#24543e}.form-success{margin:0;color:#24543e;font-weight:700}.selection-summary{max-width:820px;margin-top:20px;padding:18px}.selection-summary h2{margin-bottom:12px}.selection-summary dl{display:grid;gap:10px;margin:0}.selection-summary div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px}.selection-summary dt{color:#5f564e;font-weight:800}.selection-summary dd{min-width:0;margin:0;overflow-wrap:anywhere}.recipe-match-list{max-width:820px;margin-top:24px}.recipe-match-heading{margin-bottom:12px}.recipe-match-list>ol{display:grid;gap:12px;margin:0;padding:0;list-style:none}.recipe-match-list>ol>li{padding:18px}.recipe-match-card{display:grid;gap:16px}.recipe-match-list h3,.recipe-match-list p,.recipe-match-list dl{margin:0}.recipe-match-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.recipe-match-title-row h3{font-size:1.05rem;line-height:1.5;overflow-wrap:anywhere}.recipe-match-list .recipe-rank{color:#6e5d48;font-size:.82rem;font-weight:800}.recipe-detail-grid,.recipe-note-grid{display:grid;gap:10px}.recipe-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-note-grid{grid-template-columns:1fr}.recipe-detail{display:grid;gap:4px;min-width:0;border-top:1px solid #eee8df;padding-top:10px}.recipe-detail dt,.recipe-steps h4{color:#3f3933;font-size:.88rem;font-weight:800}.recipe-detail dd{min-width:0;margin:0;overflow-wrap:anywhere}.recipe-steps{display:grid;gap:8px}.recipe-steps h4{margin:0}.recipe-steps ol{display:grid;gap:6px;margin:0;padding-left:1.4rem}.recipe-match-list p,.recipe-detail dd,.recipe-steps li{color:#5f564e;font-size:.92rem}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #ded7ce;padding:20px 0 28px;color:#5f564e}.site-footer p{min-width:0;margin:0}@media(max-width:720px){.site-header,.site-footer{align-items:stretch;flex-direction:column}.site-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.site-nav a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;text-align:center}.page-shell{padding-top:20px}.hero{padding-top:28px}h1{font-size:2rem}.form-section,.form-guidance,.selection-summary,.recipe-match-list>ol>li{padding:16px}.choice-grid,.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.choice-pill,.primary-button{width:100%}.form-actions{align-items:stretch;flex-direction:column;width:100%}.selection-summary div{grid-template-columns:1fr;gap:2px}.recipe-detail-grid{grid-template-columns:1fr}}@media(max-width:420px){.site-header,.site-footer,.page-shell{width:min(100% - 24px,1040px)}.site-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{min-height:0;gap:12px;padding:12px 0}.brand{font-size:.98rem}.brand-mark{width:32px;height:32px}.page-shell{padding-top:16px;padding-bottom:40px}.hero{padding:22px 0 32px}h1{font-size:1.75rem;line-height:1.18}h2{font-size:1.18rem;line-height:1.45}.choice-grid,.segmented-control{grid-template-columns:1fr}.choice-pill{min-height:48px}.recipe-match-title-row{flex-direction:column;gap:8px}.recipe-match-list>ol>li,.form-section,.form-guidance,.selection-summary{padding:14px}.site-footer{padding-bottom:22px}}
