/* v0.2: mobile reading, touch targets and navigation. */
:root{--muted:#68775f;--body:#596b50;--line:#dde4d5}
body{overflow:hidden}.phone{background:#fafbf6}.screen{scroll-padding-top:118px;-webkit-overflow-scrolling:touch;overflow-x:hidden}.page{animation:none;padding-bottom:34px}.topbar{padding:22px 0 20px}.brand-sub{font-size:11px;color:#6e7d62}.prototype-badge{color:#6e7a65;font-size:11px}.avatar{width:40px;height:40px}.greeting{font-size:13px;color:#6c7b60;letter-spacing:.8px}.home-title{font-size:28px;line-height:1.45;margin-bottom:16px}.quiet-label{font-size:12px;color:#6f7f63}.stage-pill{min-height:44px;font-size:13px;padding:9px 13px}.search-entry{font-size:14px;color:#6e7b63;min-height:52px;margin-bottom:20px}.searchbox{min-height:52px;margin-bottom:15px}.searchbox input{font-size:16px}.clear-search{width:44px;min-height:44px}.hero{height:226px}.hero-text h2{font-size:26px}.hero-meta,.hero-label{font-size:12px}.hero-arrow{width:44px;height:44px}.image-note{font-size:10px;color:#7c866f}.quick-grid{margin:20px 0 23px}.quick{font-size:13px;min-height:78px}.quick-icon{width:52px;height:52px}.guide-banner p{font-size:13px;color:#617454;line-height:1.8}.guide-banner small{font-size:11px;color:#6d8059}.guide-banner h3{font-size:19px}.section-heading h2{font-size:20px}.section-heading p{font-size:12px;color:#718167}.text-link{font-size:13px;min-height:44px;color:#617753}.recipe-grid{gap:24px 14px}.recipe-title{font-size:16px;line-height:1.55}.recipe-sub{font-size:12px;color:#63755a;gap:5px;line-height:1.6}.recipe-tag{font-size:11px;color:#5f754f;padding:4px 7px}.save-btn{width:44px;height:44px;top:5px;right:5px;background:#fffffff2}.save-btn svg{width:20px;height:20px}.footer-note{font-size:11px;color:#75826c}.bottom-nav{height:calc(76px + env(safe-area-inset-bottom));padding-top:11px;background:#fafcf7f7}.nav-item{font-size:12px;color:#697861;min-height:51px;gap:6px}.nav-item.active{color:#3f6336}.nav-item svg{width:24px;height:24px}.page-header{position:sticky;top:0;z-index:12;padding:10px 0;min-height:64px;background:#fbfcf8f5;backdrop-filter:blur(16px);border-bottom:1px solid #e3e8d8;margin:0 -24px 19px;padding-left:24px;padding-right:24px}.header-title{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.icon-btn.plain:active{background:#edf2e4}.icon-btn.saved svg{fill:#647f4c;stroke:#647f4c}.page-title{font-size:27px;line-height:1.5}.page-subtitle{font-size:14px;color:#66765e;line-height:1.9;margin-bottom:22px}.segmented{gap:22px;justify-content:space-between;margin-bottom:15px}.segmented button{font-size:15px;min-height:44px;padding:7px 1px 12px;color:#6c7b61}.chips{gap:8px;margin-bottom:8px}.chip{min-height:44px;font-size:12px;padding:10px 13px}.result-count{font-size:12px;color:#708165;line-height:1.8;gap:10px}.food-card h3{font-size:17px}.food-card p{font-size:12px;color:#637755;line-height:1.7}.food-card{min-height:162px}.empty p{font-size:14px;color:#687c5a}.primary-btn,.secondary-btn{font-size:15px;min-height:48px}.primary-btn:active{background:#385b32;transform:translateY(1px)}.secondary-btn:active{background:#e7eedb}.subtle-button{font-size:13px;min-height:48px}.detail-photo-trigger{display:block;width:calc(100% + 48px);padding:0;position:relative;margin:0 -24px;overflow:hidden}.detail-photo-trigger .detail-hero{margin:0;height:265px}.photo-zoom-hint{position:absolute;right:14px;bottom:22px;border-radius:20px;background:#ffffffdd;padding:7px 10px;display:flex;align-items:center;gap:5px;font-size:11px;color:#526943}.photo-zoom-hint svg{width:14px;height:14px}.detail-content{padding-top:25px;border-radius:24px 24px 0 0}.detail-title{font-size:29px;line-height:1.4}.detail-desc{font-size:14px;color:#617255;line-height:1.9}.eyebrow{color:#6c8059;font-size:11px}.meta-grid{margin-bottom:16px;padding:17px 0}.meta-grid>div{font-size:13px;color:#567045}.meta-grid span{font-size:11px;color:#728566}.detail-disclaimer{font-size:12px;color:#7a684a;line-height:1.8;margin-bottom:20px;padding:12px 13px}.recipe-jumps{display:flex;gap:7px;position:sticky;top:64px;z-index:8;padding:8px 0 10px;background:#fbfcf8f5;backdrop-filter:blur(16px);border-bottom:1px solid #e2e8d7;margin:0 0 14px}.recipe-jumps button{flex:1;min-height:44px;border-radius:9px;color:#5c754b;background:#edf2e4;font-size:14px}.recipe-jumps button:active{background:#dbe6cc}.section-title{font-size:20px;margin:25px 0 12px;line-height:1.5}.section-title small{font-size:11px;color:#6e7d61;line-height:1.5;max-width:54%;text-align:right}.ingredient-row{font-size:16px;color:#556d48;padding:15px 0;line-height:1.6}.ingredient-row span:last-child{color:#687b59;text-align:right}.step{grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid #edf0e6}.step-number{width:44px;height:44px;border-radius:12px;background:#e8efdc;font-size:14px;color:#5c7946}.step-number.checked{background:#547246;color:white}.step-number.checked svg{width:21px;height:21px}.step.checked h3{color:#718361}.step h3{font-size:17px;margin-bottom:8px;line-height:1.6}.step p{font-size:17px;line-height:1.95;color:#5e7251;overflow-wrap:anywhere}.soft-note{font-size:14px;line-height:1.95;color:#61764f}.detail-actions{margin-top:27px;grid-template-columns:1fr 1.65fr}.guide-intro{padding:23px}.guide-intro h2{font-size:25px}.guide-intro p{font-size:14px;color:#657b52}.guide-item{padding:20px 0;gap:14px;min-height:84px}.guide-item h3{font-size:16px;color:#3c5736;line-height:1.75}.guide-item p{font-size:12px;color:#687b59;line-height:1.7}.guide-index{width:46px;height:46px}.article-hero{padding:10px 0 20px;margin-bottom:18px}.article-hero h1{font-size:28px;line-height:1.6}.article-hero p{font-size:13px;color:#6d7e60}.article-body h2{font-size:21px;margin-top:32px}.article-body p{font-size:18px;line-height:2;color:#526a46}.article-body{overflow-wrap:anywhere}.article-toc{background:#edf2e4;padding:15px 16px;border-radius:12px;margin-bottom:24px}.article-toc h2{font-size:13px;color:#657b53;margin-bottom:8px}.article-toc button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;font-size:14px;color:#4f6a40;min-height:44px;line-height:1.6;padding:8px 0}.article-toc button span{color:#7d9469;font-size:12px}.profile h1{font-size:24px}.profile p{font-size:13px;color:#6f7e65}.member-card p{font-size:13px;color:#61774d;line-height:1.9}.member-card .member-label{font-size:10px;color:#6a7e51}.small-btn{font-size:13px;min-height:44px;padding:9px 14px}.stat span{font-size:12px;color:#6d7f5e}.menu-row{font-size:16px;min-height:64px;padding:19px 0;gap:12px}.menu-row .value{font-size:12px;color:#70815f}.download-head h2{font-size:17px;line-height:1.6}.download-head p{font-size:12px;color:#708262}.download-card>p{font-size:14px;color:#627954}.download-card .secondary-btn{font-size:14px;min-height:46px}.mini-disclaimer,.note-box{font-size:13px;line-height:1.9;color:#6f7e62}.form-label{font-size:14px;color:#647956}.form-hint,.access-text{font-size:14px;color:#6b7d5e}.form-error{font-size:13px;min-height:27px}.access-footnote{font-size:12px;color:#748368}.text-input{font-size:17px;min-height:54px}.week-tabs{gap:6px}.day-tab{font-size:12px;min-height:52px;color:#647b51}.meal-heading{font-size:12px;color:#6f8261}.meal-line h3{font-size:16px;line-height:1.65}.meal-line p{font-size:12px;color:#6d825e}.meal-line .photo{width:74px;height:74px}.sheet{padding-bottom:calc(23px + env(safe-area-inset-bottom));max-height:calc(var(--visual-height,100dvh) - 18px)}.sheet>p{font-size:14px;line-height:1.8;color:#6c7d5e}.sheet-head h2{font-size:22px}.sheet-head .icon-btn{width:44px;height:44px}.stage-option{min-height:82px;padding:16px}.stage-option strong{font-size:17px}.stage-option span{font-size:13px;line-height:1.8;color:#6a8058;margin-top:5px}.feedback-text{font-size:16px;line-height:1.9;min-height:138px;color:#526e42}.feedback-status{font-size:12px;color:#738763;line-height:1.8}.photo-preview{aspect-ratio:1;border-radius:16px;margin-bottom:12px}.toast{font-size:14px;line-height:1.75;max-width:90%;bottom:calc(88px + env(safe-area-inset-bottom));padding:12px 17px;overflow-wrap:anywhere}.keyword-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.keyword-row button{min-height:38px;border:1px solid #dce5cf;border-radius:20px;font-size:12px;padding:7px 12px;color:#67804f;background:#f5f8ee}.result-section{margin:26px 0 17px;display:flex;justify-content:space-between;align-items:center;font-size:17px;font-weight:600}.result-section span{font-size:12px;color:#6d835b;font-weight:400}.reading-resume{display:flex;align-items:center;gap:12px;margin:17px 0 5px;border:1px solid #e2e8d7;background:#f3f6ec;padding:14px;border-radius:12px}.reading-resume>svg{color:#82956d}.reading-resume .grow{flex:1}.reading-resume small{font-size:11px;color:#718663;display:block;margin-bottom:4px}.reading-resume strong{font-size:14px;line-height:1.7;font-weight:500}.recipe-jumps button:focus-visible,.step-number:focus-visible{outline-offset:2px}
@media(max-width:600px){.phone{height:var(--visual-height,100dvh)}.page{padding-left:20px;padding-right:20px}.page-header{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.chips{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.detail-photo-trigger{width:calc(100% + 40px);margin:0 -20px}.detail-content{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.hero{height:218px}.screen{padding-bottom:calc(94px + env(safe-area-inset-bottom))}.keyboard-open .bottom-nav{display:none}.keyboard-open .screen{padding-bottom:24px}.keyboard-open .toast{bottom:18px}}
@media(max-width:350px){.page{padding-left:17px;padding-right:17px}.page-header{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.chips{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.detail-photo-trigger{width:calc(100% + 34px);margin:0 -17px}.detail-content{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.home-title{font-size:25px}.hero{height:202px}.recipe-title{font-size:15px}.recipe-sub{font-size:11px}.segmented{gap:14px}.detail-title{font-size:27px}.detail-actions{grid-template-columns:1fr}.meta-grid>div{font-size:12px}.meta-grid span{font-size:10px}.week-tabs{gap:4px}.day-tab{font-size:11px}.section-title small{max-width:48%}.hero-label{font-size:11px}.image-note{font-size:10px}}
@media(max-height:500px) and (max-width:600px){.bottom-nav{height:60px;padding-top:6px;padding-bottom:5px}.nav-item{min-height:44px}.screen{padding-bottom:73px}.sheet{max-height:calc(var(--visual-height,100dvh) - 8px)}}
#main:focus{outline:none}.keyword-row button{min-height:44px}.week-tabs{display:flex;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.day-tab{flex:1 0 44px;min-width:44px}
.avatar{width:44px;height:44px}
