:root{--bg:#f4efe7;--surface:#fffdf9;--surface-muted:#eee7dd;--text:#2b3027;--muted:#6f7168;--border:#ddd2c5;--accent:#b95232;--accent-strong:#913b24;--accent-soft:#f5e0d4;--accent-fill:#b95232;--accent-fill-hover:#963b25;--warm:#657b5d;--focus:#2c7470;--danger:#a33f36;--danger-fill:#a33f36;--shadow:0 14px 36px #3e2d1f17;--code-bg:#ece4d9;--sidebar:#f8f2e9;--nav-text:#5b5e55;--placeholder:#9a958b;--badge-border:#e2d4c5;--badge-bg:#f8f1e7;--badge-text:#615b52;--option-text:#575a51;--chip-border:#dfb29b;--hover-border:#cbb9a8;--surface-tint:#f4eadc;--surface-tint-text:#6c5d4e;--line-soft:#eee5da;--neutral-dot:#9b968c;--warning:#aa6a22;--warning-strong:#8f5416;--warning-border:#d4a35a;--warning-bg:#fff6e7;--drop-border:#b9aa99;--drop-hover:#fbf4eb;--plan-heading:#efe7dc;--plan-add-border:#d3c3b4;--plan-add-text:#7c796f;--plan-input-border:#d6b9a9;--plan-input-divider:#ead6ca;--success-border:#bbcdb4;--success-bg:#eff5eb;--shopping-heading:#f0e8dd;--surface-subtle:#fbf7f0;--checked-bg:#faf7f2;--checkbox-border:#9c958a;--avatar-bg:#4d5b47;--member-avatar-bg:#63715c;--danger-border:#e7c0bb;--danger-text:#86332c;--danger-bg:#fff1ef;--bottom-nav-bg:#fffdf9f5;--font-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--bg:#171410;--surface:#211d18;--surface-muted:#2d2821;--text:#f3ecdf;--muted:#b6ada0;--border:#453c31;--accent:#e58b63;--accent-strong:#f2a27d;--accent-soft:#3c2720;--accent-fill:#c8623e;--accent-fill-hover:#dd744e;--warm:#9fb594;--focus:#70b7b0;--danger:#f08a7d;--danger-fill:#ad4c42;--shadow:0 16px 38px #0000004d;--code-bg:#302a23;--sidebar:#1b1814;--nav-text:#c4bbad;--placeholder:#8d8479;--badge-border:#4d4337;--badge-bg:#2a251f;--badge-text:#d3c9bb;--option-text:#cec4b6;--chip-border:#754733;--hover-border:#66594a;--surface-tint:#2b241d;--surface-tint-text:#c5b7a7;--line-soft:#393229;--neutral-dot:#8d8479;--warning:#e3a45a;--warning-strong:#f1bb76;--warning-border:#996b31;--warning-bg:#302516;--drop-border:#64584a;--drop-hover:#30271f;--plan-heading:#29241e;--plan-add-border:#5b4e41;--plan-add-text:#b7ac9f;--plan-input-border:#69493a;--plan-input-divider:#594035;--success-border:#50654b;--success-bg:#243023;--shopping-heading:#29241e;--surface-subtle:#25211c;--checked-bg:#1b1814;--checkbox-border:#857b6f;--avatar-bg:#596651;--member-avatar-bg:#697563;--danger-border:#79473f;--danger-text:#ffaaa0;--danger-bg:#321d1a;--bottom-nav-bg:#211d18f5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.key-create-form{align-items:start}.scope-options{border:1px solid var(--border);border-radius:5px;flex-wrap:wrap;grid-column:1/-1;gap:8px 16px;margin:0;padding:10px 12px;display:flex}.scope-options legend{color:var(--muted);padding:0 5px;font-size:11px;font-weight:700}.scope-options label{align-items:center;gap:6px;font-size:11px;display:inline-flex}.invite-link-capture a,.share-result a:not(.button){overflow-wrap:anywhere;color:var(--accent-strong);text-decoration:underline}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}html{background:var(--bg)}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,p{margin-top:0}h1{font-family:var(--font-display);letter-spacing:-.025em;font-weight:650}code{background:var(--code-bg);border-radius:4px;padding:2px 5px;font-size:.9em}.app-frame{grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--sidebar);z-index:10;flex-direction:column;height:100vh;padding:24px 15px 17px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;padding:0 7px 25px;font-size:18px;font-weight:760;display:flex}.brand-lockup{align-items:center;gap:7px;min-width:0;display:inline-flex}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:19px;font-weight:700}.product-stage{border:1px solid var(--chip-border);color:var(--accent-strong);background:var(--accent-soft);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:3px 6px 2px;font-size:8px;font-weight:850;line-height:1}.brand-mark{color:#fffaf2;background:linear-gradient(145deg, #c96a45, var(--accent-fill));border:1px solid #fff3;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 7px 16px #6d2f1d33}.brand-mark svg{width:24px;height:24px;overflow:visible}.brand-mark path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.35px;opacity:.68}.brand-mark circle{fill:currentColor}.side-nav{gap:3px;display:grid}.nav-link{height:44px;color:var(--nav-text);border-radius:9px;align-items:center;gap:11px;padding:0 12px;font-size:14px;font-weight:620;display:flex}.nav-link:hover{background:var(--surface-muted);color:var(--text)}.nav-link.active{color:var(--accent-strong);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:16px 8px 0;font-size:13px;display:flex}.sidebar-footer small{color:var(--muted);margin-top:2px;display:block}.account-copy{flex:1;min-width:0}.account-copy strong,.account-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.signout-button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;display:grid}.signout-button:hover{color:var(--text);background:var(--surface-muted)}.avatar{background:var(--avatar-bg);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-weight:750;display:grid}.main-content{min-width:0}.bottom-nav{display:none}.page-shell{width:min(1320px,100%);margin:0 auto;padding:42px 48px 76px}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-header h1,.detail-header h1{margin-bottom:8px;font-size:42px;line-height:1.04}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin-bottom:9px;font-size:10px;font-weight:820;line-height:1.2}.page-subtitle,.detail-header>div>p{color:var(--muted);margin-bottom:0;line-height:1.55}.header-actions,.detail-actions{align-items:center;gap:8px;display:flex}.button{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;font-weight:690;transition:transform .12s,background .12s,border-color .12s,color .12s;display:inline-flex}.button:focus-visible,.input:focus-visible,.select:focus-visible,.meal-slot:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 35%, transparent);outline-offset:2px}.button-primary{background:var(--accent-fill);color:#fff}.button-primary:hover{background:var(--accent-fill-hover);transform:translateY(-1px)}.button-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.button-secondary:hover{background:var(--surface-muted)}.button-ghost{color:var(--text);background:0 0}.button-danger{background:var(--danger-fill);color:#fff}.button-default{min-height:40px;padding:0 14px;font-size:13px}.button-sm{min-height:34px;padding:0 11px;font-size:12px}.button-icon{width:40px;height:40px;padding:0}.input,.select{border:1px solid var(--border);width:100%;min-height:42px;color:var(--text);background:var(--surface);border-radius:9px;outline:none;padding:0 12px}.input::placeholder{color:var(--placeholder)}.badge{border:1px solid var(--badge-border);background:var(--badge-bg);min-height:24px;color:var(--badge-text);border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:650;display:inline-flex}.tag-row{flex-wrap:wrap;gap:5px;display:flex}.search-bar{border:1px solid var(--border);background:var(--surface);min-height:64px;box-shadow:var(--shadow);border-radius:12px;grid-template-columns:auto minmax(220px,1fr) minmax(150px,260px) auto;align-items:center;gap:10px;padding:9px 10px 9px 17px;display:grid}.search-bar>svg{color:var(--muted)}.search-bar .input,.search-bar .select{border:0;border-left:1px solid var(--border);border-radius:0}.save-search-form{grid-template-columns:minmax(0,1fr) auto 40px;align-items:center;gap:8px;width:min(470px,100%);margin:-12px 0 20px auto;display:grid}.save-search-form .form-error{grid-column:1/-1}.saved-searches{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:130px minmax(0,1fr);align-items:start;gap:14px;margin-bottom:18px;padding:14px 0;display:grid}.saved-searches-heading{min-height:36px;color:var(--muted);align-items:center;gap:7px;display:flex}.saved-searches-heading svg{color:var(--accent)}.saved-searches-heading h2{margin:0;font-size:12px}.saved-search-list{flex-wrap:wrap;gap:7px;display:flex}.saved-search-item{border:1px solid var(--border);background:var(--surface);border-radius:6px;align-items:stretch;min-height:38px;display:flex;overflow:hidden}.saved-search-item>a{flex-direction:column;justify-content:center;min-width:118px;padding:6px 9px;font-size:12px;font-weight:700;display:flex}.saved-search-item>a:hover{background:var(--surface-muted)}.saved-search-item>a span{max-width:170px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:500;overflow:hidden}.saved-search-item form{border-left:1px solid var(--border);display:flex}.saved-search-item .button-icon{width:32px;height:100%;color:var(--muted)}.saved-search-item .button-icon:hover{color:var(--danger)}.recipe-scope-tabs{border-bottom:1px solid var(--border);gap:2px;min-height:39px;margin-bottom:10px;display:flex;overflow-x:auto}.recipe-scope-tabs a{min-height:38px;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.recipe-scope-tabs a:hover{color:var(--text)}.recipe-scope-tabs a.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.recipe-search{gap:10px;display:grid}.facet-panel{border:1px solid var(--border);background:var(--surface);border-radius:7px}.facet-panel>summary{cursor:pointer;min-height:44px;color:var(--text);justify-content:space-between;align-items:center;padding:0 13px;font-size:12px;font-weight:720;list-style:none;display:flex}.facet-panel>summary::-webkit-details-marker{display:none}.facet-panel>summary>span{align-items:center;gap:8px;display:flex}.facet-panel>summary>span>svg{color:var(--accent)}.facet-panel>summary>svg{color:var(--muted);transition:transform .12s}.facet-panel[open]>summary>svg{transform:rotate(180deg)}.facet-panel-body{border-top:1px solid var(--border);padding:13px}.facet-toolbar{grid-template-columns:minmax(180px,300px) auto;justify-content:space-between;align-items:end;gap:16px;display:grid}.facet-toolbar .input{min-height:36px}.tag-match-control{border:1px solid var(--border);border-radius:6px;margin:0;padding:0;display:flex;overflow:hidden}.tag-match-control legend{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.tag-match-control label{min-width:54px;height:34px;color:var(--muted);background:var(--surface);cursor:pointer;place-items:center;font-size:11px;font-weight:720;display:grid}.tag-match-control label+label{border-left:1px solid var(--border)}.tag-match-control label:has(input:checked){color:var(--accent-strong);background:var(--accent-soft)}.tag-match-control input{opacity:0;pointer-events:none;position:absolute}.facet-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 12px;padding-top:12px;display:grid}.facet-option{cursor:pointer;min-width:0;min-height:31px;color:var(--option-text);border-radius:5px;grid-template-columns:17px minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 7px;font-size:11px;display:grid}.facet-option:hover{background:var(--surface-muted)}.facet-option:has(input:checked){color:var(--accent-strong);background:var(--accent-soft);font-weight:700}.facet-option input{width:15px;height:15px;accent-color:var(--accent);margin:0}.facet-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.facet-option strong{color:var(--muted);font-size:10px;font-weight:600}.facet-empty{color:var(--muted);grid-column:1/-1;margin:6px 0;font-size:12px}.facet-actions{justify-content:space-between;align-items:end;min-height:39px;padding-top:9px;display:flex}.active-filters{flex-wrap:wrap;align-items:center;gap:6px;min-height:46px;padding:9px 0 0;display:flex}.filter-chip{border:1px solid var(--chip-border);min-height:27px;color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.filter-chip:hover{border-color:var(--accent)}.clear-filters{color:var(--muted);margin-left:3px;font-size:11px;font-weight:650}.clear-filters:hover{color:var(--text)}.result-heading{min-height:66px;color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.result-heading strong{color:var(--text)}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.recipe-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;min-height:248px;transition:transform .13s,box-shadow .13s,border-color .13s;display:flex;overflow:hidden}.recipe-card:hover{border-color:var(--hover-border);box-shadow:var(--shadow);transform:translateY(-2px)}.recipe-card-top{background:var(--surface-tint);height:48px;color:var(--surface-tint-text);justify-content:space-between;align-items:center;gap:10px;padding:0 14px;display:flex}.recipe-card-top h2{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;line-height:1.25;overflow:hidden}.recipe-card-top>svg{color:var(--accent);flex:none}.recipe-card-body{padding:16px 16px 8px}.recipe-card h2{letter-spacing:0}.recipe-card-body p{-webkit-line-clamp:3;color:var(--muted);-webkit-box-orient:vertical;margin-bottom:0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.recipe-meta{min-height:54px;color:var(--muted);justify-content:space-between;align-items:flex-end;gap:8px;margin-top:auto;padding:10px 16px 14px;font-size:11px;display:flex}.recipe-meta>span{white-space:nowrap;align-items:center;gap:5px;display:flex}.recipe-load-sentinel{min-height:72px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}.recipe-load-sentinel>span{align-items:center;gap:7px;display:inline-flex}.setup-state,.empty-state{border:1px solid var(--border);background:var(--surface);border-radius:7px}.setup-state{color:var(--muted);gap:14px;padding:22px;display:flex}.setup-state svg{color:var(--warm);flex:none}.setup-state h2,.empty-state h2{color:var(--text);margin-bottom:6px;font-size:16px}.setup-state p,.empty-state p{margin:0;font-size:13px}.setup-state details{margin-top:12px;font-size:12px}.setup-state pre{white-space:pre-wrap;max-width:900px;overflow:auto}.empty-state{text-align:center;min-height:300px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:36px;display:flex}.empty-state>svg{color:var(--accent);margin-bottom:14px}.back-link{color:var(--muted);align-items:center;gap:7px;margin-bottom:28px;font-size:13px;font-weight:650;display:inline-flex}.recipe-plan-context{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:72px;margin:-8px 0 25px;padding:11px 0;display:grid}.recipe-plan-context>svg{color:var(--accent)}.recipe-plan-context p{margin-bottom:3px}.recipe-plan-context div>strong,.recipe-plan-context div>span{display:block}.recipe-plan-context div>strong{font-size:13px}.recipe-plan-context div>span{color:var(--muted);text-transform:capitalize;margin-top:3px;font-size:11px}.recipe-plan-context>a{color:var(--accent-strong);font-size:11px;font-weight:750}.detail-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:27px;display:flex}.detail-header h1{max-width:780px;margin-top:13px}.detail-meta{color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:18px;font-size:13px;display:flex}.detail-meta span{align-items:center;gap:7px;display:flex}.detail-columns{grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:42px;padding-top:30px;display:grid}.section-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;padding-bottom:14px;display:flex}.section-heading h2{margin-bottom:0;font-size:20px}.section-heading>span{color:var(--muted);font-size:12px}.ingredient-heading{gap:16px;min-height:61px}.serving-adjuster{border:1px solid var(--border);background:var(--surface);border-radius:6px;grid-template-columns:36px 132px 36px;height:38px;display:grid;overflow:hidden}.serving-step{width:36px;height:36px;color:var(--muted);place-items:center;display:grid}.serving-step:hover{color:var(--accent-strong);background:var(--accent-soft)}.serving-adjuster>.serving-step:first-child{border-right:1px solid var(--border)}.serving-adjuster>.serving-step:last-child{border-left:1px solid var(--border)}.serving-adjuster form{grid-template-columns:57px 42px 32px;align-items:center;min-width:0;display:grid}.serving-adjuster label{color:var(--muted);text-align:right;font-size:10px;font-weight:700}.serving-adjuster .input{text-align:center;appearance:textfield;border:0;border-radius:0;width:42px;min-height:34px;padding:0 3px;font-size:12px;font-weight:750}.serving-adjuster .input::-webkit-inner-spin-button{appearance:none;margin:0}.serving-adjuster .input::-webkit-outer-spin-button{appearance:none;margin:0}.serving-adjuster .button-icon{width:32px;height:34px;color:var(--accent);padding:0}.planned-serving-adjuster{margin:0;padding:0}.planned-serving-adjuster .serving-step{cursor:pointer;background:0 0;border:0}.planned-serving-input{grid-template-columns:57px 42px 32px;align-items:center;min-width:0;display:grid}.planned-serving-input label{color:var(--muted);text-align:right;font-size:10px;font-weight:700}.planned-serving-input .input{text-align:center;appearance:textfield;border:0;border-radius:0;width:42px;min-height:34px;padding:0 3px;font-size:12px;font-weight:750}.planned-serving-input .input::-webkit-inner-spin-button{appearance:none;margin:0}.planned-serving-input .input::-webkit-outer-spin-button{appearance:none;margin:0}.planned-serving-input .button-icon{width:32px;height:34px;color:var(--accent);padding:0}.ingredient-list,.step-list{margin:0;padding:0;list-style:none}.ingredient-list li{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;min-height:49px;font-size:14px;line-height:1.35;display:flex}.parse-dot{background:var(--neutral-dot);border-radius:50%;flex:none;width:7px;height:7px}.parse-dot.parsed{background:var(--accent)}.parse-dot.partial{background:var(--warning-border)}.parse-dot.unresolved{background:var(--danger)}.step-list{counter-reset:steps}.step-list li{border-bottom:1px solid var(--line-soft);grid-template-columns:34px 1fr;gap:12px;padding:17px 0;display:grid}.step-list li>span{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-strong);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.step-list p{margin:3px 0 0;font-size:14px;line-height:1.55}.recipe-create-page,.recipe-review-page{max-width:1040px}.source-mode-tabs{border-bottom:1px solid var(--border);gap:2px;display:flex}.source-mode-tabs button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:0 15px;font-size:12px;font-weight:720;display:flex}.source-mode-tabs button.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.recipe-source-form{gap:18px;padding-top:24px;display:grid}.field-label{min-width:0;color:var(--option-text);gap:7px;font-size:11px;font-weight:730;display:grid}.field-label textarea{resize:vertical;border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface);font:inherit;border-radius:5px;outline:none;padding:11px 12px;font-size:13px;font-weight:450;line-height:1.5}.field-label textarea:focus-visible,.mapping-row select:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 35%, transparent);outline-offset:2px}.file-upload-field{gap:10px;display:grid}.file-drop{border:1px dashed var(--drop-border);width:100%;min-height:260px;color:var(--muted);background:var(--surface);text-align:center;cursor:pointer;font:inherit;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px;display:flex;position:relative;overflow:hidden}.file-input-overlay{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-drop:hover,.file-drop.drag-active{border-color:var(--accent);background:var(--drop-hover)}.file-drop:focus-within{outline:3px solid color-mix(in srgb, var(--focus) 35%, transparent);outline-offset:2px}.file-drop svg{color:var(--accent)}.file-drop strong{color:var(--text);font-size:14px}.file-drop span{font-size:11px}.selected-upload{border:1px solid var(--border);background:var(--surface);border-radius:6px;grid-template-columns:22px minmax(0,1fr) 36px;align-items:center;gap:10px;min-height:54px;padding:7px 8px 7px 12px;display:grid}.selected-upload>svg{color:var(--accent)}.selected-upload span{gap:2px;min-width:0;display:grid}.selected-upload strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.selected-upload small{color:var(--muted);font-size:10px}.selected-upload .button-icon{width:36px;height:36px;color:var(--muted)}.ai-processing-notice{border-left:3px solid var(--warning-border);color:var(--muted);background:var(--warning-bg);padding:10px 12px;font-size:11px;line-height:1.5}.form-command-row,.review-command-row{justify-content:flex-end;gap:8px;display:flex}.ingestion-status{border:1px solid var(--border);background:var(--surface);border-radius:7px;align-items:flex-start;gap:14px;min-height:180px;padding:28px;display:flex}.ingestion-status svg{color:var(--accent);flex:none}.ingestion-status.error svg{color:var(--danger)}.ingestion-status h2{margin-bottom:6px;font-size:17px}.ingestion-status p{color:var(--muted);line-height:1.5}.recipe-review-form{gap:30px;display:grid}.review-section{gap:16px;display:grid}.review-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.review-fields .full{grid-column:1/-1}.mapping-list{border-top:1px solid var(--border)}.mapping-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,1.2fr) minmax(190px,.9fr) 150px;align-items:center;gap:16px;min-height:94px;padding:12px 0;display:grid}.mapping-row>div{min-width:0}.mapping-row strong,.mapping-row span{overflow-wrap:anywhere;display:block}.mapping-row strong{font-size:12px;line-height:1.4}.mapping-row span{color:var(--muted);margin-top:4px;font-size:10px}.mapping-row>label{color:var(--muted);gap:5px;font-size:10px;font-weight:700;display:grid}.mapping-row select{border:1px solid var(--border);background:var(--surface);border-radius:5px;width:100%;min-height:38px;padding:0 8px;font-size:11px}.mapping-row .remember-alias{color:var(--text);align-items:center;gap:7px;display:flex}.mapping-row .remember-alias input{width:15px;height:15px;accent-color:var(--accent);margin:0}.visibility-control{border:1px solid var(--border);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.visibility-control label{cursor:pointer;background:var(--surface);grid-template-columns:18px 20px minmax(0,1fr);align-items:start;gap:9px;min-height:82px;padding:14px;display:grid}.visibility-control label+label{border-left:1px solid var(--border)}.visibility-control label:has(input:checked){color:var(--accent-strong);background:var(--accent-soft)}.visibility-control input{accent-color:var(--accent);margin:2px 0 0}.visibility-control strong,.visibility-control small{display:block}.visibility-control strong{font-size:12px}.visibility-control small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.4}.week-grid{border:1px solid var(--border);background:var(--surface);border-radius:7px;grid-template-columns:90px repeat(7,minmax(100px,1fr));min-width:860px;display:grid;overflow:hidden}.week-corner,.day-heading,.slot-heading{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--plan-heading);justify-content:center;align-items:center;min-height:48px;font-size:12px;font-weight:720;display:flex}.week-row{display:contents}.slot-heading{min-height:130px}.meal-slot-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);flex-direction:column;gap:6px;min-height:130px;padding:7px;display:flex}.meal-slot-add{border:1px dashed var(--plan-add-border);min-height:32px;color:var(--plan-add-text);border-radius:5px;justify-content:center;align-items:center;gap:4px;margin-top:auto;font-size:11px;display:flex}.meal-slot-add:hover{color:var(--accent);border-color:var(--accent)}.planned-meal{background:var(--accent-soft);border-radius:5px;padding:8px 24px 8px 8px;position:relative}.planned-meal>a{font-size:11px;font-weight:730;line-height:1.25;display:block}.planned-meal>span{color:var(--muted);font-size:10px}.planned-meal .plan-remove{position:absolute;top:5px;right:4px}.planned-meal button{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.plan-servings-form{border:1px solid var(--plan-input-border);background:var(--surface);border-radius:4px;grid-template-columns:52px 24px;align-items:center;width:78px;height:25px;margin-top:6px;display:grid;overflow:hidden}.plan-servings-form .input{appearance:textfield;border:0;border-radius:0;width:52px;min-height:23px;padding:0 4px;font-size:10px;font-weight:700}.plan-servings-form .input::-webkit-inner-spin-button{appearance:none;margin:0}.plan-servings-form .input::-webkit-outer-spin-button{appearance:none;margin:0}.plan-servings-form .button-icon{border-left:1px solid var(--plan-input-divider);width:24px;height:23px;color:var(--accent);border-radius:0;padding:0}.plan-add{border:1px solid var(--border);background:var(--surface);border-radius:7px;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;padding:14px 16px;display:flex}.plan-add h2{margin:0;font-size:17px}.plan-add form{align-items:flex-end;gap:8px;display:flex}.plan-add label{color:var(--muted);gap:4px;font-size:10px;font-weight:700;display:grid}.plan-add select{border:1px solid var(--border);min-height:40px;color:var(--text);background:var(--surface);border-radius:5px;padding:0 8px}.plan-add .input{width:80px}.plan-copy{border:1px solid var(--border);background:var(--surface);border-radius:7px;justify-content:space-between;align-items:center;gap:20px;min-height:72px;margin-bottom:16px;padding:13px 15px;display:flex}.plan-copy>div{align-items:center;gap:12px;display:flex}.plan-copy>div>svg{color:var(--accent);flex:none}.plan-copy h2{margin:0 0 3px;font-size:14px}.plan-copy p{color:var(--muted);margin:0;font-size:11px}.plan-copy-success{border:1px solid var(--success-border);min-height:38px;color:var(--accent-strong);background:var(--success-bg);border-radius:6px;align-items:center;gap:7px;margin:-4px 0 16px;padding:0 11px;font-size:12px;font-weight:650;display:flex}.plan-footer{justify-content:flex-end;padding-top:16px;display:flex}.shopping-tools{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:16px;max-width:1040px;min-height:66px;margin-bottom:14px;padding:10px 0;display:flex}.shopping-export-actions,.shopping-share-form{align-items:end;gap:8px;display:flex}.shopping-share-form label{color:var(--muted);gap:4px;font-size:10px;font-weight:700;display:grid}.shopping-share-form select{border:1px solid var(--border);background:var(--surface);border-radius:5px;min-height:40px;padding:0 28px 0 9px;font-size:12px}.share-result{border:1px solid var(--success-border);background:var(--success-bg);border-radius:6px;justify-content:space-between;align-items:center;gap:14px;max-width:840px;min-height:62px;margin-bottom:14px;padding:10px 13px;display:flex}.share-result strong,.share-result small{display:block}.share-result strong{color:var(--accent-strong);font-size:12px}.share-result small{color:var(--muted);margin-top:3px;font-size:10px}.shopping-list{border:1px solid var(--border);background:var(--surface);border-radius:7px;max-width:840px;overflow:hidden}.shopping-title{border-bottom:1px solid var(--border);background:var(--shopping-heading);align-items:center;gap:10px;min-height:58px;padding:0 17px;display:flex}.shopping-title h2{margin:0;font-size:15px}.shopping-title>span{color:var(--muted);margin-left:auto;font-size:12px}.shopping-source{border-bottom:1px solid var(--border);min-height:62px;color:var(--text);background:var(--surface-subtle);grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:10px 15px;display:grid}.shopping-source:hover{background:var(--surface-muted)}.shopping-source>svg:first-child{color:var(--accent)}.shopping-source>svg:last-child{color:var(--muted)}.shopping-source strong,.shopping-source small{display:block}.shopping-source strong{font-size:12px}.shopping-source small{color:var(--muted);margin-top:3px;font-size:10px}.shopping-row{border-bottom:1px solid var(--line-soft);grid-template-columns:28px minmax(0,1fr) auto 20px;align-items:center;gap:10px;min-height:58px;padding:8px 15px;display:grid}.shopping-row:last-child{border-bottom:0}.shopping-row.checked{color:var(--muted);background:var(--checked-bg)}.shopping-row.checked strong{text-decoration:line-through}.shopping-row strong,.shopping-row small{display:block}.shopping-row strong{font-size:13px}.shopping-row small{color:var(--muted);margin-top:3px;font-size:10px}.check-control{cursor:pointer;background:0 0;border:0;place-items:center;width:22px;height:22px;display:grid}.check-control span{border:1.5px solid var(--checkbox-border);border-radius:4px;width:17px;height:17px}.checked .check-control span{border-color:var(--accent-fill);background:var(--accent-fill);box-shadow:inset 0 0 0 3px #fff}.shopping-quantity{color:var(--text);font-size:12px;font-weight:700}.unresolved-icon{color:var(--warning)}.active-share-list{border-top:1px solid var(--border);max-width:840px;margin-top:24px}.active-share-list h2{margin:0;padding:15px 0 8px;font-size:14px}.active-share-list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:54px;display:flex}.active-share-list strong,.active-share-list small{display:block}.active-share-list strong{font-size:12px}.active-share-list small{color:var(--muted);margin-top:3px;font-size:10px}.household-section{max-width:760px}.household-switcher{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;max-width:430px;margin:14px 0;display:grid}.household-switcher label{color:var(--muted);gap:5px;font-size:10px;font-weight:700;display:grid}.household-member-list{border-top:1px solid var(--border)}.household-member-row{border-bottom:1px solid var(--border);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:68px;display:grid}.member-avatar{color:#fff;background:var(--member-avatar-bg);border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:grid}.household-member-row strong,.household-member-row small{display:block}.household-member-row strong{font-size:13px}.household-member-row small{color:var(--muted);margin-top:3px;font-size:10px}.member-meta{text-align:right}.member-meta span{justify-content:flex-end;align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.member-meta small{text-transform:capitalize}.household-invite-form{grid-template-columns:minmax(220px,1.5fr) minmax(140px,.8fr) auto;align-items:end;gap:8px;margin-top:18px;display:grid}.household-invite-form label{color:var(--muted);gap:5px;font-size:10px;font-weight:700;display:grid}.household-feedback{margin-top:10px}.invite-link-capture{border:1px solid var(--success-border);background:var(--success-bg);border-radius:6px;margin-top:10px;padding:12px}.invite-link-capture strong,.invite-link-capture a,.invite-link-capture small{display:block}.invite-link-capture strong{font-size:12px}.invite-link-capture a{overflow-wrap:anywhere;color:var(--accent-strong);margin-top:5px;font-size:11px;text-decoration:underline}.invite-link-capture small{color:var(--muted);margin-top:5px;font-size:10px}.pending-invitations{border-top:1px solid var(--border);margin-top:24px}.pending-invitations h3{margin:0;padding:14px 0 8px;font-size:12px}.pending-invitation-row{border-bottom:1px solid var(--border);grid-template-columns:24px minmax(0,1fr) auto 40px;align-items:center;gap:8px;min-height:58px;display:grid}.pending-invitation-row>svg{color:var(--accent)}.pending-invitation-row strong,.pending-invitation-row small{display:block}.pending-invitation-row strong{font-size:12px}.pending-invitation-row small{color:var(--muted);text-transform:capitalize;margin-top:3px;font-size:10px}.pending-invitation-row>span{color:var(--muted);text-transform:capitalize;align-items:center;gap:4px;font-size:10px;display:inline-flex}.pending-invitation-row>span.invite-expired{color:var(--danger)}.household-permission-note{color:var(--muted);margin:14px 0 0;font-size:12px}.appearance-section,.measurement-section{max-width:760px;margin-top:34px}.appearance-form,.measurement-form{margin-top:15px}.appearance-options,.measurement-options{border:1px solid var(--border);border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;display:grid;overflow:hidden}.appearance-options legend,.measurement-options legend{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.appearance-options label,.measurement-options label{cursor:pointer;background:var(--surface);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;min-width:0;min-height:78px;padding:12px;display:grid}.appearance-options label{grid-template-columns:18px 20px minmax(0,1fr)}.appearance-options label>svg{color:var(--muted);margin-top:1px}.appearance-options label+label,.measurement-options label+label{border-left:1px solid var(--border)}:is(.appearance-options label:has(input:checked),.measurement-options label:has(input:checked)){color:var(--accent-strong);background:var(--accent-soft)}.appearance-options label:has(input:checked)>svg{color:var(--accent)}.appearance-options input,.measurement-options input{width:16px;height:16px;accent-color:var(--accent);margin:2px 0 0}.appearance-options strong,.appearance-options small,.measurement-options strong,.measurement-options small{display:block}.appearance-options strong,.measurement-options strong{font-size:12px}.appearance-options small,.measurement-options small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.4}.appearance-actions,.measurement-actions{justify-content:space-between;align-items:end;min-height:54px;display:flex}.settings-saved{color:var(--accent-strong);align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.meal-slot-section{max-width:760px;margin-top:34px}.meal-slot-form{margin-top:15px}.meal-slot-editor{border-top:1px solid var(--border)}.meal-slot-setting{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) repeat(3,36px);align-items:center;gap:4px;min-height:55px;display:grid}.meal-slot-setting .input{max-width:360px}.meal-slot-actions{justify-content:space-between;align-items:end;gap:12px;min-height:62px;display:flex}.meal-slot-actions>div{justify-content:flex-end;align-items:center;gap:10px;display:flex}.meal-slot-actions .form-error{padding:7px 9px}.api-key-section{max-width:760px;margin-top:36px}.key-form{grid-template-columns:1fr auto;gap:8px;margin:15px 0;display:grid}.key-reveal{border:1px solid var(--success-border);background:var(--success-bg);border-radius:6px;margin-top:14px;padding:13px}.key-reveal strong,.key-reveal code{display:block}.key-reveal strong{margin-bottom:8px;font-size:12px}.key-reveal code{overflow-wrap:anywhere;background:0 0;padding:0}.key-list{border-top:1px solid var(--border)}.key-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto 40px;align-items:center;gap:10px;min-height:72px;display:grid}.key-row strong,.key-row code,.key-row small{display:block}.key-row strong{font-size:13px}.key-row code{width:fit-content;margin-top:4px}.key-row small,.key-row>span{color:var(--muted);font-size:10px}.error-page{background:radial-gradient(circle at 15% 10%, var(--accent-soft), transparent 34%), var(--bg);place-items:center;min-height:100vh;padding:30px;display:grid}.error-page>div{max-width:520px}.error-page .brand-mark{margin-bottom:26px}.error-page h1{margin-bottom:12px;font-size:40px}.error-page>div>p:not(.eyebrow,.error-reference){color:var(--muted);line-height:1.6}.error-page a{color:var(--accent);font-weight:700}.error-reference{border:1px solid var(--border);background:var(--surface-muted);overflow-wrap:anywhere;border-radius:9px;margin:20px 0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.auth-page{background:var(--surface);grid-template-columns:minmax(430px,.96fr) minmax(470px,1.04fr);min-height:100vh;display:grid}.auth-brand-panel{color:#fffaf2;background:radial-gradient(circle at 12% 85%,#b9523257,#0000 34%),linear-gradient(145deg,#344232,#202b22 72%);flex-direction:column;justify-content:space-between;min-height:100vh;padding:38px 52px;display:flex;position:relative;overflow:hidden}.auth-brand-panel:before{content:"";border:1px solid #fffaf21f;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-125px;right:-148px;box-shadow:0 0 0 48px #fffaf20a,0 0 0 96px #fffaf206}.auth-brand-panel>*{z-index:1;position:relative}.auth-brand{color:#fff;padding-left:0}.auth-brand .brand-name{font-size:22px}.auth-brand .product-stage{color:#ffe2d2;background:#b9523238;border-color:#ffe2d261}.auth-brand-panel>div{max-width:560px}.auth-brand-panel h1{color:#fffaf2;margin-bottom:22px;font-size:clamp(48px,5vw,68px);line-height:.98}.auth-brand-panel p:not(.eyebrow){color:#d7ddcf;max-width:500px;font-size:16px;line-height:1.7}.auth-brand-panel .eyebrow{color:#efad8a}.auth-brand-panel small{color:#bdc8b7;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.auth-form-panel{background:var(--surface);place-items:center;padding:48px;display:grid}.auth-form-wrap{width:min(430px,100%)}.auth-form-wrap h2{font-family:var(--font-display);letter-spacing:-.025em;margin-bottom:9px;font-size:33px;font-weight:650}.auth-form-wrap>p:not(.eyebrow){color:var(--muted);margin-bottom:25px;line-height:1.5}.google-button{width:100%;min-height:46px}.auth-divider{height:45px;color:var(--muted);align-items:center;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-divider span{padding:0 12px}.auth-form{gap:15px;display:grid}.auth-form label{gap:6px;font-size:12px;font-weight:700;display:grid}.auth-form .input{min-height:46px}.auth-form .button{margin-top:3px}.form-error{border:1px solid var(--danger-border);color:var(--danger-text);background:var(--danger-bg);border-radius:5px;margin:0;padding:10px 12px;font-size:12px}.form-success{border:1px solid var(--success-border);color:var(--text);background:var(--success-bg);border-radius:6px;margin:0 0 16px;padding:11px 13px;font-size:12px;line-height:1.5}.auth-help-link{width:fit-content;color:var(--accent-strong);font-size:12px;font-weight:700}.auth-action-page{background:radial-gradient(circle at 15% 10%, var(--accent-soft), transparent 34%), var(--bg);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-action-card{border:1px solid var(--border);background:var(--surface);width:min(480px,100%);box-shadow:var(--shadow);border-radius:16px;padding:34px}.auth-action-brand{padding:0 0 32px}.auth-action-card h1{margin-bottom:12px;font-size:36px}.auth-action-card>p:not(.eyebrow,.form-error,.form-success){color:var(--muted);line-height:1.6}.auth-action-card>.button,.auth-action-card>.auth-help-link{margin-top:16px}.auth-mode{width:100%;color:var(--accent);cursor:pointer;background:0 0;border:0;margin-top:20px;font-size:12px;font-weight:700}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.invite-page{background:var(--surface);width:min(680px,100%);min-height:100vh;box-shadow:0 0 0 1px var(--border);margin:0 auto;padding:0 22px 48px}.invite-brand{border-bottom:1px solid var(--border);align-items:center;height:78px;display:flex}.invite-brand .brand{padding:0}.invite-panel{width:min(460px,100%);margin:58px auto 0}.invite-panel h1{margin-bottom:13px;font-size:38px;line-height:1.06}.invite-panel>p:not(.eyebrow){color:var(--muted);line-height:1.55}.invite-details{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));margin:23px 0;display:grid}.invite-details div{padding:13px 0}.invite-details div+div{border-left:1px solid var(--border);padding-left:18px}.invite-details dt{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.invite-details dd{text-transform:capitalize;margin:4px 0 0;font-size:13px;font-weight:700}.invite-form{gap:13px;display:grid}.invite-form label{gap:6px;font-size:11px;font-weight:700;display:grid}.invite-form>p{color:var(--muted);margin-bottom:3px;font-size:13px;line-height:1.5}.invite-state{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:12px;padding:16px 0;display:grid}.invite-state p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.invite-state .button{justify-self:start}.invite-panel>small{color:var(--muted);margin-top:20px;font-size:10px;display:block}.shared-loading{background:radial-gradient(circle at 50% 42%, var(--accent-soft), transparent 30%), var(--bg);text-align:center;place-items:center;min-height:100vh;padding:24px;display:grid}.shared-loading>div{justify-items:center;gap:13px;max-width:420px;display:grid}.shared-loading h1{margin:4px 0 0;font-size:30px}.shared-loading p{color:var(--muted);margin:0;line-height:1.5}.shared-page{background:var(--surface);width:min(680px,100%);min-height:100vh;box-shadow:0 0 0 1px var(--border);margin:0 auto;padding:0 22px 34px}.shared-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:68px;display:flex}.shared-brand{align-items:center;gap:10px;font-size:14px;display:flex}.shared-brand .brand-mark{width:32px;height:32px}.shared-brand .brand-mark svg{width:20px;height:20px}.shared-brand .brand-name{font-size:17px}.shared-exit{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.shared-summary{padding:27px 0 19px}.shared-summary h1{overflow-wrap:anywhere;margin:0 0 7px;font-size:34px;line-height:1.08}.shared-summary>p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px}.shared-summary>div{color:var(--muted);margin-top:19px;font-size:12px}.shared-summary>div strong{color:var(--text);font-size:24px}.shared-summary>div span{margin-left:3px}.shared-list{border-top:1px solid var(--border)}.shared-item{border-bottom:1px solid var(--border);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;display:grid}.shared-check{color:#fff;cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid;position:relative}.shared-check:before{content:"";border:1.5px solid var(--checkbox-border);border-radius:4px;width:21px;height:21px;position:absolute}.shared-check svg{z-index:1;position:relative}.shared-item.checked .shared-check:before{border-color:var(--accent-fill);background:var(--accent-fill)}.shared-item strong,.shared-item small{display:block}.shared-item strong{overflow-wrap:anywhere;font-size:14px;line-height:1.35}.shared-item small{color:var(--warning-strong);margin-top:2px;font-size:10px}.shared-item>span{white-space:nowrap;padding-left:8px;font-size:12px;font-weight:720}.shared-item.checked strong{color:var(--muted);text-decoration:line-through}.shared-footer{min-height:58px;color:var(--muted);justify-content:center;align-items:center;gap:6px;font-size:10px;display:flex}@media (width<=1050px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-columns{gap:26px}.plan-page{overflow-x:auto}.search-bar{grid-template-columns:auto minmax(0,1fr) auto}.search-bar>svg{grid-area:1/1}.search-bar .search-query{grid-area:1/2}.search-bar>.button{grid-area:1/3}.search-bar .search-ingredient{border-top:1px solid var(--border);grid-area:2/2/auto/4}.search-bar .input,.search-bar .select{border-left:0}.facet-options{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.auth-page{background:var(--surface);display:block}.auth-brand-panel{min-height:auto;padding:18px 20px 22px}.auth-brand-panel:before{width:180px;height:180px;bottom:-120px;right:-90px}.auth-brand-panel>div,.auth-brand-panel>small{display:none}.auth-brand{padding-bottom:0}.auth-form-panel{padding:38px 20px}.invite-page{padding:0 18px 36px}.invite-brand{height:68px}.invite-panel{margin-top:35px}.invite-panel h1{font-size:27px}.app-frame{padding-bottom:65px;display:block}.sidebar{display:none}.bottom-nav{z-index:20;border-top:1px solid var(--border);background:var(--bottom-nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:repeat(4,1fr);min-height:62px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-link{min-width:0;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:650;display:flex}.bottom-link.active{color:var(--accent)}.page-shell{padding:24px 16px 45px}.page-header,.detail-header{flex-direction:column;align-items:flex-start}.page-header h1,.detail-header h1{font-size:33px}.recipe-grid{grid-template-columns:1fr}.recipe-card{min-height:220px}.save-search-form{grid-template-columns:minmax(0,1fr) auto 40px;margin-top:-12px}.plan-copy{flex-direction:column;align-items:stretch;gap:12px}.plan-copy form .button{width:100%}.appearance-options,.measurement-options,.household-invite-form{grid-template-columns:1fr}.appearance-options label+label,.measurement-options label+label{border-left:0;border-top:1px solid var(--border)}.meal-slot-actions{flex-direction:column;align-items:stretch;padding-top:12px}.meal-slot-actions>div{justify-content:space-between}.saved-searches{grid-template-columns:1fr;gap:6px}.saved-search-list{flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.saved-search-item{flex:none}.search-bar{grid-template-columns:auto minmax(0,1fr) auto}.search-bar .search-ingredient{grid-column:1/-1;padding-left:12px}.facet-toolbar{grid-template-columns:1fr auto;gap:8px}.facet-options{grid-template-columns:repeat(2,minmax(0,1fr))}.result-heading span{display:none}.detail-actions{flex-wrap:wrap;width:100%}.detail-actions .button-primary{flex:1}.detail-columns{grid-template-columns:1fr}.recipe-plan-context{grid-template-columns:24px minmax(0,1fr)}.recipe-plan-context>a,.recipe-plan-context>.settings-saved{grid-column:2;justify-self:start}.ingredient-heading{flex-direction:column;align-items:flex-start}.header-actions{max-width:100%;overflow-x:auto}.shopping-tools{flex-direction:column;align-items:stretch}.shopping-export-actions,.shopping-share-form{width:100%}.shopping-export-actions .button{flex:1}.shopping-share-form{grid-template-columns:minmax(0,1fr) auto;display:grid}.shopping-share-form label{grid-column:1/-1}.shopping-share-form select{width:100%}.share-result{flex-direction:column;align-items:stretch}.share-result .button{width:100%}.shopping-title{flex-wrap:wrap;align-items:flex-start;padding-top:12px;padding-bottom:12px}.shopping-title>span{width:100%;margin-left:30px}.shopping-row{grid-template-columns:28px minmax(0,1fr) auto 16px;padding-left:10px;padding-right:10px}.plan-page{overflow-x:auto}.week-grid{min-width:850px}.review-fields{grid-template-columns:1fr}.review-fields .full{grid-column:auto}.mapping-row{grid-template-columns:1fr;gap:10px}.visibility-control{grid-template-columns:1fr}.visibility-control label+label{border-left:0;border-top:1px solid var(--border)}.review-command-row{flex-direction:column-reverse;align-items:stretch}.review-command-row .button{width:100%}}
