/*
! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:JetBrains Mono,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.flex{display:flex}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rounded{border-radius:.25rem}.border{border-width:1px}.italic{font-style:italic}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--paper:#faf6ef;--paper-2:#f3ecde;--paper-3:#ebe2cd;--ink:#1a1614;--ink-2:#4a4239;--ink-3:#8a7f70;--ink-faint:#b8ad9a;--tomato:#c8341f;--tomato-dark:#9a2818;--tomato-soft:#f4d5cc;--tomato-glow:rgba(200,52,31,.08);--sage:#5a7a4f;--sage-soft:#d8e3d2;--line:#d8cdb5;--line-soft:#e6dec7;--display:"Fraunces",Georgia,serif;--body:"Inter",system-ui,sans-serif;--mono:"JetBrains Mono",monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--body);font-weight:400;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.wrap{max-width:1240px;margin:0 auto;padding:0 32px;position:relative;z-index:1}nav{position:sticky;top:0;z-index:100;background:hsla(38,52%,96%,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-inner{justify-content:space-between;padding:22px 0}.logo,.nav-inner{display:flex;align-items:center}.logo{font-family:var(--display);font-size:24px;font-weight:500;font-style:italic;letter-spacing:-.02em;gap:8px;color:var(--ink);font-variation-settings:"SOFT" 80,"WONK" 1}.logo-mark{width:22px;height:22px;background:var(--tomato);border-radius:50%;position:relative}.logo-mark:after{content:"";position:absolute;top:-3px;left:8px;width:6px;height:8px;background:var(--sage);border-radius:50% 50% 50% 0;transform:rotate(-30deg)}.nav-links{display:flex;align-items:center;gap:32px;font-size:14px;color:var(--ink-2)}.nav-links a{color:inherit;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--tomato)}.nav-cta{background:var(--ink);padding:10px 20px;border-radius:100px;font-weight:500;font-size:13px;transition:all .2s}.nav-cta,.nav-cta:hover{color:var(--paper)!important}.nav-cta:hover{background:var(--tomato)}.hero{padding:72px 0 90px;position:relative}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:start}.clock-row{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;background:var(--paper-2);border:1px solid var(--line);border-radius:100px;margin-bottom:32px;opacity:0;animation:fadeUp .7s .1s forwards}.clock-dot{width:6px;height:6px;border-radius:50%;background:var(--tomato);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.clock-time{font-family:var(--mono);font-size:12px;color:var(--ink);font-weight:500;letter-spacing:.05em}.clock-label{font-size:12px;color:var(--ink-3)}h1{font-family:var(--display);font-weight:300;font-size:clamp(46px,6.5vw,88px);line-height:.95;letter-spacing:-.035em;color:var(--ink);margin-bottom:28px;font-variation-settings:"SOFT" 50,"WONK" 1}h1 .em{font-style:italic;font-weight:400;color:var(--tomato);font-variation-settings:"SOFT" 100,"WONK" 1}h1 .line{display:block;opacity:0;animation:fadeUp .85s forwards}h1 .line:first-child{animation-delay:.2s}h1 .line:nth-child(2){animation-delay:.35s}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-sub{font-size:18px;color:var(--ink-2);max-width:480px;margin-bottom:36px;line-height:1.55;opacity:0;animation:fadeUp .8s .6s forwards}.cta-row{display:flex;align-items:center;gap:20px;opacity:0;animation:fadeUp .8s .8s forwards;flex-wrap:wrap}.cta-primary{background:var(--ink);color:var(--paper);padding:15px 26px;border:none;border-radius:100px;font-size:14px;font-weight:500;font-family:var(--body);cursor:pointer;transition:all .25s;display:inline-flex;align-items:center;gap:10px;text-decoration:none}.cta-primary:hover{background:var(--tomato);transform:translateY(-1px);box-shadow:0 8px 24px rgba(200,52,31,.25);color:var(--paper)}.cta-arrow{transition:transform .25s}.cta-primary:hover .cta-arrow{transform:translateX(3px)}.cta-secondary{color:var(--ink-2);font-size:14px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:color .2s}.cta-secondary:hover{color:var(--tomato)}.cta-secondary:after{content:"";display:inline-block;width:14px;height:1px;background:currentColor;transition:width .25s}.cta-secondary:hover:after{width:24px}.hero-trust{margin-top:24px;font-size:13px;color:var(--ink-3);display:flex;align-items:center;gap:14px;opacity:0;animation:fadeUp .8s 1s forwards}.hero-trust .dot{width:4px;height:4px;background:var(--sage);border-radius:50%}.fridge{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;position:relative;opacity:0;animation:fadeUp .9s .3s forwards;box-shadow:0 1px 0 var(--paper-2),0 24px 60px -20px rgba(58,42,28,.15),0 0 0 1px rgba(0,0,0,.02)}.fridge:before{content:"try it";position:absolute;top:-10px;left:24px;background:var(--tomato);color:var(--paper);font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding:4px 10px;border-radius:100px}.fridge-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding-bottom:18px;border-bottom:1px dashed var(--line)}.fridge-title{font-family:var(--display);font-size:18px;font-style:italic;font-weight:400;color:var(--ink);letter-spacing:-.01em;font-variation-settings:"SOFT" 80,"WONK" 1}.fridge-step{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase}.ingredient-input-row{display:flex;gap:8px;margin-bottom:14px}.ingredient-input{flex:1;background:var(--paper-2);border:1px solid transparent;color:var(--ink);padding:12px 16px;border-radius:10px;font-family:var(--body);font-size:14px;transition:all .2s}.ingredient-input:focus{outline:none;background:var(--paper);border-color:var(--tomato);box-shadow:0 0 0 3px var(--tomato-glow)}.ingredient-input::-moz-placeholder{color:var(--ink-faint)}.ingredient-input::placeholder{color:var(--ink-faint)}.add-btn{background:var(--ink);border:none;color:var(--paper);width:44px;height:44px;border-radius:10px;cursor:pointer;font-size:20px;transition:all .2s;display:flex;align-items:center;justify-content:center}.add-btn:hover{background:var(--tomato);transform:scale(1.05)}.chips{min-height:84px;padding:14px;background:var(--paper-2);border:1px dashed var(--line);border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;margin-bottom:18px;transition:all .2s}.chips.has-items{border-style:solid;border-color:var(--line);background:var(--paper)}.chips-empty{color:var(--ink-faint);font-size:13px;width:100%;text-align:center;align-self:center;padding:16px 0;font-style:italic}.chip{background:var(--paper);border:1px solid var(--line);color:var(--ink);padding:8px 10px 8px 14px;border-radius:100px;font-size:13px;display:inline-flex;align-items:center;gap:8px;animation:chipIn .3s ease-out;transition:all .2s}.chip:hover{border-color:var(--tomato);background:var(--tomato-soft);color:var(--tomato-dark)}.chip-x{cursor:pointer;color:var(--ink-3);transition:color .2s;font-size:14px;line-height:1;padding:0 2px}.chip-x:hover{color:var(--tomato)}.fridge-label{font-size:12px;color:var(--ink-3);margin-bottom:10px}.suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}.sug-chip{background:transparent;border:1px solid var(--line);color:var(--ink-2);padding:6px 12px;border-radius:100px;font-size:12px;cursor:pointer;transition:all .15s;font-family:var(--body)}.sug-chip:hover{border-color:var(--sage);color:var(--sage);background:var(--sage-soft)}.sug-chip.used{opacity:.3;pointer-events:none}.cook-btn{width:100%;background:var(--ink);color:var(--paper);border:none;padding:16px;border-radius:12px;font-family:var(--body);font-size:14px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.cook-btn:disabled{background:var(--paper-2);color:var(--ink-faint);cursor:not-allowed}.cook-btn:not(:disabled):hover{background:var(--tomato);transform:translateY(-1px);box-shadow:0 6px 20px rgba(200,52,31,.3)}.recipe-result{margin-top:20px;padding:18px;background:var(--sage-soft);border-radius:12px;border:1px solid #c4d3bc}.recipe-result.show{animation:fadeUp .5s ease-out}.recipe-meta{gap:14px;font-size:10px;color:#4a5e42;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}.recipe-meta span{color:var(--sage);font-weight:500}.recipe-title{font-size:24px;letter-spacing:-.02em;margin-bottom:8px}.recipe-desc{font-size:14px;color:var(--ink-2);line-height:1.55;margin-bottom:14px}.recipe-link{color:var(--sage);font-size:13px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;font-weight:500;padding-bottom:2px;background:none;border:none;border-bottom:1px solid var(--sage);cursor:pointer;font-family:var(--body)}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:6px;height:6px;background:var(--paper);border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2);padding:18px 0;overflow:hidden;white-space:nowrap}.marquee-track{display:inline-block;animation:marqueeScroll 40s linear infinite;font-family:var(--display);font-size:22px;font-style:italic;color:var(--ink-2);font-variation-settings:"SOFT" 80,"WONK" 1}.marquee-track span{margin:0 24px}.marquee-track .dot{color:var(--tomato);margin:0 8px}@keyframes marqueeScroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.section-label{font-family:var(--mono);font-size:11px;color:var(--tomato);letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:12px}.section-label:before{content:"";width:24px;height:1px;background:var(--tomato)}.section-title{font-family:var(--display);font-size:clamp(34px,5vw,56px);font-weight:300;line-height:1.05;letter-spacing:-.03em;margin-bottom:60px;max-width:760px;color:var(--ink);font-variation-settings:"SOFT" 60,"WONK" 1}.section-title .em{font-style:italic;color:var(--tomato);font-weight:400}.how{padding:100px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{padding:32px;background:var(--paper);border:1px solid var(--line);border-radius:16px;position:relative;transition:all .3s}.step:hover{transform:translateY(-4px);border-color:var(--tomato);box-shadow:0 12px 32px -12px rgba(58,42,28,.2)}.step-num{font-family:var(--display);font-size:42px;font-weight:300;font-style:italic;color:var(--tomato);line-height:1;margin-bottom:16px;font-variation-settings:"SOFT" 100,"WONK" 1}.step-title{font-family:var(--display);font-size:22px;font-weight:400;margin-bottom:12px;letter-spacing:-.02em;color:var(--ink)}.step-body{font-size:14px;color:var(--ink-2);line-height:1.6}.step-body code{font-family:var(--mono);font-size:12px;padding:2px 6px;border-radius:4px;color:var(--tomato)}.pillar,.step-body code{background:var(--paper-2)}.pillar{padding:100px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pillar-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}.pillar-list{display:flex;flex-direction:column;gap:10px}.pillar-item{display:flex;align-items:center;gap:18px;padding:18px 22px;background:var(--paper);border:1px solid var(--line);border-radius:12px;transition:all .25s;cursor:pointer}.pillar-item:hover{border-color:var(--tomato);transform:translateX(4px)}.pillar-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-style:italic;font-size:18px;font-weight:500;flex-shrink:0;font-variation-settings:"SOFT" 100}.pillar-icon.openai{background:#d8e9e1;color:#0e6b51}.pillar-icon.claude{background:var(--tomato-soft);color:var(--tomato-dark)}.pillar-icon.gemini{background:#d8e0ef;color:#2c4d96}.pillar-info{flex:1}.pillar-name{font-family:var(--display);font-size:18px;font-weight:400;margin-bottom:3px;color:var(--ink)}.pillar-url{font-family:var(--mono);font-size:11px;color:var(--ink-3)}.pillar-arrow{color:var(--ink-faint);transition:all .2s;font-family:var(--mono);font-size:18px}.pillar-item:hover .pillar-arrow{color:var(--tomato);transform:translateX(3px)}.promises{padding:100px 0}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.promise{border-top:1px solid var(--ink);padding-top:20px}.promise:first-child{border-top-color:var(--tomato)}.promise-num{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.15em;margin-bottom:14px}.promise-title{font-family:var(--display);font-size:26px;font-weight:400;line-height:1.15;letter-spacing:-.02em;margin-bottom:12px;color:var(--ink);font-variation-settings:"SOFT" 60,"WONK" 1}.promise-title em{font-style:italic;color:var(--tomato);font-variation-settings:"SOFT" 100,"WONK" 1}.promise-body{font-size:14px;color:var(--ink-2);line-height:1.6}.faq{padding:100px 0;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.faq-list{max-width:760px}.faq-item{border-bottom:1px solid var(--line);padding:20px 0;cursor:pointer}.faq-item:first-child{border-top:1px solid var(--line)}.faq-q{justify-content:space-between;gap:16px;font-family:var(--display);font-size:20px;font-weight:400;letter-spacing:-.01em;color:var(--ink);font-variation-settings:"SOFT" 40,"WONK" 1}.faq-q,.faq-toggle{display:flex;align-items:center}.faq-toggle{width:24px;height:24px;border-radius:50%;border:1px solid var(--line);justify-content:center;flex-shrink:0;transition:all .2s;font-size:14px;color:var(--ink-2)}.faq-item.open .faq-toggle{background:var(--tomato);color:var(--paper);border-color:var(--tomato);transform:rotate(45deg)}.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding-top .35s ease;font-size:14px;color:var(--ink-2);line-height:1.6}.faq-item.open .faq-a{max-height:200px;padding-top:14px}.final{padding:120px 0;text-align:center;position:relative;overflow:hidden}.final-content{position:relative;z-index:1}.final h2{font-family:var(--display);font-size:clamp(46px,6.5vw,80px);font-weight:300;line-height:.98;letter-spacing:-.035em;margin-bottom:26px;color:var(--ink);font-variation-settings:"SOFT" 70,"WONK" 1}.final h2 .em{font-style:italic;color:var(--tomato);font-weight:400}.final p{color:var(--ink-2);font-size:17px;max-width:460px;margin:0 auto 36px}footer{border-top:1px solid var(--line);padding:32px 0;background:var(--paper-2)}.foot{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--ink-3)}.foot a{color:inherit;text-decoration:none;transition:color .2s}.foot a:hover{color:var(--tomato)}.foot-links{display:flex;gap:28px}.signin-shell{min-height:100vh;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.signin-logo{font-family:var(--display);font-size:26px;font-style:italic;font-weight:400;color:var(--ink);letter-spacing:-.02em;margin-bottom:36px;font-variation-settings:"SOFT" 80,"WONK" 1}.signin-card{width:100%;max-width:400px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:40px}.signin-heading{font-family:var(--display);font-size:24px;font-weight:400;font-style:italic;color:var(--ink);letter-spacing:-.02em;margin-bottom:8px;font-variation-settings:"SOFT" 80,"WONK" 1}.signin-sub{font-size:14px;color:var(--ink-3);line-height:1.55;margin-bottom:28px}.signin-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c}.signin-error,.signin-notice{padding:12px 16px;font-size:13px;margin-bottom:20px;line-height:1.5}.signin-notice{background:var(--sage-soft,#ecf3e8);border:1px solid #cfe0c5;border-radius:8px;color:#2f6b2a}.signup-exists-notice{background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;padding:14px 16px;margin-bottom:20px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink);line-height:1.55}.signup-exists-icon{font-size:20px;margin-bottom:2px}.signup-exists-sub{font-size:12px;color:var(--ink-3)}.field-input-warn{border-color:#f59e0b!important;box-shadow:0 0 0 3px rgba(245,158,11,.15)!important}.field-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.field-row .field-label{margin-bottom:0}.field-aside{font-size:12px}.field-locked{display:flex;align-items:center;justify-content:space-between;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:20px}.field-locked-value{font-family:var(--mono);font-size:14px;color:var(--ink);word-break:break-all}.field-locked-tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#2f6b2a;background:var(--sage-soft,#ecf3e8);border-radius:100px;padding:4px 10px;flex-shrink:0;margin-left:12px}.signin-back{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);text-align:center}.signin-footnote{margin-top:20px;color:var(--ink-faint);font-size:12px;text-align:center;max-width:340px}.verify-icon{width:56px;height:56px;background:var(--sage-soft);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 24px}.verify-email-badge{font-family:var(--mono);font-size:13px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);padding:8px 16px;border-radius:100px;display:inline-block;margin-bottom:20px}.field-label{display:block;font-size:11px;font-family:var(--mono);color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.field-input{width:100%;background:var(--paper-2);border:1px solid transparent;border-radius:10px;padding:12px 16px;font-family:var(--body);font-size:15px;color:var(--ink);margin-bottom:16px;outline:none;transition:all .2s;box-sizing:border-box}.field-input:focus{background:#fff;border-color:var(--tomato);box-shadow:0 0 0 3px var(--tomato-glow)}.field-input::-moz-placeholder{color:var(--ink-faint)}.field-input::placeholder{color:var(--ink-faint)}.field-input:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--paper);border:none;border-radius:100px;padding:13px 22px;font-family:var(--body);font-size:14px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover:not(:disabled){background:var(--tomato)}.btn-primary:disabled{background:var(--paper-2);color:var(--ink-faint);cursor:not-allowed}.btn-full{width:100%}.link-muted{color:var(--ink-3);font-size:13px;text-decoration:none;transition:color .2s}.link-muted:hover{color:var(--ink)}.link-tomato{color:var(--tomato);text-decoration:none;font-weight:500}.link-tomato:hover{color:var(--tomato-dark)}.app-shell{display:flex;min-height:100vh;background:var(--paper)}.sidebar{width:216px;flex-shrink:0;background:var(--paper-2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 12px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-logo{font-family:var(--display);font-size:19px;font-style:italic;font-weight:400;color:var(--ink);letter-spacing:-.02em;padding:4px 10px 0;margin-bottom:28px;font-variation-settings:"SOFT" 80,"WONK" 1}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:var(--ink-2);text-decoration:none;font-size:14px;transition:all .15s}.sidebar-link:hover{background:var(--paper-3);color:var(--ink)}.sidebar-link.active{background:var(--paper);color:var(--ink);font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.06)}.sidebar-footer{border-top:1px solid var(--line);padding-top:14px;margin-top:8px}.sidebar-email{font-family:var(--mono);font-size:11px;color:var(--ink-3);padding:0 10px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.03em}.sidebar-signout{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:8px;color:var(--ink-3);font-family:var(--body);font-size:13px;cursor:pointer;transition:all .15s}.sidebar-signout:hover{background:var(--tomato-soft);color:var(--tomato-dark)}.app-main{flex:1;overflow-y:auto}.mobile-topbar{display:none}.mobile-topbar-logo{font-family:var(--display);font-size:18px;font-style:italic;font-weight:400;color:var(--ink);letter-spacing:-.02em;font-variation-settings:"SOFT" 80,"WONK" 1}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--ink-2);transition:background .15s,color .15s}.mobile-menu-btn:hover{background:var(--paper-3);color:var(--ink)}.mobile-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;animation:fadeIn .15s ease}.mobile-drawer{position:absolute;top:0;left:0;bottom:0;width:260px;background:var(--paper-2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 12px;animation:slideInLeft .2s ease}.mobile-drawer-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--ink-3);margin-bottom:8px;align-self:flex-end;transition:background .15s}.mobile-drawer-close:hover{background:var(--paper-3);color:var(--ink)}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.app-placeholder{display:flex;align-items:center;justify-content:center;min-height:100%;padding:60px 32px}.app-placeholder-inner{text-align:center;max-width:420px}.app-placeholder-icon{width:64px;height:64px;background:var(--paper-2);border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--ink-3);margin:0 auto 24px}.app-placeholder-title{font-family:var(--display);font-size:26px;font-weight:400;font-style:italic;color:var(--ink);letter-spacing:-.02em;margin-bottom:12px;font-variation-settings:"SOFT" 80,"WONK" 1}.app-placeholder-body{font-size:15px;color:var(--ink-2);line-height:1.6;margin-bottom:24px}.app-placeholder-badge{display:inline-flex;align-items:center;gap:8px;background:var(--sage-soft);border:1px solid #c4d3bc;color:var(--sage);border-radius:100px;padding:7px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em}.badge-dot{width:6px;height:6px;background:var(--sage);border-radius:50%;animation:pulse 2s ease-in-out infinite}@media (max-width:960px){.hero-grid{gap:56px}.hero-grid,.pillar-grid,.steps{grid-template-columns:1fr}.pillar-grid{gap:40px}.promise-grid{grid-template-columns:1fr;gap:28px}}@media (max-width:600px){.wrap{padding:0 20px}.nav-inner{padding:22px 10px}.nav-links{gap:16px}.nav-links a:not(.nav-cta){display:none}.hero{padding:56px 0 70px}.cta-row{flex-direction:column;align-items:stretch}.cta-primary{justify-content:center}.foot{flex-direction:column;gap:14px;text-align:center}.clock-row{flex-wrap:wrap}}.wizard-wrap{display:flex;flex-direction:column;min-height:100vh;position:relative;padding-bottom:120px}.wizard-progress{padding:0 32px;height:56px;border-bottom:1px solid var(--line-soft);background:var(--paper);position:sticky;top:0;z-index:10}.wizard-progress,.wizard-step-item{display:flex;align-items:center}.wizard-connector{display:block;width:40px;height:1px;background:var(--line);flex-shrink:0;margin:0 4px;transition:background .2s}.wizard-connector-done{background:var(--tomato);opacity:.35}.wizard-step-btn{display:flex;align-items:center;gap:8px;padding:6px 10px;background:none;border:none;cursor:default;font-family:var(--body);font-size:13px;color:var(--ink-3);border-radius:8px;transition:color .15s,background .15s;white-space:nowrap}.wizard-step-btn:not(:disabled){cursor:pointer}.wizard-step-btn:not(:disabled):hover{background:var(--paper-2)}.wizard-dot-circle{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:11px;font-family:var(--mono);background:var(--paper);transition:all .2s;flex-shrink:0}.wizard-step-current .wizard-dot-circle{border-color:var(--tomato);color:var(--tomato);font-weight:600}.wizard-step-completed .wizard-dot-circle{background:var(--tomato);border-color:var(--tomato);color:#fff}.wizard-dot-label{font-size:13px}.wizard-step-current .wizard-dot-label{color:var(--ink);font-weight:500}.wizard-step-completed .wizard-dot-label{color:var(--ink-2)}.wizard-step-future .wizard-dot-label{color:var(--ink-faint)}.wizard-returning-banner{background:var(--sage-soft);border-bottom:1px solid #c4d3bc;padding:10px 32px;font-size:13px;color:var(--sage);display:flex;align-items:center;gap:4px}.wizard-fresh-btn{background:none;border:none;cursor:pointer;color:var(--ink-3);font-size:13px;margin-left:12px;font-family:var(--body)}.wizard-fresh-btn:hover{color:var(--ink)}.wizard-content{flex:1;max-width:720px;margin:0 auto;padding:40px 32px 24px;width:100%}.wizard-header{margin-bottom:32px}.wizard-title{font-family:var(--display);font-size:32px;font-weight:400;font-style:italic;color:var(--ink);letter-spacing:-.02em;margin-bottom:6px;font-variation-settings:"SOFT" 80,"WONK" 1}.wizard-subtitle{font-family:var(--mono);font-size:12px;color:var(--ink-3);letter-spacing:.06em}.wizard-footer{position:fixed;bottom:0;left:216px;right:0;background:hsla(38,52%,96%,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:20}.wizard-footer-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;max-width:720px + 64px}.wizard-back-link{color:var(--ink-3);text-decoration:none;font-size:14px;transition:color .15s}.wizard-back-link:hover{color:var(--ink)}.wizard-footer-helper{font-size:13px;color:var(--ink-3);font-family:var(--mono)}.wizard-continue-btn{background:var(--tomato);color:#fff;border:none;border-radius:100px;padding:11px 24px;font-family:var(--body);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px}.wizard-continue-btn:hover:not(:disabled){background:var(--tomato-dark)}.wizard-continue-btn:disabled{background:var(--paper-3);color:var(--ink-faint);cursor:not-allowed}.wizard-btn-loading{display:flex;align-items:center;gap:8px}.btn-spinner{width:14px;height:14px;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.autosave-indicator{position:fixed;bottom:72px;right:20px;display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;color:var(--ink-faint);opacity:0;transition:opacity .3s;pointer-events:none}.autosave-visible{opacity:1}.ing-input-wrap{display:flex;flex-direction:column;gap:16px}.ing-empty-hint{font-size:14px;color:var(--ink-3);line-height:1.6;padding:12px 0}.ing-input-box{position:relative;background:var(--paper-2);border:1px solid transparent;border-radius:12px;transition:all .15s}.ing-input-focused{background:#fff;border-color:var(--tomato);box-shadow:0 0 0 3px var(--tomato-glow)}.ing-text-input{width:100%;padding:14px 16px;background:transparent;border:none;outline:none;font-family:var(--body);font-size:15px;color:var(--ink)}.ing-text-input::-moz-placeholder{color:var(--ink-faint)}.ing-text-input::placeholder{color:var(--ink-faint)}.ing-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.1);margin-top:4px;z-index:50;padding:4px 0;list-style:none}.ing-suggestion{padding:9px 16px;font-size:14px;color:var(--ink-2);cursor:pointer;transition:background .1s}.ing-suggestion-active,.ing-suggestion:hover{background:var(--paper-2);color:var(--ink)}.quick-add-row{display:flex;flex-wrap:wrap;gap:8px}.quick-add-chip{padding:6px 14px;background:var(--paper-2);border:1px solid var(--line-soft);border-radius:100px;font-size:13px;color:var(--ink-2);cursor:pointer;transition:all .15s;font-family:var(--body)}.quick-add-chip:hover:not(:disabled){background:var(--tomato-soft);border-color:var(--tomato);color:var(--tomato-dark)}.quick-add-used{opacity:.35;cursor:default}.ing-chips-area{min-height:56px;display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px;background:var(--paper-2);border:1px dashed var(--line);border-radius:12px;align-content:flex-start}.ing-chips-empty{font-size:13px;color:var(--ink-faint);align-self:center}.ing-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 12px;background:var(--paper);border:1px solid var(--line);border-radius:100px;font-size:13px;color:var(--ink);animation:chipIn .15s ease-out}@keyframes chipIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.ing-chip-remove{display:flex;align-items:center;background:none;border:none;cursor:pointer;color:var(--ink-3);padding:2px;border-radius:50%;transition:all .15s}.ing-chip-remove:hover{color:var(--tomato);background:var(--tomato-soft)}.ing-controls{justify-content:space-between;flex-wrap:wrap}.ing-controls,.pantry-toggle{display:flex;align-items:center;gap:8px}.pantry-toggle{font-size:14px;color:var(--ink-2);cursor:pointer}.pantry-toggle input{accent-color:var(--tomato);cursor:pointer}.ing-clear-btn,.pantry-toggle-hint{font-size:12px;color:var(--ink-3)}.ing-clear-btn{background:none;border:none;cursor:pointer;font-family:var(--body);padding:4px 8px;border-radius:6px;transition:all .15s}.ing-clear-btn:hover{color:var(--tomato);background:var(--tomato-soft)}.prefs-form{gap:28px}.pref-section,.prefs-form{display:flex;flex-direction:column}.pref-section{gap:10px}.pref-label{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase}.pill-row{display:flex;flex-wrap:wrap;gap:8px}.pill-btn{padding:7px 16px;border-radius:100px;border:1.5px solid var(--line);background:var(--paper-2);font-family:var(--body);font-size:13px;color:var(--ink-2);cursor:pointer;transition:all .15s}.pill-btn:hover{border-color:var(--tomato);color:var(--tomato);background:var(--paper)}.pill-btn-active{background:var(--tomato);border-color:var(--tomato);color:#fff}.pill-btn-active:hover{background:var(--tomato-dark);border-color:var(--tomato-dark);color:#fff}.allergy-chips{display:flex;flex-wrap:wrap;gap:8px}.allergy-chip{padding:5px 12px;background:var(--tomato-soft);border:1px solid var(--tomato);border-radius:100px;font-size:13px;color:var(--tomato-dark);cursor:pointer;transition:all .15s;font-family:var(--body)}.allergy-chip:hover{background:var(--tomato);color:#fff}.allergy-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.pref-slider{width:100%;accent-color:var(--tomato);height:4px;cursor:pointer}.slider-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-faint);margin-top:4px;font-family:var(--mono)}.servings-stepper{gap:16px}.servings-stepper,.stepper-btn{display:flex;align-items:center}.stepper-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper-2);font-size:18px;font-weight:300;cursor:pointer;color:var(--ink-2);justify-content:center;transition:all .15s;line-height:1;font-family:var(--body)}.stepper-btn:hover:not(:disabled){border-color:var(--tomato);color:var(--tomato)}.stepper-btn:disabled{opacity:.4;cursor:not-allowed}.stepper-value{font-family:var(--mono);font-size:20px;font-weight:500;color:var(--ink);min-width:28px;text-align:center}.pref-summary{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px solid var(--line-soft)}.pref-summary-chip{padding:4px 12px;background:var(--paper-3);border-radius:100px;font-size:12px;color:var(--ink-2);font-family:var(--mono)}.save-defaults-btn{align-self:flex-start;background:none;border:none;cursor:pointer;color:var(--ink-3);font-size:13px;font-family:var(--body);text-decoration:underline;padding:0;transition:color .15s}.save-defaults-btn:hover{color:var(--tomato)}.provider-picker{display:flex;flex-direction:column;gap:24px}.provider-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.provider-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 16px;background:var(--paper-2);border:2px solid transparent;border-radius:16px;cursor:pointer;transition:all .15s;text-align:center;font-family:var(--body)}.provider-card:hover{border-color:var(--line);background:var(--paper)}.provider-card-selected{border-color:var(--tomato)!important;background:var(--paper)!important;box-shadow:0 0 0 3px var(--tomato-glow)}.provider-card-icon{font-size:28px;margin-bottom:4px}.provider-card-name{font-family:var(--display);font-size:17px;font-style:italic;font-weight:400;color:var(--ink);font-variation-settings:"SOFT" 80,"WONK" 1}.provider-card-tagline{font-size:12px;color:var(--ink-3)}.provider-status-badge{display:flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:11px;font-family:var(--mono);margin-top:4px}.provider-status-connected{background:var(--sage-soft);color:var(--sage)}.provider-status-none{background:var(--paper-3);color:var(--ink-faint)}.provider-selected-check{position:absolute;top:10px;right:10px;color:var(--tomato)}.provider-config{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:20px}.model-selector{margin-bottom:4px}.model-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.model-option{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px;background:var(--paper);border:1.5px solid var(--line);border-radius:12px;cursor:pointer;font-family:var(--body);transition:all .15s;text-align:left}.model-option:hover{border-color:var(--tomato);background:var(--paper-2)}.model-option-active{border-color:var(--tomato);background:var(--tomato-soft);box-shadow:0 0 0 3px var(--tomato-glow)}.model-label{font-size:14px;font-weight:500;color:var(--ink);line-height:1.25;letter-spacing:-.01em}.model-badges{display:flex;align-items:center;gap:6px}.model-tier{font-size:11px;font-weight:700;letter-spacing:.03em}.model-tag,.model-tier{font-family:var(--mono)}.model-tag{font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;background:var(--paper-3);border-radius:100px;color:var(--ink-3)}.api-key-wrap{display:flex;flex-direction:column;gap:8px}.api-key-field{position:relative}.api-key-input{padding-right:44px!important}.api-key-valid{border-color:var(--sage)!important;box-shadow:0 0 0 3px rgba(90,122,79,.1)!important}.api-key-invalid{border-color:var(--tomato)!important}.api-key-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--ink-3);display:flex;align-items:center;padding:4px;transition:color .15s}.api-key-eye:hover{color:var(--ink)}.api-key-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.api-key-validate-btn{padding:6px 14px;border:1.5px solid var(--line);border-radius:8px;background:var(--paper);font-family:var(--body);font-size:13px;cursor:pointer;color:var(--ink-2);transition:all .15s;display:flex;align-items:center;gap:6px}.api-key-validate-btn:hover:not(:disabled){border-color:var(--tomato);color:var(--tomato)}.api-key-validate-btn:disabled{opacity:.5;cursor:not-allowed}.api-key-status{display:flex;align-items:center;gap:4px;font-size:12px}.api-key-ok{color:var(--sage)}.api-key-err{color:var(--tomato)}.api-key-hint{font-size:12px;margin-top:2px}.remember-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);cursor:pointer;margin-top:12px}.remember-toggle input{accent-color:var(--tomato);cursor:pointer}.count-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.count-pills{display:flex;gap:8px;margin-top:8px}.count-pill{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper-2);font-size:16px;font-family:var(--mono);cursor:pointer;color:var(--ink-2);transition:all .15s;display:flex;align-items:center;justify-content:center}.count-pill:hover{border-color:var(--tomato);color:var(--tomato)}.count-pill-active{background:var(--tomato);border-color:var(--tomato);color:#fff}.cost-estimate{font-size:12px;color:var(--ink-3);font-family:var(--mono)}.spin{animation:spin 1s linear infinite}.results-page{padding:0;min-height:100%}.results-inner{max-width:720px;margin:0 auto;padding:32px 32px 60px}.results-header{margin-bottom:32px}.results-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.results-title{font-family:var(--display);font-size:26px;font-weight:400;font-style:italic;color:var(--ink);letter-spacing:-.02em;font-variation-settings:"SOFT" 80,"WONK" 1}.results-start-over{background:none;border:none;cursor:pointer;font-size:13px;color:var(--ink-3);font-family:var(--body);white-space:nowrap;padding:0;transition:color .15s}.results-start-over:hover{color:var(--tomato)}.results-constraints{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.results-constraint-chip{padding:4px 12px;background:var(--paper-3);border-radius:100px;font-size:12px;color:var(--ink-2);font-family:var(--mono)}.results-persist-note{font-size:12px;color:var(--ink-faint);font-style:italic}.results-cards{display:flex;flex-direction:column;gap:20px}.recipe-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;transition:box-shadow .15s}.recipe-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.06)}.recipe-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.recipe-title{font-family:var(--display);font-size:22px;font-weight:400;font-style:italic;color:var(--ink);letter-spacing:-.01em;font-variation-settings:"SOFT" 80,"WONK" 1}.recipe-meta{display:flex;gap:8px;font-family:var(--mono);font-size:11px;color:var(--ink-3);flex-wrap:wrap;margin-top:4px}.recipe-save-btn{background:none;border:none;cursor:pointer;color:var(--ink-faint);padding:4px;border-radius:8px;transition:all .15s;display:flex;align-items:center;flex-shrink:0}.recipe-save-btn:hover{color:var(--tomato)}.recipe-save-btn-active{color:var(--tomato)!important}.recipe-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.recipe-tag{padding:3px 10px;background:var(--paper-2);border-radius:100px;font-size:11px;color:var(--ink-3);font-family:var(--mono)}.recipe-match{font-size:12px;padding:6px 12px;border-radius:8px;margin-bottom:10px;font-family:var(--mono)}.recipe-match-green{background:var(--sage-soft);color:var(--sage)}.recipe-match-yellow{background:#fef9c3;color:#854d0e}.recipe-missing{opacity:.8}.recipe-description{font-size:14px;color:var(--ink-2);line-height:1.6;margin-bottom:14px}.recipe-expand-btn{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--tomato);font-family:var(--body);padding:0;transition:color .15s}.recipe-expand-btn:hover{color:var(--tomato-dark)}.recipe-detail{margin-top:20px;padding-top:20px;border-top:1px solid var(--line-soft)}.recipe-detail-section{margin-bottom:24px}.recipe-detail-heading{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.recipe-ingredients-list{list-style:none;display:flex;flex-direction:column;gap:6px}.recipe-ingredients-list li{display:flex;gap:12px;font-size:14px;line-height:1.5}.ing-amount{color:var(--ink-3);min-width:90px;font-family:var(--mono);font-size:12px}.ing-item{color:var(--ink)}.recipe-need-also{margin-top:12px;padding:10px 14px;background:#fef9c3;border-radius:8px;font-size:13px;color:#854d0e}.recipe-steps-list{padding-left:20px;display:flex;flex-direction:column;gap:12px}.recipe-steps-list li{font-size:14px;line-height:1.6;color:var(--ink);padding-left:4px}.recipe-notes{padding:16px;background:var(--paper-2);border-radius:10px;border-left:3px solid var(--line)}.recipe-notes p{font-size:14px;color:var(--ink-2);line-height:1.6}.recipe-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-soft);flex-wrap:wrap}.recipe-action-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1.5px solid var(--line);border-radius:100px;background:none;cursor:pointer;font-family:var(--body);font-size:13px;color:var(--ink-3);transition:all .15s}.recipe-action-btn:hover{border-color:var(--tomato);color:var(--tomato)}.recipe-action-active{color:var(--tomato)!important;border-color:var(--tomato)!important}.gen-loading{padding:40px 32px;max-width:720px;margin:0 auto}.gen-loading-status{text-align:center;margin-bottom:40px}.gen-spinner{width:32px;height:32px;border:3px solid var(--line);border-top-color:var(--tomato);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.gen-loading-msg{font-size:16px;color:var(--ink-2);margin-bottom:6px;font-style:italic;font-family:var(--display);font-variation-settings:"SOFT" 80,"WONK" 1}.gen-loading-time{font-size:12px;color:var(--ink-faint);font-family:var(--mono)}.gen-skeletons{display:flex;flex-direction:column;gap:16px}.gen-cancel-btn{display:block;margin:24px auto 0;background:none;border:1.5px solid var(--line);border-radius:100px;padding:8px 20px;font-family:var(--body);font-size:13px;color:var(--ink-3);cursor:pointer;transition:all .15s}.gen-cancel-btn:hover{border-color:var(--tomato);color:var(--tomato)}.skeleton{background:linear-gradient(90deg,var(--paper-2) 25%,var(--paper-3) 50%,var(--paper-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px;display:block}.skeleton-rounded{border-radius:100px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.recipe-card-skeleton{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.rcs-header{display:flex;justify-content:space-between;align-items:flex-start}.rcs-line{margin-top:10px;display:block}.regen-panel{margin-top:40px;padding:24px;background:var(--paper-2);border:1px solid var(--line);border-radius:16px}.regen-title{font-size:14px;font-weight:500;color:var(--ink-2);margin-bottom:14px}.regen-actions{display:flex;flex-wrap:wrap;gap:8px}.regen-btn{padding:8px 16px;border:1.5px solid var(--line);border-radius:100px;background:var(--paper);font-family:var(--body);font-size:13px;color:var(--ink-2);cursor:pointer;transition:all .15s}.regen-btn:hover{border-color:var(--tomato);color:var(--tomato)}.results-error{display:flex;align-items:center;justify-content:center;min-height:60vh}.results-error-inner{text-align:center;display:flex;flex-direction:column;gap:16px;align-items:center}.results-error-msg{font-size:15px;color:var(--ink-2)}.btn-tomato{display:inline-flex;align-items:center;gap:8px;background:var(--tomato);color:#fff;border:none;border-radius:100px;padding:11px 22px;font-family:var(--body);font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:background .15s}.btn-tomato:hover{background:var(--tomato-dark)}.btn-tomato-outline{display:inline-flex;align-items:center;gap:8px;background:none;color:var(--tomato);border:1.5px solid var(--tomato);border-radius:100px;padding:9px 20px;font-family:var(--body);font-size:13px;cursor:pointer;text-decoration:none;transition:all .15s}.btn-tomato-outline:hover{background:var(--tomato);color:#fff}.cookbook-page{display:flex;flex-direction:column;min-height:100%}.cookbook-header{padding:28px 32px 0;background:var(--paper);border-bottom:1px solid var(--line-soft)}.cookbook-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.cookbook-title{font-family:var(--display);font-size:30px;font-weight:400;font-style:italic;color:var(--ink);letter-spacing:-.02em;font-variation-settings:"SOFT" 80,"WONK" 1}.cookbook-subtitle{font-size:13px;color:var(--ink-3);font-family:var(--mono);margin-top:4px}.cookbook-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cookbook-search-wrap{position:relative}.cookbook-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-faint);pointer-events:none}.cookbook-search{padding:8px 12px 8px 32px;background:var(--paper-2);border:1px solid var(--line-soft);border-radius:10px;font-family:var(--body);font-size:13px;color:var(--ink);outline:none;width:220px;transition:all .15s}.cookbook-search:focus{background:#fff;border-color:var(--tomato);box-shadow:0 0 0 3px var(--tomato-glow)}.view-toggle{display:flex;gap:0;margin-bottom:-1px}.view-toggle-btn{padding:10px 18px;border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;font-family:var(--body);font-size:13px;color:var(--ink-3);transition:all .15s}.view-toggle-btn:hover{color:var(--ink)}.view-toggle-active{color:var(--tomato)!important;border-bottom-color:var(--tomato)!important;font-weight:500}.cookbook-body{padding:32px;flex:1}.cookbook-chapter{margin-bottom:40px}.chapter-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.chapter-title{font-family:var(--display);font-size:22px;font-weight:400;font-style:italic;color:var(--ink);letter-spacing:-.01em;font-variation-settings:"SOFT" 80,"WONK" 1}.chapter-count{font-family:var(--mono);font-size:11px;color:var(--ink-faint)}.chapter-divider{height:1px;background:var(--tomato);opacity:.3;margin-bottom:16px}.chapter-scroll{overflow-x:auto;padding-bottom:8px}.chapter-cards{display:flex;gap:12px}.chapter-see-all{display:flex;align-items:center;justify-content:center;min-width:100px}.see-all-count{font-size:12px;color:var(--tomato);font-family:var(--mono);cursor:pointer}.cookbook-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;min-width:200px;max-width:240px;flex-shrink:0;transition:all .15s}.cookbook-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);border-color:var(--line-soft)}.cookbook-card-pinned{border-color:var(--tomato)}.cookbook-card-badges{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:6px}.pin-icon{color:var(--tomato)}.new-badge{background:var(--tomato);color:#fff;font-family:var(--mono);font-size:9px;padding:2px 6px;border-radius:100px;letter-spacing:.05em}.cookbook-menu-btn{background:none;border:none;cursor:pointer;color:var(--ink-faint);padding:2px;transition:color .15s}.cookbook-menu-btn:hover{color:var(--ink)}.cookbook-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.1);z-index:100;min-width:140px;overflow:hidden;margin-top:4px}.cookbook-menu-item{display:block;width:100%;padding:10px 14px;background:none;border:none;text-align:left;font-family:var(--body);font-size:13px;color:var(--ink-2);cursor:pointer;text-decoration:none;transition:background .1s}.cookbook-menu-item:hover{background:var(--paper-2)}.cookbook-menu-danger:hover{background:var(--tomato-soft);color:var(--tomato-dark)}.cookbook-card-body{display:flex;flex-direction:column;gap:8px;padding:14px;text-decoration:none;color:inherit}.cookbook-card-title{font-family:var(--display);font-size:15px;font-weight:400;font-style:italic;color:var(--ink);letter-spacing:-.01em;font-variation-settings:"SOFT" 80,"WONK" 1;line-height:1.3;padding-right:60px}.cookbook-card-meta{display:flex;gap:6px;font-family:var(--mono);font-size:10px;color:var(--ink-faint)}.cookbook-card-tags{display:flex;flex-wrap:wrap;gap:4px}.cookbook-tag{padding:2px 8px;background:var(--paper-2);border-radius:100px;color:var(--ink-3)}.cookbook-tag,.cookbook-tag-more{font-size:10px;font-family:var(--mono)}.cookbook-tag-more{color:var(--ink-faint)}.cooked-counter{font-size:11px;color:var(--sage);font-family:var(--mono);font-weight:500}.cookbook-type-badges{display:flex;gap:4px;flex-wrap:wrap}.cuisine-badge,.meal-badge{padding:2px 8px;border-radius:100px;font-size:10px;font-family:var(--mono)}.cuisine-badge{background:var(--paper-3);color:var(--ink-3)}.meal-badge{background:var(--sage-soft);color:var(--sage)}.cookbook-all-controls{padding:0 32px 16px;display:flex;justify-content:flex-end}.sort-select{padding:7px 12px;background:var(--paper-2);border:1px solid var(--line);border-radius:8px;font-family:var(--body);font-size:13px;color:var(--ink-2);cursor:pointer;outline:none}.cookbook-all-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.cookbook-all-item{position:relative}.cookbook-all-selected .cookbook-card{border-color:var(--tomato);background:var(--tomato-soft)}.cookbook-checkbox{position:absolute;top:10px;left:10px;z-index:10;width:16px;height:16px;accent-color:var(--tomato);cursor:pointer}.cookbook-no-results{text-align:center;padding:60px 20px;color:var(--ink-3);font-size:15px}.empty-cookbook{flex-direction:column;flex:1;padding:80px 32px;text-align:center}.empty-cookbook,.empty-cookbook-icon{display:flex;align-items:center;justify-content:center}.empty-cookbook-icon{width:64px;height:64px;background:var(--paper-2);border:1px solid var(--line);border-radius:16px;color:var(--ink-3);margin:0 auto 24px}.empty-cookbook-title{font-family:var(--display);font-size:24px;font-weight:400;font-style:italic;color:var(--ink);letter-spacing:-.02em;margin-bottom:12px;font-variation-settings:"SOFT" 80,"WONK" 1}.empty-cookbook-body{font-size:15px;color:var(--ink-2);line-height:1.6;max-width:380px;margin-bottom:24px}.bulk-bar{display:flex;align-items:center;gap:12px;padding:10px 32px;background:var(--paper-3);border-bottom:1px solid var(--line)}.bulk-count{flex:1;font-family:var(--mono)}.bulk-btn,.bulk-count{font-size:13px;color:var(--ink-2)}.bulk-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1.5px solid var(--line);border-radius:100px;background:var(--paper);font-family:var(--body);cursor:pointer;transition:all .15s}.bulk-btn:hover{border-color:var(--ink-3)}.bulk-btn-danger:hover{border-color:var(--tomato);color:var(--tomato)}.import-export-wrap{position:relative}.ie-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--paper-2);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-3);transition:all .15s}.ie-btn:hover{color:var(--ink);border-color:var(--line);background:var(--paper)}.ie-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.1);z-index:100;min-width:160px;overflow:hidden;margin-top:6px}.ie-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;font-family:var(--body);font-size:13px;color:var(--ink-2);cursor:pointer;text-align:left;transition:background .1s}.ie-menu-item:hover{background:var(--paper-2)}.recipe-detail-page{min-height:100%;background:var(--paper)}.recipe-detail-inner{max-width:700px;margin:0 auto;padding:24px 32px 60px}.recipe-detail-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-3);text-decoration:none;margin-bottom:24px;transition:color .15s}.recipe-detail-back:hover{color:var(--tomato)}.recipe-detail-header{margin-bottom:24px}.recipe-detail-title{font-family:var(--display);font-size:34px;font-weight:400;font-style:italic;color:var(--ink);letter-spacing:-.02em;margin-bottom:10px;font-variation-settings:"SOFT" 80,"WONK" 1}.recipe-detail-meta{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-bottom:12px}.recipe-detail-tags{display:flex;flex-wrap:wrap;gap:6px}.cooked-row{gap:20px;margin-bottom:24px;flex-wrap:wrap}.cooked-btn,.cooked-row{display:flex;align-items:center}.cooked-btn{gap:8px;padding:12px 22px;background:var(--tomato);color:#fff;border:none;border-radius:100px;font-family:var(--body);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.cooked-btn:hover{background:var(--tomato-dark)}.cook-history{display:flex;gap:8px;font-family:var(--mono);font-size:12px;color:var(--ink-3)}.recipe-detail-description{font-size:16px;color:var(--ink-2);line-height:1.65;margin-bottom:32px}.recipe-detail-section{margin-bottom:32px}.recipe-notes-text{font-size:14px;color:var(--ink-2);line-height:1.6}.user-notes-wrap{margin-bottom:28px}.user-notes-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.notes-saved-pulse{font-size:11px;color:var(--sage);font-family:var(--mono);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.user-notes-textarea{width:100%;min-height:100px;padding:14px 16px;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;font-family:var(--body);font-size:14px;color:var(--ink);line-height:1.6;resize:vertical;outline:none;transition:all .15s;box-sizing:border-box}.user-notes-textarea:focus{background:#fff;border-color:var(--tomato);box-shadow:0 0 0 3px var(--tomato-glow)}.user-notes-textarea::-moz-placeholder{color:var(--ink-faint)}.user-notes-textarea::placeholder{color:var(--ink-faint)}.source-panel{margin-bottom:28px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.source-panel-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:var(--paper-2);border:none;font-family:var(--body);font-size:13px;color:var(--ink-3);cursor:pointer;transition:background .15s}.source-panel-toggle:hover{background:var(--paper-3)}.source-panel-body{padding:16px;background:#fff;display:flex;flex-direction:column;gap:10px}.source-info{font-size:13px;color:var(--ink-2)}.source-ingredients{font-size:12px;color:var(--ink-3);font-family:var(--mono)}.recipe-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}.recipe-detail-danger{padding-top:24px;border-top:1px solid var(--line-soft)}.delete-btn{display:flex;align-items:center;gap:6px;background:none;border:1.5px solid var(--line);border-radius:100px;padding:8px 16px;font-family:var(--body);font-size:13px;color:var(--ink-3);cursor:pointer;transition:all .15s}.delete-btn:hover{border-color:var(--tomato);color:var(--tomato)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.modal-box{background:#fff;border-radius:16px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.15);overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--line-soft)}.modal-title{font-family:var(--display);font-size:18px;font-style:italic;font-weight:400;color:var(--ink);letter-spacing:-.01em;font-variation-settings:"SOFT" 80,"WONK" 1}.modal-close{background:none;border:none;cursor:pointer;color:var(--ink-3);padding:4px;border-radius:6px;transition:all .15s}.modal-close:hover{background:var(--paper-2);color:var(--ink)}.modal-body{padding:20px 24px}@media (max-width:768px){.sidebar{display:none}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:56px;background:var(--paper-2);border-bottom:1px solid var(--line);position:fixed;top:0;left:0;right:0;z-index:100}.app-shell{flex-direction:column}.app-main{padding-top:56px}.wizard-progress{top:56px}.wizard-footer{left:0}.wizard-content{padding:24px 16px 20px}.wizard-chrome{padding:0}.provider-cards{grid-template-columns:1fr}.model-options{grid-template-columns:1fr 1fr}.chapter-scroll{overflow-x:auto}.cookbook-body{padding:20px 16px}.cookbook-header{padding:20px 16px 0}.cookbook-all-grid{grid-template-columns:1fr 1fr}.recipe-detail-inner{padding:16px 16px 60px}.results-inner{padding:20px 16px 60px}.wizard-footer-inner{padding:12px 16px}.wizard-progress{padding:0 16px;height:48px}.wizard-connector{width:24px;margin:0 2px}.wizard-dot-label{display:none}}