:root{color:#172019;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f3ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{width:min(1180px,100%);margin:0 auto;padding:20px}.topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 0 18px;display:grid}.brand-mark,.icon-button{color:#243328;background:#fffdf7;border:1px solid #d6d1c4;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.brand-mark{color:#fffdf7;background:#1f6a43;border-color:#1f6a43}.icon-button.saved{color:#9d263a;background:#f8d7dc;border-color:#ef9fac}.eyebrow{color:#677164;letter-spacing:0;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.05}h2{margin-bottom:0;font-size:1.3rem;line-height:1.15}h3{margin-bottom:10px;line-height:1.2}.scan-panel{grid-template-columns:minmax(0,1fr) 280px;align-items:stretch;gap:16px;display:grid}.scan-actions,.scan-stage,.workspace-panel,.recipe-card,.cook-modal{background:#fffdf7;border:1px solid #ddd6c8;border-radius:8px;box-shadow:0 14px 35px #24332814}.scan-actions{align-content:center;gap:12px;padding:18px;display:grid}.scan-stage{background:radial-gradient(circle at 18% 15%,#1f6a4329,#0000 28%),linear-gradient(135deg,#fffdf7,#edf4e7);align-content:center;justify-items:start;gap:12px;min-height:310px;padding:24px;display:grid}.scan-orbit{color:#fff;background:#1f6a43;border:1px solid #cbd8bf;border-radius:999px;place-items:center;width:82px;height:82px;display:grid}.scan-stage h2{font-size:clamp(1.7rem,4vw,2.5rem)}.scan-status{color:#4c584c;max-width:640px;margin-bottom:0;font-size:1rem;font-weight:700}.scan-stat-row{flex-wrap:wrap;gap:8px;display:flex}.scan-stat-row span{color:#1f6a43;background:#eef3e8;border-radius:8px;padding:6px 9px;font-size:.83rem;font-weight:900}.primary-action,.secondary-action,.cook-button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:48px;font-weight:900;display:inline-flex}.primary-action:disabled,.secondary-action:disabled,.cook-button:disabled{cursor:not-allowed;opacity:.62}.scan-actions button.primary-action{width:100%}.primary-action{color:#fff;background:#1f6a43}.secondary-action{color:#243328;background:#eef3e8;border-color:#cbd8bf}.secondary-action input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.content-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px;margin-top:16px;display:grid}.error-panel{color:#8a3422;background:#fff1ee;border:1px solid #e6b8ad;border-radius:8px;align-items:flex-start;gap:9px;margin-top:14px;padding:12px 14px;font-weight:750;display:flex}.workspace-panel{padding:18px}.section-heading,.recipe-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.count-pill{color:#1f6a43;white-space:nowrap;background:#ebf1e3;border-radius:999px;align-items:center;min-height:30px;padding:4px 10px;font-weight:900;display:inline-flex}.ingredient-list{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.ingredient-chip{background:#fbf8ef;border:1px solid #ddd6c8;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:6px 7px 6px 10px;display:inline-flex}.ingredient-chip span:nth-child(2){text-transform:capitalize;font-weight:800}.ingredient-chip small{color:#687165;font-weight:800}.ingredient-chip button,.close-button{color:#6d5f54;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.dot{background:#9a8b7b;border-radius:999px;width:8px;height:8px}.dot.detected,.dot.ai{background:#1f6a43}.dot.manual{background:#376fa3}.add-row{background:#fff;border:1px solid #d9d2c5;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:48px;padding:0 8px 0 12px;display:grid}.add-row input{border:0;outline:0;min-width:0}.add-row button{color:#fff;background:#1f6a43;border:0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.filters-panel{gap:18px;display:grid}.control-group{gap:10px;display:grid}.control-group label,.range-row,.meta-row,.trust-note{align-items:center;gap:8px;display:flex}.control-group label{font-weight:900}.range-row input{accent-color:#1f6a43;flex:1}.stepper{background:#fff;border:1px solid #d9d2c5;border-radius:8px;grid-template-columns:40px 54px 40px;align-items:center;width:max-content;display:inline-grid;overflow:hidden}.stepper button{color:#243328;background:#f3efe2;border:0;place-items:center;width:40px;height:40px;display:grid}.stepper strong{text-align:center}.diet-tabs{flex-wrap:wrap;gap:8px;display:flex}.diet-tabs button{color:#243328;background:#fbf8ef;border:1px solid #d9d2c5;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:6px 10px;font-weight:850;display:inline-flex}.diet-tabs button.active{color:#fff;background:#1f6a43;border-color:#1f6a43}.trust-note{color:#4c584c;background:#f3efe2;border-radius:8px;align-items:flex-start;padding:12px;font-size:.92rem;font-weight:650}.recipes-section{margin-top:20px}.recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.recipe-card{overflow:hidden}.recipe-card img,.recipe-image{aspect-ratio:1.2;width:100%;display:block}.recipe-image{background-color:#0000;background-image:radial-gradient(circle at 20% 20%,#1f6a4347,#0000 30%),linear-gradient(135deg,#29382d,#6e8a6a);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:180px;position:relative}.recipe-image:after{content:"";background:linear-gradient(#1720191a,#1720197a);position:absolute;inset:0}.empty-state{color:#4c584c;text-align:center;background:#fffdf7;border:1px dashed #cbd8bf;border-radius:8px;grid-column:1/-1;justify-items:center;gap:8px;padding:30px 18px;display:grid}.empty-state strong{color:#172019;font-size:1.05rem}.recipe-image span{z-index:1;color:#243328;background:#fffdf7eb;border-radius:8px;padding:5px 8px;font-size:.78rem;font-weight:900;position:absolute;bottom:10px;left:10px}.recipe-body{gap:12px;padding:14px;display:grid}.recipe-title-row h3{margin-bottom:0;font-size:1.02rem}.recipe-title-row .icon-button{flex:none;width:36px;height:36px}.meta-row{color:#596556;flex-wrap:wrap;font-size:.86rem;font-weight:800}.meta-row span{align-items:center;gap:5px;display:inline-flex}.recipe-reason{color:#566152;margin-bottom:0;font-size:.9rem;font-weight:650}.match-bars{justify-content:space-between;gap:8px;font-size:.85rem;font-weight:900;display:flex}.used{color:#1f6a43}.missing{color:#a4482f}.complete{color:#376fa3}.tag-row,.swap-list{flex-wrap:wrap;gap:7px;display:flex}.tag-row span,.swap-list span{color:#4d584d;background:#f0ece2;border-radius:8px;align-items:center;gap:6px;padding:5px 8px;font-size:.78rem;font-weight:850;display:inline-flex}.cook-button{color:#fff;background:#243328;width:100%}.modal-backdrop{z-index:20;background:#17201985;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.cook-modal{width:min(680px,100%);max-height:min(760px,92vh);position:relative;overflow:hidden auto}.close-button{background:#fffdf7f2;width:40px;height:40px;position:absolute;top:10px;right:10px}.modal-image{aspect-ratio:auto;min-height:250px}.cook-content{padding:18px}.cook-content ol{gap:10px;padding-left:22px;display:grid}.cook-content li{padding-left:5px}@media (width<=920px){.scan-panel,.content-grid{grid-template-columns:1fr}.scan-actions,.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.app-shell{padding:14px}.topbar{grid-template-columns:auto 1fr auto}.scan-stage{min-height:250px}.scan-actions,.recipe-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.recipe-card{grid-template-columns:118px 1fr;display:grid}.recipe-card img{aspect-ratio:auto;height:100%}.recipe-image{aspect-ratio:auto;min-height:100%}.match-bars{flex-direction:column}}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
