.landing{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#f5f1eb;overflow-y:auto;-webkit-overflow-scrolling:touch}.landing-nav{position:sticky;top:0;z-index:50;display:flex;flex-direction:column;align-items:center;gap:16px;padding:22px 40px 20px;margin:0;background:#f5f0e6eb;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.landing-logo{font-family:var(--font-sans);font-weight:800;font-size:3.4rem;letter-spacing:.04em;color:#1a1a1a;line-height:1}.landing-app-icon{width:64px;height:64px}@media (max-width: 599px){.landing-app-icon{width:32px;height:32px}}.m-br,.d-br{display:none}@media (max-width: 599px){.m-br{display:inline}}@media (min-width: 600px){.d-br{display:inline}}.landing-brand{display:flex;flex-direction:row;align-items:center;gap:14px}.landing-brand-sub{font-family:var(--font-serif);font-style:italic;font-weight:600;font-size:1.2rem;color:#134024;text-align:center;letter-spacing:.02em;margin-top:-10px}@media (max-width: 599px){.landing-brand-sub{font-size:.9rem;margin-top:-2px}}@media (max-width: 599px){.landing-brand{gap:10px}.landing--hero-dismissed .landing-nav{position:relative}}.notes-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.notes-header h4{margin:0}.notes-expand-btn{background:transparent;border:1px solid var(--ink-muted, #999);color:var(--ink, #1a1a1a);border-radius:6px;padding:4px 10px;font-size:.95rem;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease}.notes-expand-btn:hover{background:#0000000f;border-color:var(--ink, #1a1a1a)}.notes-fs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;background:#0000008c;display:flex;align-items:stretch;justify-content:center;padding:16px}.notes-fs-card{background:var(--bg, #fff);color:var(--ink, #1a1a1a);border-radius:14px;width:100%;max-width:720px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #0006}.notes-fs-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(0,0,0,.08)}.notes-fs-header h3{margin:0;font-size:1.1rem}.notes-fs-close{background:transparent;border:none;font-size:1.6rem;line-height:1;color:var(--ink, #1a1a1a);cursor:pointer;padding:0 6px}.notes-fs-textarea{flex:1;width:100%;border:none;outline:none;resize:none;padding:16px 18px;font-family:inherit;font-size:1rem;line-height:1.5;background:transparent;color:inherit}.notes-fs-footer{display:flex;justify-content:flex-end;padding:12px 18px;border-top:1px solid rgba(0,0,0,.08)}@media (max-width: 640px){.notes-fs-overlay{padding:0}.notes-fs-card{border-radius:0;max-width:none;height:100%}}.landing-main{max-width:800px;margin:0 auto;padding:16px 18px 24px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:calc(100vh - 100px)}@media (min-width: 768px){.landing-main{padding:24px 40px 40px}}.landing-hero{width:100%;text-align:center}.landing-hero-left{width:100%}.landing-kicker{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#8a8a8a;margin-bottom:24px}.landing-headline{font-family:var(--font-serif);font-size:clamp(2.4rem,5.5vw,4.2rem);font-weight:400;line-height:1.12;color:#1a1a1a;margin:0 0 28px;letter-spacing:-.01em}.landing-headline em{font-style:italic}.landing-headline--inversion{font-size:clamp(.98rem,3.2vw,1.55rem);line-height:1.35;text-align:center;letter-spacing:0;max-width:720px;margin:0 auto 16px;font-style:normal}.landing-headline-foil,.landing-headline-ours{display:block;font-style:normal}.landing-headline-foil{color:#2c3e35;font-weight:700;margin-bottom:0;position:relative}.landing-headline-foil:after{content:"";display:block;width:60%;max-width:220px;margin:18px auto 16px;border-top:1px dashed #6b7d72}.landing-headline-ours{color:#134024;font-size:1.12em;font-weight:600}.landing-headline-ours strong{font-weight:800;letter-spacing:.01em}.landing-tagline{font-family:var(--font-serif);font-style:italic;font-weight:700;font-size:clamp(.95rem,2.2vw,1.3rem);color:#134024;text-align:center;max-width:100%;margin:0 auto 24px;line-height:1.4;letter-spacing:.005em;white-space:nowrap}@media (min-width: 768px){.landing-sub{white-space:normal;font-size:1.15rem;line-height:1.55;max-width:920px;margin-left:auto;margin-right:auto;margin-bottom:16px}.landing-headline--inversion{max-width:920px}}.landing-accent{color:#c45a2c;font-style:italic}.landing-sub{font-family:var(--font-sans);font-size:.95rem;font-weight:500;color:#2a2a2a;line-height:1.55;margin-bottom:10px}.landing-strike{text-decoration:line-through;color:#999;font-weight:400}.landing-welcome{font-family:var(--font-serif);font-style:italic;font-size:1rem;font-weight:600;color:#1a2e24;margin-bottom:8px;letter-spacing:0}@media (min-width: 768px){.landing-main{max-width:1000px}.landing-welcome{font-size:1.3rem;white-space:nowrap;margin-top:8px;margin-bottom:8px}}@media (max-width: 599px){.landing-nav{gap:8px;padding:14px 18px 8px}.landing-main{padding:6px 12px 24px}.landing-logo{font-size:2rem}.landing-btn-primary{padding:9px 20px;font-size:.72rem;margin-bottom:0}.landing-signin-link{font-size:.85rem;margin-top:0;padding-top:2px;padding-bottom:2px}.landing-headline--inversion{font-size:1rem;line-height:1.3;margin-bottom:10px;max-width:100%}.landing-headline-foil{font-size:1.25rem;margin-bottom:0}.landing-headline-foil:after{margin:12px auto;width:55%}.landing-headline-ours{font-size:1.55rem}.landing-tagline{font-size:clamp(1rem,4.5vw,1.1rem);font-weight:700;margin:22px auto 28px;line-height:1.35}.landing-sub{font-size:.88rem;line-height:1.5;margin-bottom:10px}.landing-welcome{font-size:1.1rem;margin-top:8px;margin-bottom:8px}}.landing-ctas{display:flex;align-items:center;gap:24px;margin-bottom:40px}.landing-btn-primary{font-family:var(--font-sans);font-size:.82rem;font-weight:600;letter-spacing:.08em;padding:14px 28px;margin-top:16px;background:#3a3a3a;color:#fff;border:none;border-radius:30px;cursor:pointer;animation:cta-pulse 3.6s ease-in-out infinite;box-shadow:inset 0 0 0 1.5px transparent;transition:background .2s}.landing-btn-primary--main{margin-top:4px}@media (max-width: 599px){.landing-btn-primary--main{margin-top:4px}}.landing-signin-link--bottom{margin-top:auto}@media (min-width: 600px){.landing-signin-link--bottom{font-size:.88rem}}.landing-btn-primary:hover{background:#1a1a1a;color:#fff;animation-play-state:paused}@keyframes cta-pulse{0%,to{background:#3a3a3a;color:#fff;box-shadow:inset 0 0 0 1.5px transparent}50%{background:#f5f0e6;color:#1a1a1a;box-shadow:inset 0 0 0 1.5px #1a1a1a}}@media (prefers-reduced-motion: reduce){.landing-btn-primary{animation:none}}.landing-btn-lg{padding:18px 44px;font-size:.95rem;letter-spacing:.1em}.landing-footer-tagline{text-align:center;font-family:var(--font-serif);font-size:1.05rem;color:#6b6358;margin-top:60px;padding-top:30px;border-top:1px solid #e5e0d8}@media (max-width: 768px){.landing-nav{padding:16px 20px}.landing-nav-links{gap:16px}.landing-main{padding:20px 20px 40px}.landing-headline{font-size:clamp(2rem,8vw,3rem)}.landing-ctas{flex-direction:column;align-items:flex-start;gap:16px}}@media (max-width: 420px){.landing-nav-links{gap:12px}.landing-link{font-size:.78rem}}.skip-link{position:absolute;top:-100%;left:16px;z-index:999;padding:8px 16px;background:var(--green);color:#fff;border-radius:0 0 8px 8px;text-decoration:none;font-weight:600;font-size:.9rem}.skip-link:focus{top:0}:root{--bg: #faf7f2;--bg2: #f3ede3;--card: #ffffff;--ink: #1a2e24;--ink-soft: #4a5d52;--muted: #8b9a92;--green: #2d7a4f;--green-deep: #1e5a3a;--green-soft: #e8f3ec;--accent: #d97706;--accent-soft: #fff4e6;--danger: #dc2626;--danger-soft: #fef2f2;--perishable: #e07a2f;--perishable-soft: #fef3e7;--gluten: #7c5cbf;--gluten-soft: #f3eefb;--allergen: #c2410c;--allergen-soft: #fff1e6;--border: #e8e3d8;--radius: 12px;--radius-sm: 8px;--radius-xs: 6px;--shadow: 0 1px 3px rgba(26,46,36,.06), 0 4px 16px rgba(26,46,36,.04);--shadow-hover: 0 2px 6px rgba(26,46,36,.08), 0 12px 32px rgba(26,46,36,.08);--transition: .18s ease;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro", system-ui, sans-serif;--font-serif: Georgia, "Iowan Old Style", "Times New Roman", serif;--tab-bar-h: 48px;--safe-bottom: env(safe-area-inset-bottom, 0px);--hover: rgba(45, 122, 79, .08)}[data-theme=dark]{--bg: #1a1e1a;--bg2: #232823;--card: #2a302a;--ink: #e4e8e4;--ink-soft: #b0bab0;--muted: #7a8a7a;--green: #4ead6e;--green-deep: #6fcf8e;--green-soft: #1e3528;--accent: #e8a030;--accent-soft: #3a2e1a;--danger: #ef5555;--danger-soft: #3a1e1e;--perishable: #e8944a;--perishable-soft: #3a2a1a;--gluten: #a988e0;--gluten-soft: #2a2438;--allergen: #ff8855;--allergen-soft: #3a2418;--border: #3a423a;--shadow: 0 1px 3px rgba(0,0,0,.2), 0 4px 16px rgba(0,0,0,.15);--shadow-hover: 0 2px 6px rgba(0,0,0,.25), 0 12px 32px rgba(0,0,0,.2);--hover: rgba(78, 173, 110, .12)}:focus-visible{outline:2px solid var(--green);outline-offset:2px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.55;min-height:100dvh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-serif);letter-spacing:-.2px;color:var(--ink);line-height:1.25}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}#app{max-width:1200px;margin:0 auto;padding:0 18px;padding-bottom:calc(20px + var(--safe-bottom))}.header{z-index:100;background:var(--bg);border-bottom:1px solid var(--border);padding:12px 0 8px}.header-inner{display:flex;align-items:baseline;justify-content:center;gap:10px;position:relative}.logo{font-size:2rem;font-weight:800;color:var(--green);letter-spacing:2px}.logo-tagline{font-size:1rem;font-weight:500;color:var(--ink-soft);letter-spacing:.3px;font-style:italic}.header-actions{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px}.sync-status{font-size:.75rem;color:var(--muted)}.tab-bar{display:flex;gap:4px;padding:6px 0;z-index:99;background:var(--bg);border-bottom:1px solid var(--border);scrollbar-width:none;position:sticky;top:0}.sticky-shell{display:flex;flex-direction:column}.shell-scroll{display:contents}.sticky-shell .header{order:-1}@media (max-width: 520px){.sticky-shell{height:100dvh;background:var(--bg)}.sticky-shell .header{order:0}.sticky-shell .tab-bar{position:static;flex-shrink:0}.shell-scroll{display:flex;flex-direction:column;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.shell-scroll .filter-bar{position:sticky;top:0}.shell-scroll .tab-panel{padding-top:0}}@media (max-width: 520px){.tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch}}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{flex:1 1 0%;min-width:fit-content;min-height:44px;padding:10px 8px;border:none;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;background:none;color:var(--ink-soft);transition:all var(--transition);white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:2px;line-height:1.2;position:relative;text-align:center;overflow:visible}.tab-btn:hover{background:var(--green-soft);color:var(--green-deep)}.tab-btn.on{background:var(--green);color:#fff;box-shadow:0 1px 4px #1a2e2426}.badge{font-size:.65rem;background:var(--accent);color:#fff;border-radius:10px;padding:1px 6px;min-width:18px;text-align:center;font-weight:700}.badge:empty{display:none}.tab-panel{padding:8px 0 20px}.tab-panel[hidden]{display:none!important}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:12px;overflow:hidden;box-sizing:border-box}.card-title{font-size:1rem;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:6px}.card-title .muted{font-weight:600;font-size:.85rem;color:var(--ink);font-family:var(--font-sans)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;transition:all var(--transition);white-space:nowrap}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-deep)}.btn-outline{background:none;border:1.5px solid var(--border);color:var(--ink-soft)}.btn-outline:hover{border-color:var(--green);color:var(--green)}@keyframes filterPulse{0%,to{font-weight:400}50%{font-weight:700}}#filterToggle,#readyFilterToggle{animation:filterPulse 2s ease-in-out infinite;border-color:#5b21b6;color:#5b21b6}@media (prefers-reduced-motion: reduce){#filterToggle,#readyFilterToggle,.results-meta strong,.results-meta .count-label{animation:none}}.feedback-type-btn.on{background:var(--green-soft);border-color:var(--green);color:var(--green)}.btn-danger{background:var(--danger-soft);color:var(--danger);border:1px solid transparent}.btn-danger:hover{background:var(--danger);color:#fff}.icon-btn{background:none;border:none;font-size:1.2rem;padding:4px 8px;border-radius:var(--radius-xs);transition:background var(--transition)}.icon-btn:hover{background:var(--green-soft)}.ing-add-controls{margin-bottom:8px}.ing-type-toggle{display:inline-flex;gap:0;border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.ing-type-btn{padding:5px 14px;font-size:.82rem;font-weight:600;background:var(--bg);color:var(--muted);border:none;cursor:pointer;transition:background .15s,color .15s}.ing-type-btn+.ing-type-btn{border-left:1.5px solid var(--border)}.ing-type-btn.on{background:var(--green);color:#fff}.input-row{display:flex;gap:8px;margin-bottom:10px}.text-input{flex:1;padding:8px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);outline:none;font-size:.85rem;transition:border-color var(--transition)}.text-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2d7a4f1f}.text-input::placeholder{color:var(--muted)}@media (min-width: 601px){.filter-bar .text-input::placeholder{font-size:1rem}}.select-input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%234a5d52'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:var(--border);outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--green);cursor:pointer;box-shadow:0 1px 4px #00000026}.slider::-moz-range-thumb{width:22px;height:22px;border:none;border-radius:50%;background:var(--green);cursor:pointer}.chip-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:20px;font-size:.82rem;font-weight:500;background:var(--green-soft);color:var(--green-deep);border:1px solid transparent;transition:all var(--transition)}.chip .chip-x{cursor:pointer;opacity:.6;font-size:.9rem;line-height:1}.chip .chip-x:hover{opacity:1}.chip.staple,.chip.perishable{background:var(--green-soft);color:var(--green);border-color:#2d7a4f40}.filter-chips{display:flex;flex-wrap:wrap;gap:4px}.filter-chip{padding:4px 9px;border-radius:16px;font-size:.72rem;font-weight:500;border:1.5px solid var(--border);background:var(--card);color:var(--ink-soft);cursor:pointer;transition:all var(--transition)}@media (min-width: 769px){.filter-chips{gap:6px}.filter-chip{padding:6px 12px;border-radius:20px;font-size:.8rem}}.filter-chip:hover{border-color:var(--green);color:var(--green)}.filter-chip.on{background:var(--green);color:#fff;border-color:var(--green)}.filter-bar{position:sticky;top:var(--tab-bar-h, 0px);z-index:50;padding:10px 12px;background:var(--bg)}.filter-bar .input-row{margin-bottom:0}.filter-drawer{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:12px}.filter-bar .filter-drawer{border:none;border-radius:0;box-shadow:none;margin-bottom:0;padding:12px 0 4px;border-top:1px solid var(--border);margin-top:10px;max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.filter-drawer[hidden]{display:none}.filter-section{margin-bottom:16px}.filter-section:last-child{margin-bottom:0}.filter-section h4{font-size:.85rem;font-weight:600;color:var(--ink-soft);margin-bottom:8px;font-family:var(--font-sans)}.time-slider-row{display:flex;align-items:center;gap:12px}.time-label{font-size:.85rem;font-weight:600;color:var(--green);min-width:50px;text-align:right}.active-filters{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.active-filters:empty{display:none}.active-filter-tag{font-size:.72rem;padding:2px 8px;border-radius:12px;background:var(--green-soft);color:var(--green-deep);cursor:pointer}.active-filter-tag:hover{background:var(--danger-soft);color:var(--danger)}.sort-btns{display:flex;gap:6px;flex-wrap:wrap}.sort-btn{flex:1 1 0;min-width:0;padding:8px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--ink-soft);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition);white-space:nowrap;text-align:center}@media (max-width: 640px){.sort-btns{flex-wrap:nowrap;gap:6px}.sort-btn{flex:1 1 0;min-width:0;padding:7px 4px;font-size:.78rem;text-align:center;letter-spacing:0}}@media (max-width: 400px){.sort-btn{font-size:.7rem;padding:6px 3px}}.sort-btn.on{background:var(--green);color:#fff;border-color:var(--green)}.results-bar{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:8px 0 4px}.results-meta{font-size:.85rem;color:#5b2d8e;padding:0;white-space:nowrap;font-weight:400}.results-meta strong{font-weight:700;display:inline-block;animation:pulse-bold 2.4s ease-in-out infinite}.results-meta .count-label{font-weight:600;display:inline-block;animation:pulse-bold 2.4s ease-in-out infinite;animation-delay:.3s}@keyframes pulse-bold{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.97)}}.recipe-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}@media (max-width: 1100px){.recipe-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.recipe-list{grid-template-columns:1fr;gap:14px}}.load-more-btn{grid-column:1 / -1;justify-self:center;margin:12px 0;padding:10px 28px}.rotd-spotlight{margin:0 0 14px;position:relative}.rotd-label{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green);margin-bottom:6px}.rotd-card{display:flex;align-items:flex-start;background:var(--card);border:2px solid var(--green);border-radius:var(--radius);box-shadow:0 2px 12px #2e7d321a;overflow:hidden;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition)}.rotd-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #2e7d3229}.rotd-img{flex:0 0 300px;align-self:stretch;position:relative;background:var(--bg2);overflow:hidden}.rotd-img img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.rotd-body{flex:1;padding:10px 14px;display:flex;flex-direction:column;gap:3px;min-width:0;overflow:hidden}.rotd-title{font-size:.95rem;font-weight:700;color:var(--ink);line-height:1.2}.rotd-site{font-size:.72rem;color:var(--muted)}.rotd-meta{display:flex;gap:8px;font-size:.75rem;color:var(--ink-soft);flex-wrap:wrap}.rotd-nut{display:flex;gap:10px;font-size:.75rem;color:var(--ink);font-weight:600;flex-wrap:wrap;padding:4px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.rotd-nut span{font-weight:400;color:var(--muted);font-size:.65rem}.rotd-ings{font-size:.72rem;color:var(--ink-soft);line-height:1.35;overflow:hidden}.rotd-have{color:var(--green)}.rotd-have strong{font-weight:600}.rotd-need{color:#e65100}.rotd-need strong{font-weight:600}.rotd-ing-gf{color:#7b2fbe}.rotd-ing-sf{color:#2e7d32}.rotd-hint-gf{font-size:.68rem;font-style:normal;color:#9b59b6}.rotd-hint-sf{font-size:.68rem;font-style:normal;color:#558b2f}.rotd-hint-sub{font-size:.68rem;font-style:normal;color:#e67e22}.rotd-cats{display:flex;gap:5px;flex-wrap:wrap}.rotd-cat{font-size:.65rem;padding:2px 8px;border-radius:10px;background:var(--bg2);color:var(--ink-soft);font-weight:500}.rotd-benefits{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.rotd-benefits-label{font-size:.68rem;font-weight:700;color:var(--green);margin-right:2px}.rotd-benefit{font-size:.66rem;padding:2px 8px;border-radius:10px;background:linear-gradient(135deg,#2e7d3214,#81c7841f);color:#2e7d32;font-weight:500;white-space:nowrap}[data-theme=dark] .rotd-benefit{background:linear-gradient(135deg,#4caf5026,#81c7841a);color:#81c784}.card-cats,.detail-cats{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.card-cat{font-size:.62rem;padding:2px 8px;border-radius:10px;background:var(--bg2);color:var(--ink-soft);font-weight:600;white-space:nowrap}.card-benefits{display:flex;flex-wrap:wrap;gap:3px 6px;margin-top:5px}.card-benefit{font-size:.6rem;padding:2px 7px;border-radius:10px;background:linear-gradient(135deg,#2e7d3214,#81c7841f);color:#2e7d32;font-weight:500;white-space:nowrap}[data-theme=dark] .card-benefit{background:linear-gradient(135deg,#4caf5026,#81c7841a);color:#81c784}.rotd-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.rotd-match{flex-shrink:0;font-size:.82rem;font-weight:700;color:#fff;background:var(--green);padding:3px 10px;border-radius:10px;white-space:nowrap}.rotd-actions{display:flex;gap:5px;margin-top:auto;padding-top:5px;flex-wrap:wrap}.rotd-actions .btn-sm{font-size:.72rem;padding:3px 8px}@media (max-width: 520px){.rotd-card{flex-direction:column;max-height:none}.rotd-img{flex:none;height:160px}}.r-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition);overflow:hidden;animation:fadeUp .3s ease forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.r-card.hi{border-left-color:var(--green)}.r-card.md{border-left-color:#84cc16}.r-card.lo{border-left-color:var(--border)}.r-card.has-hero{padding:0}.r-card.has-hero .card-body{padding:14px 14px 12px}.r-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.hero-wrap{position:relative;width:100%;aspect-ratio:4 / 3;background:var(--bg2);overflow:hidden;border-top-left-radius:inherit;border-top-right-radius:inherit}.hero-wrap img{width:100%;height:100%;object-fit:cover;display:block}.r-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.r-main{flex:1;min-width:0}.r-title{font-family:var(--font-serif);font-size:1.06rem;font-weight:700;color:var(--ink);line-height:1.25;margin-bottom:3px}.r-site{font-size:.74rem;color:var(--green)}.r-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.r-meta{display:flex;gap:10px;font-size:.75rem;color:var(--muted);margin-bottom:7px;flex-wrap:wrap}.r-actions{display:flex;flex-direction:column;gap:5px;margin-top:8px;position:relative;z-index:2}.r-actions-row{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-start;align-items:center}.install-banner{position:fixed;left:12px;right:12px;bottom:12px;display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:1px solid #d6e3d2;border-radius:14px;box-shadow:0 8px 28px #00000024;z-index:9998;font-size:.88rem;animation:install-banner-in .35s cubic-bezier(.2,.8,.2,1)}@keyframes install-banner-in{0%{transform:translateY(120%);opacity:0}to{transform:translateY(0);opacity:1}}.install-banner-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.install-banner-text strong{color:var(--ink);font-size:.92rem}.install-banner-text span{color:var(--ink-soft);font-size:.78rem;line-height:1.3}.install-banner-cta{flex:0 0 auto;background:var(--green);color:#fff;border:none;border-radius:10px;padding:9px 14px;font-weight:600;font-size:.82rem;cursor:pointer;white-space:nowrap}.install-banner-cta:hover{background:var(--green-dark, #246a3f)}.install-banner-dismiss{flex:0 0 auto;background:transparent;border:none;color:var(--ink-muted);font-size:1.5rem;cursor:pointer;padding:0 4px;line-height:1}.install-banner-dismiss:hover{color:var(--ink)}.install-instructions-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;animation:install-overlay-in .2s ease}@keyframes install-overlay-in{0%{opacity:0}to{opacity:1}}.install-instructions-box{background:var(--cream, #faf7f2);border-radius:16px;padding:22px 22px 18px;max-width:380px;width:100%;position:relative;box-shadow:0 16px 56px #0000004d;animation:install-box-in .3s cubic-bezier(.2,.8,.2,1)}@keyframes install-box-in{0%{transform:scale(.94) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.install-instructions-box h3{margin:0 30px 8px 0;font-size:1.1rem;color:var(--ink)}.install-instructions-why{margin:0 0 14px;font-size:.85rem;color:var(--ink-soft);line-height:1.45}.install-instructions-steps{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:12px}.install-instructions-steps li{display:flex;gap:10px;align-items:flex-start;font-size:.88rem}.install-instructions-steps li>div{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.install-step-num{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;margin-top:1px}.install-step-hint{font-size:.78rem;color:var(--ink-soft);line-height:1.35}.install-step-icon{display:inline-block;font-size:.95rem;vertical-align:middle}.install-instructions-close{position:absolute;top:8px;right:8px;background:transparent;border:none;font-size:1.4rem;color:var(--ink-muted);cursor:pointer;padding:4px 10px;line-height:1}.install-instructions-close:hover{color:var(--ink)}.install-instructions-ok{width:100%;background:var(--green);color:#fff;border:none;border-radius:10px;padding:11px;font-weight:600;font-size:.92rem;cursor:pointer}.install-instructions-ok:hover{background:var(--green-dark, #246a3f)}.sw-update-banner{position:fixed;left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 14px 10px 16px;background:var(--green);color:#fff;border-radius:28px;box-shadow:0 6px 24px #0000002e;font-size:.88rem;z-index:9999;max-width:calc(100vw - 24px)}.sw-update-btn{background:#fff;color:var(--green);border:none;border-radius:18px;padding:6px 14px;font-weight:600;font-size:.82rem;cursor:pointer}.sw-update-btn:hover{background:#f0f5ed}.sw-update-dismiss{background:transparent;color:#fff;border:none;font-size:1.2rem;cursor:pointer;padding:0 4px;opacity:.75}.sw-update-dismiss:hover{opacity:1}.img-fallback{display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 16px;background:linear-gradient(135deg,#e8efe6,#d6e3d2);color:#4a5f43;font-weight:600;font-size:.85rem;line-height:1.3;border-radius:var(--radius-sm);min-height:120px;width:100%;position:relative}.img-fallback:before{content:"🌿";position:absolute;top:8px;left:10px;font-size:.85rem;opacity:.4}.search-correction{margin:8px 0 12px;padding:8px 12px;background:#fff8e8;border:1px solid #f0d9a4;border-radius:var(--radius-sm);font-size:.85rem;color:#6b5520}.search-correction strong{color:var(--green)}.search-correction a{color:#8a6f2c;text-decoration:underline;cursor:pointer}.search-correction a:hover{color:#6b5520}.r-actions .btn-sm{font-size:.72rem;padding:5px 10px;flex:0 0 auto;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.r-actions .btn-cart{background:#fef3e6;border:1px solid #f4cf9b;color:#9a4f1c}.r-actions .btn-cart:hover{background:#fdebd1}.move-arrow{font-size:.7rem;color:var(--ink-muted);align-self:center;margin:0 -2px}.notes-badge{font-size:.75rem;cursor:pointer;opacity:.8;margin-left:4px}.madeit-stats{display:flex;gap:16px;padding:10px 14px;background:var(--card-bg);border-radius:var(--radius);margin-bottom:12px;border:1px solid var(--border)}.madeit-stat{font-size:.88rem;color:var(--ink-soft)}.btn-sm{padding:5px 11px;border-radius:8px;font-size:.77rem;cursor:pointer;transition:all .12s;border:1.5px solid;text-decoration:none;display:inline-flex;align-items:center;gap:4px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn-link{background:var(--green);border-color:transparent;color:#fff}.btn-link:hover{background:var(--green-deep);border-color:transparent}.btn-fav{background:var(--bg);border-color:var(--border);color:var(--ink)}.btn-fav:hover,.btn-fav.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.btn-shop{background:var(--bg);border-color:var(--border);color:var(--ink)}.btn-shop:hover{background:var(--green-soft);border-color:var(--green);color:var(--green)}.match-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;font-size:.73rem;font-weight:800;white-space:nowrap}.match-pill.hi{background:var(--green);color:#fff;border-color:transparent}.match-pill.md{background:var(--green-soft);color:var(--green-deep)}.match-pill.lo{background:var(--accent-soft);color:var(--accent)}.bar-wrap{margin:8px 0 6px}.bar-bg{background:var(--border);height:5px;border-radius:3px;overflow:hidden}.bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--green),var(--green));transition:width .3s}.nut-row{display:flex;justify-content:space-between;flex-wrap:nowrap;margin:6px 0 4px;padding:5px 10px;background:var(--bg);border-radius:8px;border:1px solid var(--border);gap:2px}.nut-item{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.nut-val{font-size:.78rem;font-weight:700;color:var(--green);font-family:var(--font-serif)}.nut-lbl{font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.nut-est{display:none}.refresh-tip{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:6px 0;background:linear-gradient(135deg,#2e7d3212,#81c7841f);border:1px solid rgba(46,125,50,.18);border-radius:10px;font-size:.78rem;color:var(--ink);line-height:1.35}.refresh-tip[hidden]{display:none!important}[data-theme=dark] .refresh-tip{background:linear-gradient(135deg,#4caf501a,#81c7840f);border-color:#4caf5033}.tip-desktop{display:none}@media (min-width: 521px){.tip-mobile{display:none}.tip-desktop{display:inline}}.refresh-tip-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--muted);padding:2px 6px;flex-shrink:0;line-height:1}.chip-label-sm{font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:3px}.chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}.c-have{background:var(--green-soft);color:var(--green);border-radius:6px;padding:2px 7px;font-size:.72rem;font-weight:500;border:1px solid transparent}.c-perish{background:var(--perishable-soft);color:var(--perishable);border:1px solid rgba(224,122,47,.2)}.c-gluten{background:var(--gluten-soft);color:var(--gluten);border:1px solid rgba(124,92,191,.2)}.c-allergen{background:var(--allergen-soft);color:var(--allergen);border:1px solid rgba(194,65,12,.25)}.c-need{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:2px 7px;font-size:.72rem;font-weight:500;border:1px solid transparent}.nut-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:8px}.nut-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.nut-cell .nut-label{font-size:.7rem;color:var(--muted)}.intro-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.intro-hero-header{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(180deg,var(--green-soft),var(--card))}.intro-hero-header:hover{opacity:.85}.intro-toggle-label{font-size:.82rem;font-weight:600;color:var(--muted);letter-spacing:.02em}.intro-chevron{font-size:1.2em;color:var(--muted);transition:transform .25s ease}.intro-hero-header.collapsed .intro-chevron{transform:rotate(-90deg)}.intro-hero-body{transition:max-height .35s ease,opacity .25s ease;overflow:hidden}.intro-hero-body.hidden{max-height:0!important;opacity:0;pointer-events:none;margin-bottom:18px}.intro-hero{padding:26px 28px 20px;background:linear-gradient(180deg,var(--green-soft),var(--card))}.intro-hero-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}.intro-hero-video{min-width:0;max-width:700px;margin:0 auto}.intro-hero-copy{min-width:0;max-width:750px;margin:0 auto}@media (min-width: 900px){.intro-hero-grid{grid-template-columns:2fr 3fr;gap:32px;align-items:stretch}.intro-hero-video{max-width:none;display:flex;flex-direction:column}.intro-hero-copy{max-width:none;padding-top:43px}.hero-img{min-height:240px;max-height:none;flex:1}.intro-tagline{font-size:1.15em}}.hero-img{width:100%;height:100%;min-height:300px;max-height:500px;object-fit:cover;border-radius:12px;box-shadow:0 4px 16px #0000001a}.intro-hero-title{font-family:var(--font-serif);font-size:24px;line-height:1.2;font-weight:700;color:var(--ink);text-align:center;margin:4px 0 10px;letter-spacing:-.5px}.intro-hero-sub{margin:0 0 10px;color:var(--ink-soft);font-size:15px;line-height:1.55;font-family:var(--font-sans)}.intro-hero-sub strong{color:var(--ink);font-weight:700}.intro-tagline{font-size:1.55em;text-align:center;margin:2px 0 0;font-style:italic;line-height:1.4;color:var(--green-deep)}.mobile-br{display:none}.clr-letters{display:inline-flex}@keyframes boldWave{0%,to{transform:scale(1)}20%{transform:scale(1.18)}40%{transform:scale(1)}}.clr-letter{display:inline-block;font-weight:700;animation:boldWave 3s ease-in-out infinite;will-change:transform}.clr-letter:nth-child(1){animation-delay:0s}.clr-letter:nth-child(2){animation-delay:.3s}.clr-letter:nth-child(3){animation-delay:.6s}.clr-letter:nth-child(4){animation-delay:.9s}.clr-letter:nth-child(5){animation-delay:1.2s}.clr-letter:nth-child(6){animation-delay:1.5s}.clr-letter:nth-child(7){animation-delay:1.8s}.clr-letter:nth-child(8){animation-delay:2.1s}.clr-letter:nth-child(9){animation-delay:2.4s}@media (max-width: 780px){.intro-hero-grid{grid-template-columns:1fr;gap:18px}.intro-hero-video{border-radius:12px}.intro-hero-video .hero-img{min-height:auto;max-height:none;object-fit:contain}.intro-hero-sub{font-size:14px}.intro-hero-title{font-size:20px}.intro-tagline{font-size:.98em}.mobile-br{display:none}}.pp-widget{background:linear-gradient(155deg,#fff,#f4f9f1);border:1px solid #d4e6d8;border-radius:14px;padding:18px 20px 16px;box-shadow:0 1px 3px #2d7a4f0f;position:relative;overflow:hidden}.pp-widget:before{content:"";position:absolute;top:-30px;right:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(45,122,79,.08) 0%,transparent 70%);pointer-events:none}.pp-eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--green);opacity:.85;margin-bottom:6px;font-family:var(--font-sans)}.pp-number-row{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}.pp-number{font-family:var(--font-serif);font-size:46px;line-height:1;font-weight:700;color:var(--green-deep);letter-spacing:-1.5px;transition:color .3s}.pp-unit{font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--ink-soft);letter-spacing:.01em}.pp-near{font-size:12.5px;color:var(--ink-soft);margin:0 0 12px;line-height:1.4;font-family:var(--font-sans)}.pp-near strong{color:var(--green);font-weight:700}.pp-bar{height:6px;background:var(--border);border-radius:99px;overflow:hidden;margin-bottom:6px}.pp-bar-fill{height:100%;background:linear-gradient(90deg,#4ade80,#2d7a4f);border-radius:99px;transition:width .8s cubic-bezier(.16,1,.3,1);min-width:0}.pp-bar-meta{font-size:11px;color:var(--muted);font-family:var(--font-sans);letter-spacing:.01em}.pantry-hint{font-size:.82rem;color:var(--ink-soft);line-height:1.5;margin-bottom:10px}.pantry-hint strong{color:var(--green)}.my-ings-list{display:flex;flex-direction:column;gap:2px}.my-ing-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:.88rem;transition:background .15s}.my-ing-row:hover{background:var(--green-soft)}.my-ing-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--green);cursor:pointer;flex-shrink:0}.my-ing-row .my-ing-name{flex:1;color:var(--ink)}.my-ing-row.inactive .my-ing-name{color:var(--muted);text-decoration:line-through}.my-ing-row .chip-x{font-size:1rem;color:var(--muted);cursor:pointer;padding:0 4px;opacity:.6}.my-ing-row .chip-x:hover{opacity:1;color:var(--accent)}.chip-action{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;transition:all var(--transition);border-radius:50%;width:20px;height:20px;font-size:.85rem}.chip-promote{color:var(--accent);font-size:1rem;opacity:.7}.chip-promote:hover{opacity:1;transform:scale(1.25);color:var(--accent);background:var(--accent-soft)}.chip-remove{opacity:.5;font-size:.95rem;color:var(--ink-soft)}.chip-remove:hover{opacity:1;color:var(--danger);background:var(--danger-soft)}.chip-staple-icon{color:var(--accent);font-size:.8rem;line-height:1}.user-guide{border:1px solid var(--green-soft)}.guide-toggle{cursor:pointer;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.guide-arrow{font-size:.8rem;transition:transform var(--transition);color:var(--muted)}.guide-toggle.collapsed .guide-arrow{transform:rotate(-90deg)}.guide-body{padding-top:12px}.guide-body.hidden,.section-body.hidden{display:none}.section-toggle{cursor:pointer;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.section-toggle .guide-arrow{margin-left:auto}.section-toggle.collapsed .guide-arrow{transform:rotate(-90deg)}.about-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.about-section:last-of-type{border-bottom:none;margin-bottom:8px}.about-heading{font-family:var(--font-sans);font-size:.95rem;font-weight:700;color:var(--green-deep);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.about-text{font-size:.9rem;line-height:1.6;color:var(--ink-soft)}.about-steps{font-size:.9rem;line-height:1.6;color:var(--ink-soft);padding-left:20px;margin:0}.about-steps li{margin-bottom:8px}.about-tip{font-size:.85rem;color:var(--ink-soft);margin-top:12px;padding:8px 12px;background:var(--accent-soft);border-radius:var(--radius)}.about-version{text-align:center;padding-top:8px;font-size:.8rem}.guide-intro{font-size:1rem;line-height:1.7;color:var(--ink);text-align:center;margin-bottom:8px}.guide-highlight{font-weight:700;color:var(--green)}.guide-text{color:var(--ink-soft);line-height:1.7;margin-bottom:8px;font-size:.92rem}.guide-brand{color:var(--green)}.guide-tagline{text-align:center;color:var(--green);font-weight:700;font-style:italic;font-size:.95rem;margin:14px 0 16px}.guide-section{margin-bottom:14px}.guide-section-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.guide-section-title{font-size:.85rem;font-weight:800;color:var(--green);text-transform:uppercase;letter-spacing:.07em;margin:0}.guide-swap{color:var(--accent)}.pantry-power{background:var(--green-soft);border-color:var(--green)}.pp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.pp-label{font-weight:700;font-size:.9rem;color:var(--green-deep)}.pp-stats{font-size:.78rem;color:var(--green)}.qa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.qa-btn{padding:12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card);text-align:center;font-size:.82rem;font-weight:500;color:var(--ink-soft);cursor:pointer;transition:all var(--transition)}.qa-btn:hover{border-color:var(--green);color:var(--green);background:var(--green-soft)}.qa-btn .qa-emoji{display:block;font-size:1.3rem;margin-bottom:4px}.qa-btn.on{border-color:var(--green);background:var(--green-soft);color:var(--green)}.qa-popup{position:fixed;z-index:150;left:50%;top:50%;transform:translate(-50%,-50%);width:90%;max-width:480px;max-height:85vh;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column}.qa-popup-scroll{flex:1 1 auto;overflow-y:auto;min-height:0}.qa-popup .chip-wrap{display:flex;flex-wrap:wrap;gap:6px}.qa-popup .chip-wrap .chip{text-align:center;justify-content:center;font-size:.82rem;white-space:nowrap}.qa-popup .chip.chip-with-hint{flex-direction:column;align-items:flex-start;white-space:normal;text-align:left;padding:6px 12px;max-width:240px}.qa-popup .chip.chip-with-hint .chip-line{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-weight:500}.qa-popup .chip.chip-with-hint .qa-chip-hint{font-size:.68rem;font-weight:400;color:var(--ink-soft);line-height:1.25;margin-top:2px}.suggestions-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}@media (min-width: 768px){.suggestions-list{grid-template-columns:repeat(3,1fr);gap:8px}}@media (max-width: 767px){#suggestionsCard .card-title{flex-direction:column;align-items:flex-start;gap:4px}}.qw-sub-laptop{display:none}@media (min-width: 768px){.qw-sub-phone{display:none}.qw-sub-laptop{display:inline}}.suggestion-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:var(--green-soft);border:1.5px solid var(--green-soft);border-radius:var(--radius-sm);text-align:left;font:inherit;color:var(--ink);cursor:pointer;transition:all var(--transition);min-width:0}.suggestion-row:hover,.suggestion-row:focus-visible{border-color:var(--green);background:var(--card);outline:none}.suggestion-add-icon{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;font-size:1.05rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}.suggestion-name{flex:1 1 auto;min-width:0;font-size:.92rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-count{flex:0 0 auto;font-size:1rem;font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}@media (max-width: 767px){.suggestions-list{gap:4px}.suggestion-row{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon name" "count count";gap:0 6px;padding:5px 8px;align-items:center}.suggestion-add-icon{grid-area:icon;width:20px;height:20px;font-size:.85rem}.suggestion-name{grid-area:name;font-size:.76rem;line-height:1.15;white-space:normal;word-break:break-word;overflow:visible;text-overflow:clip}.suggestion-count{grid-area:count;text-align:center;font-size:.88rem;font-weight:700;margin-top:1px}}.sync-card .sync-form{display:flex;flex-direction:column;gap:8px}.sync-card .sync-user{font-size:.85rem;color:var(--ink-soft)}.hero{text-align:center;padding:24px 16px;margin-bottom:12px}.hero h2{font-size:1.6rem;margin-bottom:8px}.hero p{color:var(--ink-soft);font-size:.95rem}.section-intro{padding:8px 0 12px}.section-intro h2{font-size:1.3rem;margin-bottom:4px}.section-intro p{font-size:.88rem;color:var(--ink-soft)}.section-intro-row{display:flex;justify-content:space-between;align-items:center}.meal-slots{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.meal-slot{text-align:center;padding:8px 2px;border:1.5px dashed var(--border);border-radius:var(--radius-xs);font-size:.7rem;color:var(--muted);cursor:pointer;transition:all var(--transition);min-height:60px}.meal-slot:hover{border-color:var(--green);background:var(--green-soft)}.meal-slot.filled{border-style:solid;border-color:var(--green);background:var(--green-soft);color:var(--green-deep)}.meal-slot .day-label{font-weight:700;font-size:.65rem;text-transform:uppercase;display:block;margin-bottom:2px}.collections-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.collection-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;transition:all var(--transition);text-align:center}.collection-btn:hover{border-color:var(--green);background:var(--green-soft)}.collection-icon{font-size:1.4rem;line-height:1}.collection-label{font-size:.82rem;font-weight:600;color:var(--ink)}.collection-count{font-size:.72rem;color:var(--muted)}.collection-btn.active{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 2px var(--green)}.fav-coll-header{display:flex;align-items:center;gap:12px;padding:12px 0}.fav-coll-title{flex:1;font-family:var(--font-sans);font-size:1.1rem;margin:0}.collection-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px}.collection-picker-modal{width:100%;max-width:360px;max-height:80dvh;overflow-y:auto;padding:20px;border-radius:var(--radius);box-shadow:0 8px 40px #0003}.collection-pick-btn{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card);font-size:.88rem;font-weight:500;color:var(--ink);cursor:pointer;transition:all var(--transition)}.collection-pick-btn:hover{border-color:var(--green);background:var(--green-soft)}.shop-list{display:flex;flex-direction:column;gap:12px}.shop-recipe-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all var(--transition)}.shop-recipe-card.ready{border-color:var(--green);background:var(--green-soft)}.shop-recipe-card.all-checked{opacity:.7}.shop-recipe-header{padding:12px 14px 8px}.shop-recipe-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.shop-recipe-title{font-size:.92rem;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;cursor:pointer}.shop-recipe-title:hover{text-decoration:underline;color:var(--green)}.shop-recipe-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.shop-recipe-notes-btn{font-size:1rem!important;opacity:.7}.shop-recipe-notes-btn:hover{opacity:1}.shop-recipe-delete-btn{font-size:1.1rem!important;opacity:.4}.shop-recipe-delete-btn:hover{opacity:1;color:var(--accent)}.shop-recipe-cook-btn{font-size:.72rem!important;padding:4px 10px!important;background:var(--green-soft);color:var(--green-deep);border:1px solid var(--green);border-radius:var(--radius-sm);font-weight:700;cursor:pointer;white-space:nowrap}.shop-recipe-cook-btn:hover{background:var(--green);color:#fff}.shop-recipe-fav-btn{font-size:.72rem!important;padding:4px 10px!important;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);font-weight:700;cursor:pointer;white-space:nowrap}.shop-recipe-fav-btn:hover{background:var(--accent);color:#fff}.shop-recipe-meta{margin-top:2px}.shop-recipe-count{font-size:.78rem;color:var(--accent);font-weight:600}.shop-recipe-ready{font-size:.78rem;color:var(--green);font-weight:700}.shop-recipe-items{border-top:1px solid var(--border);display:flex;flex-direction:column}.shop-item{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:.88rem;cursor:pointer;transition:all var(--transition);border-bottom:1px solid var(--border)}.shop-item:last-child{border-bottom:none}.shop-item:hover{background:var(--green-soft)}.shop-item.done{opacity:.45;text-decoration:line-through}.shop-check{width:20px;height:20px;border:2px solid var(--border);border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;transition:all var(--transition)}.shop-item.done .shop-check{background:var(--green);border-color:var(--green);color:#fff}.empty-state{text-align:center;padding:40px 20px;color:var(--muted)}.empty-state p{font-size:.92rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:200;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fadeIn .2s ease}.modal-overlay[hidden]{display:none!important}.modal{background:var(--card);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:640px;max-height:92dvh;overflow-y:auto;box-shadow:0 -4px 30px #00000026;animation:slideUp .25s ease}.modal-sm{max-height:60dvh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 12px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--card);z-index:1}.modal-title{font-size:1.15rem;font-weight:700;flex:1;padding-right:12px}.modal-close{background:none;border:none;font-size:1.6rem;color:var(--muted);padding:8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1;cursor:pointer;border-radius:var(--radius-xs)}.modal-close:hover{color:var(--ink)}.modal-body{padding:16px 20px 24px}.detail-img{width:100%;max-height:260px;object-fit:cover;border-radius:var(--radius);margin-bottom:14px}.detail-img-hero{max-height:340px;border-radius:0;margin:-16px -20px 14px;width:calc(100% + 40px)}.visitor-cta{display:block;text-align:center;padding:14px;background:var(--green);color:#fff;border-radius:var(--radius-sm);font-weight:700;font-size:1rem;margin-bottom:16px;transition:background var(--transition)}.visitor-cta:hover{background:var(--green-deep);text-decoration:none}.detail-ing.visitor-ing{padding:5px 10px;font-size:.88rem;color:var(--ink);background:none;border-bottom:1px solid var(--border)}.detail-ing.visitor-ing:last-child{border-bottom:none}.visitor-pitch{display:flex;align-items:center;gap:10px;background:var(--green-soft);border-radius:var(--radius-sm);padding:14px 16px;cursor:pointer;transition:background var(--transition);margin-top:8px}.visitor-pitch:hover{filter:brightness(.95)}.visitor-pitch-text{flex:1;display:flex;flex-direction:column;gap:2px}.visitor-pitch-text strong{font-size:.95rem;color:var(--green-deep)}.visitor-pitch-text span{font-size:.8rem;color:var(--green)}.visitor-pitch-arrow{font-size:1.2rem;color:var(--green)}.visitor-pitch-purple{background:#eeedfe;margin-top:0;margin-bottom:12px}.visitor-pitch-purple .visitor-pitch-text strong{color:#3c3489}.visitor-pitch-purple .visitor-pitch-text span,.visitor-pitch-purple .visitor-pitch-arrow{color:#534ab7}.detail-section{margin-bottom:16px}.detail-section h4{font-size:.85rem;font-weight:600;color:var(--ink-soft);margin-bottom:6px;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px}.detail-ing-list{list-style:none;display:flex;flex-direction:column;gap:4px}.detail-ing{padding:6px 10px;border-radius:var(--radius-xs);font-size:.88rem}.detail-ing.have{background:var(--green-soft);color:var(--green-deep)}.detail-ing.missing{background:var(--accent-soft);color:var(--accent)}.detail-ing .gf-swap,.detail-ing .sf-swap{margin-top:2px;font-size:.72rem}.detail-ing.has-benefits{cursor:pointer}.detail-ing.has-benefits .ing-name{display:flex;align-items:center;gap:6px}.ing-info-icon{font-size:.7rem;color:var(--muted);opacity:.6;flex-shrink:0}.detail-ing.benefits-open .ing-info-icon{opacity:1;color:var(--green)}.ing-benefits{margin-top:6px;padding:8px 10px;background:#fff9;border-radius:var(--radius-xs);display:flex;flex-direction:column;gap:3px}[data-theme=dark] .results-meta{color:#c4a0f0}[data-theme=dark] .ing-benefits{background:#0003}.ing-benefit{font-size:.78rem;color:var(--ink);line-height:1.4}.ing-evidence{font-size:.68rem;color:var(--muted);font-style:italic;margin-top:2px}.detail-cook-entry{font-size:.85rem;padding:4px 0;color:var(--ink);display:flex;align-items:center;gap:8px}.detail-cook-entry .cook-stars{color:#f5a623;font-size:.8rem;letter-spacing:1px}.detail-actions{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.detail-actions::-webkit-scrollbar{display:none}.detail-actions .btn,.detail-actions .detail-link{padding:7px 10px;font-size:.78rem;white-space:nowrap;flex:0 0 auto}.detail-link{display:inline-flex;align-items:center;gap:4px;padding:10px 18px;border-radius:var(--radius-sm);background:var(--green);color:#fff;font-weight:600;font-size:.9rem;transition:background var(--transition)}.detail-link:hover{background:var(--green-deep);text-decoration:none}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%) translateY(20px);background:var(--green-deep);color:#fff;padding:12px 24px;border-radius:24px;font-size:.9rem;font-weight:600;z-index:500;opacity:0;pointer-events:none;transition:all .3s ease;white-space:nowrap;box-shadow:0 6px 24px #0000004d}.toast.show{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.header-menu-btn{position:absolute;left:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--ink);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background var(--transition)}.header-menu-btn:hover{background:var(--hover)}@media (max-width: 768px){.header-menu-btn{display:none}}.pwa-toolbar{position:fixed;bottom:12px;left:50%;transform:translate(-50%);gap:16px;z-index:150;padding:8px 16px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0));background:transparent}.pwa-toolbar:not([hidden]){display:flex}.pwa-btn{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:transparent;color:var(--green);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.pwa-btn svg{stroke:var(--green)}.pwa-btn:hover,.pwa-btn:active{background:#2d7a4f1a;border-color:var(--green)}.pwa-btn.dark-active{border-color:var(--accent)}.pwa-btn.dark-active svg{stroke:var(--accent)}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.menu-overlay[hidden]{display:none}.menu-panel{position:absolute;bottom:0;left:0;right:0;max-height:85vh;background:var(--card);border-radius:20px 20px 0 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom,0));overflow-y:auto;animation:menuSlideUp .25s ease-out}@keyframes menuSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (min-width: 769px){.menu-panel{bottom:auto;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);max-width:480px;width:90%;max-height:80vh;border-radius:16px;animation:menuFadeIn .2s ease-out}@keyframes menuFadeIn{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}}.menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.menu-header h3{margin:0;font-size:1.2rem;color:var(--primary)}.menu-close-btn{background:none;border:none;font-size:1.8rem;color:var(--muted);cursor:pointer;padding:8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1;border-radius:var(--radius-xs)}.menu-nav{display:flex;flex-direction:column;gap:4px}.menu-item{display:block;width:100%;text-align:left;padding:14px 16px;border:none;background:none;font-size:1rem;color:var(--text);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition)}.menu-item:hover,.menu-item:active{background:var(--hover)}.menu-content{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.menu-content[hidden],.menu-section[hidden]{display:none}.menu-section h4{margin:0 0 12px;font-size:1.1rem;color:var(--primary)}.menu-section p{margin:0 0 8px;font-size:.92rem;line-height:1.5;color:var(--text)}.menu-back-btn{background:none;border:none;color:var(--primary);font-size:.95rem;cursor:pointer;padding:8px 0;margin-bottom:8px}.obd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0a1a13eb;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .3s}.obd-overlay.show{opacity:1;pointer-events:auto}.obd-overlay--inline{position:relative;inset:auto;z-index:auto;background:transparent;padding:32px 16px 64px;pointer-events:auto;min-height:auto}.obd-overlay--inline .obd-card{max-height:none;overflow-y:visible;box-shadow:0 6px 28px #00000014;background:#fff;color:#1a1a1a}.obd-overlay--inline .obd-title,.obd-overlay--inline .obd-sub,.obd-overlay--inline .obd-hook,.obd-overlay--inline .obd-stat,.obd-overlay--inline .obd-page-prompt,.obd-overlay--inline .obd-sub-label,.obd-overlay--inline .obd-cat-label{color:#1a1a1a}.obd-overlay--inline .obd-chip{background:#f5f0e6;color:#1a1a1a;border:1px solid rgba(0,0,0,.12)}.obd-why{background:#fff8e1;border:1px solid #f0e0a8;border-radius:12px;padding:12px 16px;margin:12px auto 16px;font-size:.92rem;line-height:1.5;color:#3a3a2a;text-align:left;max-width:420px}.obd-why strong{color:#1a1a1a}.obd-why em{font-style:italic}.obd-overlay--inline .obd-why{background:#fff8e1;color:#3a3a2a}.obd-overlay--inline .obd-chip.on,.obd-overlay--inline .obd-chip.allergy-on{background:#2d6a4f;color:#fff}.landing-onboarding-slot{display:none}.landing-onboarding-slot.revealed{display:block}.landing--hero-dismissed .landing-main{display:none}.obd-card{background:var(--bg);border-radius:18px;max-width:460px;width:100%;max-height:90vh;overflow-y:auto;padding:28px 24px;text-align:center;box-shadow:0 8px 40px #0006}.obd-sync-hint{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 14px;margin:0 0 18px;background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 28%,transparent);border-radius:12px;color:var(--green-deep);text-align:left;font:inherit;font-size:.85rem;line-height:1.35;cursor:pointer;transition:background .15s ease,transform .1s ease,border-color .15s ease}.obd-sync-hint:hover{background:color-mix(in srgb,var(--green-soft) 70%,var(--green) 15%);border-color:color-mix(in srgb,var(--green) 45%,transparent)}.obd-sync-hint:active{transform:scale(.99)}.obd-sync-hint-text strong{display:block;font-weight:600;color:var(--green-deep);margin-bottom:1px}.obd-sync-hint-text>span{color:var(--green);font-weight:500}.obd-sync-hint-icon{font-size:1.25rem;line-height:1;color:var(--green);flex-shrink:0}.obd-step{display:none}.obd-step.active{display:block}.obd-hero-icon{font-size:2rem;margin-bottom:8px;letter-spacing:4px}.obd-title{font-family:Georgia,serif;font-size:1.6rem;color:var(--green-deep);margin-bottom:10px}@media (max-width: 599px){.obd-card{padding:22px 16px}.obd-title{font-size:1.2rem;line-height:1.25}}.obd-hook{font-size:1.02rem;color:var(--ink);line-height:1.6;margin-bottom:14px;font-style:normal}.obd-hook em{font-style:italic;font-weight:600}.obd-sub{font-size:.92rem;color:#2c3e35;line-height:1.6;margin-bottom:14px}.obd-stat{font-size:.82rem;color:var(--green);font-weight:600;margin-bottom:6px;letter-spacing:.01em}.obd-skip-note{font-weight:400;opacity:.7}.obd-cat-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--green);margin:16px 0 6px;text-align:left;display:flex;align-items:baseline;gap:8px}.obd-cat-sub{font-weight:500;text-transform:none;font-size:.88rem;font-style:italic;color:#2c3e35;letter-spacing:normal}.obd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.obd-chip-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.obd-chip-hint{font-size:.78rem;color:#2c3e35;font-style:italic;font-weight:600;line-height:1.3;text-align:center;white-space:normal;word-wrap:break-word}.obd-chip{display:inline-flex;align-items:center;background:var(--card);border:1.5px solid var(--border);border-radius:99px;padding:6px 14px;font-size:.85rem;color:var(--green);cursor:pointer;transition:all .12s;-webkit-user-select:none;user-select:none}.obd-chip.on{background:var(--green-deep);color:var(--green-soft);border-color:var(--green-deep)}.obd-chip.allergy-on{background:#7f1d1d;color:#fecaca;border-color:#991b1b}.obd-btn{display:inline-block;padding:13px 32px;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .15s;margin-top:16px}.obd-btn-primary{background:var(--green-deep);color:var(--green-soft)}.obd-btn-primary:hover{background:var(--green)}.obd-btn-skip{background:none;color:var(--ink-soft);font-size:.85rem;border:none;cursor:pointer;margin-top:10px;text-decoration:underline}.obd-count{font-size:.85rem;color:var(--green);margin-top:10px;font-weight:600}.obd-progress{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.obd-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .2s}.obd-dot.on{background:var(--green-deep)}.obd-subpage-container{position:relative}.obd-subpage{display:none}.obd-subpage.active{display:block;animation:obdFadeIn .25s ease}@keyframes obdFadeIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.obd-sub-progress{display:flex;justify-content:center;gap:6px;margin-bottom:4px}.obd-sub-dot{width:28px;height:4px;border-radius:2px;background:var(--border);transition:background .25s}.obd-sub-dot.on{background:var(--green)}.obd-sub-label{font-size:.82rem;color:#2c3e35;font-weight:500;text-align:center;margin-bottom:8px}.obd-sub-nav{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}.obd-btn-back{background:transparent;color:var(--ink-soft);border:1.5px solid var(--border);padding:13px 24px}.obd-btn-back:hover{border-color:var(--green);color:var(--green)}.obd-sub-nav .obd-btn-primary{margin-top:0}.skeleton{background:linear-gradient(90deg,var(--bg2) 25%,var(--border) 50%,var(--bg2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-card{height:80px;margin-bottom:10px;border-radius:var(--radius)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 520px){.header-inner{flex-wrap:wrap;justify-content:center;gap:0 10px}.logo{font-size:1.5rem}.logo-tagline{width:100%;text-align:center;font-size:.75rem;margin-top:-2px}.header{padding:6px 0 4px}.tab-btn{flex:0 0 auto;font-size:.72rem;padding:6px;min-height:44px}.filter-bar{padding:4px 10px}.filter-bar .input-row{gap:6px;margin-bottom:4px}.filter-bar .text-input{padding:5px 10px}.filter-bar .btn-sm{padding:4px 10px}}@media (max-width: 400px){.logo{font-size:1.3rem;letter-spacing:1px}.logo-tagline{font-size:.68rem}.header-inner{gap:0 5px}.tab-btn{font-size:.68rem;padding:5px;min-height:44px}.qa-grid{grid-template-columns:repeat(2,1fr)}.meal-slots{grid-template-columns:repeat(4,1fr)}.nut-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 500px){#app{padding:0 24px}.modal{border-radius:var(--radius);margin:20px;max-height:85dvh}.modal-overlay{align-items:center;padding:20px}}@media print{.header,.tab-bar,.filter-bar,.filter-drawer,.toast{display:none!important}.tab-panel[hidden]{display:block!important}.r-card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}}.d-hi{color:var(--green);font-weight:700}.d-md{color:var(--accent);font-weight:700}.d-lo{color:var(--danger);font-weight:700}.muted{color:var(--muted)}.text-green{color:var(--green)}.text-accent{color:var(--accent)}.text-danger{color:var(--danger)}.fw-700{font-weight:700}.mt-8{margin-top:8px}.mb-8{margin-bottom:8px}.gap-8{gap:8px}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.hidden{display:none!important}.sub-hint{font-size:.75rem;color:var(--green);background:var(--green-soft);padding:4px 8px;border-radius:var(--radius-xs);margin-top:6px}.allergy-chip{background:var(--danger-soft)!important;color:var(--danger)!important;border:1px solid var(--danger)!important;font-weight:600}.allergen-add-chip{background:var(--surface);color:var(--ink-soft);border:1px dashed var(--border);font-size:.78rem;transition:background .15s,border-color .15s}.allergen-add-chip:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.allergy-swap{display:block;font-size:.68rem;font-weight:700;color:var(--allergen);margin-top:1px;line-height:1.2}.detail-allergen-swap{margin-top:4px;padding:6px 10px;background:var(--allergen-soft);color:var(--allergen);border-left:3px solid var(--allergen);border-radius:var(--radius-xs);font-size:.82rem;line-height:1.35}.detail-allergen-swap strong{font-weight:700}.gf-swap{display:block;font-size:.65rem;font-weight:600;color:var(--gluten);margin-top:2px;line-height:1.2}.c-sugar{background:var(--gluten-soft);color:var(--gluten);border:1px solid rgba(124,92,191,.2)}.sf-swap{display:block;font-size:.65rem;font-weight:600;color:var(--gluten);margin-top:2px;line-height:1.2}.btn-cook{background:var(--bg);border-color:var(--border);color:var(--ink)}.btn-cook:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.cook-history-header{display:grid;grid-template-columns:40px 1fr auto auto 36px;gap:8px;align-items:center;padding:4px 12px;font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);margin-bottom:4px}.cook-history-item{display:grid;grid-template-columns:40px 1fr auto auto 36px;gap:8px;align-items:center;padding:8px 12px;background:var(--bg);border-radius:var(--radius-sm);margin-bottom:4px;font-size:.85rem}.cook-history-img{width:40px;height:40px;border-radius:6px;object-fit:cover;flex-shrink:0}.cook-history-img-empty{background:var(--bg2)}.cook-history-link{color:var(--green-deep);text-decoration:none;cursor:pointer;font-weight:500}.cook-history-link:hover{text-decoration:underline}.cook-history-item .cook-stars{color:#f5a623;font-size:.8rem;white-space:nowrap}.cook-history-item .cook-date{font-size:.78rem;color:var(--muted);white-space:nowrap}.cook-history-header.has-notes,#madeItHistory .cook-history-item{grid-template-columns:40px 1fr 1fr 90px 100px 28px}.cook-stars-editable .star-btn{cursor:pointer;transition:transform .1s}.cook-stars-editable .star-btn:hover{transform:scale(1.3)}.cook-stars-editable .star-btn.on{color:#f5a623}.cook-note-preview{font-size:.78rem;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 520px){.cook-history-header.has-notes{display:none}#madeItHistory .cook-history-item{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:10px 12px;position:relative}#madeItHistory .cook-history-img{width:42px;height:42px;border-radius:8px}#madeItHistory .cook-history-link{flex:1;min-width:0;font-size:.9rem;white-space:normal;line-height:1.3}#madeItHistory .cook-delete-btn{position:absolute;top:8px;right:6px;padding:4px 6px;font-size:.8rem}#madeItHistory .cook-stars{margin-left:52px;font-size:.82rem}#madeItHistory .cook-date{font-size:.78rem}#madeItHistory .cook-note-preview{display:block;width:100%;margin-left:52px;white-space:normal;line-height:1.4;font-size:.8rem;padding-right:28px}}.cook-delete-btn{background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;padding:4px 8px;border-radius:var(--radius-xs);transition:color var(--transition),background var(--transition);line-height:1;flex-shrink:0;text-align:center}.cook-delete-btn:hover{color:var(--danger);background:var(--danger-soft)}.cook-share-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--green);color:#fff;border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;gap:12px;z-index:9999;box-shadow:0 4px 20px #0003;animation:toast-in .3s ease;max-width:420px;width:calc(100% - 32px)}.cook-share-toast-out{animation:toast-out .3s ease forwards}.cook-share-text{font-size:.9rem;font-weight:500;flex:1}.cook-share-btn{background:#fff3;border:none;border-radius:var(--radius-sm);padding:6px 14px;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s}.cook-share-btn:hover{background:#ffffff59}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#00000059;opacity:0;transition:opacity .3s ease;pointer-events:auto}.tour-overlay.show{opacity:1}.tour-tooltip{position:fixed;z-index:9001;background:var(--card);border-radius:var(--radius);padding:20px 18px 16px;box-shadow:0 8px 32px #0000002e,0 2px 8px #00000014;transition:opacity .25s ease,transform .25s ease;max-width:320px;text-align:center}.tour-arrow{position:absolute;top:-8px;width:16px;height:16px;background:var(--card);transform:rotate(45deg);border-radius:2px}.tour-step-count{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;font-weight:600}.tour-title{font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:6px}.tour-body{font-size:.88rem;line-height:1.5;color:var(--ink-soft);margin-bottom:16px}.tour-next-btn{display:inline-block;padding:10px 28px;border:none;border-radius:999px;background:var(--green);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:background var(--transition)}.tour-next-btn:hover{background:var(--green-deep)}.tour-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}.tour-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .2s}.tour-dot.on{background:var(--green)}@keyframes tour-pulse{0%,to{box-shadow:0 0 #2d7a4f73}50%{box-shadow:0 0 0 8px #2d7a4f00}}.tour-highlight{position:relative;z-index:9002;animation:tour-pulse 1.4s ease infinite;border-radius:var(--radius-sm)}.rate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8500;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease;-webkit-tap-highlight-color:transparent}.rate-overlay.show{opacity:1}.rate-card{background:var(--card);border-radius:var(--radius);padding:24px 28px 18px;text-align:center;box-shadow:0 8px 32px #0000002e;min-width:240px}.rate-title{font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:14px}.rate-stars{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.rate-star{font-size:2.2rem;color:var(--border);cursor:pointer;transition:color .15s,transform .15s;line-height:1;-webkit-user-select:none;user-select:none}.rate-star:hover,.rate-star.on{color:#f5a623;transform:scale(1.15)}.rate-skip{background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;padding:6px 16px;border-radius:999px;transition:background var(--transition)}.rate-skip:hover{background:var(--bg2)}.cook-confirm-btn{display:block;width:100%;padding:11px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font-size:.92rem;font-weight:600;cursor:pointer;margin-bottom:8px;transition:background var(--transition);touch-action:manipulation;min-height:44px}.cook-confirm-log{background:var(--green);color:#fff;border-color:var(--green)}.cook-confirm-log:hover{background:var(--green-deep)}.cook-confirm-undo{color:var(--danger);border-color:var(--danger)}.cook-confirm-undo:hover{background:var(--danger-soft)}.stars-display{color:#f5a623;font-size:.8rem;letter-spacing:1px;margin-left:4px}.tour-overlay{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.tour-next-btn{min-height:44px;touch-action:manipulation}@media (max-width: 520px){.tour-tooltip{max-width:calc(100vw - 24px);padding:16px 14px 14px}.tour-body{font-size:.84rem}}.wm-subtab-bar{display:flex;gap:0;margin-bottom:12px;border-bottom:2px solid var(--border)}.wm-subtab{padding:8px 16px;font-size:.85rem;font-weight:500;color:var(--ink-soft);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color var(--transition),border-color var(--transition)}.wm-subtab:hover{color:var(--ink)}.wm-subtab.on{color:var(--green);border-bottom-color:var(--green);font-weight:600}.wm-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--border);transition:background var(--transition)}.wm-row:hover{background:var(--bg2)}.wm-row-img{width:36px;height:36px;object-fit:cover;border-radius:var(--radius-xs);flex-shrink:0}.wm-row-img-empty{background:var(--bg2)}.wm-row-title{flex:1;min-width:0;font-weight:500;font-size:.88rem;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm-row-title:hover{color:var(--green)}.wm-row-status{font-size:.76rem;font-weight:500;white-space:nowrap;flex-shrink:0}.wm-ready{color:var(--green);font-weight:600}.wm-missing{color:var(--accent)}.wm-row-actions{display:flex;gap:2px;align-items:center;flex-shrink:0;position:relative;z-index:2}.wm-icon-btn{background:none;border:none;cursor:pointer;font-size:.9rem;padding:6px 10px;border-radius:var(--radius-xs);transition:background var(--transition),opacity var(--transition);line-height:1;display:inline-flex;align-items:center;gap:4px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.wm-icon-btn:hover{background:var(--bg2)}.wm-btn-label{font-size:.75rem;font-weight:500;color:var(--ink-soft);letter-spacing:.01em}.wm-fav-on .wm-btn-label{color:var(--ink)}.wm-cooked .wm-btn-label{color:var(--green-deep)}.wm-remove-btn .wm-btn-label{color:var(--muted)}.wm-remove-btn:hover .wm-btn-label{color:var(--danger)}.wm-in-shop{opacity:.5}.wm-remove-btn{color:var(--muted);font-size:1rem}.wm-remove-btn:hover{color:var(--danger);background:var(--danger-soft)}.wm-shop-btn.wm-in-shop{opacity:.6}.btn-green{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}.btn-green:hover{background:var(--green-deep)!important}.wm-empty-hint{font-size:.85rem;color:var(--muted);text-align:center;padding:24px 8px}.wm-history-table{font-size:.82rem}.wm-history-header{display:grid;grid-template-columns:1fr 90px 70px 50px 36px 36px 30px;gap:6px;padding:8px 10px;font-weight:600;color:var(--ink-soft);border-bottom:2px solid var(--border);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.wm-sort-col{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition)}.wm-sort-col:hover{color:var(--green)}.wm-history-row{display:grid;grid-template-columns:1fr 90px 70px 50px 36px 36px 30px;gap:6px;padding:8px 10px;align-items:center;border-bottom:1px solid var(--border);transition:background var(--transition)}.wm-history-row:hover{background:var(--bg2)}.wm-history-name{color:var(--ink);text-decoration:none;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm-history-name:hover{color:var(--green)}.wm-history-stars{color:#f5a623;letter-spacing:1px;font-size:.78rem}.wm-history-date{color:var(--ink-soft);font-size:.78rem}.wm-history-again{font-weight:500;text-align:center}.wm-again-yes{color:var(--green)}.wm-again-no{color:var(--danger)}.wm-hist-fav,.wm-hist-shop{font-size:.82rem;padding:2px 4px}@media (max-width: 600px){.wm-row{flex-wrap:wrap;gap:4px 8px;padding:8px}.wm-row-img{width:36px;height:36px}.wm-row-title{flex:1;min-width:0;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm-row-status{font-size:.72rem}.wm-row-actions{width:100%;justify-content:flex-end;gap:2px;margin-top:-2px}.wm-icon-btn{font-size:.8rem;padding:3px 4px}.wm-btn-label{display:none}.wm-history-header{grid-template-columns:1fr 70px 55px 36px 28px 28px 24px;font-size:.65rem;gap:3px;padding:6px}.wm-history-row{grid-template-columns:1fr 70px 55px 36px 28px 28px 24px;gap:3px;padding:6px;font-size:.75rem}.wm-history-stars,.wm-history-date{font-size:.7rem}}.fallback-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--card);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 20px #00000026;font-size:.88rem;max-width:92vw;animation:fallback-in .3s ease}.fallback-toast span{white-space:nowrap;color:var(--ink-soft)}.fallback-toast a{color:var(--green);font-weight:600;text-decoration:none;white-space:nowrap}.fallback-toast a:hover{text-decoration:underline}.fallback-toast-close{background:none;border:none;color:var(--muted);font-size:1.1rem;cursor:pointer;padding:0 2px;line-height:1}.fallback-toast-close:hover{color:var(--ink)}.fallback-toast-out{animation:fallback-out .3s ease forwards}@keyframes fallback-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fallback-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(12px)}}@media (max-width: 480px){.fallback-toast{bottom:70px;font-size:.82rem;padding:8px 12px;gap:8px}}.scan-banner{background:var(--green-soft);border:1.5px solid var(--green);border-left:4px solid var(--green)}.scan-banner-inner{display:flex;flex-direction:column;gap:4px}.scan-banner-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.scan-banner-title-row strong{font-size:.9rem;color:var(--ink)}.scan-banner-title-row .btn{flex-shrink:0}.scan-banner-desc{font-size:.82rem;line-height:1.4;color:var(--ink-soft)}.scan-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#1a2e248c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s ease}.scan-overlay.show{opacity:1}.scan-modal{background:var(--card);border-radius:var(--radius);padding:28px 24px;max-width:380px;width:100%;box-shadow:0 12px 48px #1a2e242e;text-align:center}.scan-confirm{max-width:440px;max-height:80vh;overflow-y:auto}.scan-title{margin:0 0 4px;font-size:1.1rem;font-weight:700;color:var(--ink)}.scan-status{font-size:.95rem;color:var(--ink);margin:12px 0 4px}.scan-sub{font-size:.82rem;color:var(--muted);margin:0 0 16px}.scan-spinner{width:40px;height:40px;margin:0 auto 12px;border:3px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:scan-spin .8s linear infinite}@keyframes scan-spin{to{transform:rotate(360deg)}}.scan-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}.scan-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:20px;border:1.5px solid var(--border);background:var(--bg);color:var(--ink-soft);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s ease}.scan-chip.on{background:var(--green-soft);border-color:var(--green);color:var(--green-deep)}.scan-chip:active{transform:scale(.95)}.scan-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.hv-install-card{display:flex;align-items:center;gap:14px;margin:24px 0 8px;padding:12px 14px;background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 25%,transparent);border-radius:12px;color:var(--green-deep);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.hv-install-card:hover{background:color-mix(in srgb,var(--green-soft) 70%,var(--green) 12%);border-color:color-mix(in srgb,var(--green) 40%,transparent)}.hv-install-card:focus-visible{outline:2px solid var(--green);outline-offset:2px}.hv-install-card:active{transform:scale(.998)}.hv-install-card__qr{flex-shrink:0;width:72px;height:72px;padding:5px;background:#fff;border-radius:8px;border:1px solid color-mix(in srgb,var(--green) 25%,transparent);color:var(--green-deep)}.hv-install-card__qr svg{width:100%;height:100%;display:block}.hv-install-card__copy{flex:1;min-width:0}.hv-install-card__line{font-family:Georgia,serif;font-size:.95rem;line-height:1.35;color:var(--green-deep)}.hv-install-card__line strong{font-weight:600}.hv-install-card__hint{font-size:.78rem;color:var(--green);margin-top:3px}.hv-install-card__close{flex-shrink:0;background:transparent;border:none;color:var(--ink-soft);font-size:1.2rem;line-height:1;padding:6px 10px;cursor:pointer;border-radius:6px;transition:background .12s ease,color .12s ease}.hv-install-card__close:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}@media (max-width: 600px){.hv-install-card{flex-wrap:wrap}.hv-install-card__copy{flex-basis:calc(100% - 92px)}.hv-install-card__close{margin-left:auto}}.hv-install-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10500;display:flex;align-items:center;justify-content:center}.hv-install-modal[hidden]{display:none}.hv-install-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c}.hv-install-modal__panel{position:relative;background:var(--bg);border-radius:16px;max-width:420px;width:calc(100% - 32px);padding:28px 24px 22px;text-align:center;box-shadow:0 8px 40px #00000059;color:var(--ink)}.hv-install-modal__close{position:absolute;top:10px;right:12px;background:transparent;border:none;color:var(--ink-soft);font-size:1.6rem;line-height:1;padding:4px 10px;cursor:pointer;border-radius:6px}.hv-install-modal__close:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.hv-install-modal__qr{width:200px;height:200px;margin:4px auto 18px;padding:10px;background:#fff;border-radius:12px;border:1px solid color-mix(in srgb,var(--green) 25%,transparent);color:var(--green-deep)}.hv-install-modal__qr svg{width:100%;height:100%;display:block}.hv-install-modal__title{font-family:Georgia,serif;font-size:1.05rem;line-height:1.4;color:var(--green-deep);margin-bottom:16px}.hv-install-modal__title strong{font-weight:600}.hv-install-modal__steps{text-align:left;margin:0 auto;padding-left:1.2em;max-width:320px;font-size:.92rem;line-height:1.6;color:var(--ink)}.hv-install-modal__steps li{margin-bottom:4px}.hv-install-modal__steps em{font-style:italic;color:var(--green-deep);font-weight:500}@media (max-width: 600px){.card-title.section-toggle{flex-wrap:wrap;row-gap:2px}.card-title.section-toggle .muted{flex-basis:100%;order:3;font-size:.78rem;font-weight:500;color:var(--ink-soft);margin-top:0;padding-left:26px}.card-title.section-toggle .guide-arrow{order:2;margin-left:auto}}.hv-app-icon{display:block;width:48px;height:48px;border-radius:22.37%;flex-shrink:0;border:.5px solid color-mix(in srgb,var(--ink) 8%,transparent)}.hv-home-tile{display:inline-flex;flex-direction:column;align-items:center;gap:4px;text-align:center;-webkit-user-select:none;user-select:none}.hv-home-tile .hv-app-icon{width:64px;height:64px}.hv-home-tile__label{font-size:.72rem;font-weight:500;letter-spacing:.05em;color:var(--ink);line-height:1}.hv-app-icon--inline{display:inline-block;width:1.4em;height:1.4em;vertical-align:-.32em;margin:0 .18em;border-radius:22.37%;border:.5px solid color-mix(in srgb,var(--ink) 10%,transparent)}.hv-install-modal__tile{margin:0 auto 14px}.hv-install-modal__tile .hv-app-icon{width:72px;height:72px}.hv-install-modal__tile .hv-home-tile__label{font-size:.78rem}.install-banner-icon{width:44px;height:44px}.install-instructions-tile{margin:4px auto 14px}.install-instructions-tile .hv-app-icon{width:76px;height:76px}.obd-home-hint{display:flex;align-items:center;justify-content:flex-start;gap:14px;width:100%;margin:16px 0 18px;padding:12px 14px;background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 22%,transparent);border-radius:12px;text-align:left;font:inherit;color:var(--green-deep);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.obd-home-hint:hover{background:color-mix(in srgb,var(--green-soft) 65%,var(--green) 18%);border-color:color-mix(in srgb,var(--green) 40%,transparent)}.obd-home-hint:focus-visible{outline:2px solid var(--green);outline-offset:2px}.obd-home-hint:active{transform:scale(.998)}.obd-home-hint .hv-home-tile .hv-app-icon{width:52px;height:52px}.obd-home-hint .hv-home-tile__label{font-size:.65rem}.obd-home-hint__text{flex:1;display:flex;flex-direction:column;gap:2px;font-size:.88rem;line-height:1.4;color:var(--green-deep);font-style:normal}.obd-home-hint__text strong{font-weight:600}.obd-home-hint__cta{font-size:.78rem;font-weight:500;color:var(--green)}.landing-signin-link{display:inline-flex;align-items:center;background:transparent;border:none;color:#1a2e24;font-family:inherit;font-size:1rem;font-weight:600;margin-top:12px;padding:8px 6px;cursor:pointer;text-decoration:none;border-bottom:1px solid #6b7d72;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.signin-tail-long{display:inline}.signin-tail-short{display:none}@media (max-width: 599px){.signin-tail-long{display:none}.signin-tail-short{display:inline}}.landing-signin-link:hover{color:var(--green-deep);border-bottom-color:var(--green)}.landing-signin-link:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.sin-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;display:flex;align-items:center;justify-content:center}.sin-modal[hidden]{display:none}.sin-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c}.sin-modal__panel{position:relative;background:var(--bg);border-radius:16px;max-width:420px;width:calc(100% - 32px);padding:32px 28px 24px;box-shadow:0 12px 48px #00000059;color:var(--ink);text-align:left}.sin-modal__close{position:absolute;top:10px;right:12px;background:transparent;border:none;color:var(--ink-soft);font-size:1.6rem;line-height:1;padding:4px 10px;cursor:pointer;border-radius:6px}.sin-modal__close:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.sin-step[hidden]{display:none}.sin-modal__title{font-family:Georgia,serif;font-size:1.5rem;color:var(--green-deep);margin:0 0 8px;font-weight:600}.sin-modal__sub{font-size:.92rem;color:var(--ink);line-height:1.5;margin:0 0 8px}.sin-modal__sub strong{color:var(--green-deep);font-weight:600}.sin-modal__reassure{font-size:.85rem;color:var(--green-deep);line-height:1.4;margin:0 0 18px}.sin-modal__reassure strong{font-weight:600}.sin-modal__input{display:block;width:100%;padding:12px 14px;font-size:1rem;font-family:inherit;background:var(--bg);color:var(--ink);border:1.5px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:10px;transition:border-color .15s ease;box-sizing:border-box}.sin-modal__input:focus{outline:none;border-color:var(--green)}.sin-modal__input--code{letter-spacing:.15em;font-variant-numeric:tabular-nums}.sin-modal__error{margin-top:8px;font-size:.82rem;color:#b85b3d}.sin-modal__btn{display:block;width:100%;margin-top:14px;padding:12px 18px;font-size:1rem;font-weight:600;font-family:inherit;background:var(--green-deep);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:background .15s ease,transform .08s ease}.sin-modal__btn:hover:not(:disabled){background:color-mix(in srgb,var(--green-deep) 88%,#000 12%)}.sin-modal__btn:active:not(:disabled){transform:scale(.99)}.sin-modal__btn:disabled{opacity:.6;cursor:progress}.sin-modal__back{display:block;width:100%;margin-top:10px;padding:8px;background:transparent;border:none;font-family:inherit;font-size:.85rem;color:var(--ink-soft);cursor:pointer;border-radius:6px}.sin-modal__back:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.sin-modal__newhere{margin:18px 0 0;padding:12px 14px;background:color-mix(in srgb,var(--ink) 4%,transparent);border-radius:10px;font-size:.82rem;color:var(--ink-soft);line-height:1.5}.sin-modal__newhere strong{color:var(--ink);letter-spacing:.02em;font-weight:600}.sin-modal__spinner{width:32px;height:32px;margin:16px auto 0;border:3px solid color-mix(in srgb,var(--green) 25%,transparent);border-top-color:var(--green-deep);border-radius:50%;animation:sin-spin .8s linear infinite}@keyframes sin-spin{to{transform:rotate(360deg)}}
