:root{--color-paper:lab(97.5055% .876427 6.85533);--color-paper-soft:lab(94.5335% 1.51029 12.3181);--color-surface:lab(99.4404% .270456 2.27054);--color-ink:lab(15.7308% 8.02983 11.4081);--color-ink-soft:lab(40.7067% 7.71119 12.5758);--color-border:lab(85.5358% 3.64524 13.4984);--color-coral:lab(61.7617% 39.8206 34.6118);--color-coral-dark:lab(47.8116% 39.6048 32.8148);--color-coral-strong:lab(40.8636% 38.894 32.8254);--color-coral-soft:lab(90.3767% 13.7445 13.1574);--color-leaf:lab(52.3422% -23.2269 21.1664);--color-leaf-dark:lab(35.9466% -20.0082 18.4154);--color-leaf-soft:lab(90.2068% -13.0977 13.3438);--color-brown:lab(42.8262% 17.4632 30.3929);--color-brown-dark:lab(25.4271% 14.9373 21.5444);--color-brown-soft:lab(81.4068% 9.09907 25.6208);--color-gold:lab(74.5671% 11.0399 49.2062);--color-white:lab(99.7884% .270367 2.27054);--color-accent-ink:lab(99.7884% .270367 2.27054);--color-focus:lab(13.1285% 4.70878 -39.2903);--color-overlay:lab(15.7308% 8.02983 11.4081/.56);--color-danger:lab(47.2962% 53.2083 35.0374);--shadow-soft:0 12px 34px -20px lab(24.285% 14.193 20.4324/.35);--shadow-raised:0 18px 38px -20px lab(24.285% 14.193 20.4324/.44);--font-display:var(--font-line-seed);--font-body:var(--font-line-seed);--text-nav:.875rem;--text-label:.875rem;--text-meta:.75rem;--text-caption:.6875rem;--text-body:1rem;--text-card-title:1.125rem;--text-brand:1.125rem;--text-section-title:clamp(1.5rem, 3vw, 2.25rem);--text-content-title:clamp(1.5rem, 2.5vw, 2rem);--text-page-title:clamp(2.25rem, 4.5vw, 3.75rem);--text-page-title-mobile:clamp(2rem, 10vw, 2.75rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-bottom-nav:5.75rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-pill:999px;--radius-input:var(--radius-sm);--radius-card:var(--radius-md);--rule-fine:1px;--control-height:2.75rem;--control-height-lg:3rem;--control-height-touch:3.25rem;--content-width:72rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.18s;--dur-card:.2s;--dur-long:.42s;--dur-reduced:.01ms;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}.member-page-main{padding:var(--space-8) 0 var(--space-16)}.member-page-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-6);min-width:0;margin-bottom:var(--space-8);display:flex}.member-page-heading h1{overflow-wrap:anywhere;min-width:0;font-size:var(--text-section-title);letter-spacing:-.035em;margin:0}.member-page-heading p{max-width:52ch;margin:var(--space-3) 0 0;color:var(--color-ink-soft);line-height:1.7}.primary-action,.outline-action{min-height:var(--control-height-lg);justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-5);border-radius:var(--radius-input);cursor:pointer;font-size:var(--text-label);white-space:nowrap;font-weight:800;display:inline-flex}.primary-action{border:var(--rule-fine) solid var(--color-coral-dark);background:var(--color-coral-dark);color:var(--color-accent-ink)}.outline-action{border:var(--rule-fine) solid var(--color-border);background:var(--color-surface);color:var(--color-ink)}.full-action{width:100%}.member-notice{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-input);background:var(--color-leaf-soft);color:var(--color-leaf-dark);font-size:var(--text-label);font-weight:700}.member-section-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-5);min-width:0;margin:var(--space-8) 0 var(--space-5);display:flex}.member-section-heading h2{overflow-wrap:anywhere;min-width:0;font-size:var(--text-content-title);margin:0}.member-section-heading p{margin:var(--space-2) 0 0;color:var(--color-ink-soft);font-size:var(--text-label)}.member-section-heading a,.member-section-heading button{align-items:center;gap:var(--space-1);min-height:var(--control-height);color:var(--color-coral-dark);cursor:pointer;font-size:var(--text-label);white-space:nowrap;background:0 0;border:0;padding:0;font-weight:800;display:inline-flex}.member-empty{justify-items:center;gap:var(--space-3);padding:var(--space-8);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-ink-soft);text-align:center;display:grid}.member-empty p,.member-empty h2{margin:0}.member-empty button{min-height:var(--control-height);padding:0 var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);cursor:pointer;font-size:var(--text-label);white-space:nowrap;font-weight:700}.member-empty-large{margin-top:var(--space-6);padding:var(--space-16) var(--space-6)}.member-empty-large>.svg-inline--fa{color:var(--color-coral-dark);font-size:var(--text-content-title)}.recipe-editor-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 18rem;align-items:start;display:grid}.editor-sections{gap:var(--space-5);min-width:0;display:grid}.form-panel{min-width:0;padding:var(--space-6);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft)}.form-panel-heading{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.form-panel-heading>span{background:var(--color-coral-soft);width:2.25rem;height:2.25rem;color:var(--color-coral-dark);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.form-panel-heading h2{font-size:var(--text-content-title);margin:0}.form-panel-heading p{margin:var(--space-1) 0 0;color:var(--color-ink-soft);font-size:var(--text-label)}.form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-field{align-content:start;gap:var(--space-2);min-width:0;display:grid}.form-field-wide{grid-column:1/-1}.form-field>span,.ingredient-form-row label>span{color:var(--color-brown-dark);font-size:var(--text-label);font-weight:700}.form-field b,.visibility-field b{color:var(--color-danger);font-size:var(--text-meta)}.form-field input,.form-field select,.form-field textarea,.ingredient-form-row input,.ingredient-form-row select,.step-form-row textarea{width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);outline-offset:var(--rule-fine);background:var(--color-surface);color:var(--color-ink);outline:2px solid #0000}.form-field textarea,.step-form-row textarea{resize:vertical;line-height:1.65}.form-field small{color:var(--color-ink-soft);font-size:var(--text-meta);line-height:1.5}.field-with-unit{border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden}.field-with-unit input{border:0;border-radius:0}.field-with-unit>span{padding:0 var(--space-3);color:var(--color-ink-soft);font-size:var(--text-label);white-space:nowrap;font-weight:700}.visibility-field{gap:var(--space-3);margin:var(--space-5) 0 0;padding:var(--space-5) 0 0;border:0;border-top:var(--rule-fine) solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.visibility-field legend{margin-bottom:var(--space-3);color:var(--color-brown-dark);font-size:var(--text-label);font-weight:700}.visibility-field label{min-height:var(--control-height-touch);align-items:center;gap:var(--space-3);padding:var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);cursor:pointer;display:flex}.visibility-field label:has(input:checked){border-color:var(--color-leaf);background:var(--color-leaf-soft)}.visibility-field input{width:1.1rem;height:1.1rem;accent-color:var(--color-leaf-dark)}.visibility-field label>span{gap:var(--space-1);display:grid}.visibility-field strong{font-size:var(--text-label)}.visibility-field small{color:var(--color-ink-soft);font-size:var(--text-caption)}.dynamic-list{gap:var(--space-3);display:grid}.ingredient-form-row{gap:var(--space-2);min-width:0;padding:var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-paper);grid-template-columns:2rem repeat(12,minmax(0,1fr));align-items:end;display:grid}.ingredient-form-row label{gap:var(--space-2);min-width:0;display:grid}.ingredient-form-row .row-number{grid-area:1/1/3}.ingredient-form-row label:first-of-type{grid-column:2/5}.ingredient-form-row label:nth-of-type(2){grid-column:5/10}.ingredient-form-row label:nth-of-type(3){grid-column:2/5}.ingredient-form-row label:nth-of-type(4){grid-column:5/8}.ingredient-form-row label:nth-of-type(5){grid-column:8/14}.row-number{background:var(--color-paper-soft);width:2rem;height:2rem;color:var(--color-brown-dark);font-size:var(--text-label);font-variant-numeric:tabular-nums;border-radius:50%;align-self:center;place-items:center;font-weight:800;display:grid}.row-delete,.outline-icon-button{width:var(--control-height);height:var(--control-height);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink-soft);cursor:pointer;place-items:center;display:grid}.row-actions{grid-column:10/14;grid-template-columns:repeat(3, var(--control-height));justify-content:end;gap:var(--space-1);display:grid}.row-actions button{width:var(--control-height);height:var(--control-height);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink-soft);cursor:pointer;place-items:center;display:grid}.row-actions button:disabled{cursor:not-allowed;opacity:.38}.add-row-button{min-height:var(--control-height);align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:0 var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-coral-dark);cursor:pointer;font-size:var(--text-label);white-space:nowrap;font-weight:800;display:inline-flex}.step-form-row{gap:var(--space-3);min-width:0;padding:var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-paper);grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;display:grid}.step-form-row label{min-width:0}.step-form-row .row-actions{grid-column:auto}.step-image-editor{grid-column:2/3;min-width:0}.step-image-preview{aspect-ratio:4/3;margin-top:var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-paper-soft);position:relative;overflow:hidden}.step-image-preview img{object-fit:cover;width:100%;height:100%;display:block}.step-image-preview span{right:var(--space-2);bottom:var(--space-2);align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:color-mix(in oklch, var(--color-ink) 78%, transparent);color:var(--color-surface);font-size:var(--text-caption);font-weight:700;display:inline-flex;position:absolute}.step-image-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.step-image-actions .outline-action{min-height:var(--control-height)}.recipe-image-editor{min-width:0;margin:0 0 var(--space-5);border:0;padding:0}.recipe-image-editor>legend{margin-bottom:var(--space-3);color:var(--color-brown-dark);font-size:var(--text-label);font-weight:700}.recipe-image-empty{justify-content:center;align-items:center;gap:var(--space-4);width:100%;min-height:8rem;padding:var(--space-5);border:var(--rule-fine) dashed var(--color-brown-soft);border-radius:var(--radius-card);background:var(--color-paper);color:var(--color-coral-dark);cursor:pointer;text-align:left;display:flex}.recipe-image-empty>.svg-inline--fa{font-size:var(--text-content-title)}.recipe-image-empty>span{gap:var(--space-1);display:grid}.recipe-image-empty small{color:var(--color-ink-soft);font-size:var(--text-meta);font-weight:400}.recipe-image-preview{aspect-ratio:8/5;border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-paper-soft);width:100%;position:relative;overflow:hidden}.recipe-image-preview canvas,.recipe-current-image{width:100%;height:100%;display:block}.recipe-current-image{background-position:50%;background-size:cover}.recipe-image-preview>span{right:var(--space-3);bottom:var(--space-3);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:color-mix(in oklch, var(--color-ink) 78%, transparent);color:var(--color-surface);font-size:var(--text-caption);font-weight:700;display:inline-flex;position:absolute}.recipe-crop-controls{gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-input);background:var(--color-paper-soft);display:grid}.recipe-crop-controls p{color:var(--color-ink-soft);font-size:var(--text-meta);margin:0;line-height:1.6}.recipe-crop-controls label{align-items:center;gap:var(--space-3);color:var(--color-brown-dark);font-size:var(--text-label);grid-template-columns:5rem minmax(0,1fr);font-weight:700;display:grid}.recipe-crop-controls input{width:100%;accent-color:var(--color-coral-dark)}.recipe-image-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-4);display:flex}.recipe-image-delete{min-height:var(--control-height);align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--color-danger);cursor:pointer;font-size:var(--text-label);background:0 0;border:0;font-weight:800;display:inline-flex}.recipe-image-error,.recipe-image-removed{margin:var(--space-3) 0 0;font-size:var(--text-label);line-height:1.6}.recipe-image-error{color:var(--color-danger)}.recipe-image-removed{color:var(--color-ink-soft)}.editor-save-panel{top:calc(4.5rem + var(--space-4));padding:var(--space-5);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);position:sticky}.save-status{align-items:flex-start;gap:var(--space-3);display:flex}.save-status>.svg-inline--fa{margin-top:var(--space-1);color:var(--color-leaf-dark)}.save-status.is-error>.svg-inline--fa,.save-status.is-conflict>.svg-inline--fa{color:var(--color-danger)}.save-status.is-saving>.svg-inline--fa{color:var(--color-coral-dark)}.save-status>span{gap:var(--space-1);display:grid}.save-status small{color:var(--color-ink-soft);font-size:var(--text-caption);line-height:1.5}.editor-summary{margin:var(--space-5) 0;padding:var(--space-4) 0;border-top:var(--rule-fine) solid var(--color-border);border-bottom:var(--rule-fine) solid var(--color-border)}.editor-summary p{justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-label);margin:0;display:flex}.editor-summary span{color:var(--color-ink-soft)}.editor-save-panel .primary-action{margin-top:var(--space-3)}.member-tabs{align-items:center;gap:var(--space-2);padding-bottom:var(--space-1);scrollbar-width:none;display:flex;overflow-x:auto}.member-tabs::-webkit-scrollbar{display:none}.member-tabs button{min-height:var(--control-height);padding:0 var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-soft);cursor:pointer;font-size:var(--text-label);white-space:nowrap;flex:none;font-weight:700}.member-tabs button.is-active{border-color:var(--color-coral);background:var(--color-coral-soft);color:var(--color-coral-dark)}.my-recipe-tools{gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);grid-template-columns:minmax(0,1fr) 12rem 12rem;align-items:end;display:grid}.compact-search{min-width:0;min-height:var(--control-height);align-items:center;gap:var(--space-3);padding:0 var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink-soft);display:flex}.compact-search input{min-width:0;height:calc(var(--control-height) - var(--space-1));color:var(--color-ink);background:0 0;border:0;outline:0;flex:1}.compact-select{gap:var(--space-2);min-width:0;display:grid}.compact-select span{color:var(--color-ink-soft);font-size:var(--text-meta);font-weight:700}.compact-select select{width:100%;min-height:var(--control-height);padding:0 var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink)}.my-recipe-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.my-recipe-card{border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-soft);overflow:hidden}.my-recipe-card.is-save-removed{border-style:dashed}.my-recipe-image{aspect-ratio:16/10;background:var(--color-paper-soft);min-width:0;position:relative;overflow:hidden}.my-recipe-image img{object-fit:cover}.my-recipe-image-empty{place-content:center;justify-items:center;gap:var(--space-2);color:var(--color-ink-soft);font-size:var(--text-label);font-weight:700;display:grid}.my-recipe-image-empty .svg-inline--fa{color:var(--color-brown-soft);font-size:var(--text-content-title)}.my-recipe-body{padding:var(--space-5)}.my-recipe-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.my-recipe-badges span{align-items:center;gap:var(--space-1);min-height:1.75rem;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-paper-soft);color:var(--color-brown-dark);font-size:var(--text-caption);font-weight:700;display:inline-flex}.my-recipe-body h3{margin:var(--space-3) 0;font-size:var(--text-card-title)}.my-recipe-meta{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4);color:var(--color-ink-soft);font-size:var(--text-meta);display:flex}.my-recipe-meta span{align-items:center;gap:var(--space-1);display:inline-flex}.my-recipe-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-4);display:flex}.my-recipe-actions .secondary-button{flex:auto}.my-recipe-actions .save-button{flex:none}.save-removal-note{margin:var(--space-3) 0 0;color:var(--color-coral-dark);font-size:var(--text-caption);font-weight:700;line-height:1.5}.recipe-confirm-dialog{width:min(100%,42rem)}.recipe-confirm-dialog>p{margin:var(--space-2) 0 var(--space-5);color:var(--color-ink-soft);line-height:1.7}.recipe-confirm-summary{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.recipe-confirm-summary>div{justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-input);background:var(--color-paper-soft);font-size:var(--text-label);display:flex}.recipe-confirm-summary dt{color:var(--color-ink-soft)}.recipe-confirm-summary dd{text-align:right;margin:0;font-weight:800}.recipe-confirm-block{margin-top:var(--space-5)}.recipe-confirm-block h3{margin:0 0 var(--space-3);font-size:var(--text-card-title)}.recipe-confirm-block p{color:var(--color-ink-soft);white-space:pre-wrap;margin:0;line-height:1.7}.recipe-confirm-block ul,.recipe-confirm-block ol{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.recipe-confirm-block li{min-width:0;padding:var(--space-3);border-bottom:var(--rule-fine) solid var(--color-border);line-height:1.6}.recipe-confirm-block ul li{justify-content:space-between;gap:var(--space-3);display:flex}.recipe-confirm-block ul li>span{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.recipe-confirm-block ul small{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-leaf-soft);color:var(--color-leaf-dark);font-size:var(--text-caption);font-style:normal;font-weight:800}.recipe-confirm-block ul em{color:var(--color-ink-soft);font-size:var(--text-meta);font-style:normal}.recipe-confirm-block ol{counter-reset:recipe-step}.recipe-confirm-block ol li{gap:var(--space-2);counter-increment:recipe-step;grid-template-columns:1.75rem minmax(0,1fr);display:grid}.recipe-confirm-block ol li:before{background:var(--color-coral-soft);width:1.75rem;height:1.75rem;color:var(--color-coral-dark);content:counter(recipe-step);font-size:var(--text-caption);border-radius:50%;place-items:center;font-weight:800;display:grid}.recipe-register-complete{justify-items:center;gap:var(--space-3);padding:var(--space-6) 0 var(--space-2);text-align:center;display:grid}.recipe-register-complete>span{background:var(--color-leaf-soft);width:3.5rem;height:3.5rem;color:var(--color-leaf-dark);font-size:var(--text-content-title);border-radius:50%;place-items:center;display:grid}.recipe-register-complete h2,.recipe-register-complete p{margin:0}.recipe-register-complete p{margin-bottom:var(--space-3);color:var(--color-ink-soft)}.recipe-conflict-dialog{text-align:center;width:min(100%,34rem)}.recipe-conflict-dialog>p{color:var(--color-ink-soft);line-height:1.7}.recipe-conflict-icon{width:3.5rem;height:3.5rem;margin:0 auto var(--space-4);background:var(--color-coral-soft);color:var(--color-coral-dark);font-size:var(--text-content-title);border-radius:50%;place-items:center;display:grid}.profile-overview{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-6);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);display:flex}.profile-main{align-items:center;gap:var(--space-4);min-width:0;display:flex}.profile-main .brand-mark{width:4.5rem;height:4.5rem}.profile-main .brand-mascot{width:5rem;height:5rem}.profile-main>div{min-width:0}.profile-main>div>span{color:var(--color-ink-soft);font-size:var(--text-meta)}.profile-main h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-content-title)}.profile-main p{align-items:center;gap:var(--space-2);color:var(--color-ink-soft);font-size:var(--text-label);margin:0;display:flex}.mypage-summary{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mypage-summary-two{grid-template-columns:repeat(2,minmax(0,1fr))}.mypage-summary a,.mypage-summary button{align-items:center;gap:var(--space-3);min-width:0;min-height:6.5rem;padding:var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-ink);cursor:pointer;text-align:left;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.mypage-summary a>span,.mypage-summary button>span{background:var(--color-leaf-soft);width:2.75rem;height:2.75rem;color:var(--color-leaf-dark);border-radius:50%;place-items:center;display:grid}.mypage-summary div{gap:var(--space-1);min-width:0;display:grid}.mypage-summary strong{font-size:var(--text-content-title);font-variant-numeric:tabular-nums}.mypage-summary small{color:var(--color-ink-soft);font-size:var(--text-label);white-space:nowrap;font-weight:700}.mypage-columns{gap:var(--space-5);margin-top:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mypage-menu-panel{border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-soft);overflow:hidden}.mypage-menu-panel h2{padding:var(--space-5);border-bottom:var(--rule-fine) solid var(--color-border);font-size:var(--text-card-title);margin:0}.mypage-menu-panel a,.mypage-menu-panel button{grid-template-columns:var(--control-height) minmax(0, 1fr) auto;align-items:center;gap:var(--space-3);width:100%;min-width:0;min-height:4.75rem;padding:var(--space-3) var(--space-5);border:0;border-bottom:var(--rule-fine) solid var(--color-border);color:var(--color-ink);cursor:pointer;text-align:left;background:0 0;display:grid}.mypage-menu-panel a:last-child,.mypage-menu-panel button:last-child{border-bottom:0}.mypage-menu-panel a>span,.mypage-menu-panel button>span{width:var(--control-height);height:var(--control-height);background:var(--color-paper-soft);color:var(--color-coral-dark);border-radius:50%;place-items:center;display:grid}.mypage-menu-panel div{gap:var(--space-1);min-width:0;display:grid}.mypage-menu-panel strong{font-size:var(--text-label)}.mypage-menu-panel small{color:var(--color-ink-soft);font-size:var(--text-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ingredient-finder-tools{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.ingredient-finder-tools .compact-search{flex:1}.ingredient-finder-tools>button{min-height:var(--control-height);align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);cursor:pointer;font-size:var(--text-label);white-space:nowrap;font-weight:700;display:inline-flex}.ingredient-finder-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 18rem;align-items:start;display:grid}.ingredient-groups{gap:var(--space-4);min-width:0;display:grid}.ingredient-group{padding:var(--space-5);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.ingredient-group h2{margin:0 0 var(--space-4);font-size:var(--text-card-title)}.ingredient-group>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.ingredient-group button{min-height:var(--control-height);padding:0 var(--space-5);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-ink-soft);cursor:pointer;font-size:var(--text-label);white-space:nowrap;font-weight:700}.ingredient-group button.is-selected{border-color:var(--color-leaf);background:var(--color-leaf-soft);color:var(--color-leaf-dark)}.selected-ingredients{top:calc(4.5rem + var(--space-4));padding:var(--space-5);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);position:sticky}.selected-ingredients>div{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.selected-ingredients h2{font-size:var(--text-card-title);margin:0}.selected-ingredients>div>span{background:var(--color-coral-soft);min-width:2rem;min-height:2rem;color:var(--color-coral-dark);font-size:var(--text-meta);border-radius:50%;place-items:center;font-weight:800;display:grid}.selected-ingredients>p{margin:var(--space-5) 0;color:var(--color-ink-soft);font-size:var(--text-label);line-height:1.6}.selected-ingredients ul{gap:var(--space-2);margin:var(--space-4) 0;padding:0;list-style:none;display:grid}.selected-ingredients li{min-height:var(--control-height);justify-content:space-between;align-items:center;gap:var(--space-3);padding-left:var(--space-3);border-radius:var(--radius-input);background:var(--color-leaf-soft);color:var(--color-leaf-dark);font-size:var(--text-label);font-weight:700;display:flex}.selected-ingredients li button{width:var(--control-height);height:var(--control-height);color:var(--color-leaf-dark);cursor:pointer;font-size:var(--text-card-title);background:0 0;border:0}@media (hover:hover) and (pointer:fine){.primary-action:hover{background:var(--color-coral-strong)}.outline-action:hover,.add-row-button:hover,.row-delete:hover,.outline-icon-button:hover,.member-empty button:hover,.ingredient-finder-tools>button:hover{border-color:var(--color-coral);color:var(--color-coral-dark)}.recipe-image-empty:hover,.member-tabs button:hover{border-color:var(--color-coral)}.mypage-summary a:hover,.mypage-summary button:hover,.mypage-menu-panel a:hover,.mypage-menu-panel button:hover{background:var(--color-paper-soft)}.ingredient-group button:hover{border-color:var(--color-leaf);color:var(--color-leaf-dark)}.row-actions button:not(:disabled):hover{border-color:var(--color-coral);color:var(--color-coral-dark)}}@media (max-width:960px){.recipe-editor-layout,.ingredient-finder-layout{grid-template-columns:minmax(0,1fr)}.editor-save-panel,.selected-ingredients{position:static}.selected-ingredients{order:-1}.my-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.member-page-heading,.member-section-heading{flex-direction:column;align-items:stretch}.member-page-heading .primary-action,.member-page-heading .outline-action{width:100%}.form-grid,.visibility-field,.mypage-columns,.recipe-confirm-summary{grid-template-columns:minmax(0,1fr)}.form-field-wide{grid-column:auto}.my-recipe-tools{grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,.5fr))}.compact-search{grid-column:1/-1}.mypage-summary{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.member-page-main{padding-top:var(--space-6);padding-bottom:var(--space-10)}.member-page-heading{gap:var(--space-4);margin-bottom:var(--space-6)}.member-page-heading p{font-size:var(--text-label)}.form-panel{padding:var(--space-5)}.recipe-image-actions{flex-direction:column;align-items:stretch}.recipe-image-actions .outline-action,.recipe-image-delete{justify-content:center;width:100%}.ingredient-form-row{grid-template-columns:2rem repeat(2,minmax(0,1fr))}.ingredient-form-row .row-number{grid-area:1/1}.ingredient-form-row .row-actions{grid-area:1/2/auto/4}.ingredient-form-row label:first-of-type,.ingredient-form-row label:nth-of-type(2),.ingredient-form-row label:nth-of-type(5){grid-column:2/4}.ingredient-form-row label:nth-of-type(3){grid-column:2}.ingredient-form-row label:nth-of-type(4){grid-column:3}.step-form-row{grid-template-columns:2rem minmax(0,1fr);align-items:start}.step-form-row .row-actions{grid-area:1/2}.step-form-row label,.step-image-editor{grid-column:1/3}.step-image-actions{flex-direction:column;align-items:stretch}.step-image-actions .outline-action,.step-image-actions .recipe-image-delete{justify-content:center;width:100%}.my-recipe-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.my-recipe-grid{grid-template-columns:minmax(0,1fr)}.profile-overview{padding:var(--space-5);flex-direction:column;align-items:stretch}.profile-overview .outline-action{width:100%}.profile-main .brand-mark{width:3.75rem;height:3.75rem}.profile-main .brand-mascot{width:4.25rem;height:4.25rem}.ingredient-finder-tools{flex-direction:column;align-items:stretch}.ingredient-finder-tools>button{justify-content:center}.ingredient-group{padding:var(--space-4)}.ingredient-group button{flex:1 1 calc(50% - var(--space-2));padding:0 var(--space-3)}}@media (max-width:380px){.form-panel{padding:var(--space-4)}.ingredient-form-row{padding:var(--space-2);grid-template-columns:1.75rem repeat(2,minmax(0,1fr))}.row-number{width:1.75rem;height:1.75rem}.my-recipe-tools{grid-template-columns:minmax(0,1fr)}.compact-search{grid-column:auto}}.auth-page{min-height:100svh;padding:var(--space-8) var(--space-4);background:var(--color-paper);place-items:center;display:grid}.auth-card{width:min(100%,32rem);padding:var(--space-8);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft)}.auth-home-link{min-height:var(--control-height);align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-ink-soft);font-size:var(--text-label);white-space:nowrap;font-weight:700;display:inline-flex}.auth-brand{justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-ink);font-size:var(--text-card-title);font-weight:800;display:flex}.auth-heading{margin:var(--space-5) 0 var(--space-6);text-align:center}.auth-heading h1{font-size:var(--text-page-title);margin:0;line-height:1.25}.auth-heading p{max-width:48ch;margin:var(--space-3) auto 0;color:var(--color-ink-soft);line-height:1.7}.social-auth{gap:var(--space-3);display:grid}.social-auth form{margin:0}.social-auth-button{width:100%;min-height:var(--control-height-lg);grid-template-columns:var(--control-height) minmax(0, 1fr) var(--control-height);padding:0 var(--space-2);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink);cursor:pointer;font-size:var(--text-body);align-items:center;font-weight:800;display:grid}.social-auth-button svg{font-size:var(--text-card-title);justify-self:center}.social-auth-button span{grid-column:2}.auth-divider{align-items:center;gap:var(--space-3);margin:var(--space-5) 0;color:var(--color-ink-soft);font-size:var(--text-label);display:flex}.auth-divider:before,.auth-divider:after{height:var(--rule-fine);background:var(--color-border);content:"";flex:1}.auth-tabs{gap:var(--space-2);padding:var(--space-1);border-radius:var(--radius-input);background:var(--color-paper);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.auth-tabs button{min-height:var(--control-height);border:var(--rule-fine) solid transparent;border-radius:calc(var(--radius-input) - var(--space-1));color:var(--color-ink-soft);cursor:pointer;font-size:var(--text-body);white-space:nowrap;background:0 0;font-weight:800}.auth-tabs button[aria-selected=true]{border-color:var(--color-border);background:var(--color-surface);color:var(--color-coral-dark);box-shadow:var(--shadow-soft)}.auth-form{gap:var(--space-4);margin-top:var(--space-5);display:grid}.auth-field{gap:var(--space-2);color:var(--color-ink);font-size:var(--text-label);font-weight:800;display:grid}.auth-field>span:first-child{justify-content:space-between;gap:var(--space-3);display:flex}.auth-field small{color:var(--color-ink-soft);font-weight:500}.auth-input-wrap{min-height:var(--control-height-lg);grid-template-columns:var(--control-height) minmax(0, 1fr) var(--control-height);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink-soft);align-items:center;display:grid;overflow:hidden}.auth-input-wrap>svg{justify-self:center}.auth-input-wrap input{width:100%;min-width:0;height:calc(var(--control-height-lg) - var(--space-1));outline-offset:var(--rule-fine);color:var(--color-ink);font-size:var(--text-body);background:0 0;border:0;outline:2px solid #0000}.auth-input-wrap button{width:var(--control-height);height:var(--control-height);color:var(--color-ink-soft);cursor:pointer;background:0 0;border:0}.auth-input-wrap:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:var(--rule-fine)}.auth-input-wrap input:focus-visible{outline:0}.password-strength{gap:var(--space-2);display:grid}.password-strength>span{gap:var(--space-1);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.password-strength i{height:var(--space-1);border-radius:var(--radius-pill);background:var(--color-border)}.password-strength[data-level="1"] i:nth-child(-n+1),.password-strength[data-level="2"] i:nth-child(-n+2){background:var(--color-coral)}.password-strength[data-level="3"] i:nth-child(-n+3),.password-strength[data-level="4"] i{background:var(--color-leaf)}.forgot-link,.auth-text-button{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-coral-dark);cursor:pointer;font-size:var(--text-label);white-space:nowrap;background:0 0;border:0;font-weight:800;display:inline-flex}.auth-error,.auth-success{margin:var(--space-3) 0 0;padding:var(--space-3);border-radius:var(--radius-input);font-size:var(--text-label);line-height:1.6}.auth-error{background:var(--color-coral-soft);color:var(--color-coral-dark)}.auth-success{background:var(--color-leaf-soft);color:var(--color-leaf-dark)}.auth-legal{margin:var(--space-5) 0 0;color:var(--color-ink-soft);font-size:var(--text-caption);text-align:center;line-height:1.7}.auth-legal a{color:var(--color-coral-dark);text-underline-offset:var(--space-1);font-weight:700;text-decoration:underline}.confirmation-panel{justify-items:center;gap:var(--space-4);text-align:center;display:grid}.confirmation-symbol{border-radius:var(--radius-pill);background:var(--color-leaf-soft);width:4rem;height:4rem;color:var(--color-leaf-dark);font-size:var(--text-section-title);place-items:center;display:grid}.confirmation-panel h2,.confirmation-panel p{margin:0}.confirmation-panel ol{gap:var(--space-2);width:100%;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-8);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-paper);text-align:left;margin:0;display:grid}.confirmation-panel form{width:100%}.auth-document{width:min(100%,52rem);padding:var(--space-10) var(--space-4) var(--space-16);margin:0 auto}.auth-document header{padding-bottom:var(--space-6);border-bottom:var(--rule-fine) solid var(--color-border)}.auth-document header h1{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-page-title)}.auth-document section{margin-top:var(--space-8)}.auth-document h2{margin:0 0 var(--space-3);font-size:var(--text-card-title)}.auth-document p,.auth-document li{color:var(--color-ink-soft);line-height:1.8}.legal-draft-note{margin-top:var(--space-10);padding:var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-paper)}.onboarding-page{min-height:100svh;padding:var(--space-8) var(--space-4);background:var(--color-paper)}.onboarding-card{width:min(100%,44rem);padding:var(--space-8);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);margin:0 auto}.onboarding-progress{gap:var(--space-2);margin:var(--space-6) 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.onboarding-progress span{height:var(--space-1);border-radius:var(--radius-pill);background:var(--color-border)}.onboarding-progress .is-done{background:var(--color-coral)}.onboarding-step{gap:var(--space-5);display:grid}.onboarding-step[hidden]{display:none}.onboarding-step header>span{color:var(--color-coral-dark);font-size:var(--text-label);font-weight:800}.onboarding-step header h1{margin:var(--space-2) 0;font-size:var(--text-section-title)}.onboarding-step header p{color:var(--color-ink-soft);margin:0;line-height:1.7}.family-grid,.onboarding-actions{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.avatar-picker{gap:var(--space-4);padding:var(--space-5);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);margin:0;display:grid}.avatar-picker legend{padding:0 var(--space-2);font-weight:800}.avatar-icons{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.avatar-icons button{border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-paper);min-height:4rem;color:var(--color-coral-dark);cursor:pointer;font-size:var(--text-section-title)}.avatar-icons button[data-color=leaf]{color:var(--color-leaf-dark)}.avatar-icons button[data-color=mustard]{color:var(--color-brown-dark)}.avatar-icons button[data-color=brown]{color:var(--color-brown)}.avatar-icons button[data-color=rose]{color:var(--color-coral-strong)}.avatar-icons button[data-color=blue]{color:var(--color-focus)}.avatar-icons button.is-selected{outline:2px solid var(--color-focus);outline-offset:var(--space-1)}.avatar-colors{align-items:center;gap:var(--space-3);display:flex}.avatar-colors button{width:var(--control-height);height:var(--control-height);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-coral);cursor:pointer}.avatar-colors button[data-color=leaf]{background:var(--color-leaf)}.avatar-colors button[data-color=mustard]{background:var(--color-brown-soft)}.avatar-colors button[data-color=brown]{background:var(--color-brown)}.avatar-colors button[data-color=rose]{background:var(--color-coral-strong)}.avatar-colors button[data-color=blue]{background:var(--color-focus)}.avatar-colors button.is-selected{outline:2px solid var(--color-focus);outline-offset:var(--space-1)}.avatar-upload{position:relative;overflow:hidden}.avatar-upload input{opacity:0;width:1px;height:1px;position:absolute}.agreement-check{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);color:var(--color-ink-soft);line-height:1.7;display:flex}.agreement-check input{width:var(--space-5);height:var(--space-5);margin-top:var(--space-1);flex:none}.agreement-check a{color:var(--color-coral-dark);text-underline-offset:var(--space-1);font-weight:700;text-decoration:underline}.onboarding-email-status{gap:var(--space-1);padding:var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-paper);display:grid}.onboarding-email-status span{color:var(--color-ink-soft);font-size:var(--text-label)}.onboarding-confirmation{margin-top:var(--space-8)}.onboarding-loading{margin:var(--space-8) 0 0;color:var(--color-ink-soft);text-align:center}@media (hover:hover) and (pointer:fine){.social-auth-button:hover,.auth-tabs button:hover{border-color:var(--color-coral)}.auth-home-link:hover,.forgot-link:hover,.auth-text-button:hover{color:var(--color-coral-strong)}}@media (max-width:600px){.auth-page{place-items:start center;padding:0}.auth-card{min-height:100svh;padding:var(--space-5) var(--space-4) var(--space-8);box-shadow:none;border:0;border-radius:0}.auth-heading h1{font-size:var(--text-section-title)}.onboarding-page{padding:0}.onboarding-card{min-height:100svh;padding:var(--space-5) var(--space-4) var(--space-8);box-shadow:none;border:0;border-radius:0}.family-grid{grid-template-columns:minmax(0,1fr)}.avatar-icons{grid-template-columns:repeat(2,minmax(0,1fr))}}.simple-list{gap:var(--space-3);display:grid}.simple-list article,.management-panel{padding:var(--space-5);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft)}.simple-list article{align-items:center;gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.simple-list h2,.simple-list h3,.management-panel h2{font-size:var(--text-card-title);margin:0}.simple-list p,.management-panel p{margin:var(--space-2) 0 0;color:var(--color-ink-soft);line-height:1.7}.simple-list time{color:var(--color-ink-soft);font-size:var(--text-label);white-space:nowrap}.notice-pin{align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);color:var(--color-coral-dark);font-size:var(--text-label);font-weight:800;display:inline-flex}.contact-layout,.public-profile-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 18rem;align-items:start;display:grid}.management-layout{gap:var(--space-6);grid-template-columns:18rem minmax(0,1fr);align-items:start;display:grid}.contact-form{gap:var(--space-4);display:grid}.contact-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.support-note{top:calc(4.5rem + var(--space-4));position:sticky}.public-profile-card{align-items:center;gap:var(--space-5);display:flex}.public-profile-card .profile-avatar-large{flex:none}.collection-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.settings-nav,.admin-nav{gap:var(--space-2);display:grid}.settings-nav a,.admin-nav a{min-height:var(--control-height);align-items:center;gap:var(--space-3);padding:0 var(--space-3);border-radius:var(--radius-input);color:var(--color-ink-soft);white-space:nowrap;font-weight:700;display:flex}.settings-nav a.is-current,.admin-nav a.is-current{background:var(--color-coral-soft);color:var(--color-coral-dark)}.settings-form{gap:var(--space-5);display:grid}.settings-profile-form,.settings-account-list{gap:var(--space-4);display:grid}.settings-section-heading{gap:var(--space-1);display:grid}.settings-section-heading h2,.settings-section-heading strong{font-size:var(--text-card-title);margin:0}.settings-section-heading strong{align-items:center;gap:var(--space-2);display:flex}.settings-section-heading p,.settings-section-heading small{color:var(--color-ink-soft);margin:0;line-height:1.6}.settings-family-fieldset{gap:var(--space-4);min-width:0;padding:var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-control);margin:0;display:grid}.settings-family-fieldset legend{padding-inline:var(--space-2);font-weight:800}.settings-family-fieldset>p{color:var(--color-ink-soft);font-size:var(--text-label);margin:0}.settings-family-grid,.settings-form-grid,.settings-password-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-family-visibility{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-family-visibility label{align-items:flex-start;gap:var(--space-2);min-height:var(--control-height-touch);padding:var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);cursor:pointer;display:flex}.settings-family-visibility input{accent-color:var(--color-accent);margin-top:.2rem}.settings-family-visibility strong,.settings-family-visibility small{display:block}.settings-family-visibility small{margin-top:var(--space-1);color:var(--color-ink-soft)}.profile-icon-editor{gap:var(--space-4);min-width:0;padding:var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-control);margin:0;display:grid}.profile-icon-editor legend{padding-inline:var(--space-2);font-weight:800}.profile-avatar-preview{align-items:center;gap:var(--space-4);display:flex}.profile-avatar-preview>div{justify-items:start;gap:var(--space-1);display:grid}.profile-avatar-preview small{color:var(--color-ink-soft)}.profile-crop-preview{background:var(--color-paper-deep);border-radius:50%;flex:none;width:8rem;height:8rem;overflow:hidden}.profile-crop-preview>span{background-repeat:no-repeat;width:100%;height:100%;display:block}.profile-crop-controls{gap:var(--space-3);display:grid}.profile-crop-controls label{align-items:center;gap:var(--space-3);grid-template-columns:5rem minmax(0,1fr);font-weight:700;display:grid}.profile-crop-controls input{width:100%;accent-color:var(--color-accent)}.profile-icon-grid{gap:var(--space-2);grid-template-columns:repeat(8,minmax(2.75rem,1fr));display:grid}.profile-icon-grid button{border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;place-items:center;min-height:3.25rem;padding:0;display:grid}.profile-icon-grid button.is-selected{border:2px solid var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.profile-icon-grid .member-avatar{width:2.25rem;height:2.25rem}.profile-color-grid{gap:var(--space-3);flex-wrap:wrap;display:flex}.profile-color-grid button{border:3px solid var(--color-surface);width:2rem;height:2rem;box-shadow:0 0 0 1px var(--color-border);cursor:pointer;background:#f4b4a2;border-radius:50%;padding:0}.profile-color-grid button[data-color=leaf]{background:#cde0c7}.profile-color-grid button[data-color=mustard]{background:#f3d88a}.profile-color-grid button[data-color=brown]{background:#dcc5b1}.profile-color-grid button[data-color=rose]{background:#efd0d5}.profile-color-grid button[data-color=blue]{background:#cbdde8}.profile-color-grid button.is-selected{box-shadow:0 0 0 2px var(--color-accent)}.settings-profile-form .primary-action{width:fit-content;margin-top:var(--space-2)}.settings-withdraw-form{gap:var(--space-4);display:grid}.settings-withdraw-form .agreement-check{margin-top:var(--space-1)}.settings-withdraw-form .primary-action{width:fit-content;margin-top:var(--space-2)}.settings-section{gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:var(--rule-fine) solid var(--color-border);display:grid}.settings-section:last-child{border-bottom:0;padding-bottom:0}.settings-security-form{justify-items:start}.settings-security-form>.form-field{width:min(100%,32rem)}.settings-form-grid{width:100%}.settings-form-wide{grid-column:1/-1}.settings-password-grid{width:100%}.settings-password-grid .auth-field{min-width:0}.settings-note{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-ink-soft);display:flex}.connection-card{align-items:center;gap:var(--space-3);padding:var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-paper);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.connection-card>div{min-width:0}.connection-card strong,.connection-card small{display:block}.connection-card small{margin-top:var(--space-1);overflow-wrap:anywhere;color:var(--color-ink-soft)}.connection-icon{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-coral-dark);place-items:center;font-size:1.15rem;display:grid}.connection-status{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-soft);font-size:var(--text-caption);white-space:nowrap;font-weight:800;display:inline-flex}.connection-status.is-connected{background:var(--color-leaf-soft);color:var(--color-leaf-dark)}.connection-action{grid-column:2/-1}.google-unlink-form{margin-top:var(--space-2);padding:var(--space-4);border:var(--rule-fine) solid var(--color-coral);border-radius:var(--radius-control)}.danger-outline-action{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:var(--rule-fine) solid var(--color-coral-dark);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-coral-dark);cursor:pointer;font-weight:800;display:inline-flex}.setting-row{min-height:var(--control-height-touch);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.settings-account-row>div{flex:auto;min-width:0}.settings-account-row .outline-action{white-space:nowrap;flex:none}.setting-row strong,.setting-row small{display:block}.setting-row small{margin-top:var(--space-1);color:var(--color-ink-soft)}.settings-inline-input{width:min(100%,24rem);min-height:var(--control-height);margin-top:var(--space-3);padding:0 var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink);font:inherit}.settings-inline-input:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.danger-panel{border-color:var(--color-coral)}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{padding:var(--space-3);border-bottom:var(--rule-fine) solid var(--color-border);text-align:left}.data-table th{color:var(--color-ink-soft);font-size:var(--text-label)}.status-badge{min-height:1.75rem;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-leaf-soft);color:var(--color-leaf-dark);font-size:var(--text-caption);white-space:nowrap;align-items:center;font-weight:800;display:inline-flex}.admin-report-list{gap:var(--space-4);margin-top:var(--space-4);display:grid}.admin-report-card{padding:var(--space-5);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.admin-report-head,.admin-report-head>div{align-items:center;gap:var(--space-3);display:flex}.admin-report-head{margin-bottom:var(--space-4);justify-content:space-between}.admin-report-head a{color:var(--color-coral-dark);font-weight:800}.admin-report-head small{color:var(--color-ink-soft)}.admin-report-card dl{gap:var(--space-4);flex-wrap:wrap;margin:0;display:flex}.admin-report-card dl div{gap:var(--space-2);display:flex}.admin-report-card dt{color:var(--color-ink-soft);font-size:var(--text-label)}.admin-report-card dd{margin:0;font-weight:700}.admin-report-detail{margin:var(--space-4) 0 0;padding:var(--space-3);border-radius:var(--radius-input);background:var(--color-paper);line-height:1.7}.admin-report-form{align-items:end;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:var(--rule-fine) solid var(--color-border);grid-template-columns:minmax(10rem,.4fr) minmax(16rem,1fr) auto;display:grid}.admin-report-form .primary-action{white-space:nowrap;width:auto}.status-open{background:var(--color-coral-soft);color:var(--color-coral-dark)}.status-reviewing{background:var(--color-mustard-soft);color:var(--color-brown)}.status-dismissed{background:var(--color-paper);color:var(--color-ink-soft)}.admin-workspace{gap:var(--space-5);margin-top:var(--space-4);display:grid}.admin-result{min-height:var(--control-height);align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:var(--rule-fine) solid var(--color-leaf);border-radius:var(--radius-input);background:var(--color-leaf-soft);color:var(--color-leaf-dark);margin:0;font-weight:700;display:flex}.admin-result.is-error{border-color:var(--color-coral);background:var(--color-coral-soft);color:var(--color-coral-dark)}.admin-filter{align-items:end;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-paper);grid-template-columns:minmax(15rem,1fr) minmax(10rem,.35fr) auto;display:grid}.admin-filter label,.admin-inline-action label{gap:var(--space-2);min-width:0;color:var(--color-brown-dark);font-size:var(--text-label);font-weight:700;display:grid}.admin-filter label>div{position:relative}.admin-filter label>div svg{left:var(--space-3);color:var(--color-ink-soft);position:absolute;top:50%;translate:0 -50%}.admin-filter input,.admin-filter select,.admin-inline-action input{width:100%;min-width:0;min-height:var(--control-height);padding:0 var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink);font:inherit}.admin-filter label>div input{padding-left:calc(var(--space-3) * 2 + 1em)}:is(.admin-filter input:focus-visible,.admin-filter select:focus-visible,.admin-inline-action input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.admin-filter .outline-action{min-height:var(--control-height)}.admin-entity-list{gap:var(--space-4);display:grid}.admin-entity-card{gap:var(--space-4);padding:var(--space-5);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);display:grid}.admin-entity-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.admin-entity-head p{margin:var(--space-1) 0 0}.admin-entity-head time{color:var(--color-ink-soft);font-size:var(--text-label);white-space:nowrap}.admin-entity-title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-entity-title a{color:var(--color-coral-dark);font-size:var(--text-card-title);font-weight:800}.account-suspended{background:var(--color-coral-soft);color:var(--color-coral-dark)}.account-deletion_pending{background:var(--color-paper);color:var(--color-ink-soft)}.admin-facts{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-input);background:var(--color-paper);grid-template-columns:repeat(2,minmax(7rem,.25fr)) minmax(12rem,1fr);margin:0;display:grid}.admin-facts div{min-width:0}.admin-facts dt{color:var(--color-ink-soft);font-size:var(--text-caption)}.admin-facts dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font-size:var(--text-label);font-weight:700}.admin-actions-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-inline-action{align-items:end;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.admin-inline-action button{min-height:var(--control-height)}.danger-action{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:var(--rule-fine) solid var(--color-coral-dark);border-radius:var(--radius-input);background:var(--color-coral-dark);color:#fff;cursor:pointer;font-size:var(--text-label);white-space:nowrap;font-weight:800;display:inline-flex}.admin-moderation-reason{gap:var(--space-1);padding:var(--space-3) var(--space-4);border-left:.25rem solid var(--color-coral);border-radius:0 var(--radius-input) var(--radius-input) 0;background:var(--color-coral-soft);color:var(--color-ink);margin:0;display:grid}.admin-audit-list{border-top:var(--rule-fine) solid var(--color-border);gap:0;margin:0;padding:0;list-style:none;display:grid}.admin-audit-list li{gap:var(--space-1);padding:var(--space-4) 0;border-bottom:var(--rule-fine) solid var(--color-border);display:grid}.admin-audit-list li>div{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.admin-audit-list p{color:var(--color-ink);margin:0}.admin-audit-list span,.admin-audit-list small{color:var(--color-ink-soft);font-size:var(--text-label)}.taxonomy-workspace{gap:var(--space-6)}.taxonomy-section{gap:var(--space-4);display:grid}.taxonomy-section+.taxonomy-section{padding-top:var(--space-6);border-top:var(--rule-fine) solid var(--color-border)}.taxonomy-section-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.taxonomy-section-heading h3{font-size:var(--text-card-title);margin:0}.taxonomy-section-heading p{margin:var(--space-1) 0 0}.taxonomy-section-heading>span{min-width:3rem;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-ink-soft);text-align:center;font-size:var(--text-label);font-weight:700}.taxonomy-create{border:var(--rule-fine) dashed var(--color-coral);border-radius:var(--radius-card);background:color-mix(in oklch, var(--color-coral-soft) 35%, var(--color-surface));overflow:clip}.taxonomy-create summary{min-height:var(--control-height-touch);justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-4);color:var(--color-coral-dark);cursor:pointer;font-weight:800;list-style:none;display:flex}.taxonomy-create summary::-webkit-details-marker{display:none}.taxonomy-create summary span{align-items:center;gap:var(--space-2);display:flex}.taxonomy-create[open] summary>svg{rotate:180deg}.taxonomy-create .taxonomy-form{padding:var(--space-4);border-top:var(--rule-fine) dashed var(--color-coral)}.taxonomy-list{gap:var(--space-3);display:grid}.taxonomy-card{align-items:end;gap:var(--space-3) var(--space-5);padding:var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);grid-template-columns:minmax(12rem,.55fr) minmax(20rem,1fr);display:grid}.taxonomy-card.is-inactive,.taxonomy-tag-card.is-inactive{background:var(--color-paper);opacity:.78}.taxonomy-card-meta{align-self:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.taxonomy-card-meta strong{font-size:var(--text-card-title)}.taxonomy-card-meta small{color:var(--color-ink-soft);flex-basis:100%}.taxonomy-form{align-items:end;gap:var(--space-3);grid-template-columns:minmax(10rem,1fr) 7rem auto;display:grid}.taxonomy-form label,.taxonomy-tag-form label{gap:var(--space-2);min-width:0;color:var(--color-brown-dark);font-size:var(--text-label);font-weight:700;display:grid}.taxonomy-form input,.taxonomy-tag-form input,.taxonomy-search input{width:100%;min-width:0;min-height:var(--control-height);padding:0 var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink);font:inherit}:is(.taxonomy-form input:focus-visible,.taxonomy-tag-form input:focus-visible,.taxonomy-search input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.taxonomy-form .primary-action,.taxonomy-form .outline-action{min-height:var(--control-height)}.taxonomy-toggle{justify-content:flex-end;align-items:center;gap:var(--space-3);grid-column:2;display:flex}.taxonomy-toggle small{color:var(--color-ink-soft)}.taxonomy-text-button{padding:var(--space-2);color:var(--color-coral-dark);cursor:pointer;font:inherit;font-size:var(--text-label);text-underline-offset:.2em;background:0 0;border:0;font-weight:700;text-decoration:underline}.taxonomy-text-button:disabled{color:var(--color-ink-soft);cursor:not-allowed;text-decoration:none}.taxonomy-search{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.taxonomy-search>svg{left:var(--space-3);top:calc(var(--control-height) / 2);color:var(--color-ink-soft);position:absolute;translate:0 -50%}.taxonomy-search input{padding-left:calc(var(--space-3) * 2 + 1em)}.taxonomy-search .outline-action{min-height:var(--control-height)}.taxonomy-tag-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.taxonomy-tag-card{gap:var(--space-3);padding:var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;display:grid}.taxonomy-tag-card>div{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--color-coral-dark);grid-column:1/-1;display:flex}.taxonomy-tag-card .status-badge{gap:var(--space-2)}.taxonomy-tag-card .status-badge small{padding-left:var(--space-2);border-left:var(--rule-fine) solid currentColor}.taxonomy-tag-form{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.taxonomy-tag-form .outline-action{min-height:var(--control-height);padding-inline:var(--space-3)}.taxonomy-tag-card>form:last-child{align-items:center;display:flex}.admin-notices{gap:var(--space-5);margin-top:var(--space-4);display:grid}.admin-notice-list{gap:var(--space-3);display:grid}.admin-notice-editor{border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);overflow:clip}.admin-notice-editor summary{min-height:var(--control-height);justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;font-weight:800;display:flex}.admin-notice-editor summary span{align-items:center;gap:var(--space-2);display:flex}.admin-notice-editor summary small{color:var(--color-ink-soft);font-weight:700}.admin-notice-form{gap:var(--space-4);padding:var(--space-5);border-top:var(--rule-fine) solid var(--color-border);background:var(--color-paper);display:grid}.admin-notice-options{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-notice-form .primary-action{justify-self:end;width:auto}.admin-notice-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.notice-delete-dialog>p{margin:var(--space-2) 0 var(--space-5);color:var(--color-ink-soft);line-height:1.7}.recipe-delete-dialog{text-align:center}.recipe-delete-dialog-icon{width:var(--space-12);height:var(--space-12);margin-bottom:var(--space-3);border-radius:var(--radius-pill);background:var(--color-coral-pale);color:var(--color-coral-dark);font-size:var(--text-content-title);place-items:center;display:inline-grid}.recipe-delete-dialog>p{margin:var(--space-3) 0 0;color:var(--color-ink-soft);line-height:1.7}.notice-labels{align-items:center;gap:var(--space-2);display:flex}.notice-unread,.notice-audience{min-height:1.75rem;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-coral-soft);color:var(--color-coral-dark);font-size:var(--text-caption);align-items:center;font-weight:800;display:inline-flex}.simple-list article.is-unread{border-color:var(--color-coral);background:color-mix(in oklch, var(--color-coral-soft) 25%, var(--color-surface))}.notice-detail{max-width:52rem;padding:var(--space-6);margin-inline:auto}.notice-detail h1{margin:var(--space-4) 0 var(--space-2)}.notice-detail time{color:var(--color-ink-soft);font-size:var(--text-label)}.notice-body{margin-top:var(--space-6);padding-top:var(--space-5);border-top:var(--rule-fine) solid var(--color-border);line-height:1.9}.notice-body p{margin:0 0 var(--space-4);white-space:pre-wrap}.notice-group{gap:var(--space-4);margin-top:var(--space-6);display:grid}.notice-group+.notice-group{padding-top:var(--space-6);border-top:var(--rule-fine) solid var(--color-border)}.notice-group-heading{align-items:flex-start;gap:var(--space-3);display:flex}.notice-group-heading>svg{color:var(--color-coral-dark);font-size:var(--text-card-title);margin-top:.2rem}.notice-group-heading h2{font-size:var(--text-card-title);margin:0}.notice-group-heading p{margin:var(--space-1) 0 0;color:var(--color-ink-soft)}.notice-group .simple-list h3{font-size:var(--text-card-title);margin:0}.personal-notice-detail{border-top:.3rem solid var(--color-coral)}.personal-notice-action{width:fit-content;margin-top:var(--space-5)}.account-unavailable-page{place-items:center;display:grid}.account-unavailable-page .management-panel{width:min(100%,44rem)}.account-unavailable-page h1{font-size:var(--text-section-title);margin:0}.account-unavailable-actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}@media (hover:hover) and (pointer:fine){.settings-nav a:hover,.admin-nav a:hover{background:var(--color-paper);color:var(--color-coral-dark)}}@media (max-width:960px){.contact-layout,.public-profile-layout,.management-layout{grid-template-columns:minmax(0,1fr)}.support-note{position:static}.settings-nav,.admin-nav{padding-bottom:var(--space-2);grid-template-columns:none;grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}}@media (max-width:720px){.admin-report-head,.admin-entity-head{flex-direction:column;align-items:flex-start}.admin-report-form,.admin-filter,.admin-actions-grid,.admin-inline-action,.taxonomy-card,.taxonomy-form{grid-template-columns:minmax(0,1fr)}.admin-report-form .primary-action,.admin-filter .outline-action,.admin-inline-action button,.taxonomy-form .primary-action,.taxonomy-form .outline-action{width:100%}.admin-notice-options{grid-template-columns:minmax(0,1fr)}.admin-notice-form .primary-action{width:100%}.admin-notice-actions{flex-direction:column}.admin-notice-actions .danger-action{width:100%}.admin-notice-editor summary{flex-direction:column;align-items:flex-start}.admin-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-facts div:last-child{grid-column:1/-1}.taxonomy-toggle{grid-column:1;justify-content:flex-start}.taxonomy-tag-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.simple-list article{grid-template-columns:minmax(0,1fr)}.collection-toolbar,.setting-row{flex-direction:column;align-items:stretch}.settings-profile-form .primary-action,.settings-account-row .outline-action,.settings-security-form .outline-action,.settings-security-form .danger-outline-action,.connection-action .outline-action{width:100%}.settings-family-grid,.settings-family-visibility,.settings-form-grid,.settings-password-grid{grid-template-columns:minmax(0,1fr)}.settings-form-wide{grid-column:auto}.connection-card{grid-template-columns:auto minmax(0,1fr)}.connection-status{grid-column:2;justify-self:start}.connection-action{grid-column:1/-1}.notice-detail{padding:var(--space-4)}.data-table{display:block;overflow-x:auto}.profile-avatar-preview{flex-direction:column;align-items:flex-start}.profile-icon-grid{grid-template-columns:repeat(4,minmax(2.75rem,1fr))}.profile-crop-controls label{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}}*{box-sizing:border-box}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);margin:0;overflow-x:clip}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:active,a:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed;filter:saturate(.55)}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed;color:var(--color-ink-soft)}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline:3px solid var(--color-focus);outline-offset:3px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notification-button{position:relative}.notification-dot{border:2px solid var(--color-surface);background:var(--color-coral-dark);border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:.3rem;right:.3rem}.app-shell{min-height:100vh;padding-bottom:0}.service-error{min-height:100vh;padding:var(--space-6);place-items:center;display:grid}.service-error>div{width:min(100%,38rem);padding:var(--space-8);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-raised);text-align:center}.service-error>div>.svg-inline--fa{color:var(--color-coral-dark);font-size:var(--text-page-title)}.service-error h1{margin:var(--space-4) 0 var(--space-3)}.service-error p{color:var(--color-ink-soft);line-height:1.8}.service-error button,.service-error a{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-2);margin:var(--space-3) var(--space-1) 0;padding:0 var(--space-5);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);cursor:pointer;font-weight:800;display:inline-flex}.service-error button{border-color:var(--color-coral-dark);background:var(--color-coral-dark);color:var(--color-accent-ink)}.site-header{z-index:var(--z-sticky);align-items:center;gap:var(--space-8);min-height:4.5rem;padding:var(--space-3) max(var(--space-4), calc((100vw - var(--content-width)) / 2));background:color-mix(in oklch, var(--color-paper) 93%, transparent);border-bottom:var(--rule-fine) solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-3);flex-shrink:0;display:inline-flex}.brand-name{font-family:var(--font-display);letter-spacing:.03em;font-weight:800;font-size:var(--text-brand);white-space:nowrap}.brand-mark{background:var(--color-paper-soft);border-radius:50%;flex:none;place-items:center;width:3rem;height:3rem;display:grid;position:relative;overflow:hidden}.brand-mascot{object-fit:contain;width:3.25rem;height:3.25rem;transform:translateY(.1rem)scale(1.12)}.desktop-nav{align-items:center;gap:var(--space-2);display:flex}.nav-link{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-pill);color:var(--color-ink-soft);font-size:var(--text-nav);white-space:nowrap;transition:background var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);font-weight:700;display:inline-flex}.nav-link.is-current{background:var(--color-coral-soft);color:var(--color-coral-dark)}.header-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.icon-button,.menu-button{width:var(--control-height);height:var(--control-height);border:var(--rule-fine) solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:background var(--dur-short) var(--ease-out);border-radius:50%;place-items:center;display:grid}.profile-button{min-height:var(--control-height);align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border:var(--rule-fine) solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-pill);cursor:pointer;font-weight:700;font-size:var(--text-label);white-space:nowrap;display:inline-flex}.profile-avatar{background:var(--color-leaf-soft);width:2.15rem;height:2.15rem;color:var(--color-leaf-dark);border-radius:50%;place-items:center;display:grid}.member-avatar{color:#8f3f2c;background-color:#f4b4a2;background-position:50%;background-size:cover;border-radius:50%;flex:none;place-items:center;display:grid}.member-avatar[data-color=leaf]{color:#486a42;background-color:#cde0c7}.member-avatar[data-color=mustard]{color:#795d18;background-color:#f3d88a}.member-avatar[data-color=brown]{color:#684836;background-color:#dcc5b1}.member-avatar[data-color=rose]{color:#8a4853;background-color:#efd0d5}.member-avatar[data-color=blue]{color:#3d6278;background-color:#cbdde8}.profile-avatar.member-avatar{width:2.15rem;height:2.15rem}.profile-avatar-large.member-avatar{width:5rem;height:5rem;font-size:1.65rem}.menu-button{display:none}.mobile-menu{top:calc(100% + var(--space-2));right:var(--space-4);z-index:var(--z-dropdown);width:12rem;padding:var(--space-2);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);position:absolute}.mobile-menu a{padding:var(--space-3);border-radius:var(--radius-input);font-weight:700;display:block}main{width:min(calc(100% - var(--space-8)), var(--content-width));margin:0 auto}h1,h2,h3{min-width:0;font-family:var(--font-display);overflow-wrap:anywhere;font-style:normal}.recipe-search{align-items:center;gap:var(--space-3);margin-top:clamp(var(--space-8), 5vw, var(--space-16));padding:var(--space-2);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);grid-template-columns:minmax(0,1fr) auto;display:grid}.search-field{align-items:center;gap:var(--space-3);min-width:0;display:flex}.search-icon{margin-left:var(--space-2);color:var(--color-ink-soft)}.recipe-search input{width:100%;min-width:0;height:var(--control-height-lg);outline-offset:var(--rule-fine);color:var(--color-ink);font-size:var(--text-body);background:0 0;border:0;outline:2px solid #0000;flex:auto}.recipe-search input:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.recipe-search input::placeholder{color:var(--color-ink-soft)}.recipe-search button{min-height:var(--control-height-lg);padding:0 var(--space-8);border-radius:var(--radius-input);background:var(--color-coral-dark);color:var(--color-accent-ink);font-size:var(--text-label);white-space:nowrap;cursor:pointer;transition:background var(--dur-short) var(--ease-out);border:0;font-weight:800}.status-message{min-height:var(--space-6);margin:var(--space-2) 0 0;color:var(--color-leaf-dark);font-size:var(--text-label)}.start-panel,.recipe-section{padding:var(--space-12) 0}.section-heading{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}.section-heading-inline{grid-template-columns:minmax(0,1fr)}.section-heading h2,.pantry-copy h2{font-size:var(--text-section-title);letter-spacing:-.035em;margin:0}.section-heading>p{max-width:52ch;color:var(--color-ink-soft);margin:0;line-height:1.7}.quick-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quick-action{align-items:center;gap:var(--space-4);min-width:0;min-height:7.5rem;padding:var(--space-5);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);text-align:left;cursor:pointer;box-shadow:var(--shadow-soft);transition:border-color var(--dur-card) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.quick-action-primary{background:var(--color-coral-soft);border-color:var(--color-coral)}.quick-icon{background:var(--color-paper);width:3rem;height:3rem;color:var(--color-coral-dark);border-radius:50%;place-items:center;display:grid}.quick-icon .svg-inline--fa{font-size:var(--text-card-title)}.quick-action>span:nth-child(2){gap:var(--space-2);min-width:0;display:grid}.quick-action strong{font-size:var(--text-body)}.quick-action small{color:var(--color-ink-soft);line-height:1.5}.text-link{align-items:center;gap:var(--space-1);width:fit-content;color:var(--color-coral-dark);white-space:nowrap;font-weight:800;display:inline-flex}.recipe-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.recipe-card{border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-soft);transition:transform var(--dur-card) var(--ease-out);overflow:hidden}.recipe-visual{background:var(--color-paper-soft);height:13.5rem;position:relative;overflow:hidden}.recipe-image{object-fit:cover}.recipe-no-image{place-content:center;justify-items:center;gap:var(--space-2);width:100%;height:100%;color:var(--color-ink-soft);font-size:var(--text-label);font-weight:700;display:grid}.recipe-no-image .svg-inline--fa{color:var(--color-brown-soft);font-size:var(--text-content-title)}.recipe-body{padding:var(--space-5)}.recipe-meta{justify-content:space-between;gap:var(--space-3);color:var(--color-ink-soft);font-size:var(--text-meta);font-variant-numeric:tabular-nums;display:flex}.recipe-meta span{align-items:center;gap:var(--space-1);display:inline-flex}.recipe-body h3{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-card-title)}.recipe-tags{gap:var(--space-2);flex-wrap:wrap;min-height:1.75rem;display:flex}.recipe-tag{min-height:1.75rem;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-paper-soft);color:var(--color-brown-dark);font-size:var(--text-meta);align-items:center;font-weight:700;display:inline-flex}.recipe-card-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-5);display:flex}.secondary-button{min-height:var(--control-height);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);cursor:pointer;font-size:var(--text-label);white-space:nowrap;flex:1;place-items:center;font-weight:800;display:grid}.save-button{width:var(--control-height);height:var(--control-height);border:var(--rule-fine) solid var(--color-border);background:var(--color-surface);color:var(--color-ink-soft);cursor:pointer;border-radius:50%;place-items:center;display:grid}.save-button .svg-inline--fa{font-size:var(--text-body)}.save-button.is-saved{color:var(--color-coral-dark);background:var(--color-coral-soft);border-color:var(--color-coral)}.pantry-section{gap:var(--space-10);margin:var(--space-10) 0 var(--space-16);padding:clamp(var(--space-6), 5vw, var(--space-16));border-radius:var(--radius-card);background:var(--color-leaf-soft);color:var(--color-ink);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;display:grid}.pantry-copy>p{margin:var(--space-4) 0 0;color:var(--color-ink-soft);line-height:1.75}.pantry-link{align-items:center;gap:var(--space-2);width:fit-content;margin-top:var(--space-5);color:var(--color-leaf-dark);text-underline-offset:var(--space-1);white-space:nowrap;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.ingredient-tags{gap:var(--space-3);flex-wrap:wrap;display:flex}.ingredient-tags button,.ingredient-tags a{min-height:var(--control-height);padding:0 var(--space-5);border:var(--rule-fine) solid var(--color-leaf);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-leaf-dark);cursor:pointer;font-size:var(--text-label);white-space:nowrap;transition:background var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);justify-content:center;align-items:center;font-weight:800;display:inline-flex}.site-footer{width:min(calc(100% - var(--space-8)), var(--content-width));padding:var(--space-8) 0;border-top:var(--rule-fine) solid var(--color-border);color:var(--color-ink-soft);text-align:center;font-size:var(--text-meta);margin:0 auto}.site-footer p{margin:0}.bottom-nav{display:none}.search-page-main{padding-bottom:var(--space-16)}.search-page-loading{width:min(calc(100% - var(--space-8)), var(--content-width));margin:var(--space-16) auto;color:var(--color-ink-soft)}.search-page-heading{margin-top:var(--space-6)}.search-page-heading h1{font-size:var(--text-section-title);letter-spacing:-.035em;margin:0}.search-page-heading p{max-width:52ch;margin:var(--space-3) 0 0;color:var(--color-ink-soft);line-height:1.7}.search-page-query{margin-top:var(--space-4)}.mobile-filter-button{display:none}.search-workbench{gap:var(--space-8);margin-top:var(--space-5);grid-template-columns:18rem minmax(0,1fr);align-items:start;display:grid}.search-filters{min-width:0;padding:var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft)}.filter-heading{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);display:flex}.filter-heading h2{font-size:var(--text-card-title);margin:0}.filter-heading button{min-height:var(--control-height);align-items:center;gap:var(--space-1);color:var(--color-ink-soft);cursor:pointer;font-size:var(--text-meta);white-space:nowrap;background:0 0;border:0;padding:0;font-weight:700;display:inline-flex}.filter-field{min-width:0;padding:var(--space-3) 0;border:0;border-top:var(--rule-fine) solid var(--color-border);margin:0}.filter-field>label,.filter-field>legend{margin-bottom:var(--space-2);color:var(--color-brown-dark);font-size:var(--text-label);font-weight:700;display:block}.filter-field select,.sort-control select{width:100%;min-height:var(--control-height);padding:0 var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink);cursor:pointer}.filter-tags>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-tags button{min-height:var(--control-height);padding:0 var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-ink-soft);cursor:pointer;font-size:var(--text-meta);white-space:nowrap;transition:background var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);font-weight:700}.filter-tags button.is-selected{border-color:var(--color-leaf);background:var(--color-leaf-soft);color:var(--color-leaf-dark)}.filter-pair{gap:var(--space-3);border-top:var(--rule-fine) solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.filter-pair .filter-field{border-top:0}.filter-pair select{padding-inline:var(--space-2)}.favorite-filter{min-height:var(--control-height);align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:var(--rule-fine) solid var(--color-border);cursor:pointer;font-size:var(--text-label);font-weight:700;display:flex}.favorite-filter input{width:1.15rem;height:1.15rem;accent-color:var(--color-coral-dark)}.search-results{min-width:0}.results-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-5);min-width:0;margin-bottom:var(--space-5);display:flex}.results-heading h2{font-size:var(--text-content-title);letter-spacing:-.025em;margin:0}.results-heading p{margin:var(--space-2) 0 0;color:var(--color-ink-soft);font-size:var(--text-label)}.results-heading p strong{color:var(--color-ink);font-variant-numeric:tabular-nums}.sort-control{gap:var(--space-2);flex:0 0 11rem;display:grid}.sort-control>span{color:var(--color-ink-soft);font-size:var(--text-meta);font-weight:700}.search-result-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.search-result-card{border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-soft);transition:transform var(--dur-card) var(--ease-out);overflow:hidden}.result-image-link{aspect-ratio:16/10;background:var(--color-paper-soft);min-width:0;display:block;position:relative;overflow:hidden}.result-card-body{padding:var(--space-5)}.result-card-meta{align-items:center;gap:var(--space-4);color:var(--color-ink-soft);font-size:var(--text-meta);font-variant-numeric:tabular-nums;display:flex}.result-card-meta span{align-items:center;gap:var(--space-1);display:inline-flex}.result-card-body h3{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-card-title);line-height:1.45}.result-card-body>p{min-height:3.2em;margin:0 0 var(--space-4);color:var(--color-ink-soft);font-size:var(--text-label);line-height:1.6}.result-card-footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:var(--rule-fine) solid var(--color-border);display:flex}.result-card-footer>span{min-width:0;color:var(--color-ink-soft);font-size:var(--text-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty-search-result{justify-items:center;gap:var(--space-3);padding:var(--space-16) var(--space-6);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);text-align:center;display:grid}.empty-search-result>.svg-inline--fa{color:var(--color-coral-dark);font-size:var(--text-content-title)}.empty-search-result h3{margin:var(--space-2) 0 0;font-size:var(--text-card-title)}.empty-search-result p{color:var(--color-ink-soft);margin:0;line-height:1.7}.empty-search-result button{min-height:var(--control-height);align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:0 var(--space-5);border-radius:var(--radius-input);background:var(--color-coral-dark);color:var(--color-accent-ink);cursor:pointer;font-size:var(--text-label);white-space:nowrap;border:0;font-weight:800;display:inline-flex}.pagination{justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-8);display:flex}.pagination a{min-height:var(--control-height);align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);font-weight:700;display:inline-flex}.pagination a.is-disabled{pointer-events:none;opacity:.45}.pagination span{color:var(--color-ink-soft);font-variant-numeric:tabular-nums;font-weight:700}.home-hero{padding-top:clamp(var(--space-8), 6vw, var(--space-16));text-align:center}.home-hero>p{color:var(--color-coral-dark);margin:0;font-weight:800}.home-hero h1{margin:var(--space-3) 0 0;letter-spacing:-.05em;font-size:clamp(2rem,6vw,4.5rem);line-height:1.12}.home-hero .recipe-search{text-align:left;max-width:52rem;margin-inline:auto}.section-heading>div>p{margin:var(--space-2) 0 0;color:var(--color-ink-soft);line-height:1.7}.section-empty{padding:var(--space-8);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-ink-soft);text-align:center;margin:0}.home-section-tinted{position:relative}.home-section-tinted:before{z-index:-1;content:"";background:var(--color-paper-soft);position:absolute;inset:0 calc(50% - 50vw)}.home-category-section,.home-notices{padding:var(--space-12) 0}.home-category-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.home-category-grid a{min-height:var(--control-height-lg);justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-5);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);font-weight:800;display:flex}.home-notices>div:last-child{border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);overflow:hidden}.home-notices>div:last-child>a{min-height:var(--control-height-lg);align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:var(--rule-fine) solid var(--color-border);grid-template-columns:7rem minmax(0,1fr) auto;display:grid}.home-notices>div:last-child>a:last-child{border-bottom:0}.home-notices time{color:var(--color-ink-soft);font-size:var(--text-meta)}.recipe-detail-main{padding:var(--space-6) 0 var(--space-16)}.breadcrumb{align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);color:var(--color-ink-soft);font-size:var(--text-meta);flex-wrap:wrap;display:flex}.breadcrumb a{text-underline-offset:var(--space-1);text-decoration:underline;text-decoration-thickness:1px}.detail-hero{gap:clamp(var(--space-8), 5vw, var(--space-16));grid-template-columns:minmax(0,1.12fr) minmax(20rem,.88fr);align-items:start;display:grid}.detail-image-wrap{aspect-ratio:4/3;border-radius:var(--radius-card);background:var(--color-paper-soft);min-width:0;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.detail-image{object-fit:cover}.detail-summary{min-width:0;padding-top:var(--space-3)}.detail-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.detail-tags span{min-height:1.75rem;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-leaf-soft);color:var(--color-leaf-dark);font-size:var(--text-meta);align-items:center;font-weight:700;display:inline-flex}.detail-summary h1{margin:var(--space-5) 0 var(--space-4);font-size:var(--text-page-title);letter-spacing:-.045em;line-height:1.16}.detail-lede{max-width:50ch;color:var(--color-ink-soft);margin:0;line-height:1.85}.detail-meta{gap:var(--space-4);margin-top:var(--space-5);color:var(--color-brown-dark);font-size:var(--text-label);font-variant-numeric:tabular-nums;flex-wrap:wrap;font-weight:700;display:flex}.detail-meta span{align-items:center;gap:var(--space-2);display:inline-flex}.detail-author{align-items:center;gap:var(--space-3);width:fit-content;margin-top:var(--space-6);display:flex}.detail-author .brand-mark{width:2.75rem;height:2.75rem}.detail-author .brand-mascot{width:3rem;height:3rem}.detail-author>span:last-child{gap:var(--space-1);display:grid}.detail-author small{color:var(--color-ink-soft);font-size:var(--text-caption)}.detail-author strong{font-size:var(--text-label)}.detail-actions{gap:var(--space-2);margin-top:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));display:grid}.detail-actions>button,.share-control>button{min-width:0;min-height:var(--control-height-lg);justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);cursor:pointer;font-size:var(--text-label);white-space:nowrap;font-weight:700;display:flex}.detail-save-count{min-width:0;min-height:var(--control-height-lg);justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);font-size:var(--text-label);font-weight:700;display:flex}.detail-actions .is-active{border-color:var(--color-coral);background:var(--color-coral-soft);color:var(--color-coral-dark)}.detail-actions button strong{font-size:var(--text-meta);font-variant-numeric:tabular-nums}.share-control{min-width:0;position:relative}.share-control>button{width:100%}.share-menu{top:calc(100% + var(--space-2));z-index:var(--z-dropdown);gap:var(--space-1);width:11.5rem;padding:var(--space-2);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-raised);display:grid;position:absolute;right:0}.share-menu a,.share-menu button{min-height:var(--control-height);align-items:center;gap:var(--space-3);padding:0 var(--space-3);border-radius:var(--radius-input);cursor:pointer;font-size:var(--text-label);white-space:nowrap;background:0 0;border:0;font-weight:700;display:flex}.copy-recipe-button{width:100%;min-height:var(--space-16);justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-3);padding:var(--space-3) var(--space-5);border-radius:var(--radius-card);background:var(--color-coral-dark);color:var(--color-accent-ink);cursor:pointer;box-shadow:var(--shadow-soft);transition:background var(--dur-short) var(--ease-out);border:0;display:flex}.copy-recipe-button>span{gap:var(--space-1);text-align:left;display:grid}.copy-recipe-button strong{font-size:var(--text-body)}.copy-recipe-button small{color:var(--color-accent-ink);font-size:var(--text-caption);font-weight:700}.detail-notice{min-height:var(--space-6);margin:var(--space-2) 0 0;color:var(--color-leaf-dark);font-size:var(--text-meta)}.modal-backdrop{z-index:var(--z-modal);padding:var(--space-4);background:var(--color-overlay);place-items:center;display:grid;position:fixed;inset:0}.report-dialog{width:min(100%,32rem);max-height:calc(100svh - var(--space-8));padding:var(--space-6);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-raised);position:relative;overflow-y:auto}.report-dialog h2{font-size:var(--text-section-title);margin:0}.report-dialog>form>p{margin:var(--space-2) 0 var(--space-5);color:var(--color-ink-soft);line-height:1.7}.modal-close{top:var(--space-3);right:var(--space-3);width:var(--control-height);height:var(--control-height);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-ink-soft);cursor:pointer;border:0;position:absolute}.report-reasons{gap:var(--space-2);margin:0 0 var(--space-5);border:0;padding:0;display:grid}.report-reasons label{min-height:var(--control-height);align-items:center;gap:var(--space-3);padding:var(--space-3);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);cursor:pointer;display:flex}.report-actions{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.recipe-content-grid{gap:var(--space-6);margin-top:var(--space-12);grid-template-columns:minmax(18rem,.82fr) minmax(0,1.18fr);align-items:start;display:grid}.ingredients-panel,.steps-panel{min-width:0;padding:var(--space-6);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft)}.content-section-head{justify-content:space-between;align-items:center;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:var(--rule-fine) solid var(--color-border);display:flex}.content-section-head h2{font-size:var(--text-content-title);margin:0}.content-section-head p{margin:var(--space-1) 0 0;color:var(--color-ink-soft);font-size:var(--text-meta)}.serving-stepper{grid-template-columns:var(--control-height) 4.5rem var(--control-height);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-paper);flex:none;align-items:center;display:grid;overflow:hidden}.serving-stepper button{width:var(--control-height);height:var(--control-height);color:var(--color-coral-dark);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.serving-stepper button:disabled{color:var(--color-ink-soft);opacity:.45;cursor:not-allowed}.serving-stepper output{justify-content:center;align-items:baseline;gap:var(--space-1);white-space:nowrap;font-variant-numeric:tabular-nums;display:flex}.serving-stepper output strong{font-size:var(--text-card-title)}.serving-stepper output span{font-size:var(--text-caption);font-weight:700}.serving-note{margin:var(--space-4) 0 0;color:var(--color-ink-soft);font-size:var(--text-meta);line-height:1.6}.ingredient-list{margin:var(--space-3) 0 0}.ingredient-list>div{gap:var(--space-4);min-width:0;min-height:var(--control-height-touch);border-bottom:var(--rule-fine) solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.ingredient-list>div:last-child{border-bottom:0}.ingredient-list dt{min-width:0;font-weight:700}.ingredient-list dt small{margin-top:var(--space-1);color:var(--color-ink-soft);font-size:var(--text-caption);font-weight:400;display:block}.ingredient-list dd{color:var(--color-brown-dark);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:800}.ingredient-list>.ingredient-group-label{min-height:auto;margin-top:var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-input);background:var(--color-leaf-soft);border:0}.ingredient-list>.ingredient-group-label dt{color:var(--color-leaf-dark);font-size:var(--text-label);font-weight:800}.step-list{gap:var(--space-6);margin:var(--space-6) 0 0;counter-reset:steps;padding:0;list-style:none;display:grid}.step-list li{gap:var(--space-4);grid-template-columns:2.25rem minmax(0,1fr);align-items:start;min-width:0;display:grid}.step-list li>span{background:var(--color-coral-soft);width:2.25rem;height:2.25rem;color:var(--color-coral-dark);border-radius:50%;place-items:center;font-weight:800;display:grid}.step-list p{color:var(--color-ink);margin:0;line-height:1.85}.step-detail-image{width:100%;height:auto;margin-top:var(--space-4);border-radius:var(--radius-input);background:var(--color-paper-soft);display:block}.recipe-notes{margin-top:var(--space-6);padding:var(--space-5) var(--space-6);border-radius:var(--radius-card);background:var(--color-paper-soft);color:var(--color-ink)}.recipe-notes>div{align-items:center;gap:var(--space-3);color:var(--color-brown-dark);display:flex}.recipe-notes h2{font-size:var(--text-body);margin:0}.recipe-notes p{margin:var(--space-3) 0 0;color:var(--color-ink-soft);line-height:1.75;font-size:var(--text-label)}.recipe-record{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-8) 0;color:var(--color-ink-soft);font-size:var(--text-meta);font-variant-numeric:tabular-nums;display:flex}.recipe-record p{margin:0}.recipe-record button{min-height:var(--control-height);color:var(--color-ink-soft);cursor:pointer;font-size:var(--text-label);text-underline-offset:var(--space-1);white-space:nowrap;background:0 0;border:0;padding:0;text-decoration:underline}@media (hover:hover) and (pointer:fine){.nav-link:hover{background:var(--color-coral-soft);color:var(--color-coral-dark)}.icon-button:hover,.menu-button:hover{background:var(--color-coral-soft)}.mobile-menu a:hover,.share-menu a:hover,.share-menu button:hover{background:var(--color-paper-soft)}.recipe-search button:hover,.copy-recipe-button:hover{background:var(--color-coral-strong)}.quick-action:hover{border-color:var(--color-coral)}.text-link:hover{text-underline-offset:var(--space-1);text-decoration:underline}.recipe-card:hover{transform:translateY(-2px)}.secondary-button:hover{border-color:var(--color-coral);color:var(--color-coral-dark)}.save-button:hover{color:var(--color-coral-dark);background:var(--color-coral-soft);border-color:var(--color-coral)}.pantry-link:hover,.breadcrumb a:hover{color:var(--color-coral-dark)}.ingredient-tags button:hover,.ingredient-tags a:hover{background:var(--color-leaf-dark);color:var(--color-accent-ink)}.detail-actions>button:hover,.share-control>button:hover{border-color:var(--color-coral);background:var(--color-coral-soft);color:var(--color-coral-dark)}.serving-stepper button:hover:not(:disabled){background:var(--color-coral-soft)}.recipe-record button:hover{color:var(--color-danger)}.filter-heading button:hover{color:var(--color-coral-dark)}.filter-tags button:hover{border-color:var(--color-leaf);color:var(--color-leaf-dark)}.search-result-card:hover{transform:translateY(-2px)}.result-card-body h3 a:hover{color:var(--color-coral-dark)}.empty-search-result button:hover{background:var(--color-coral-strong)}}@media (max-width:960px){.detail-hero{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(18rem,.9fr)}.recipe-content-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:860px){.desktop-nav,.profile-button span:last-child{display:none}.profile-button{padding-right:var(--space-1)}.menu-button{display:grid}.quick-grid,.recipe-grid,.home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-hero{grid-template-columns:minmax(0,1fr)}.detail-summary{padding-top:0}.detail-lede{max-width:60ch}.mobile-filter-button{width:100%;min-height:var(--control-height-touch);justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding:0 var(--space-4);border:var(--rule-fine) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);cursor:pointer;font-size:var(--text-label);font-weight:800;display:flex}.mobile-filter-button>span{align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.mobile-filter-button strong{background:var(--color-coral-soft);min-width:1.6rem;min-height:1.6rem;color:var(--color-coral-dark);font-size:var(--text-meta);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid}.search-workbench{gap:var(--space-6);margin-top:var(--space-4);grid-template-columns:minmax(0,1fr)}.search-filters{display:none;position:static}.search-filters.is-open{display:block}}@media (max-width:600px){.app-shell{padding-bottom:var(--space-bottom-nav)}.site-header{min-height:4rem;padding:var(--space-2) var(--space-4)}.brand-name{font-size:var(--text-body)}.brand-mark{width:2.75rem;height:2.75rem}.brand-mascot{width:3rem;height:3rem}.icon-button,.profile-button{display:none}main{width:min(calc(100% - var(--space-8)), var(--content-width))}.recipe-search{margin-top:var(--space-6);gap:var(--space-3);box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(0,1fr);padding:0}.search-field{min-height:3.5rem;padding:0 var(--space-4);border:var(--rule-fine) solid var(--color-brown-soft);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);transition:border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out)}.search-field:focus-within{border-color:var(--color-coral-dark);outline:3px solid color-mix(in oklch, var(--color-coral) 24%, transparent);outline-offset:1px}.search-icon{margin-left:0}.recipe-search input:focus-visible{outline:none}.recipe-search button{width:100%}.section-heading,.section-heading-inline{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.section-heading>p{font-size:var(--text-label)}.quick-grid,.recipe-grid{grid-template-columns:minmax(0,1fr)}.home-hero{padding-top:var(--space-8);text-align:left}.home-hero h1{font-size:clamp(2rem,12vw,3rem)}.home-category-grid{grid-template-columns:minmax(0,1fr)}.home-notices>div:last-child>a{grid-template-columns:minmax(0,1fr) auto}.home-notices time{grid-column:1/-1}.pagination{gap:var(--space-2)}.pagination a{padding:0 var(--space-3)}.quick-action:last-child{grid-column:auto}.quick-action{min-height:6.5rem}.recipe-visual{height:12rem}.pantry-section{gap:var(--space-6);margin-bottom:var(--space-10);padding:var(--space-6);grid-template-columns:minmax(0,1fr)}.ingredient-tags button,.ingredient-tags a{flex:1 1 calc(50% - var(--space-3))}.site-footer{padding-bottom:var(--space-12)}.recipe-detail-main{width:min(calc(100% - var(--space-8)), var(--content-width));padding-top:var(--space-4)}.breadcrumb{margin-bottom:var(--space-4)}.breadcrumb span:not([aria-current]),.breadcrumb a:not(:first-child),.breadcrumb [aria-current]{display:none}.detail-image-wrap{aspect-ratio:4/3}.detail-summary h1{margin-top:var(--space-4);font-size:var(--text-page-title-mobile)}.desktop-break{display:none}.detail-lede{font-size:var(--text-label)}.detail-actions{grid-template-columns:repeat(auto-fit,minmax(5rem,1fr))}.detail-actions>button,.share-control>button{min-height:var(--control-height-touch);padding:0 var(--space-2)}.detail-actions button span{display:none}.share-menu{right:0}.recipe-content-grid{margin-top:var(--space-8)}.ingredients-panel,.steps-panel{padding:var(--space-5)}.content-section-head{align-items:center}.recipe-record{flex-direction:column;align-items:flex-start}.search-page-main{padding-bottom:var(--space-10)}.search-page-heading{margin-top:var(--space-6)}.search-page-heading p{font-size:var(--text-label)}.search-page-query{margin-top:var(--space-5)}.results-heading{align-items:stretch;gap:var(--space-4);flex-direction:column}.sort-control{flex-basis:auto;width:100%}.search-result-grid{grid-template-columns:minmax(0,1fr)}.result-card-body>p{min-height:0}.empty-search-result{padding:var(--space-12) var(--space-5)}.bottom-nav{z-index:var(--z-sticky);padding:var(--space-2) var(--space-2) max(var(--space-2), env(safe-area-inset-bottom));border-top:var(--rule-fine) solid var(--color-border);background:color-mix(in oklch, var(--color-surface) 96%, transparent);box-shadow:0 -8px 24px -18px var(--color-brown-dark);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{justify-content:center;align-items:center;gap:var(--space-1);min-width:0;min-height:3.5rem;color:var(--color-ink-soft);font-size:var(--text-caption);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex-direction:column;padding:0;font-weight:800;display:flex}.bottom-nav .is-current{color:var(--color-coral-dark)}.add-circle{background:var(--color-coral);width:2.45rem;height:2.45rem;color:var(--color-accent-ink);box-shadow:var(--shadow-soft);border-radius:50%;place-items:center;margin-top:-1.25rem;display:grid}}@media (max-width:380px){.ingredients-panel,.steps-panel{padding:var(--space-4)}.content-section-head{gap:var(--space-3)}.serving-stepper{grid-template-columns:2.5rem 3.75rem 2.5rem}.serving-stepper button{width:2.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:var(--dur-reduced)!important;transition-duration:var(--dur-reduced)!important}}
