/* Clearer contrast, thumb-friendly entry points, and ingredient-first discovery. */
:root{--paper:#ffffff;--ink:#172c25;--muted:#596960;--green:#176044;--green-soft:#edf6f0;--orange:#bc421f;--orange-soft:#fff0e8;--line:#dfe7e1}
body{background:#e9eeeb}button,a,input,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #297c5e;outline-offset:4px}input,textarea{font-size:16px!important}input::placeholder,textarea::placeholder{color:#68776e;opacity:1}
.page-header{padding-top:20px;padding-bottom:18px}.page{padding-left:22px;padding-right:22px}.brand{font-size:21px}.brand-mark{color:var(--green)}.avatar{background:var(--green-soft);color:var(--green)}
.greeting{margin:5px 0 21px}.greeting h1{font-size:29px;letter-spacing:-1.2px;line-height:1.35}.greeting h1 strong{color:var(--green)}.greeting p{font-size:15px;color:var(--muted);margin-top:9px}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 22px}.home-action{min-height:141px;padding:18px 16px;border-radius:20px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;background:var(--green);color:#fff}.home-action.video-action{background:#fff0e8;color:#773319;border:1px solid #f6d9ca}.home-action>svg{width:27px;height:27px;margin-bottom:5px}.home-action strong{font-size:17px}.home-action span{font-size:13px;color:#dcefe4;line-height:1.5}.home-action.video-action span{color:#885039}.search{height:51px;border:1px solid var(--line);background:#f7f9f7}.search input{font-size:15px}.chip-row{margin-top:18px;margin-bottom:22px}.chip{font-size:14px;min-height:44px}.chip.active{background:var(--green);border-color:var(--green)}.feature{aspect-ratio:1.52;border-radius:21px}.feature-open{padding:21px}.feature-open h3{font-size:23px}.feature-label{font-size:12px}.feature-tag{font-size:12px;color:#17412d}.recipe-category,.recipe-card .metadata{font-size:13px}.recipe-card h3{font-size:16px}.bookmark,.recipe-card .bookmark{width:44px;height:44px;top:9px;right:9px}.bookmark svg,.recipe-card .bookmark svg{width:20px;height:20px}.pantry-banner p{font-size:14px;color:var(--muted)}.text-button,.quiet-note,.helper,.notice,.field>span,.profile-info{font-size:14px}.quiet-note,.footer-note,.source-note{color:var(--muted)}.footer-note{font-size:12px;letter-spacing:0}.primary{background:var(--green);min-height:52px;font-size:16px}.primary.orange{background:var(--orange)}.secondary{font-size:15px}.detail-actions{background:linear-gradient(#ffffff00,#fff 20%)}.detail-description,.step-row p,.tips-box{font-size:16px}.tag,.stat,.stat strong,.source-note{font-size:14px}.detail-header{aspect-ratio:1.4}.detail-topbar .icon-button{height:44px;width:44px}.segment.active{color:var(--green);border-color:var(--green)}.sheet-header .icon-button,.grocery-line .icon-button{width:44px;height:44px}.grocery-product{background:#f5f8f5}.grocery-product strong,.grocery-product small,.grocery-name small{font-size:14px}.product-link{font-size:14px}.shopping-summary .overline,.shopping-summary>p{font-size:14px;color:#e6f3ec}.shopping-tabs{gap:12px;flex-wrap:wrap}.shopping-tabs .text-button{font-size:13px!important}.shopping-tabs span{font-size:12px}.grocery-group>h3{font-size:14px;color:var(--muted)}.profile-stats span,.settings-item small,.collection span,.cook-header small{font-size:14px}.settings-item{font-size:16px}.pantry-banner .banner-icon{background:#daeadd}.cook-step-label{color:var(--green)}.cook-progress i.passed{background:var(--green)}.timer-inline{min-height:44px;font-size:14px}.sheet-subtitle{font-size:15px}.notice{color:#714329}.field small{font-weight:400;color:var(--muted);margin-left:5px}
#navigation{grid-template-columns:repeat(5,1fr);padding-left:8px;padding-right:8px}.nav-item{font-size:12px;color:#5b6961;min-height:60px;gap:4px}.nav-item.active{color:var(--green)}.nav-item.add-nav{color:var(--green);padding:0;background:transparent}.add-nav .add-disc{width:34px;height:34px;border-radius:12px;background:var(--green);display:grid;place-items:center;color:white;margin-top:-8px}.add-nav .add-disc svg{width:21px;height:21px}.nav-counter{font-size:11px;min-width:19px;height:19px}.detail-actions{bottom:calc(72px + max(11px,env(safe-area-inset-bottom)))}
.section-kicker{font-size:12px;color:var(--green);letter-spacing:1px;font-weight:700;margin-bottom:5px}.finder-intro{font-size:16px;color:var(--muted);line-height:1.75;margin-bottom:23px}.finder-input,.ingredient-review{padding:20px 0;border-top:1px solid var(--line)}.finder-input{padding-top:0;border-top:0}.finder-input h2,.ingredient-review h2{font-size:18px}.step-caption{font-size:13px;color:var(--muted)}.capture-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.capture-actions .secondary{border-color:#cfded4;color:var(--green);min-height:52px}.capture-actions svg{height:20px;width:20px}.inline-hint{font-size:13px;color:var(--muted);line-height:1.7;margin:12px 0}.finder-input .field{margin-bottom:7px}.finder-input textarea{min-height:88px}.input-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.input-bottom>span{font-size:12px;color:var(--muted)}.input-bottom button{min-height:44px;white-space:nowrap;font-size:14px;color:var(--green);font-weight:700}.input-bottom svg{height:16px;width:16px}.common-ingredients{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.common-ingredients button{display:flex;align-items:center;gap:5px;min-height:44px;border:1px solid #d3dfd7;border-radius:100px;padding:8px 13px;font-size:14px;background:#fff}.common-ingredients button.selected{background:var(--green);border-color:var(--green);color:#fff}.common-ingredients svg{height:14px;width:14px}.selected-ingredients{display:flex;flex-wrap:wrap;gap:8px}.selected-ingredients button{display:flex;align-items:center;gap:9px;padding:9px 13px;min-height:44px;border-radius:10px;background:var(--green-soft);color:var(--green);font-size:15px;font-weight:600}.selected-ingredients svg{width:16px;height:16px}.review-empty{padding:20px;background:#f6f8f6;border-radius:14px;color:var(--muted);font-size:14px}.pantry-check{display:flex;align-items:center;gap:11px;min-height:70px;font-size:14px;margin:12px 0;cursor:pointer}.pantry-check small{display:block;color:var(--muted);font-size:13px;margin-top:3px}.finder-note{padding:19px;background:#f4f7f5;border-radius:15px;font-size:13px;color:var(--muted);line-height:1.85;margin:7px 0 20px}.ingredient-photo{position:relative;margin-top:15px;border-radius:16px;overflow:hidden;background:#f1f5f2}.ingredient-photo img{display:block;width:100%;height:200px;object-fit:contain}.ingredient-photo button{position:absolute;right:10px;top:10px;background:#fff;box-shadow:0 1px 8px #0002}#match-results{scroll-margin-top:16px}.result-heading{margin-top:12px}.result-heading h2{font-size:19px}.match-filters{display:flex;flex-wrap:wrap;gap:8px}.match-filters button{border-radius:100px;border:1px solid var(--line);padding:10px 13px;font-size:14px;min-height:44px}.match-filters button.active{background:var(--green);color:#fff;border-color:var(--green)}.match-card{display:grid;grid-template-columns:90px minmax(0,1fr);gap:13px;margin:15px 0;padding:16px;border:1px solid var(--line);border-radius:18px;background:white}.match-cover{height:105px;padding:0;border-radius:13px;overflow:hidden;background:var(--green-soft);display:grid;place-items:center;color:var(--green)}.match-cover img{height:100%;width:100%;object-fit:cover}.match-cover>svg{height:32px;width:32px}.match-status{font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:4px;color:var(--green);line-height:1.6}.match-status svg{height:14px;width:14px}.match-status.needs-more{color:#9a3b1b}.match-info h3{font-size:16px;line-height:1.5;margin:5px 0}.match-info h3 button{text-align:left;padding:0;min-height:44px}.match-meta,.matched-with{font-size:13px;color:var(--muted);line-height:1.7}.missing-list{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--line);font-size:14px;color:var(--muted);line-height:1.8}.missing-list strong{color:var(--ink);margin-right:5px}.empty-symbol svg{width:38px;height:38px;color:var(--green)}
.source-platforms{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.source-platforms span{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);background:#f2f6f3;border-radius:8px;padding:8px}.source-platforms svg{width:15px;height:15px}.provider-detected{color:var(--green);font-size:14px}.connection-note{display:flex;gap:9px;padding:16px;background:#f3f6f4;border-radius:14px;margin-top:18px;color:var(--muted)}.connection-note>svg{width:19px;flex-shrink:0;margin-top:3px}.connection-note p{font-size:13px;line-height:1.8}.connection-note strong{display:block;font-weight:600;color:var(--ink);margin-bottom:3px}.video-library{padding-bottom:22px;margin-bottom:18px;border-bottom:1px solid var(--line)}.saved-video{display:flex;align-items:center;gap:12px;min-height:82px;width:100%;text-align:left;border:1px solid var(--line);padding:13px;border-radius:15px;margin:10px 0}.video-symbol{height:43px;width:43px;border-radius:13px;background:var(--orange-soft);color:var(--orange);display:grid;place-items:center;flex-shrink:0}.saved-video>span:nth-child(2){min-width:0;flex:1}.saved-video small{font-size:12px;color:var(--muted)}.saved-video strong{display:block;font-size:15px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}.saved-video>svg{width:17px;color:var(--muted);flex-shrink:0}.source-notes{padding:18px;background:#f5f8f6;border-radius:14px;margin:20px 0}.source-notes p,.source-reference p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.8;margin-top:12px}.source-reference{padding:15px;border:1px solid var(--line);border-radius:13px;margin-top:18px}.source-reference summary{font-size:14px;font-weight:600;cursor:pointer}.source-reference a,.source-note a{display:inline-flex;align-items:center;gap:5px;color:var(--green);text-decoration:underline;min-height:44px}.source-reference a svg,.source-note a svg{height:15px;width:15px}.danger-button.full{min-height:48px;margin-top:12px}
@media(max-width:360px){.home-action{padding:15px 13px;min-height:134px}.home-action strong{font-size:16px}.home-action span{font-size:12px}.greeting h1{font-size:27px}.match-card{padding:13px;grid-template-columns:76px minmax(0,1fr);gap:10px}.input-bottom>span{max-width:130px}.finder-main .page-title{font-size:24px}.nav-item{font-size:12px}.shopping-tabs{gap:9px}.shopping-tabs .text-button{margin-left:0!important}.detail-actions{padding-left:18px;padding-right:18px}}

.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
