:root{--ink:#1f3025;--muted:#728076;--line:#e4e5db;--paper:#fbfaf4;--paper-deep:#f3f0e5;--sage:#dce5cf;--leaf:#315d43;--leaf-deep:#204631;--orange:#e77d39;--warm:#f6b255;--shadow:0 18px 44px rgba(43,62,45,.08)}*{box-sizing:border-box}html{min-height:100%}body,html{background:var(--paper)}body{margin:0;min-height:100vh;color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{height:76px;max-width:1280px;margin:auto;padding:0 42px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:10px;color:var(--leaf-deep);font-size:25px;font-weight:700;letter-spacing:-.04em}.brand,.brand-mark,.login-mark{font-family:Georgia,Times New Roman,serif}.brand-mark,.login-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 45% 50%;background:var(--leaf);color:#fffdf7;font-size:17px;transform:rotate(-12deg)}.brand-mark{font-size:15px}.topbar-nav{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #e0e4da;border-radius:11px;background:rgba(244,245,237,.8);box-shadow:inset 0 1px rgba(255,255,255,.65)}.nav-link{display:inline-flex;min-height:36px;align-items:center;justify-content:center;padding:8px 12px;border-radius:7px;color:#536259;font-size:13px;font-weight:750;transition:color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.nav-link:hover{background:#fffefa;color:var(--leaf-deep);box-shadow:0 2px 7px rgba(35,51,36,.06);transform:translateY(-1px)}.nav-link:focus-visible{outline:3px solid rgba(87,137,96,.2);outline-offset:1px}.nav-link-emphasis{background:var(--leaf);color:#fffdf7;box-shadow:0 3px 8px rgba(42,86,57,.14)}.nav-link-emphasis:hover{background:var(--leaf-deep);color:#fffdf7}.icon-link{width:36px;padding:0;font-size:16px}.topbar-nav form{display:flex;margin-left:3px;padding-left:4px;border-left:1px solid #d9ded4}.button-link{border:0;background:transparent}.button-link:hover{background:#f7ece9;color:#825b55;box-shadow:none}.cooking-page,.empty-library,.library-hero,.library-toolbar,.recipe-form,.recipe-grid,.recipe-page,.recommendation-page,.scan-page,.scan-review-toolbar,.settings-page{max-width:1196px;margin-left:auto;margin-right:auto}.library-hero{padding:88px 24px 48px}.eyebrow{margin:0 0 10px;color:#63816a;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.14em}h1,h2,h3,p{margin-top:0}.form-section-intro h1,.library-hero h1,.login-card h1,.not-found h1,.recipe-title-row h1,.settings-intro h1{margin-bottom:14px;font-family:Georgia,Times New Roman,serif;letter-spacing:-.055em;color:var(--leaf-deep)}.library-hero h1{font-size:clamp(42px,5vw,65px);line-height:.98}.hero-copy{margin:0;color:var(--muted);font-family:Georgia,Times New Roman,serif;font-size:20px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid transparent;border-radius:7px;font-size:14px;font-weight:750;transition:transform .15s ease,background .15s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:default;opacity:.55;transform:none}.button-primary{background:var(--leaf);color:#fffdf7;box-shadow:0 5px 12px rgba(42,86,57,.14)}.button-primary:hover{background:var(--leaf-deep)}.button-secondary{background:#fffefa;color:var(--leaf);border-color:#dce2d8}.button-secondary:hover{background:#f0f3ec}.button-danger{background:#fffafa;color:#9a4f49;border-color:#e8cbc8}.button-danger:hover{background:#f9e8e6}.library-toolbar{min-height:74px;justify-content:space-between;gap:24px;padding:0 24px 22px}.library-toolbar,.search-form{display:flex;align-items:center}.search-form{position:relative;flex:1 1;max-width:560px;height:46px;gap:10px;padding:0 14px;border:1px solid #dfe2d9;border-radius:8px;background:#fffefa;color:#8c978d;box-shadow:0 2px 7px rgba(37,55,41,.03)}.search-form:focus-within{outline:3px solid rgba(87,137,96,.14);border-color:#aebfae}.search-form input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px}.clear-search{padding:0;border:0;background:transparent;color:var(--leaf);font-size:12px;font-weight:700}.search-spinner{width:14px;height:14px;flex:none;border:2px solid #dce5d7;border-top:2px solid var(--leaf);border-radius:50%;animation:search-spin .7s linear infinite}.search-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.library-count{color:var(--muted);font-size:13px;white-space:nowrap}.library-count strong{color:var(--ink)}@keyframes search-spin{to{transform:rotate(1turn)}}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:21px;gap:21px;padding:0 24px 72px}.recipe-card{overflow:hidden;border:1px solid #e2e4da;border-radius:10px;background:#fffefa;box-shadow:0 2px 6px rgba(35,51,36,.025);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.recipe-card:hover{transform:translateY(-4px);border-color:#ced9ca;box-shadow:var(--shadow)}.recipe-card-image{position:relative;height:205px;overflow:hidden;background:var(--sage)}.recipe-card-image img,.recipe-feature-image img{width:100%;height:100%;object-fit:cover;display:block}.recipe-image-fallback{display:grid;width:100%;height:100%;place-items:center;color:var(--leaf);background:radial-gradient(circle at 30% 25%,#f2d792 0 12%,transparent 12.5%),radial-gradient(circle at 70% 70%,#b7cead 0 22%,transparent 22.5%),linear-gradient(130deg,#d6e2cc,#f5e8bd)}.recipe-image-fallback span{display:grid;place-items:center;width:68px;height:68px;border:2px solid rgba(48,92,66,.35);border-radius:44% 56% 48% 52%;font-size:31px;transform:rotate(-14deg)}.favorite-badge{position:absolute;right:11px;top:11px;padding:6px 8px;border-radius:20px;background:#fffdf9e8;color:#95603a;font-size:10px;font-weight:800;letter-spacing:.02em}.recipe-card-content{padding:19px 19px 17px}.recipe-card-heading{display:flex;gap:12px;justify-content:space-between;align-items:baseline}.recipe-card h2{margin-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:22px;line-height:1.05;letter-spacing:-.035em;color:var(--leaf-deep)}.arrow{color:#94a398;font-size:19px;transition:transform .18s ease}.recipe-card:hover .arrow{color:var(--leaf);transform:translate(2px,-2px)}.recipe-card-content>p{min-height:36px;margin-bottom:14px;color:#728076;font-size:13px;line-height:1.42}.recipe-meta{gap:12px;color:#839087;font-size:12px}.recipe-meta,.tag-row{display:flex;flex-wrap:wrap}.tag-row{gap:6px}.recipe-card .tag-row{margin-top:16px}.tag{display:inline-flex;padding:4px 8px;border-radius:4px;background:#eef2e8;color:#5f7c65;font-size:10px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.empty-library{max-width:570px;padding:70px 24px 120px;text-align:center}.empty-illustration{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 24px;border-radius:54% 46% 56% 44%;background:var(--sage);color:var(--leaf);font-size:33px;transform:rotate(-12deg)}.empty-library h2{margin-bottom:11px;font-family:Georgia,Times New Roman,serif;font-size:34px;letter-spacing:-.04em;color:var(--leaf-deep)}.empty-library>p:not(.eyebrow){margin-bottom:23px;color:var(--muted);line-height:1.5}.recipe-form{padding:72px 24px 90px}.form-section{padding:36px 0;border-top:1px solid var(--line)}.form-section-intro{max-width:670px;padding-top:0;border-top:0}.form-section-intro h1,.settings-intro h1{font-size:clamp(39px,4vw,54px);line-height:1}.form-section-intro>p:last-child,.settings-intro>p:last-child{max-width:650px;margin-bottom:0;color:var(--muted);font-size:16px;line-height:1.5}.form-intro-link{color:var(--leaf);font-weight:800;text-decoration:underline;-webkit-text-decoration-color:#aebfae;text-decoration-color:#aebfae;text-underline-offset:3px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:19px;gap:19px;max-width:850px}.field{display:grid;grid-gap:7px;gap:7px;color:#536257;font-size:12px;font-weight:800}.field span b{color:var(--orange)}.field-wide{grid-column:1/-1}.field input,.field textarea{width:100%;padding:11px 12px;border:1px solid #dbe0d6;border-radius:6px;outline:none;background:#fffefa;color:var(--ink);font-size:14px;font-weight:400;resize:vertical}.field input:focus,.field textarea:focus,.list-editor input:focus,.list-editor textarea:focus{border-color:#87a98e;outline:3px solid rgba(87,137,96,.13)}.field [aria-invalid=true],.list-editor [aria-invalid=true]{border-color:#c77b74;background:#fffafa}.field-error{display:block;margin-top:3px;color:#a6534c;font-size:11px;font-weight:750;line-height:1.4}.form-save-error{max-width:850px;margin:-8px 0 28px;padding:15px 17px;border:1px solid #e5c0bc;border-radius:7px;background:#fff7f6;color:#8f4741}.form-save-error strong{display:block;margin-bottom:3px;font-size:13px}.form-save-error p{margin:0;color:#9c5d57;font-size:12px;line-height:1.45}.form-list-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-gap:52px;gap:52px}.list-editor{min-width:0;margin:0;padding:0;border:0}.list-editor legend{margin-bottom:14px;color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:700;letter-spacing:-.04em}.list-editor-items{display:grid;grid-gap:9px;gap:9px}.list-editor-row{display:flex;align-items:flex-start;gap:8px}.list-index{width:16px;padding-top:10px;color:#869b87;text-align:center;font-size:15px;font-weight:800}.list-editor-row input,.list-editor-row textarea{flex:1 1;min-width:0;padding:10px 11px;border:1px solid #dbe0d6;border-radius:6px;outline:none;background:#fffefa;color:var(--ink);font-size:14px;resize:vertical}.ingredient-editor-fields{display:grid;flex:1 1;min-width:0;grid-gap:6px;gap:6px}.ingredient-editor-fields input:first-child{padding-top:8px;padding-bottom:8px;background:#f6f5ee;color:#5f7164;font-size:12px}.remove-row{width:30px;height:36px;border:0;background:transparent;color:#a2aea4;font-size:21px;line-height:1}.remove-row:hover{color:#aa6259}.add-row{margin-top:12px;padding:0;border:0;background:transparent;color:var(--leaf);font-size:13px;font-weight:800}.form-footer{display:grid;grid-template-columns:1fr auto;align-items:end;grid-gap:24px;gap:24px}.form-footer .field{max-width:650px}.checkbox-field{display:flex;align-items:center;gap:8px;color:#5b695f;font-size:13px;font-weight:700}.checkbox-field input{width:16px;height:16px;accent-color:var(--leaf)}.form-footer .checkbox-field{grid-column:1/-1}.form-footer .button{align-self:end}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.recipe-photo-editor{display:grid;grid-gap:25px;gap:25px}.photo-editor-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.photo-editor-heading h2{margin:0;color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:31px;letter-spacing:-.04em}.photo-editor-heading>p{max-width:470px;margin:0;color:var(--muted);font-size:13px;line-height:1.5}.photo-upload-picker{display:grid;grid-gap:5px;gap:5px;padding:16px 18px;border:1px dashed #9fb39f;border-radius:8px;background:#f1f5ec;color:var(--leaf);cursor:pointer}.photo-upload-picker>span:first-child{font-size:14px;font-weight:850}.photo-upload-picker small{color:#718078;font-size:11px}.photo-upload-picker input{margin-top:5px;color:#65736a;font-size:12px}.photo-upload-picker:has(input:disabled){cursor:default;opacity:.72}.photo-upload-progress{display:block;height:6px;margin-top:5px;overflow:hidden;border-radius:999px;background:#dce5d7}.photo-upload-progress span{display:block;height:100%;border-radius:inherit;background:var(--leaf);transition:width .15s ease}.photo-no-hero{display:flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:8px;color:#53645a;font-size:12px;font-weight:750}.photo-no-hero input{accent-color:var(--leaf)}.photo-editor-error{margin:0;padding:11px 13px;border:1px solid #e5b4ad;border-radius:6px;background:#fff1ee;color:#8b4239;font-size:12px;font-weight:700}.photo-editor-empty{margin:0;padding:22px;border:1px solid #e0e3d9;border-radius:8px;background:#f8f7f1;color:var(--muted);font-size:13px;text-align:center}.photo-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:15px;gap:15px}.photo-editor-card{overflow:hidden;border:1px solid #e0e3d9;border-radius:9px;background:#f4f3ed;opacity:.62;transition:opacity .15s ease,border-color .15s ease,box-shadow .15s ease}.photo-editor-card.is-included{border-color:#cad8c5;background:#fffefa;opacity:1}.photo-editor-card.is-hero{border-color:#6e9876;box-shadow:0 0 0 2px rgba(71,120,80,.12)}.photo-editor-card>img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--paper-deep)}.photo-editor-card-copy{display:grid;grid-gap:10px;gap:10px;padding:13px}.photo-card-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.photo-kind{width:-moz-fit-content;width:fit-content;padding:4px 7px;border-radius:4px;background:#edf1e8;color:#627b66;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.photo-order-controls{display:flex;gap:3px}.photo-order-controls button{width:27px;height:25px;border:1px solid #d8ded4;border-radius:4px;background:#fffefa;color:#55715b;font-size:13px}.photo-order-controls button:hover:not(:disabled){border-color:#9bb19e;background:#f0f4eb}.photo-order-controls button:disabled{color:#b8c0b9;cursor:default}.photo-choice{display:flex;align-items:center;gap:7px;color:#53645a;font-size:12px;font-weight:750}.photo-choice input{accent-color:var(--leaf)}.photo-caption{display:grid;grid-gap:5px;gap:5px;color:#718078;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.photo-caption input{min-width:0;width:100%;padding:8px 9px;border:1px solid #dbe0d6;border-radius:5px;outline:0;background:#fffefa;color:var(--ink);font-size:12px;font-weight:400;letter-spacing:0;text-transform:none}.photo-caption input:focus{border-color:#87a98e;outline:3px solid rgba(87,137,96,.13)}.photo-caption input:disabled{background:#ecece6;color:#959b96}.scan-page{padding:72px 24px 100px}.scan-header{max-width:750px;margin-bottom:40px}.scan-header h1{margin-bottom:15px;color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,5vw,62px);line-height:1;letter-spacing:-.055em}.scan-header>p:last-child{max-width:700px;margin:0;color:var(--muted);font-family:Georgia,Times New Roman,serif;font-size:19px;line-height:1.45}.scan-config-warning{margin-bottom:25px;padding:17px 19px;border:1px solid #e2bd71;border-radius:8px;background:#fff7dd;color:#6a5430}.scan-config-warning strong{display:block;margin-bottom:5px}.scan-config-warning p{margin:0;font-size:13px;line-height:1.45}.scan-form{display:grid;grid-gap:22px;gap:22px}.scan-section{padding:27px;border:1px solid #dfe3da;border-radius:10px;background:#fffefa;box-shadow:0 2px 6px rgba(35,51,36,.025)}.scan-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}.scan-section-heading>div{display:flex;align-items:center;gap:11px}.scan-section-heading h2{margin:0;color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:28px;letter-spacing:-.04em}.scan-section-heading>p{margin:0;color:#849087;font-size:11px;font-weight:750}.scan-step{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--sage);color:var(--leaf);font-size:12px;font-weight:850}.scan-file-picker{display:grid;grid-gap:5px;gap:5px;padding:18px;border:1px dashed #9fb39f;border-radius:8px;background:#f1f5ec;color:var(--leaf);cursor:pointer}.scan-file-picker-secondary{border-color:#d3c092;background:#fbf6e8}.scan-file-picker>span{font-size:14px;font-weight:850}.scan-file-picker small{color:#718078;font-size:11px;line-height:1.4}.scan-file-picker input{margin-top:7px;color:#68766d;font-size:12px}.scan-file-picker input::-webkit-file-upload-button{margin-right:10px;padding:8px 11px;border:1px solid #cfd9cb;border-radius:5px;background:#fffefa;color:var(--leaf);font-weight:800;cursor:pointer}.scan-file-picker input::file-selector-button{margin-right:10px;padding:8px 11px;border:1px solid #cfd9cb;border-radius:5px;background:#fffefa;color:var(--leaf);font-weight:800;cursor:pointer}.scan-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));grid-gap:10px;gap:10px;margin-top:15px}.scan-preview-grid figure{min-width:0;overflow:hidden;margin:0;border:1px solid #e0e3da;border-radius:7px;background:var(--paper-deep)}.scan-preview-grid img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.scan-preview-grid figcaption{display:grid;grid-gap:6px;gap:6px;overflow:hidden;padding:7px 8px;background:#fffefa;color:#77837b;font-size:10px}.scan-preview-grid figcaption>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-preview-controls{display:flex;gap:3px}.scan-preview-controls button{display:grid;place-items:center;width:24px;height:22px;padding:0;border:1px solid #dfe3da;border-radius:4px;background:#f7f7f1;color:#617268;font-size:12px}.scan-preview-controls button:hover:not(:disabled){border-color:#b8c7b5;background:#edf2e8}.scan-preview-controls button:disabled{cursor:default;opacity:.35}.scan-preview-controls button:last-child{margin-left:auto;color:#9b5b54}.scan-empty-copy{margin:13px 0 0;color:#929b94;font-size:12px}.scan-source-name{max-width:540px;margin-top:19px}.scan-error{margin:0;padding:14px 16px;border:1px solid #e7c5c1;border-radius:7px;background:#fff5f3;color:#944f49;font-size:13px;font-weight:750}.scan-progress{display:grid;grid-gap:8px;gap:8px}.scan-progress>div{height:7px;overflow:hidden;border-radius:8px;background:#e4e7df}.scan-progress span{display:block;height:100%;border-radius:inherit;background:var(--leaf);transition:width .2s ease}.scan-progress p{margin:0;color:#68786d;font-size:12px}.scan-submit-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:4px}.scan-submit-row p{max-width:620px;margin:0;color:#7d8980;font-size:11px;line-height:1.5}.scan-submit-row .button{min-width:160px}.scan-review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;padding:15px 24px;border:1px solid #d9e1d5;border-radius:8px;background:#eff4eb;color:#5a6e60;font-size:12px}.recipe-page{padding:44px 24px 100px}.shared-recipe-shell{min-height:100vh}.shared-recipe-topbar{display:flex;max-width:1280px;height:76px;align-items:center;justify-content:space-between;margin:auto;padding:0 42px;border-bottom:1px solid var(--line)}.shared-recipe-badge{padding:7px 10px;border:1px solid #d8e0d5;border-radius:999px;background:#f1f4ec;color:#63766a;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.shared-recipe-page{padding-top:54px}.shared-recipe-intro{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:38px;padding-bottom:17px;border-bottom:1px solid var(--line)}.shared-recipe-intro .eyebrow{margin:0}.shared-recipe-intro>p:last-child{margin:0;color:var(--muted);font-size:12px}.shared-recipe-footer{margin-top:72px;padding-top:24px;border-top:1px solid var(--line);color:#7a887e;font-size:12px;text-align:center}.recipe-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}.recipe-page-actions{display:flex;align-items:center;gap:9px}.share-recipe-button{gap:7px}.share-recipe-icon{width:17px;height:17px;flex:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.back-link{display:inline-block;color:#5c7962;font-size:13px;font-weight:800}.back-link:hover{color:var(--leaf-deep)}.recipe-header{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);grid-gap:50px;gap:50px;align-items:center;padding-bottom:46px}.recipe-header-copy .tag-row{margin-bottom:15px}.recipe-title-row{display:flex;gap:16px;align-items:flex-start}.recipe-title-row h1{margin-bottom:16px;font-size:clamp(43px,5vw,66px);line-height:.98}.large-favorite{color:#c77b55;font-size:25px}.recipe-description{max-width:620px;margin-bottom:18px;color:#5d6e63;font-family:Georgia,Times New Roman,serif;font-size:20px;line-height:1.42}.recipe-byline{display:flex;flex-wrap:wrap;gap:16px;color:#78867c;font-size:13px}.recipe-byline a{color:var(--leaf);font-weight:800}.recipe-feature-image{position:relative;aspect-ratio:1.18;overflow:hidden;border-radius:10px;background:var(--sage);box-shadow:var(--shadow)}.recipe-stat-row{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.recipe-stat-row>div{min-width:132px;padding:18px 28px 19px 0;margin-right:28px}.recipe-stat-row span{display:block;margin-bottom:5px;color:#87938a;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.recipe-stat-row strong{color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:18px}.recipe-content-grid{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.4fr);grid-gap:70px;gap:70px;padding-top:50px}.ingredients-panel{align-self:start;padding:25px;border-radius:9px;background:#eff3e9}.ingredients-panel h2,.method-panel h2{margin-bottom:19px;color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:30px;letter-spacing:-.045em}.recipe-scaler{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:7px 9px;gap:7px 9px;margin:-4px 0 21px;padding-bottom:17px;border-bottom:1px solid #d9e1d2}.recipe-scaler-label{grid-column:1/-1;color:#6c7d70;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.scale-stepper{display:grid;grid-template-columns:29px 43px 29px;width:103px;overflow:hidden;border:1px solid #cad6c5;border-radius:6px;background:#fffefa}.scale-stepper button{border:0;background:transparent;color:var(--leaf);font-size:17px}.scale-stepper button:hover:not(:disabled){background:#e6eddf}.scale-stepper button:disabled{cursor:default;color:#b7c0b6}.scale-stepper output{display:grid;width:43px;height:32px;place-items:center;border-right:1px solid #d9e1d2;border-left:1px solid #d9e1d2;color:var(--leaf-deep);font-size:13px;font-weight:800}.scale-unit{overflow:hidden;color:#596b5f;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.scale-reset{justify-self:end;padding:0;border:0;background:transparent;color:#68816d;font-size:10px;font-weight:800}.scale-reset:hover{text-decoration:underline}.ingredients-panel ul{display:grid;grid-gap:13px;gap:13px;margin:0;padding:0;list-style:none}.ingredient-groups{display:grid;grid-gap:23px;gap:23px}.ingredient-group h3{margin:0 0 11px;color:#63806a;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:800;letter-spacing:.09em;line-height:1.35;text-transform:uppercase}.ingredients-panel li{display:flex;gap:10px;color:#405347;font-size:14px;line-height:1.4}.ingredients-panel li:before{content:"";flex:0 0 7px;height:7px;margin-top:6px;border:1px solid #86a287;border-radius:50%}.method-panel{max-width:690px}.method-panel ol{display:grid;grid-gap:23px;gap:23px;margin:0;padding:0;list-style:none;counter-reset:method}.method-panel li{display:grid;grid-template-columns:34px 1fr;grid-gap:13px;gap:13px;color:#46584d;font-size:16px;line-height:1.6;counter-increment:method}.method-panel li:before{content:counter(method);display:grid;place-items:center;width:28px;height:28px;margin-top:0;border-radius:50%;background:#e8eee0;color:#5b7a60;font-size:12px;font-weight:800}.cook-method-mention,.method-mention{padding:1px 4px 2px;border-radius:4px;font-weight:700;box-decoration-break:clone;-webkit-box-decoration-break:clone}.method-mention-time{background:#fff0c9;color:#755627}.method-mention-measurement{background:#e9f0e5;color:#496451}.method-mention-heat,.method-mention-temperature{background:#f5e7df;color:#7b5542}.notes-callout{margin-top:42px;padding:20px 23px;border-left:3px solid #d99c50;background:#fff8e9;color:#62513b}.notes-callout p:last-child{margin:0;line-height:1.5}.recipe-gallery{margin-top:75px;padding-top:44px;border-top:1px solid var(--line)}.recipe-gallery-heading{margin-bottom:24px}.recipe-gallery-heading h2{margin:0;color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:34px;letter-spacing:-.045em}.recipe-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,360px));justify-content:start;grid-gap:18px;gap:18px}.recipe-gallery figure{overflow:hidden;margin:0;border:1px solid #e0e3d9;border-radius:9px;background:#fffefa}.recipe-gallery a{position:relative;aspect-ratio:4/3}.recipe-gallery a,.recipe-gallery img{display:block;background:var(--paper-deep)}.recipe-gallery img{width:100%;height:100%;object-fit:contain;cursor:zoom-in}.recipe-gallery figcaption{padding:11px 13px 13px;color:#69776d;font-size:12px;line-height:1.4}.loading-page{max-width:1196px;min-height:calc(100vh - 76px);margin:0 auto;padding:76px 24px 100px}.loading-hero{display:grid;grid-gap:15px;gap:15px;padding:12px 0 49px}.loading-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:22px}.loading-recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:21px;gap:21px}.loading-recipe-card{overflow:hidden;border:1px solid #e2e4da;border-radius:10px;background:#fffefa}.loading-recipe-card>div{display:grid;grid-gap:12px;gap:12px;padding:19px}.skeleton-block{display:block;overflow:hidden;border-radius:5px;background:#e8eadf}.skeleton-block:after{display:block;width:100%;height:100%;content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-100%);animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-line{height:12px}.skeleton-title{width:min(540px,75vw);height:56px;border-radius:8px}.skeleton-search{width:min(560px,70%);height:46px;border-radius:8px}.skeleton-card-image{height:205px;border-radius:0}.loading-recipe-page{padding-top:44px}.loading-recipe-header{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:center;grid-gap:50px;gap:50px;padding:58px 0 46px}.loading-recipe-header>div{display:grid;grid-gap:16px;gap:16px}.skeleton-feature-image{aspect-ratio:1.18;border-radius:10px}.loading-recipe-content{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);grid-gap:60px;gap:60px;padding-top:47px;border-top:1px solid var(--line)}.loading-recipe-content>div{display:grid;align-content:start;grid-gap:19px;gap:19px}.recommendation-page{padding:76px 24px 100px}.recommendation-header{max-width:770px;margin-bottom:32px}.recommendation-header h1{margin-bottom:15px;color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,5vw,63px);line-height:.98;letter-spacing:-.055em}.recommendation-header>p:last-child{max-width:730px;margin:0;color:var(--muted);font-size:16px;line-height:1.55}.recommendation-form{display:grid;grid-gap:17px;gap:17px;padding:28px;border:1px solid #dfe4d9;border-radius:11px;background:#fffefa;box-shadow:var(--shadow)}.recommendation-form label{display:grid;grid-gap:9px;gap:9px;color:#536257;font-size:12px;font-weight:800}.recommendation-form textarea{width:100%;min-height:138px;padding:15px 16px;border:1px solid #d7ded3;border-radius:8px;outline:0;background:#fbfbf6;color:var(--ink);font-size:16px;font-weight:400;line-height:1.55;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.recommendation-form textarea:focus{border-color:#87a98e;background:#fffefa;box-shadow:0 0 0 3px rgba(87,137,96,.13)}.recommendation-form textarea::placeholder{color:#99a39b}.recommendation-examples{display:flex;flex-wrap:wrap;gap:8px}.recommendation-examples button{padding:7px 10px;border:1px solid #dce3d8;border-radius:999px;background:#f4f6ef;color:#607366;font-size:11px;font-weight:750;transition:background .15s ease,border-color .15s ease,color .15s ease}.recommendation-examples button:hover:not(:disabled){border-color:#b9cbb7;background:#eaf0e5;color:var(--leaf-deep)}.recommendation-examples button:disabled{cursor:default;opacity:.55}.recommendation-error,.recommendation-warning{margin:0;padding:11px 13px;border-radius:6px;font-size:12px;font-weight:700;line-height:1.45}.recommendation-warning{border:1px solid #e4d4a9;background:#fff9e9;color:#79633f}.recommendation-error{border:1px solid #e5b4ad;background:#fff1ee;color:#8b4239}.recommendation-submit-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:4px}.recommendation-submit-row>p{max-width:610px;margin:0;color:#879188;font-size:11px;line-height:1.45}.recommendation-submit-row .button{flex:none}.recommendation-progress{display:flex;align-items:center;gap:16px;margin-top:24px;padding:19px 21px;border:1px solid #dbe3d7;border-radius:9px;background:#f2f5ed;color:var(--leaf-deep)}.recommendation-progress>span{width:22px;height:22px;flex:none;border:3px solid #d2decf;border-top:3px solid var(--leaf);border-radius:50%;animation:search-spin .8s linear infinite}.recommendation-progress strong{display:block;margin-bottom:3px;font-size:13px}.recommendation-progress p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.recommendation-results{scroll-margin-top:24px;padding-top:72px}.recommendation-results-heading{max-width:730px;margin-bottom:29px}.recommendation-results-heading h2{margin-bottom:11px;color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,4vw,48px);letter-spacing:-.05em}.recommendation-results-heading>p:last-child{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;grid-gap:21px;gap:21px}.recommendation-card{position:relative;min-width:0}.recommendation-card .recipe-card{display:block}.recommendation-rank{position:absolute;z-index:2;top:11px;left:11px;display:grid;width:29px;height:29px;place-items:center;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(32,70,49,.9);color:#fffefa;box-shadow:0 3px 9px rgba(31,48,37,.15);font-family:Georgia,Times New Roman,serif;font-size:14px;font-weight:700;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.recommendation-reasoning{margin:-5px 9px 0;padding:20px 15px 14px;border:1px solid #e2e4da;border-top:0;border-radius:0 0 8px 8px;background:#f5f5ee}.recommendation-reasoning>p{margin:0;color:#53645a;font-size:13px;line-height:1.52}.recommendation-reasoning aside{margin-top:14px;padding:12px 13px;border-left:3px solid #d5a152;background:#fff8e7}.recommendation-reasoning aside strong{display:block;margin-bottom:4px;color:#83612e;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.recommendation-reasoning aside p{margin:0;color:#755f3e;font-size:12px;line-height:1.45}.recommendation-no-match{display:grid;justify-items:center;max-width:580px;padding:40px 30px;border:1px dashed #cfd8cb;border-radius:10px;background:#f6f6ef;text-align:center}.recommendation-no-match>span{display:grid;width:55px;height:55px;margin-bottom:16px;place-items:center;border-radius:50%;background:#e5ecde;color:var(--leaf);font-size:27px}.recommendation-no-match p{margin-bottom:18px;color:var(--muted);font-size:13px;line-height:1.5}.recommendation-refine{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:13px 12px;gap:13px 12px;margin-bottom:29px;padding:20px;border:1px solid #dce3d8;border-radius:9px;background:#f3f6ef}.recommendation-refine-copy{grid-column:1/-1}.recommendation-refine-copy strong{display:block;margin-bottom:3px;color:var(--leaf-deep);font-size:13px}.recommendation-refine-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.recommendation-refinement-history{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.recommendation-refinement-history>span{margin-right:2px;color:#7a887e;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.recommendation-refinement-history q{padding:5px 8px;border-radius:999px;background:#e4ecdd;color:#526b57;font-size:11px;font-weight:700}.recommendation-refine-form{display:flex;min-width:0}.recommendation-refine-form input{width:100%;min-width:0;padding:10px 12px;border:1px solid #d3ddd0;border-right:0;border-radius:7px 0 0 7px;outline:0;background:#fffefa;color:var(--ink);font-size:13px}.recommendation-refine-form input:focus{position:relative;border-color:#87a98e;box-shadow:0 0 0 3px rgba(87,137,96,.13)}.recommendation-refine-form .button{flex:none;border-radius:0 7px 7px 0}.recommendation-different-button{align-self:stretch;white-space:nowrap}.recommendation-refine .recommendation-error{grid-column:1/-1}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.skeleton-block:after{animation:none}.search-spinner{animation-duration:1.4s}.recommendation-progress>span{animation-duration:1.6s}}.recipe-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:70px;padding-top:25px;border-top:1px solid var(--line)}.recipe-danger-zone strong{display:block;margin-bottom:5px;color:#6f4b48;font-size:13px}.recipe-danger-zone p{margin:0;color:var(--muted);font-size:12px}.muted{color:var(--muted);font-size:14px}.cooking-page{padding:54px 24px 110px}.cooking-page.has-timers{padding-bottom:190px}.cooking-header{display:flex;align-items:flex-end;justify-content:space-between;gap:38px;padding-bottom:37px;border-bottom:1px solid var(--line)}.cooking-header>div:first-child{max-width:760px}.cooking-header h1{margin-bottom:11px;color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:clamp(40px,5vw,60px);line-height:1;letter-spacing:-.055em}.cooking-header p:last-child{max-width:680px;margin:0;color:var(--muted);font-size:14px;line-height:1.5}.cooking-header-actions{display:flex;flex-shrink:0;gap:9px}.cooking-layout{display:grid;grid-template-columns:minmax(245px,.72fr) minmax(0,1.4fr);grid-gap:66px;gap:66px;padding-top:43px}.cooking-ingredients{align-self:start;padding:24px;border-radius:9px;background:#eff3e9}.cooking-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px}.cooking-section-heading h2{margin:0;color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:30px;letter-spacing:-.045em}.cooking-section-heading>span{color:#809086;font-size:10px;font-weight:800;letter-spacing:.04em}.cook-ingredient-groups{display:grid;grid-gap:23px;gap:23px}.cook-ingredient-groups section>h3{margin:0 0 11px;color:#63806a;font-size:11px;letter-spacing:.09em;line-height:1.35;text-transform:uppercase}.cook-ingredient-groups ul{display:grid;grid-gap:7px;gap:7px;margin:0;padding:0;list-style:none}.cook-ingredient-groups label{display:grid;grid-template-columns:18px 1fr;grid-gap:9px;gap:9px;align-items:start;padding:5px 0;color:#405347;cursor:pointer;font-size:14px;line-height:1.4}.cook-ingredient-groups input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--leaf)}.cook-ingredient-groups li span{transition:color .15s ease,opacity .15s ease}.cook-ingredient-groups li.is-checked span{color:#7e8a81;text-decoration:line-through;-webkit-text-decoration-color:#9da89f;text-decoration-color:#9da89f;opacity:.75}.cooking-method{min-width:0;max-width:760px}.cooking-method ol{display:grid;grid-gap:4px;gap:4px;margin:0;padding:0;list-style:none;counter-reset:cooking-method}.cooking-method li{display:grid;grid-template-columns:34px 1fr;grid-gap:13px;gap:13px;margin:0 -16px;padding:16px;border-radius:8px;color:#46584d;cursor:pointer;font-size:17px;line-height:1.65;counter-increment:cooking-method;transition:background .16s ease,color .16s ease}.cooking-method li:before{content:counter(cooking-method);display:grid;place-items:center;width:28px;height:28px;margin-top:1px;border-radius:50%;background:#e8eee0;color:#5b7a60;font-size:12px;font-weight:800;transition:background .16s ease}.cooking-method li:hover{background:rgba(232,238,224,.42)}.cooking-method li.is-active{background:#e9f0e2;color:#304b39}.cooking-method li.is-active:before{background:#cadbbf;color:var(--leaf-deep)}.cooking-method li:focus-visible{outline:3px solid rgba(87,137,96,.18);outline-offset:1px}.cook-time-control{position:relative;display:inline}.cook-time-button,.cook-time-static{display:inline;padding:1px 5px 2px;border:0;border-radius:4px;background:#fff0c9;color:#755627;font:inherit;font-weight:750;line-height:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}.cook-time-button{box-shadow:inset 0 -1px 0 rgba(117,86,39,.22);cursor:pointer}.cook-time-button:focus-visible,.cook-time-button:hover{background:#ffe5a6;outline:none;box-shadow:inset 0 -2px 0 rgba(117,86,39,.3)}.cook-time-options{position:absolute;z-index:5;left:0;top:calc(100% + 7px);display:flex;gap:5px;width:max-content;padding:6px;border:1px solid #e3d3a9;border-radius:7px;background:#fffefa;box-shadow:0 9px 22px rgba(45,53,40,.13)}.cook-time-options button{padding:6px 9px;border:1px solid #e1d5b6;border-radius:5px;background:#fff7df;color:#755627;font-size:11px;font-weight:800}.cook-time-options button:hover{background:#ffe9b6}.cooking-timer-dock{position:fixed;z-index:20;right:0;bottom:0;left:0;padding:11px 20px;border-top:1px solid #cbd6c7;background:rgba(248,248,241,.97);box-shadow:0 -10px 32px rgba(33,52,38,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cooking-timer-dock-inner{display:flex;flex-wrap:wrap;gap:9px;max-width:1196px;margin:auto}.cooking-timer{display:flex;align-items:center;justify-content:space-between;gap:22px;min-width:280px;padding:10px 11px 10px 14px;border:1px solid #d8dfd4;border-radius:7px;background:#fffefa}.cooking-timer>div:first-child{display:grid;grid-gap:2px;gap:2px}.cooking-timer span{color:#748178;font-size:10px;font-weight:800}.cooking-timer strong{color:var(--leaf-deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:18px}.cooking-timer.is-finished{border-color:#ddb66f;background:#fff7df}.cooking-timer.is-finished strong{color:#a05f2e}.cooking-timer-actions{display:flex;align-items:center;gap:4px}.cooking-timer-actions button{padding:6px 7px;border:0;border-radius:4px;background:#edf1e8;color:#536c59;font-size:10px;font-weight:800}.cooking-timer-actions button:hover{background:#dde7d8}.cooking-timer-actions .timer-dismiss{background:transparent;color:#8a958d;font-size:18px;line-height:1}.settings-page{max-width:880px;padding:76px 24px 100px}.settings-intro{max-width:640px;padding-bottom:42px}.ios-settings-only{display:none}.settings-card{padding:29px;border:1px solid #dfe4d9;border-radius:10px;background:#fffefa;box-shadow:0 2px 6px rgba(35,51,36,.025)}.settings-heading{display:flex;justify-content:space-between;gap:20px}.settings-card h2{margin-bottom:8px;color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:30px;letter-spacing:-.04em}.settings-card h2+p{max-width:550px;margin-bottom:0;color:var(--muted);font-size:14px;line-height:1.5}.new-token-callout{display:grid;grid-gap:9px;gap:9px;margin:25px 0;padding:17px;border:1px solid #e3c37d;border-radius:7px;background:#fff8df;color:#604d30}.new-token-callout p{margin:0;color:#776140;font-size:13px}.new-token-callout code{overflow:auto;padding:9px 10px;border-radius:4px;background:#fffef8;color:#284e39;font-size:12px}.new-token-callout .button{width:-moz-fit-content;width:fit-content}.token-create-row{display:flex;align-items:end;gap:12px;margin-top:27px}.token-create-row .field{flex:1 1}.token-list{margin-top:28px;border-top:1px solid var(--line)}.token-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.token-row div{display:grid;grid-gap:4px;gap:4px}.token-row strong{font-size:14px}.token-row span{color:var(--muted);font-size:12px}.text-button{padding:0;border:0;background:transparent;color:#6c796e;font-size:12px;font-weight:800}.text-button:hover{text-decoration:underline}.text-button.danger{color:#ac665f}.status-muted{color:#a4aaa4!important;font-weight:800}.setup-card{margin-top:18px}.setup-copy{margin-bottom:18px;color:var(--muted);font-size:14px;line-height:1.5}.setup-download{margin-bottom:6px}.setup-card ol{display:grid;grid-gap:9px;gap:9px;margin:17px 0 0;padding-left:20px;color:#5b6a5f;font-size:14px;line-height:1.45}.setup-card code{padding:2px 5px;border-radius:3px;background:#f0f1e8;color:var(--leaf)}.browser-settings-link,.setup-card ol a{color:var(--leaf);font-weight:800;text-decoration:underline;text-underline-offset:2px}.setup-note{margin:18px 0 0;line-height:1.5}.blob-storage-meter{display:grid;grid-gap:12px;gap:12px;margin-top:20px;padding:17px;border:1px solid #dce5d7;border-radius:8px;background:#f4f7f0}.blob-storage-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.blob-storage-summary>div{display:grid;grid-gap:4px;gap:4px}.blob-storage-summary>div:last-child{text-align:right}.blob-storage-summary span{color:#758178;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.blob-storage-summary strong{color:var(--leaf-deep);font-family:Georgia,Times New Roman,serif;font-size:22px}.blob-storage-track{height:8px;overflow:hidden;border-radius:999px;background:#dce5d7}.blob-storage-track span{display:block;height:100%;border-radius:inherit;background:var(--leaf)}.blob-storage-meter p{margin:0;color:#748078;font-size:11px;line-height:1.5}.blob-storage-unavailable{margin:20px 0 0;padding:12px 14px;border-radius:6px;background:#f2f2eb;color:var(--muted);font-size:12px;line-height:1.45}.login-page{display:grid;place-items:center;min-height:100vh;padding:28px;background:radial-gradient(ellipse at 15% 15%,#e0ead6 0,transparent 35%),radial-gradient(ellipse at 90% 90%,#f8dfac 0,transparent 32%),var(--paper)}.login-card{width:min(100%,440px);padding:49px;border:1px solid #e0e4da;border-radius:12px;background:#fffefa;box-shadow:0 26px 60px rgba(43,62,45,.12)}.login-mark{width:44px;height:44px;margin-bottom:27px;font-size:23px}.login-card h1{font-size:43px;line-height:1}.login-card>p:not(.eyebrow){color:var(--muted);line-height:1.5}.login-form{display:grid;grid-gap:18px;gap:18px;margin-top:28px}.login-form .button{width:100%}.form-error{margin:-5px 0 0;color:#b15d57;font-size:13px;font-weight:700}.login-footer{position:fixed;bottom:24px;color:#6b7c70;font-size:12px}.not-found{display:grid;place-items:center;align-content:center;grid-gap:6px;gap:6px;min-height:100vh;padding:24px;text-align:center;background:var(--paper)}.not-found h1{font-size:clamp(38px,5vw,58px)}@media (max-width:800px){.topbar{height:auto;min-height:68px;padding:13px 18px;gap:12px}.shared-recipe-topbar{height:68px;padding:0 20px}.brand{font-size:22px}.topbar-nav{gap:1px;padding:3px}.nav-link{min-height:34px;padding:7px 8px;font-size:12px}.icon-link{width:34px;padding:0}.topbar-nav form{margin-left:1px;padding-left:2px}.nav-link-emphasis .nav-link-label{display:none}.library-hero{padding:55px 20px 33px}.desktop-clipper-only{display:none}.library-toolbar{align-items:stretch;flex-direction:column;gap:12px;padding:0 20px 22px}.search-form{max-width:none}.library-count{text-align:right}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 20px 50px}.recipe-card-image{height:170px}.loading-page{padding:48px 20px 72px}.loading-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.skeleton-card-image{height:170px}.loading-recipe-content,.loading-recipe-header{grid-template-columns:1fr;gap:34px}.skeleton-feature-image{width:min(580px,100%)}.recipe-card-content{padding:15px}.cooking-page,.recipe-form,.recipe-page,.recommendation-page,.scan-page,.settings-page{padding:48px 20px 72px}.recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.cooking-page.has-timers{padding-bottom:230px}.form-list-section,.recipe-content-grid,.recipe-header{grid-template-columns:1fr;gap:34px}.recipe-header{align-items:start}.recipe-feature-image{max-width:580px}.recipe-content-grid{padding-top:34px}.recipe-gallery{margin-top:55px;padding-top:35px}.recipe-danger-zone{align-items:stretch;flex-direction:column}.recipe-danger-zone .button{width:100%}.form-footer{grid-template-columns:1fr}.form-footer .button{width:100%}.form-actions{align-items:stretch;flex-direction:column-reverse}.photo-editor-heading,.scan-submit-row{align-items:stretch;flex-direction:column}.scan-submit-row .button{width:100%}.cooking-header{align-items:flex-start;flex-direction:column;gap:22px}.cooking-layout{grid-template-columns:1fr;gap:38px;padding-top:34px}.cooking-ingredients{max-width:620px}.cooking-method{max-width:none}.cooking-timer-dock-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cooking-timer{min-width:0}}@media (display-mode:standalone),(hover:none) and (pointer:coarse){.desktop-clipper-only{display:none}}@supports (-webkit-touch-callout:none){@media (hover:none) and (pointer:coarse){.ios-settings-only{display:block}}}@media (max-width:510px){.topbar-nav .nav-link:first-child,.topbar-nav form{display:none}.recipe-grid{grid-template-columns:1fr}.recipe-card-image{height:210px}.loading-recipe-grid{grid-template-columns:1fr}.skeleton-card-image{height:210px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.recipe-stat-row>div{min-width:47%;margin-right:0;padding-right:16px}.recipe-gallery-grid{grid-template-columns:1fr}.login-card{padding:38px 28px}.token-create-row{align-items:stretch;flex-direction:column}.token-create-row .button{width:100%}.settings-card{padding:22px}.scan-section{padding:20px}.scan-section-heading{align-items:flex-start;flex-direction:column;gap:8px}.scan-review-toolbar{align-items:stretch;flex-direction:column;margin:20px 20px 0}.photo-editor-grid{grid-template-columns:1fr}.recipe-page-toolbar,.shared-recipe-intro{align-items:flex-start;flex-direction:column}.shared-recipe-intro{gap:7px}.recipe-page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.recipe-page-actions .button-primary{grid-column:1/-1}.cooking-header-actions,.recipe-page-actions .button{width:100%}.cooking-header-actions .button{flex:1 1}.cooking-page.has-timers{padding-bottom:280px}.cooking-section-heading{align-items:flex-start;flex-direction:column;gap:5px}.cooking-method li{margin-right:-8px;margin-left:-8px;padding:14px 8px}.cooking-timer-dock-inner{grid-template-columns:1fr;max-height:235px;overflow-y:auto}.cooking-timer{gap:10px}.recommendation-form{padding:21px}.recommendation-submit-row{align-items:stretch;flex-direction:column;gap:15px}.recommendation-submit-row .button{width:100%}.recommendation-grid,.recommendation-refine{grid-template-columns:1fr}.recommendation-refine{padding:17px}.recommendation-refine .recommendation-error,.recommendation-refine-copy,.recommendation-refinement-history{grid-column:auto}.recommendation-different-button{width:100%}}