.auth-field{display:flex;flex-direction:column;gap:var(--space-2)}.auth-field-label{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:.01em}.auth-field-required{color:var(--color-accent);font-weight:var(--font-weight-bold)}.auth-field-input{width:100%;min-height:var(--input-min-height);padding:var(--input-padding-block) var(--input-padding-inline);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--input-bg);border:var(--input-border);border-radius:var(--radius-sm);transition:border-color var(--anim-fast),box-shadow var(--anim-fast),background var(--anim-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.auth-field-input::placeholder{color:var(--color-muted);opacity:.7}.auth-field-input:hover:not(:disabled){border-color:var(--color-input-border-hover)}.auth-field-input:focus-visible{outline:none;border-color:var(--color-input-border-focus);background:var(--input-bg-focus);box-shadow:var(--input-shadow-focus)}.auth-field-input:disabled{opacity:.65;cursor:not-allowed}.auth-field-error .auth-field-input,.auth-field-input[aria-invalid=true]{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(255,107,107,.15)}.auth-field-error-text{color:var(--color-accent);font-weight:var(--font-weight-semibold)}.auth-field-error-text,.auth-field-hint{font-size:var(--text-sm);line-height:1.3}.auth-field-hint{color:var(--color-muted)}.auth-field-input-wrap{position:relative;display:flex;align-items:stretch}.auth-field-input-wrap:has(.auth-field-eye) .auth-field-input{padding-right:48px}.auth-field-placeholder{position:absolute;left:var(--input-padding-inline);top:50%;max-width:calc(100% - (var(--input-padding-inline) * 2) - 40px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transform:translateY(-50%);color:var(--color-muted);opacity:.62;font-size:var(--text-base);line-height:1;pointer-events:none;transition:transform .16s cubic-bezier(.4,0,.2,1),opacity .12s ease}.auth-field-placeholder--password{max-width:calc(100% - (var(--input-padding-inline) * 2) - 88px)}.auth-field-input:focus+.auth-field-placeholder,.auth-field-input:not(:placeholder-shown)+.auth-field-placeholder{opacity:0;transform:translateY(calc(-50% - 10px));transition:transform .14s cubic-bezier(.4,0,1,1),opacity 90ms ease}@media (prefers-reduced-motion:reduce){.auth-field-placeholder{transition:opacity 90ms ease}.auth-field-input:focus+.auth-field-placeholder,.auth-field-input:not(:placeholder-shown)+.auth-field-placeholder{transform:translateY(-50%)}}.auth-field-eye{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:36px;height:36px;border-radius:var(--radius-subtle);background:transparent;border:none;color:var(--color-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color var(--anim-fast),background var(--anim-fast)}.auth-field-eye:hover{color:var(--color-primary);background:var(--color-primary-alpha-10)}.auth-field-eye:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-field-eye svg{width:20px;height:20px}.auth-field-eye[aria-pressed=true]{color:var(--color-primary);background:var(--color-primary-alpha-15)}.pwm{display:flex;flex-direction:column;gap:6px;margin-top:-2px}.pwm-track{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px;gap:4px}.pwm-segment{height:4px;border-radius:999px;background:var(--color-border);transition:background var(--anim-fast)}.pwm-segment-on{background:var(--color-primary)}.pwm-weak .pwm-segment-on{background:#e04d4d}.pwm-fair .pwm-segment-on{background:#e89a3c}.pwm-good .pwm-segment-on{background:#4fa84f}.pwm-strong .pwm-segment-on{background:var(--color-primary)}.pwm-label{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-muted);line-height:1}.pwm-weak .pwm-label{color:#c2443f}.pwm-fair .pwm-label{color:#b47430}.pwm-good .pwm-label{color:#3e8e3e}.pwm-strong .pwm-label{color:var(--color-primary)}.pwm-label-placeholder{color:transparent}.code-input{display:flex;justify-content:space-between;gap:var(--space-2)}.code-input-box{flex:1 1;min-width:0;aspect-ratio:1/1;max-width:56px;text-align:center;font-family:var(--font-heading);font-size:clamp(1.4rem,4vw,1.75rem);font-weight:var(--font-weight-bold);color:var(--color-text);background:var(--input-bg);border:var(--input-border);border-radius:var(--radius-sm);transition:border-color var(--anim-fast),box-shadow var(--anim-fast),background var(--anim-fast);caret-color:var(--color-primary)}.code-input-box:hover:not(:disabled){border-color:var(--color-input-border-hover)}.code-input-box:focus-visible{outline:none;border-color:var(--color-input-border-focus);background:var(--input-bg-focus);box-shadow:var(--input-shadow-focus)}.code-input-error .code-input-box{border-color:var(--color-accent)}.code-input-error .code-input-box:focus-visible{box-shadow:0 0 0 3px rgba(255,107,107,.18)}.code-input-box:disabled,.code-input-disabled .code-input-box{opacity:.55;cursor:not-allowed}@media (max-width:380px){.code-input{gap:6px}.code-input-box{font-size:1.2rem}}: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-submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--btn-padding);min-height:48px;font-family:var(--font-sans);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);letter-spacing:var(--btn-letter-spacing);text-transform:uppercase;border-radius:var(--btn-border-radius);border:var(--btn-border);cursor:pointer;transition:var(--hover-btn-transition)}.auth-submit-full{width:100%}.auth-submit-primary{--hover-aggressive-bg:color-mix(in srgb,#000000 10%,var(--color-primary));background:var(--color-primary);color:var(--color-text-on-primary)}.auth-submit-primary:hover:not(:disabled){background:var(--hover-aggressive-bg);color:var(--hover-aggressive-ink)}.auth-submit-primary:active:not(:disabled){filter:brightness(.97)}.auth-submit-secondary{background:#fff9ed;color:var(--color-primary);border:1.5px solid var(--color-primary)}.auth-submit-secondary:hover:not(:disabled){background:#fff4dd}.auth-submit-ghost{background:#f0ede9;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-weight-semibold);min-height:40px;padding:var(--space-2) var(--space-4)}.auth-submit-ghost:hover:not(:disabled){color:var(--color-primary);background:#e8e4de}.auth-submit:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.auth-submit-loading .auth-submit-label{opacity:.85}.auth-submit-spinner{width:18px;height:18px;animation:auth-submit-spin .9s linear infinite}.auth-submit-spinner circle{stroke-dasharray:44;stroke-dashoffset:14;opacity:.85}@keyframes auth-submit-spin{to{transform:rotate(1turn)}}