:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.home-screen{flex-direction:column;justify-content:center;align-items:center;gap:32px;padding-top:40px;display:flex}.home-hero{text-align:center;max-width:500px}.hero-heading{font-family:var(--font-d);color:var(--text-primary,var(--text,#2c2416));margin:0 0 16px;font-size:48px;font-weight:700;line-height:1.2}:root .hero-heading,[data-theme=light] .hero-heading{color:#2c2416}[data-theme=dark] .hero-heading{color:#f0e8d8}.hero-sub{font-family:var(--font-b);color:var(--text-sub);margin:0;font-size:16px;line-height:1.6}.extract-form{flex-direction:column;gap:12px;width:100%;max-width:400px;display:flex}.home-footer{text-align:center;flex-direction:column;gap:12px;width:100%;max-width:400px;display:flex}.extract-error{background:var(--accent-lt);border:1.5px solid var(--accent-b);width:100%;max-width:400px;color:var(--accent-h);border-radius:12px;align-items:flex-start;gap:10px;padding:14px 16px;font-size:14px;line-height:1.5;display:flex}.error-icon{flex-shrink:0;margin-top:1px;font-size:18px}.footer-note{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.recipe-screen{max-width:640px;margin:0 auto}.saved-screen{max-width:600px;margin:0 auto}.tw-cursor{color:var(--accent);margin-left:1px;font-weight:400;animation:.7s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.fade-in{opacity:0;animation:.5s forwards fadeIn}@keyframes fadeIn{to{opacity:1}}.stagger-in{opacity:0;animation:.35s forwards jotIn;transform:translateY(6px)}@keyframes jotIn{to{opacity:1;transform:translateY(0)}}.scribble-divider{width:100%;height:12px;margin:16px 0;overflow:visible}.scribble-divider svg{width:100%;height:12px;overflow:visible}.scribble-path{stroke-dasharray:400;stroke-dashoffset:400px;animation:.8s .1s forwards drawLine}@keyframes drawLine{to{stroke-dashoffset:0}}.ingredient-item{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;transition:opacity .2s;display:flex}.ingredient-item.checked{opacity:.5;animation:none}.ingredient-item:active{opacity:.7}.ing-check-wrap{flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:-12px -12px -12px -8px;padding:12px;display:flex}.ing-checkbox{width:20px;height:20px;display:block}.check-box{fill:none;width:20px;height:20px;stroke:var(--border-c);stroke-width:1.5px;transition:stroke .2s}.ingredient-item:hover .check-box{stroke:var(--accent)}.check-scribble{fill:none;width:20px;height:20px;stroke:var(--accent);stroke-width:2.5px;stroke-dasharray:30;stroke-dashoffset:30px;animation:.25s forwards drawCheck}@keyframes drawCheck{to{stroke-dashoffset:0}}.ing-text{flex:1;line-height:1.5}.ingredient-item{position:relative}.strikethrough-scribble{background:var(--accent);opacity:.4;transform-origin:0;border-radius:1px;height:2px;animation:.2s forwards strikeIn;position:absolute;top:50%;left:30px;right:0;transform:scaleX(0)}@keyframes strikeIn{to{transform:scaleX(1)}}.recipe-img-wrap{border-radius:12px;margin-bottom:16px;overflow:hidden}.recipe-img-placeholder{background:var(--bg-input);border:1.5px dashed var(--border-c);border-radius:12px;justify-content:center;align-items:center;width:100%;height:160px;margin-bottom:16px;display:flex}.img-placeholder-icon{opacity:.4;font-size:48px}.section-divider{margin:4px 0 8px}:root,html[data-theme=light]{--bg-page:#f5f0e8;--bg-card:#fffdf7;--bg-input:#fff8ec;--bg-field:#fefcf5;--text:#2c2416;--text-sub:#6b5744;--text-muted:#9c8875;--accent:#d64f38;--accent-h:#bc3a25;--accent-lt:#fae8e5;--accent-b:#e8a89a;--green:#5a8a5a;--green-lt:#e8f2e8;--border:#ddd0bc;--border-c:#d4c5a9;--border-lt:#ede4d4;--ruled:#b4a0782e;--font-d:"Caveat", cursive;--font-b:"Nunito", sans-serif;--sh-card:0 2px 8px #64461e1a, 0 1px 3px #64461e14;--sh-lift:0 6px 20px #64461e24, 0 2px 6px #64461e14}html[data-theme=dark]{--bg-page:#1e1a14;--bg-card:#2a2318;--bg-input:#241e14;--bg-field:#302820;--text:#f0e8d8;--text-sub:#c4a882;--text-muted:#896b4e;--accent:#e86a52;--accent-h:#f07a62;--accent-lt:#3a1e18;--accent-b:#6b3528;--green:#6aaa6a;--green-lt:#1a2e1a;--border:#3d3020;--border-c:#4a3c28;--border-lt:#332a1c;--ruled:#ffe6b40f;--sh-card:0 2px 8px #00000059, 0 1px 3px #00000040;--sh-lift:0 6px 20px #00000073, 0 2px 6px #0000004d}*,:before,:after{box-sizing:border-box}html{transition:background .3s,color .3s}body{font-family:var(--font-b);background:var(--bg-page);background-image:repeating-linear-gradient(transparent, transparent 27px, var(--ruled) 27px, var(--ruled) 28px);color:var(--text);min-height:100vh;margin:0;padding:0}#root{min-height:100vh}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--bg-card);border-bottom:1px solid var(--border-lt);box-shadow:var(--sh-card);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.app-title{margin:0}.logo{flex-direction:column;gap:1px;text-decoration:none;display:flex}.logo-the{color:var(--text-muted);letter-spacing:3px;text-transform:uppercase;margin-left:2px;font-family:Caveat,cursive;font-size:13px;font-weight:400;line-height:1}.logo-name{color:var(--text);letter-spacing:-.3px;font-family:Playfair Display,serif;font-size:24px;font-weight:700;line-height:1}[data-theme=dark] .logo-name{color:var(--text)}.theme-toggle{background:var(--bg-input);border:1.5px solid var(--border);cursor:pointer;font-family:var(--font-d);color:var(--text-muted);box-shadow:var(--sh-card);border-radius:20px;align-items:center;gap:6px;padding:7px 14px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.theme-toggle:hover{box-shadow:var(--sh-lift)}.theme-toggle:active{transform:scale(.97)}.screen{flex-direction:column;flex:1;width:100%;max-width:640px;margin:0 auto;padding:20px;display:flex;overflow-y:auto}.btn{font-family:var(--font-d);cursor:pointer;border:none;border-radius:12px;padding:12px 18px;font-size:17px;font-weight:700;transition:all .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-h)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:var(--bg-card);border:1.5px solid var(--border-c);color:var(--text)}.btn-secondary:hover{background:var(--bg-input)}.btn-secondary:active{transform:scale(.98)}.btn-text{color:var(--text-muted);background:0 0;border:none;padding:4px 0;font-size:14px;text-decoration:underline}.input-field{border:1.5px solid var(--border);background:var(--bg-field);width:100%;font-family:var(--font-b);color:var(--text);border-radius:12px;outline:none;padding:14px 16px;font-size:15px;transition:border-color .2s}.input-field:focus{border-color:var(--accent)}.input-field::placeholder{color:var(--text-muted);font-family:var(--font-d);font-size:14px}.recipe-card{background:var(--bg-card);border:1px solid var(--border-c);box-shadow:var(--sh-lift);border-radius:16px;margin-bottom:20px;padding:20px}.recipe-image{object-fit:cover;border-radius:12px;width:100%;height:240px;margin-bottom:16px}.recipe-title{font-family:var(--font-d);color:var(--text);margin:0 0 12px;font-size:28px;font-weight:700}.recipe-meta{font-family:var(--font-b);color:var(--text-muted);gap:16px;margin-bottom:16px;font-size:14px;display:flex}.recipe-meta-item{align-items:center;gap:6px;display:flex}.section{margin-bottom:20px}.section-title{font-family:var(--font-d);color:var(--accent);margin:0 0 12px;font-size:20px;font-weight:700}.ingredient-list{margin:0;padding:0;list-style:none}.ingredient-item{border-bottom:1px solid var(--border-lt);font-size:15px;font-family:var(--font-b);padding:10px 0}.ingredient-item:last-child{border-bottom:none}.step-list{counter-reset:step-counter;margin:0;padding:0;list-style:none}.step-item{border-bottom:1px solid var(--border-lt);font-size:15px;line-height:1.7;font-family:var(--font-b);padding:14px 0 14px 32px;position:relative}.step-item:last-child{border-bottom:none}.step-item:before{content:counter(step-counter);counter-increment:step-counter;background:var(--accent);color:#fff;width:24px;height:24px;font-size:13px;font-weight:700;font-family:var(--font-b);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;left:0}.cook-mode{background:var(--bg-page);z-index:100;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.cook-header{background:var(--bg-card);border-bottom:1px solid var(--border-lt);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.cook-title{font-family:var(--font-d);color:var(--text);margin:0;font-size:28px;font-weight:700}.cook-back{cursor:pointer;background:0 0;border:none;padding:4px;font-size:24px}.cook-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 20px;display:flex;overflow-y:auto}.cook-step-number{font-family:var(--font-b);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;font-size:14px}.cook-step-text{font-family:var(--font-d);max-width:500px;margin-bottom:40px;font-size:26px;font-weight:600;line-height:1.6}.cook-controls{background:var(--bg-card);border-top:1px solid var(--border-lt);justify-content:center;gap:12px;padding:20px;display:flex}.cook-nav{background:var(--bg-field);width:48px;height:48px;color:var(--text);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;font-size:20px;transition:background .2s;display:flex}.cook-nav:hover{background:var(--border-lt)}.cook-progress{background:var(--border-lt);border-radius:2px;flex:1;height:4px;overflow:hidden}.cook-progress-bar{background:var(--accent);height:100%;transition:width .3s}
