.family-modal-panel .universal-modal-actions{flex-direction:column}.family-modal-panel .universal-modal-action{width:100%}.family-modal-hint{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-6);line-height:1.45}.family-member-list{list-style:none;margin:0 0 var(--space-6);padding:0;max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);border:none;background:transparent}.family-member-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-white);border-radius:var(--radius-subtle);border:1px solid var(--color-border);font-size:var(--text-sm)}.family-member-name-container{display:flex;align-items:center;gap:var(--space-2);flex:1 1;min-width:0}.family-member-name{flex:1 1;min-width:0;word-break:break-word}.family-member-edit{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--color-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-subtle);flex-shrink:0;transition:color var(--anim-fast),background var(--anim-fast)}.family-member-edit:hover{background:rgba(139,90,60,.08)}.family-member-edit:hover,.family-member-save,.family-member-save:hover{color:var(--color-primary)}.family-member-save:hover{background:rgba(139,90,60,.12)}.family-member-edit-input{padding:4px 8px;border:var(--input-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);flex:1 1;transition:border-color var(--anim-fast),box-shadow var(--anim-fast)}.family-member-edit-input:hover:not(:disabled){border-color:var(--color-input-border-hover)}.family-member-edit-input:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:var(--input-shadow-focus)}.family-member-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1);border:1px solid var(--color-remove-border);background:var(--color-remove-bg);color:var(--color-remove-ink);cursor:pointer;border-radius:var(--radius-subtle);line-height:1;transition:background var(--anim-fast),border-color var(--anim-fast);flex-shrink:0}.family-member-remove .recipe-owner-action-icon{display:block;width:1rem;height:1rem}.family-member-remove:hover:not(:disabled){background:var(--color-remove-hover-bg);border-color:var(--color-remove-hover-border);color:var(--color-remove-ink)}.family-member-remove:disabled{opacity:.35;cursor:not-allowed}.family-add-row{display:flex;align-items:stretch;gap:0}.family-new-input{flex:1 1;min-width:0;width:100%;padding:var(--space-3) var(--space-4);border:var(--input-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);transition:border-color var(--anim-fast),box-shadow var(--anim-fast)}.family-new-input:hover:not(:disabled){border-color:var(--color-input-border-hover)}.family-new-input:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:var(--input-shadow-focus)}.family-add-btn{flex-shrink:0;width:44px;height:44px;max-width:0;min-width:0;margin-left:0;padding:0;opacity:0;overflow:hidden;transform:scale(.88);pointer-events:none;background:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-subtle);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--anim-reveal-quick),filter var(--anim-fast)}.family-add-row--has-draft .family-add-btn{max-width:44px;margin-left:var(--space-2);opacity:1;transform:scale(1);pointer-events:auto}.family-add-btn:hover{filter:brightness(1.05)}.family-add-btn:active{filter:brightness(.98)}@media (max-width:768px){.family-member-edit-input,.family-new-input{font-size:16px}}.family-members-editor{display:flex;flex-direction:column;gap:var(--space-6);width:100%}.family-members-editor .family-member-list{margin:0}.family-members-editor-compact{gap:var(--space-4)}.family-members-editor-compact .family-member-list{max-height:200px}.family-empty-hint{margin:0;padding:0 var(--space-4) var(--space-4);font-size:var(--text-sm);color:var(--color-muted);line-height:1.45}.family-empty-hint[hidden]{display:none!important}.family-empty-hint-link{color:var(--color-primary);text-decoration:underline;font-weight:var(--font-weight-bold);white-space:nowrap}.user-badge{display:inline-flex;align-items:center;justify-content:center;width:var(--ub-size,36px);height:var(--ub-size,36px);border-radius:var(--radius-subtle);background:var(--ub-bg,var(--color-primary));color:var(--ub-fg,#fff);font-family:var(--font-heading);font-weight:var(--font-weight-bold);font-size:calc(var(--ub-size, 36px) * .42);line-height:1;letter-spacing:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;text-transform:uppercase;flex-shrink:0;box-shadow:none;transition:background var(--anim-fast)}.user-badge:hover{box-shadow:none;filter:none;background:color-mix(in srgb,#000000 14%,var(--ub-bg,var(--color-primary)))}.user-badge-sm{--ub-size:28px}.user-badge-md{--ub-size:36px}.user-badge-lg{--ub-size:52px}:root{--color-primary:#f4b33c;--color-primary-rgb:244,179,60;--color-accent:#d23a32;--color-white:#ffffff;--color-bg:#faf9f8;--color-text:#2a2a2a;--color-text-on-primary:#1a1a1a;--color-muted:#666666;--color-border:rgb(var(--color-primary-rgb)/15%);--color-remove-border:var(--color-accent);--color-remove-bg:var(--color-white);--color-remove-ink:var(--color-accent);--color-remove-hover-bg:color-mix(in srgb,var(--color-accent) 12%,var(--color-white));--color-remove-hover-border:color-mix(in srgb,var(--color-accent) 72%,var(--color-text-on-primary));--color-remove-solid-bg:var(--color-accent);--color-remove-solid-ink:var(--color-remove-bg);--color-remove-solid-hover:color-mix(in srgb,#000000 12%,var(--color-accent));--color-sage-subdued:rgb(83,102,77);--color-sage-subdued-rgb:83,102,77;--color-recipe-owner-bar:var(--color-sage-subdued);--color-recipe-owner-bar-rgb:var(--color-sage-subdued-rgb);--color-surface-subtle:rgb(var(--color-primary-rgb)/6%);--color-surface-blue-subtle:#e8eaf6;--color-surface-blue-subtle-ink:#283593;--color-surface-sage-subtle:rgb(var(--color-sage-subdued-rgb)/11%);--color-announcement-bg-default:#e1f0ec;--color-subtle-teal:rgb(242 246 247);--color-subtle-teal-rgb:242,246,247;--category-badge-bg:var(--color-sage-subdued);--category-badge-text:var(--color-white);--category-badge-focus-ring:rgb(255 255 255/55%);--color-code-bg:rgb(var(--color-primary-rgb)/8%);--color-pre-bg:#f0ede9;--color-blockquote-bg:var(--color-code-bg);--color-primary-alpha-10:rgb(var(--color-primary-rgb)/10%);--color-primary-alpha-12:rgb(var(--color-primary-rgb)/12%);--color-primary-alpha-15:rgb(var(--color-primary-rgb)/15%);--color-primary-alpha-20:rgb(var(--color-primary-rgb)/20%);--color-primary-alpha-25:rgb(var(--color-primary-rgb)/25%);--color-primary-alpha-40:rgb(var(--color-primary-rgb)/40%);--font-sans:var(--font-body),system-ui,sans-serif;--font-display:var(--font-zilla-slab),serif;--font-heading:var(--font-display);--font-heading-narrow:var(--font-sans);--font-mono:"Courier New",Courier,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--title-h1-size:clamp(2rem,1.375rem + 2vw,var(--text-4xl));--title-h2-size:clamp(1.625rem,1.125rem + 1.5vw,var(--text-3xl));--title-hero-size:clamp(2.375rem,1.625rem + 3vw,3.25rem);--title-h1-line-height:1.04;--title-h2-line-height:1.06;--title-hero-line-height:1;--text-display:var(--title-hero-size);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--title-display-weight:var(--font-weight-normal);--title-h1-h2-weight:var(--font-weight-semibold);--title-h3-size:var(--text-xl);--title-h3-weight:var(--font-weight-extrabold);--title-h3-tracking:0.05em;--title-h4-size:var(--text-lg);--title-h4-weight:var(--font-weight-bold);--title-h4-tracking:0.06em;--title-h5-size:var(--text-base);--title-h5-weight:var(--font-weight-bold);--title-h5-tracking:0.07em;--title-h6-size:var(--text-xs);--title-h6-weight:var(--font-weight-bold);--title-h6-tracking:0.08em;--letter-spacing-normal:0.02em;--letter-spacing-tight:0;--letter-spacing-wide:0.05em;--letter-spacing-wider:0.06em;--letter-spacing-widest:0.08em;--line-height-tight:1.15;--line-height-normal:1.3;--line-height-relaxed:1.7;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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;--max-width:1300px;--content-width:720px;--gutter:var(--space-6);--panel-width:calc(var(--max-width) + 2 * var(--space-8));--home-promo-banner-extend:clamp(2rem,5.5vw,4.25rem);--touch-target-min:2.75rem;--recipe-chrome-action-size:var(--touch-target-min);--icon-size-sm:18px;--icon-size-md:20px;--radius:12px;--radius-sm:6px;--radius-subtle:0.4rem;--radius-pill:100px;--radius-chip:20px;--border-width-default:1.5px;--border-width-thin:1px;--color-input-border:rgb(42 42 42/9%);--color-input-border-hover:var(--color-primary-alpha-40);--color-input-border-focus:var(--color-primary);--color-input-border-hover-light:rgb(255 255 255/38%);--color-card-border:var(--color-input-border);--border-subtle:var(--border-width-thin) solid var(--color-card-border);--color-border-muted:rgb(42 42 42/20%);--border-muted:var(--border-width-thin) solid var(--color-border-muted);--shadow-sm:0 2px 8px rgba(0,0,0,0.35);--shadow-md:0 4px 16px rgba(0,0,0,0.45);--shadow-elevated:0 12px 40px rgba(0,0,0,0.55);--shadow-inset-soft:inset 0 1px 2px rgba(255,255,255,0.06);--shadow-subtle:0 2px 10px rgba(0,0,0,0.035);--shadow-hover-subtle:0 3px 10px rgba(0,0,0,0.03);--shadow-nav-pill:0 4px 18px rgba(0,0,0,0.06),0 1px 3px rgba(0,0,0,0.04);--shadow-float:0 3px 10px rgba(0,0,0,0.16),0 1px 3px rgba(0,0,0,0.1);--panel-menu-border-color:rgba(0,0,0,0.1);--panel-menu-border:1px solid var(--panel-menu-border-color);--panel-menu-shadow:var(--shadow-nav-pill);--divider-subtle:1px solid var(--color-border);--recipe-item-card-bg:rgb(255 255 255/90%);--recipe-item-card-border:none;--recipe-item-card-shadow:none;--recipe-item-list-gap:var(--space-2);--anim-duration-fast:0.2s;--anim-duration-normal:0.3s;--anim-duration-slow:0.5s;--anim-timing-ease:ease;--anim-timing-ease-in:ease-in;--anim-timing-ease-out:ease-out;--anim-timing-ease-in-out:ease-in-out;--anim-fast:var(--anim-duration-fast) var(--anim-timing-ease);--anim-nav-skin:0.32s var(--anim-timing-ease);--anim-nav-reveal:transform 0.34s var(--anim-timing-ease-in-out),opacity 0.26s var(--anim-timing-ease);--anim-reveal-quick:opacity var(--anim-duration-fast) var(--anim-timing-ease-out),transform var(--anim-duration-fast) var(--anim-timing-ease-out),max-width var(--anim-duration-fast) var(--anim-timing-ease-out),margin-left var(--anim-duration-fast) var(--anim-timing-ease-out);--hover-subtle-surface:#ffffff;--hover-subtle-bg:color-mix(in srgb,#000000 5%,var(--hover-subtle-surface));--hover-subtle-border:transparent;--hover-subtle-transition:background var(--anim-fast),color var(--anim-fast);--hover-subtle-on-dark-bg:rgba(255,255,255,0.15);--hover-subtle-on-dark-active-bg:rgba(255,255,255,0.22);--hover-subtle-on-dark-transition:background var(--anim-fast);--hover-aggressive-bg:var(--color-primary);--hover-aggressive-ink:var(--color-text-on-primary);--hover-aggressive-active-bg:color-mix(in srgb,#000000 12%,var(--hover-aggressive-bg));--hover-aggressive-transition:background var(--anim-fast),color var(--anim-fast),border-color var(--anim-fast);--hover-outline-primary-bg:var(--color-primary-alpha-15);--hover-btn-transition:background var(--anim-fast),color var(--anim-fast),border-color var(--anim-fast),filter var(--anim-fast);--hover-link-transition:color var(--anim-fast),text-decoration-color var(--anim-fast);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-toast:540;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--glass-bg:var(--color-bg);--glass-border:var(--border-width-default) solid var(--color-border);--input-bg:var(--color-white);--input-border:var(--border-width-thin) solid var(--color-input-border);--input-border-focus:var(--color-input-border-focus);--input-bg-focus:var(--color-white);--input-padding-block:var(--space-2);--input-padding-inline:var(--space-3);--input-min-height:2.35rem;--input-font-size:1rem;--input-shadow-focus:inset 0 1px 2px rgba(0,0,0,0.05),0 0 0 3px var(--color-primary-alpha-10);--badge-padding-lg:4px 8px;--badge-padding-sm:2px 7px;--badge-font-size-lg:0.7rem;--badge-font-size-sm:0.65rem;--badge-font-weight:700;--badge-letter-spacing:0.75px;--badge-text-transform:uppercase;--badge-border-radius:0;--chip-padding:5px 14px;--chip-border:var(--border-width-default) solid var(--color-border);--chip-font-size:var(--text-sm);--chip-font-weight:600;--chip-border-radius:var(--radius-pill);--btn-padding:var(--space-3) var(--space-6);--btn-font-size:var(--text-sm);--btn-font-weight:700;--btn-line-height:var(--line-height-tight);--btn-letter-spacing:var(--letter-spacing-wider);--btn-border-radius:var(--radius-subtle);--btn-border:var(--border-width-default) solid transparent}@media (min-width:481px) and (max-width:1024px){:root{--gutter:clamp(var(--space-4),2.8vw,var(--space-6))}}@media (max-width:480px){:root{--gutter:var(--space-4)}}.auth-card{position:relative;width:100%;max-width:440px;margin:0 auto;padding:clamp(var(--space-6),5vw,var(--space-8));background:var(--glass-bg);border:var(--glass-border);border-radius:var(--radius-subtle);box-shadow:var(--shadow-elevated),var(--shadow-inset-soft);display:flex;flex-direction:column;gap:var(--space-6)}.auth-card.auth-card--wide{max-width:560px}.auth-card-logo{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-subtle);background:var(--color-primary);box-shadow:var(--shadow-md);margin:0 auto;transition:transform var(--anim-fast)}.auth-card-logo:hover{transform:translateY(-1px)}.auth-card-logo-img{width:44px;height:auto;display:block;object-fit:contain}.auth-card-header{text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}.auth-card-title{margin:0;font-family:var(--font-heading);font-size:var(--title-h1-size);line-height:var(--title-h1-line-height);color:var(--color-text)}.auth-card-subtitle{margin:0;font-size:var(--text-base);color:var(--color-muted);line-height:var(--line-height-normal)}.auth-card-body{display:flex;flex-direction:column;gap:var(--space-4)}.auth-card-footer{font-size:var(--text-sm);color:var(--color-muted);text-align:center;padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}@media (max-width:480px){.auth-card{padding:var(--space-6) var(--space-4);border-radius:var(--radius-subtle)}}