:root{--color-accent-100:#f6f2f3;--color-accent-200:#ece0e3;--color-accent-300:#d8c3c9;--color-accent-400:#b98f9b;--color-accent-500:#b04f6c;--color-accent-600:#a6123d;--color-accent-700:#8d0f34;--color-accent-800:#6b0b28;--color-accent-900:#48071b;--color-accent:var(--color-accent-600);--color-neutral-100:#f6f6f6;--color-neutral-200:#ebebeb;--color-neutral-300:#d9d9d9;--color-neutral-400:#bfbfbf;--color-neutral-500:#9c9c9c;--color-neutral-600:#787878;--color-neutral-700:#575757;--color-neutral-800:#383838;--color-neutral-900:#1e1e1e;--surface-page:#fff;--surface-raised:#fff;--surface-sunken:#f4f4f4;--surface-inset:#f2f2f2;--surface-inverse:#1e1e1e;--chrome-bar:var(--surface-inset);--chrome-bar-rule:var(--line-strong);--text-primary:#1e1e1e;--text-secondary:#4f4f4f;--text-muted:#666;--text-accent:var(--color-accent-700);--text-inverse:#fff;--line-hairline:#dcdcdc;--line-strong:#c4c4c4;--line-dashed:#cfcfcf;--line-emphasis:#8a8a8a;--focus-ring:var(--color-accent-600);--brand-apple-fill:#fff;--brand-apple-ink:#000;--brand-apple-line:#000;--status-success:#1d6b40;--status-success-tint:#dceee2;--status-success-text:#14522f;--status-warning:#a8620e;--status-warning-tint:#fbeeda;--status-warning-text:#7a4708;--status-error:#b3341a;--status-error-tint:#fbe4de;--status-error-text:#8a2412;--status-info:#1f4f7a;--status-info-tint:#e2edf6;--status-info-text:#173a5c;--badge-verified:#3b3a8f;--badge-verified-tint:#e6e6f4;--scrim-pill:#fffffff0;--scrim-action:#ffffffd9;--scrim-bottom:linear-gradient(to top,#1e1e1ebd,#1e1e1e00);--scrim-label:linear-gradient(to top,#211b26c7 0,#211b26bd 4.5rem,#211b2600 9.5rem);--scrim-hover:#1e1e1e14;--skeleton-base:#ebebeb;--skeleton-shimmer:#f6f6f6;--font-body:"Spectral",Georgia,serif;--font-heading:"Spectral",Georgia,serif;--font-ui:"IBM Plex Sans",system-ui,sans-serif;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:15px;--text-lg:17px;--text-xl:21px;--text-2xl:27px;--text-3xl:34px;--leading-tight:1.15;--leading-normal:1.5;--leading-relaxed:1.6;--text-mobile-title:22px;--text-mobile-card-title:14.5px;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:10px;--space-5:14px;--space-6:18px;--space-7:22px;--space-8:28px;--space-9:36px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--elevation-0:none;--elevation-1:0 1px 2px #1e1e1e0f,0 6px 16px -4px #1e1e1e1f;--elevation-2:0 2px 4px #1e1e1e0f,0 16px 40px -8px #1e1e1e2e;--elevation-3:0 4px 10px #1e1e1e1a,0 20px 48px -10px #1e1e1e42;--elevation-edge:var(--line-hairline);--scrim-backdrop:#1e1e1e70;--z-base:0;--z-sticky:100;--z-nav:200;--z-dropdown:300;--z-drag:400;--z-backdrop:500;--z-modal:510;--z-toast:600;--z-tooltip:700;--width-page:1440px;--width-reading:720px;--width-form:560px;--margin-page:32px;--gutter:24px;--page-gutter-mobile:18px;--page-gutter-desktop:32px;--card-w:300px;--card-w-video:var(--card-w);--card-w-wide:calc(2 * var(--card-w) + var(--gutter));--card-body-h:82px;--card-media-h:269px;--card-media-ratio:var(--ratio-content);--card-h:calc(var(--card-media-h) + var(--card-body-h));--card-w-shelf:120px;--card-h-day:72px;--card-media-day:72px;--card-media-agenda:96px;--card-h-list:88px;--card-media-list:88px;--bp-sm:600px;--bp-md:900px;--bp-lg:1200px;--bp-xl:1440px;--duration-instant:80ms;--duration-fast:.14s;--duration-base:.2s;--duration-slow:.32s;--ease-out:cubic-bezier(.2,.8,.3,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-standard:cubic-bezier(.4,0,.2,1);--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--icon-stroke:1.75;--control-min:32px;--target-min:44px;--ratio-content:300 / 269;--ratio-modal-hero:4/3}@media (width<=1199px){:root{--margin-page:24px}}@media (width<=599px){:root{--margin-page:16px;--gutter:16px;--card-w:100%}}@media (prefers-reduced-motion:reduce){:root{--duration-instant:1ms;--duration-fast:1ms;--duration-base:1ms;--duration-slow:1ms}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}body{background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);margin:0}a{color:var(--text-accent);text-underline-offset:3px}a:hover{color:var(--color-accent-600)}::selection{background:var(--color-accent-100);color:var(--text-primary)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}h1{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--fw-bold)}h2{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--fw-semibold)}h3{font-family:var(--font-heading);font-size:var(--text-md);font-weight:var(--fw-semibold)}h4{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--fw-semibold)}h5{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--fw-semibold)}h6{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:var(--fw-semibold)}h1,h2,h3,h4,h5,h6,p{margin:0 0 var(--space-4) 0}button,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]),select,textarea{border:1px solid var(--line-hairline);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);padding:var(--space-2) var(--space-3)}button{padding:var(--space-2) var(--space-4);cursor:pointer}:where(button:hover:not(:disabled)){background:var(--surface-sunken)}input::placeholder,textarea::placeholder{color:var(--text-muted)}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.45;cursor:not-allowed}@media (width<=599px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]),select,textarea{font-size:16px!important}}:root{--slot-overlay-height:1.5rem;--meal-breakfast:#e0962b;--meal-snack:#6e4a86;--meal-dessert:#c2557e;--meal-other:#7a6e5a;--bs-danger:#dc3545;--bs-danger-hover:#bb2d3b;--color-error-text:#bb2d3b;--a11y-secondary:#5c636a;--a11y-border:#767676;--bs-body-bg:var(--surface-page);--bs-body-color:var(--text-primary);--bs-body-font-family:var(--font-serif);--bs-primary:var(--color-accent);--bs-primary-rgb:110, 74, 134;--bs-link-color:var(--text-accent);--bs-link-color-rgb:58, 94, 168;--bs-link-hover-color:var(--color-accent);--bs-border-color:var(--line-hairline);--bs-secondary-color:var(--text-muted);--bs-secondary-bg:var(--surface-sunken);--bs-tertiary-bg:var(--line-hairline);--bs-card-bg:var(--surface-raised);--bs-card-border-color:var(--line-hairline);--bs-modal-bg:var(--surface-raised);--icon-size-sm:14px;--icon-size-md:18px;--font-serif:var(--font-body);--font-hand:"Caveat", cursive;--font-mono:"Courier Prime", "Courier New", Courier, monospace;--font-code:"JetBrains Mono", "Fira Mono", monospace;--fw-normal:500;--fw-semibold:600;--fw-bold:700;--lh-heading:1.2;--lh-base:1.5;--space-10:16px;--space-11:24px;--space-12:3rem;--radius-xl:10px;--radius-circle:50%;--shadow-sm:0 1px 3px #211b261f, 0 1px 2px #211b2614;--shadow-md:0 4px 12px #211b2624, 0 2px 4px #211b2614;--transition-fast:var(--duration-fast) var(--ease-standard);--card-w-sm:auto;--card-w-md:300px;--card-w-drag-preview:120px;--card-w-week-tile:auto;--card-w-related:275px;--card-h-calendar-day:72px;--card-media-calendar-day:72px;--card-media-mobile-glance:34px;--card-h-mobile-day-hero:96px;--card-bg:var(--surface-raised);--card-border:1px solid var(--line-hairline);--card-radius:var(--radius-md);--card-shadow:var(--shadow-sm);--card-shadow-hover:var(--shadow-md);--card-transition:var(--transition-fast);--card-focus-ring:2px solid var(--focus-ring);--card-accent-meal:var(--color-accent);--card-accent-travel:var(--text-accent);--card-accent-event:var(--status-success);--card-accent-custom:var(--status-warning);--card-accent-holiday:var(--color-accent-400);--card-accent-advent:#b94040;--z-nav:1030;--z-sub-nav:1029;--z-dropdown:1035;--z-backdrop:1049;--z-modal:1051;--z-toast:1100;--ad-label-bg:var(--line-hairline);--ad-label-fg:var(--text-secondary);--sponsored-label-bg:var(--color-accent-100);--sponsored-label-fg:var(--color-accent);--card-promoted-label-bg:var(--sponsored-label-bg);--card-promoted-label-fg:var(--sponsored-label-fg);--card-ad-label-bg:var(--ad-label-bg);--card-ad-label-fg:var(--ad-label-fg)}.stack{gap:var(--stack-gap,var(--space-4));flex-direction:column;display:flex}.cluster{align-items:center;gap:var(--cluster-gap,var(--space-3));flex-wrap:wrap;display:flex}.grid-cards{grid-template-columns:repeat(auto-fill, var(--card-w));justify-content:start;gap:var(--gutter);display:grid}.grid-row{gap:var(--grid-gap,var(--gutter));grid-template-columns:repeat(var(--grid-cols,1), minmax(0, 1fr));display:grid}@media (width>=600px){.grid-row{grid-template-columns:repeat(var(--grid-cols-sm,var(--grid-cols,1)), minmax(0, 1fr))}}@media (width>=900px){.grid-row{grid-template-columns:repeat(var(--grid-cols-md,var(--grid-cols-sm,var(--grid-cols,1))), minmax(0, 1fr))}}@media (width>=1200px){.grid-row{grid-template-columns:repeat(var(--grid-cols-lg,var(--grid-cols-md,var(--grid-cols-sm,var(--grid-cols,1)))), minmax(0, 1fr))}}.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}.focus-ring:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.truncate-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.content-container{width:100%;max-width:var(--width-page);padding-inline:var(--gutter);margin-inline:auto}.content-container--fluid{max-width:none}.page-col{padding-inline:var(--page-gutter-desktop)}@media (width<=767.98px){.page-col{padding-inline:var(--page-gutter-mobile)}}.bleed{margin-inline:calc(-1 * var(--page-gutter-desktop))}@media (width<=767.98px){.bleed{margin-inline:calc(-1 * var(--page-gutter-mobile))}}.hscroll{scrollbar-width:none;scroll-snap-type:x mandatory;padding-inline:var(--page-gutter-desktop);overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 16px),#0000);mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 16px),#0000)}@media (width<=767.98px){.hscroll{padding-inline:var(--page-gutter-mobile)}}.hscroll::-webkit-scrollbar{display:none}.elf-thumbnail{padding:var(--space-1);background-color:var(--surface-raised);border:1px solid var(--line-hairline);border-radius:var(--radius-sm);object-fit:cover}.icon-btn{position:relative}.icon-btn:after{content:"";width:max(100%, var(--target-min));height:max(100%, var(--target-min));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.u-flex{display:flex}.u-inline-flex{display:inline-flex}.u-block{display:block}.u-inline-block{display:inline-block}.u-hidden{display:none}.u-grid{display:grid}.u-flex-col{flex-direction:column}.u-flex-wrap{flex-wrap:wrap}.u-shrink-0{flex-shrink:0}.u-grow-1{flex-grow:1}.u-flex-fill{flex:auto}.u-items-center{align-items:center}.u-items-start{align-items:flex-start}.u-items-end{align-items:flex-end}.u-items-baseline{align-items:baseline}.u-justify-between{justify-content:space-between}.u-justify-center{justify-content:center}.u-justify-end{justify-content:flex-end}.u-gap1{gap:var(--space-1)}.u-gap2{gap:var(--space-3)}.u-gap3{gap:var(--space-10)}.u-mt0{margin-top:0}.u-mt1{margin-top:var(--space-1)}.u-mt2{margin-top:var(--space-3)}.u-mt3{margin-top:var(--space-10)}.u-mt4{margin-top:var(--space-11)}.u-mt5{margin-top:var(--space-12)}.u-mb0{margin-bottom:0}.u-mb1{margin-bottom:var(--space-1)}.u-mb2{margin-bottom:var(--space-3)}.u-mb3{margin-bottom:var(--space-10)}.u-mb4{margin-bottom:var(--space-11)}.u-mb5{margin-bottom:var(--space-12)}.u-ms0{margin-inline-start:0}.u-ms1{margin-inline-start:var(--space-1)}.u-ms2{margin-inline-start:var(--space-3)}.u-ms3{margin-inline-start:var(--space-10)}.u-ms4{margin-inline-start:var(--space-11)}.u-ms5{margin-inline-start:var(--space-12)}.u-me0{margin-inline-end:0}.u-me1{margin-inline-end:var(--space-1)}.u-me2{margin-inline-end:var(--space-3)}.u-me3{margin-inline-end:var(--space-10)}.u-me4{margin-inline-end:var(--space-11)}.u-me5{margin-inline-end:var(--space-12)}.u-mx0{margin-inline:0}.u-mx1{margin-inline:var(--space-1)}.u-mx2{margin-inline:var(--space-3)}.u-mx3{margin-inline:var(--space-10)}.u-mx4{margin-inline:var(--space-11)}.u-mx5{margin-inline:var(--space-12)}.u-my0{margin-block:0}.u-my1{margin-block:var(--space-1)}.u-my2{margin-block:var(--space-3)}.u-my3{margin-block:var(--space-10)}.u-my4{margin-block:var(--space-11)}.u-my5{margin-block:var(--space-12)}.u-m0{margin:0}.u-m1{margin:var(--space-1)}.u-m2{margin:var(--space-3)}.u-m3{margin:var(--space-10)}.u-m4{margin:var(--space-11)}.u-m5{margin:var(--space-12)}.u-pt0{padding-top:0}.u-pt1{padding-top:var(--space-1)}.u-pt2{padding-top:var(--space-3)}.u-pt3{padding-top:var(--space-10)}.u-pt4{padding-top:var(--space-11)}.u-pt5{padding-top:var(--space-12)}.u-pb0{padding-bottom:0}.u-pb1{padding-bottom:var(--space-1)}.u-pb2{padding-bottom:var(--space-3)}.u-pb3{padding-bottom:var(--space-10)}.u-pb4{padding-bottom:var(--space-11)}.u-pb5{padding-bottom:var(--space-12)}.u-ps0{padding-inline-start:0}.u-ps1{padding-inline-start:var(--space-1)}.u-ps2{padding-inline-start:var(--space-3)}.u-ps3{padding-inline-start:var(--space-10)}.u-ps4{padding-inline-start:var(--space-11)}.u-ps5{padding-inline-start:var(--space-12)}.u-pe0{padding-inline-end:0}.u-pe1{padding-inline-end:var(--space-1)}.u-pe2{padding-inline-end:var(--space-3)}.u-pe3{padding-inline-end:var(--space-10)}.u-pe4{padding-inline-end:var(--space-11)}.u-pe5{padding-inline-end:var(--space-12)}.u-px0{padding-inline:0}.u-px1{padding-inline:var(--space-1)}.u-px2{padding-inline:var(--space-3)}.u-px3{padding-inline:var(--space-10)}.u-px4{padding-inline:var(--space-11)}.u-px5{padding-inline:var(--space-12)}.u-py0{padding-block:0}.u-py1{padding-block:var(--space-1)}.u-py2{padding-block:var(--space-3)}.u-py3{padding-block:var(--space-10)}.u-py4{padding-block:var(--space-11)}.u-py5{padding-block:var(--space-12)}.u-p0{padding:0}.u-p1{padding:var(--space-1)}.u-p2{padding:var(--space-3)}.u-p3{padding:var(--space-10)}.u-p4{padding:var(--space-11)}.u-p5{padding:var(--space-12)}.u-ms-auto{margin-inline-start:auto}.u-text-subtle{color:var(--text-muted)}.u-text-center{text-align:center}.u-text-end{text-align:end}.u-text-danger{color:var(--status-error-text)}.u-text-success{color:var(--status-success-text)}.u-text-primary-ink{color:var(--text-primary)}.u-capitalize{text-transform:capitalize}.u-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.u-fw-normal{font-weight:var(--fw-normal)}.u-fw-semibold{font-weight:var(--fw-semibold)}.u-fw-bold{font-weight:var(--fw-bold)}.u-text-sm{font-size:var(--text-sm)}.u-text-md{font-size:var(--text-md)}.u-text-lg{font-size:var(--text-lg)}.u-w-full{width:100%}.u-h-full{height:100%}.u-relative{position:relative}.u-absolute{position:absolute}.u-center-absolute{top:50%;left:50%;transform:translate(-50%,-50%)}.u-bg-white{background:var(--surface-page)}.u-border{border:1px solid var(--line-hairline)}.u-radius{border-radius:var(--radius-sm)}.u-radius-none{border-radius:0}.u-elevation{box-shadow:var(--shadow-md)}.u-elevation-sm{box-shadow:var(--shadow-sm)}.u-list-unstyled{padding-left:0;list-style:none}.u-img-fluid{max-width:100%;height:auto}.u-drop-target-cue{border-radius:var(--radius-md);border:2px solid #0000}.u-drop-target-cue--active{border-style:dashed;border-color:var(--focus-ring)}*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;display:block}code{font-family:var(--font-mono)}.pw-strength-fill{height:100%;transition:width var(--duration-fast,.15s) ease}@media (prefers-reduced-motion:reduce){.pw-strength-fill{transition:none}}:root{--btn-bg:var(--color-accent);--btn-bg-hover:var(--color-accent-500);--btn-text:var(--surface-raised);--btn-border:var(--color-accent);--input-bg:var(--surface-raised);--input-border:var(--line-hairline);--input-focus-ring:var(--focus-ring);--input-text:var(--text-primary);--input-placeholder:var(--text-muted);--nav-bg:var(--color-accent);--nav-text:var(--surface-raised);--nav-active:var(--status-warning);--overlay-bg:var(--surface-raised);--overlay-shadow:var(--shadow-md);--tag-coral-bg:#ede0f5;--tag-coral-text:#4a2a6b;--tag-blue-bg:#dde4f5;--tag-blue-text:var(--text-accent);--tag-blue-border:#a5b8d3;--tag-leaf-bg:#d5eeec;--tag-leaf-text:#1d5f5c;--tag-leaf-border:#8bcbc8;--tag-straw-bg:#faebd0;--tag-straw-text:#6b4a1c;--tag-straw-border:#d4a85a}[data-theme=dark]{--surface-page:#1c1820;--surface-sunken:#231e28;--surface-raised:#1e1a23;--text-primary:#ede8f5;--text-secondary:#c5bdd4;--text-muted:#8c8494;--line-hairline:#3a3444;--color-accent:#9a70b8;--color-accent-500:#8560a4;--text-accent:#7a9ed8;--status-success:#3aab9e;--status-warning:#e8a83e}:root{--text-color-default:var(--text-primary);--pantry-shelf-collapsed-height:17rem;--pantry-shelf-clearance:2.5rem;--navbar-height:3.5rem;scroll-padding-top:var(--navbar-height);--bottom-tab-bar-height:56px;--fab-height:44px;--bottom-scroll-padding:calc(var(--bottom-tab-bar-height) + var(--fab-height) + 16px + env(safe-area-inset-bottom,0px))}.list-group-item{--bs-list-group-bg:var(--surface-raised)}.shared-plan-toast-stack{z-index:1000;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.shared-plan-toast{background:var(--text-primary);color:var(--surface-page);min-width:280px;max-width:420px;box-shadow:0 4px 16px color-mix(in srgb, var(--text-primary) 35%, transparent);border-radius:4px;overflow:hidden}.shared-plan-toast__content{align-items:center;gap:12px;padding:12px 14px;display:flex}.shared-plan-toast__message{font-family:var(--font-serif);flex:1;font-size:.9rem;font-style:italic;line-height:1.35}.shared-plan-toast__actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.shared-plan-toast__btn{border:1px solid color-mix(in srgb, var(--surface-page) 35%, transparent);color:var(--surface-page);font-family:var(--font-code);letter-spacing:.12em;text-transform:uppercase;background:0 0;border-radius:2px;padding:4px 10px;font-size:.7rem;text-decoration:none;transition:background .1s,border-color .1s}.shared-plan-toast__btn:hover{background:color-mix(in srgb, var(--surface-page) 12%, transparent);border-color:color-mix(in srgb, var(--surface-page) 60%, transparent);color:var(--surface-page);text-decoration:none}.shared-plan-toast__btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.shared-plan-toast__dismiss{color:color-mix(in srgb, var(--surface-page) 60%, transparent);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:1.1rem;line-height:1;transition:color .1s}.shared-plan-toast__dismiss:hover{color:var(--surface-page)}.shared-plan-toast__dismiss:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.nav-brand{align-items:center;gap:var(--space-2);margin-right:var(--space-6);color:var(--text-primary);flex-shrink:0;text-decoration:none;display:inline-flex}.nav-brand-mark{width:28px;height:28px;color:var(--color-accent-600);flex-shrink:0}.nav-brand-word{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text-primary);white-space:nowrap;font-style:italic;font-weight:600}.nav-brand:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}@media (width<=599px){.nav-brand-word{display:none}}.elf-tag{padding:2px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-semibold);white-space:nowrap;border:1px solid #0000;align-items:center;line-height:1.4;display:inline-flex}.elf-tag--default{background-color:var(--surface-sunken);color:var(--text-secondary);border-color:var(--line-hairline)}.elf-tag--coral{background-color:var(--tag-coral-bg);color:var(--tag-coral-text);border-color:var(--color-accent-100)}.elf-tag--blue{background-color:var(--tag-blue-bg);color:var(--tag-blue-text);border-color:var(--tag-blue-border)}.elf-tag--leaf{background-color:var(--tag-leaf-bg);color:var(--tag-leaf-text);border-color:var(--tag-leaf-border)}.elf-tag--straw{background-color:var(--tag-straw-bg);color:var(--tag-straw-text);border-color:var(--tag-straw-border)}.elf-tag--accent{background-color:var(--color-accent-100);color:var(--color-accent-900);border-color:var(--color-accent-100)}.elf-tag--success{background-color:var(--status-success-tint);color:var(--status-success-text);border-color:color-mix(in srgb, var(--status-success) 35%, transparent)}.elf-tag--warning{background-color:var(--status-warning-tint);color:var(--status-warning-text);border-color:color-mix(in srgb, var(--status-warning) 35%, transparent)}.elf-tag--error{background-color:var(--status-error-tint);color:var(--status-error-text);border-color:color-mix(in srgb, var(--status-error) 35%, transparent)}.elf-tag--info{background-color:var(--status-info-tint);color:var(--status-info-text);border-color:color-mix(in srgb, var(--status-info) 35%, transparent)}.notifications-bell-wrapper{align-items:center;display:inline-flex;position:relative}.notifications-bell-btn{color:color-mix(in srgb, var(--surface-raised) 88%, transparent);cursor:pointer;background:0 0;border:none;align-items:center;padding:.4rem .6rem;font-size:1.15rem;line-height:1;display:inline-flex}.notifications-bell-btn:hover{color:var(--surface-raised)}.notifications-bell-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--surface-raised) 80%, transparent);outline-offset:2px;box-shadow:none;border-radius:2px}.notifications-badge{pointer-events:none;border-radius:999px;min-width:1.1em;padding:1px 4px;font-size:.65rem;line-height:1.3;position:absolute;top:0;right:-2px}.notifications-panel{background:var(--surface-raised);border:1px solid var(--line-hairline);box-shadow:var(--elevation-1);width:min(360px,100vw - 1rem);max-height:400px;z-index:var(--z-dropdown);border-radius:6px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.notifications-panel-heading{color:var(--text-primary);margin:0;padding:.65rem .85rem .4rem;font-size:.9rem;font-weight:600}.notifications-panel-summary{color:var(--text-muted);margin:0;padding:.5rem .85rem 0;font-size:.85rem}.notifications-panel-summary:empty{display:none}.notifications-panel-link{color:var(--text-primary);padding:.6rem .85rem;font-size:.85rem;display:block}.invitation-error{color:var(--status-error);margin:.4rem 0 0;font-size:.78rem}.invitations-list{margin:0;padding:0;list-style:none}.invitations-list-item{border-bottom:1px solid var(--line-hairline);padding:.65rem .85rem}.invitations-list-item:last-child{border-bottom:none}.invitation-resource{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.invitation-resource-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.invitation-type-pill{color:var(--text-muted);background:var(--surface-sunken);white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:.72rem}.invitation-sender{color:var(--text-muted);margin-top:2px;font-size:.8rem}.invitation-actions{gap:.4rem;margin-top:.4rem;display:flex}.invitation-accept-btn,.invitation-decline-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:.2rem .6rem;font-size:.78rem;font-weight:500;line-height:1.4}.invitation-accept-btn{background:var(--status-success);color:var(--text-inverse);border-color:var(--status-success)}.invitation-accept-btn:hover:not(:disabled){filter:brightness(.9)}.invitation-decline-btn{color:var(--text-muted);border-color:var(--line-hairline);background:0 0}.invitation-decline-btn:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-primary)}.invitation-accept-btn:disabled,.invitation-decline-btn:disabled{opacity:.6;cursor:default}.invitation-accept-btn:focus-visible,.invitation-decline-btn:focus-visible{outline:2px solid var(--status-success);outline-offset:1px}.cookie-consent-banner{z-index:var(--z-nav);background:var(--surface-sunken);border-top:1px solid var(--line-hairline);flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex;position:fixed;bottom:0;left:0;right:0}.cookie-consent-banner p{color:var(--text-secondary);flex:1;margin:0}.cookie-consent-banner__actions{flex-wrap:wrap;gap:.5rem;display:flex}.legal-footer{padding:var(--space-3) var(--margin-page);border-block-start:1px solid var(--line-hairline);text-align:center}.legal-footer--above-tab-bar{padding-block-end:calc(var(--bottom-tab-bar-height) + var(--space-3) + env(safe-area-inset-bottom,0px))}.legal-footer__nav{justify-content:center;gap:var(--space-1) var(--space-6);flex-wrap:wrap;font-size:.875rem;display:flex}.legal-footer__nav a{min-height:var(--control-min);align-items:center;display:inline-flex}.legal-footer__scope{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:.875rem}.tos-update-toast{bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background-color:var(--surface-inverse);color:var(--text-inverse);font-family:var(--font-serif);font-size:var(--text-sm);box-shadow:var(--elevation-3);border:1px solid var(--elevation-edge);max-width:360px;width:calc(100vw - var(--space-8) * 2);animation:tos-update-toast-in var(--duration-base) var(--ease-out);display:flex;position:fixed}.tos-update-toast:focus-visible{outline:2px solid var(--text-inverse);outline-offset:2px}.tos-update-toast__message{line-height:var(--lh-base);flex:1}.tos-update-toast__message a{color:inherit}.tos-update-toast__action{color:var(--text-inverse);font-family:var(--font-serif);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;min-height:44px;padding:0 var(--space-2);text-underline-offset:2px;background:0 0;border:none;flex-shrink:0;text-decoration:underline}.tos-update-toast__action:focus-visible{outline:2px solid var(--text-inverse);outline-offset:2px;border-radius:2px}.tos-update-toast__action:disabled{opacity:.6;cursor:default}@keyframes tos-update-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.tos-update-toast{animation:none}}.bottom-tab-bar{display:none}@media (width<=899px){.bottom-tab-bar{height:calc(var(--bottom-tab-bar-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface-raised);border-top:1px solid var(--bs-border-color);z-index:var(--z-sub-nav);justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-tab-bar__item{min-width:44px;min-height:44px;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-xs);cursor:pointer;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;padding:.5rem 0;text-decoration:none;display:flex}.bottom-tab-bar__item:hover{color:var(--color-accent);text-decoration:none}.bottom-tab-bar__item.active{color:var(--color-accent)}.bottom-tab-bar__item:focus-visible{outline:2px solid var(--bs-primary);outline-offset:-2px;border-radius:4px}.bottom-tab-bar__icon{justify-content:center;align-items:center;line-height:1;display:flex}}@media (prefers-reduced-motion:reduce){.bottom-tab-bar__item{transition:none}}.account-nudge-sheet{z-index:calc(var(--z-sub-nav) - 1);background:var(--surface-raised);padding:1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;flex-direction:column;gap:.75rem;transition:transform .3s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.account-nudge-sheet--visible{transform:translateY(0)}@media (width<=899px){.account-nudge-sheet{bottom:calc(var(--bottom-tab-bar-height) + env(safe-area-inset-bottom,0px));padding-bottom:1.5rem}}@media (prefers-reduced-motion:reduce){.account-nudge-sheet{transition:none}}.account-nudge-heading{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.account-nudge-body{color:var(--text-secondary);margin:0;font-size:.9rem}.account-nudge-actions{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.account-nudge-btn{cursor:pointer;border:none;border-radius:10px;width:100%;min-height:44px;font-size:.95rem;font-weight:600;transition:background .15s,color .15s}.account-nudge-btn:focus{outline:2px solid var(--focus-ring);outline-offset:2px}.account-nudge-btn--primary{background:var(--color-accent-600);color:var(--text-inverse)}.account-nudge-btn--primary:hover{background:var(--color-accent-500)}.account-nudge-btn--ghost{background:var(--surface-sunken);color:var(--text-primary)}.account-nudge-btn--ghost:hover{background:var(--color-neutral-200)}.share-sheet-title{text-align:center;width:100%;font-size:1rem;font-weight:600}.share-sheet-body{padding:.75rem 1rem 1rem}.share-sheet-unavailable{color:var(--text-muted,#6b7280);margin:0;font-size:.9rem}.share-icon-row{scrollbar-width:none;justify-content:space-evenly;gap:8px;padding:4px 0 16px;display:flex;overflow-x:auto}.share-icon-row::-webkit-scrollbar{display:none}.share-icon-action{min-width:60px;color:var(--text-primary,#1f2937);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:none;align-items:center;gap:6px;padding:4px;font-size:.75rem;display:flex}.share-icon-action:hover .share-icon-circle{background:var(--surface-sunken,#e2e8f0)}.share-icon-action:focus-visible{outline:2px solid var(--text-accent,#2563eb);outline-offset:2px}.share-icon-action:disabled{opacity:.5;cursor:not-allowed}.share-icon-action:disabled .share-icon-circle{background:var(--surface-sunken,#f1f5f9)}.share-icon-circle{background:var(--surface-sunken,#f1f5f9);width:52px;height:52px;color:var(--text-primary,#1f2937);border-radius:999px;place-items:center;transition:background .12s;display:grid}.share-icon-action[data-copied=true] .share-icon-circle{background:color-mix(in srgb, var(--status-success,#16a34a) 15%, transparent);color:var(--status-success,#16a34a)}.share-icon-action[data-copied=true] .share-icon-label{color:var(--status-success,#16a34a)}.share-icon-label{text-align:center;white-space:nowrap;max-width:68px;line-height:1.2}.share-sheet-icon{color:inherit;flex-shrink:0}.share-sheet-notice{background:var(--status-warning-tint,#fef9c3);color:var(--status-warning-text,#713f12);border-radius:8px;margin:12px 0 0;padding:.5rem .75rem;font-size:.82rem;line-height:1.4}.share-sheet-error{background:var(--status-error-tint,#fee2e2);color:var(--status-error-text,#7f1d1d);border-radius:8px;margin:12px 0 0;padding:.5rem .75rem;font-size:.82rem;line-height:1.4}.share-sheet-linklike{color:var(--text-accent,#2563eb);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:4px 0;font-size:.82rem;text-decoration:underline}.share-sheet-linklike:focus-visible{outline:2px solid var(--text-accent,#2563eb);outline-offset:2px}@media (width<=320px){.share-sheet-body{padding:.5rem .75rem .75rem}.share-icon-circle{width:44px;height:44px}.share-icon-action{min-width:50px;font-size:.7rem}}.share-btn{border:1px solid var(--bs-border-color);min-width:44px;min-height:44px;color:var(--bs-body-color);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;display:inline-flex}.share-btn:hover{background:var(--bs-secondary-bg)}.share-btn:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px}.share-btn-icon{flex-shrink:0}.share-btn-label{line-height:1}.share-btn--icon-only{border:none;justify-content:center;gap:0;padding:.375rem}.share-btn--overlay{width:32px;min-width:32px;height:32px;min-height:32px;color:var(--bs-body-color);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;padding:0;display:grid}.share-btn--overlay:hover{background:#fff3}.share-btn--overlay:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px}.share-btn--card-overlay{z-index:2;position:absolute;top:8px;right:8px}.share-popover{min-width:200px;max-width:280px}.share-popover-body{padding:.5rem .75rem .75rem}.share-popover .share-icon-row{justify-content:flex-start;padding:4px 0 8px}@media (prefers-reduced-motion:no-preference){.bottom-sheet-dialog{animation:.2s ease-out sheet-slide-up}}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cms-body{padding:.75rem 1rem}.cms-anon-msg{color:var(--text-muted,#6b7280);margin:0}.cms-list{flex-direction:column;gap:.375rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.cms-row{width:100%;min-height:var(--target-min,44px);text-align:left;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;align-items:center;gap:.75rem;padding:.375rem .75rem;font-size:.95rem;display:flex}.cms-row[aria-pressed=true]{border-color:var(--color-accent-600);background:var(--color-accent-100)}.cms-row:disabled{opacity:.6;cursor:not-allowed}.cms-row__tick{width:1.1rem;color:var(--color-accent-600);flex-shrink:0;font-weight:700}.cms-row__name{flex:1}.cms-new-deck{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.cms-new-deck-input{min-height:var(--target-min,44px);border:1px solid var(--line-hairline,#dee2e6);border-radius:8px;flex:1;padding:.5rem .75rem;font-size:16px}.cms-new-deck-btn{min-height:var(--target-min,44px);border:1px solid var(--text-accent,#2563eb);min-width:64px;color:var(--text-accent,#2563eb);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem .75rem;font-size:.9rem}.cms-unsave{min-height:var(--target-min,44px);color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:.5rem 0;font-size:.9rem;text-decoration:underline}.cms-unsave:disabled{opacity:.5;cursor:not-allowed}.cms-error{width:100%;color:var(--color-accent,#dc2626);margin:.25rem 0 0;font-size:.8rem}@media (prefers-reduced-motion:no-preference){.bottom-sheet-dialog{animation:.2s ease-out sheet-slide-up}}.recipe-card__wrapper{flex-direction:column;display:flex;position:relative}.recipe-card__wrapper>.card{flex-grow:1}.search-result-star{background:var(--scrim-action);cursor:pointer;color:var(--text-primary);border:none;border-radius:999px;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;min-height:28px;padding:.25rem;font-size:1.1rem;line-height:1;transition:color .2s;display:inline-flex}.search-result-star:hover,.search-result-star.starred{color:var(--status-warning-text)}.search-result-star:focus-visible{outline:var(--card-focus-ring);outline-offset:2px}.deck-badge{background:var(--scrim-pill);color:var(--text-primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:none;border-radius:4px;min-width:6.5rem;max-width:calc(100% - 2.5rem);min-height:24px;padding:.3rem .5rem;font-size:.75rem;overflow:hidden}.deck-badge:focus-visible{outline:2px solid var(--text-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.search-result-star{transition:none}}.card[data-media=video] .card__media{position:relative}.card[data-media=video] .video-play-glyph{background:var(--surface-raised);width:44px;height:44px;color:var(--text-primary);box-shadow:var(--elevation-1);pointer-events:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card[data-media=video] .card__media iframe{aspect-ratio:16/9;width:auto;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.recipe-detail-hero{width:calc(100% + 2 * var(--space-6));margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) 0;aspect-ratio:var(--ratio-modal-hero);position:relative;overflow:hidden}.recipe-detail-hero-close,.recipe-detail-hero .recipe-detail-hero-overflow-trigger{background:var(--scrim-pill);width:36px;height:36px;color:var(--text-primary);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:16px}.recipe-detail-hero-close{left:16px}.recipe-detail-hero .recipe-detail-hero-overflow-trigger{right:16px}.recipe-detail-hero-close:after{content:"";width:var(--target-min);height:var(--target-min);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.recipe-detail-hero-close:focus-visible,.recipe-detail-hero .recipe-detail-hero-overflow-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (width>=900px){.elf-dialog.recipe-detail-dialog{max-height:calc(100vh - 80px);overflow:hidden}.elf-dialog-backdrop:has(.recipe-detail-dialog){align-items:flex-start;padding-top:40px}}.recipe-detail-header,.elf-dialog.recipe-detail-dialog .elf-dialog__header{align-items:flex-start}.recipe-detail-header-content{align-items:flex-start;gap:1rem;display:flex}@media (width<=480px){.recipe-detail-header-content{flex-direction:column}}.recipe-detail-header-media{flex-shrink:0;position:relative}.recipe-detail-header-img{object-fit:cover;border:1.3px solid var(--line-hairline);border-radius:2px;flex-shrink:0;width:80px;height:80px}.recipe-detail-header-star{top:var(--space-1);right:var(--space-1);z-index:1;position:absolute}.recipe-detail-header-deck-badge{top:var(--space-1);left:var(--space-1);z-index:1;min-width:0;position:absolute}.recipe-detail-header-text{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.recipe-detail-title-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.recipe-detail-title-row .recipe-detail-title{min-width:0}.recipe-detail-title{font-family:var(--font-body);color:var(--text-primary);font-size:1.3rem;font-style:italic;font-weight:500;line-height:1.3}.recipe-detail-domain{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-muted);margin:0;font-style:italic}.recipe-detail-band{width:calc(100% + 2 * var(--space-6));margin-inline:calc(-1 * var(--space-6));border-bottom:1px solid var(--line-hairline);flex-direction:column;gap:12px;padding:24px 32px 22px;display:flex}.recipe-detail-source-line{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:6px;display:flex}.recipe-detail-source-line .recipe-detail-domain{font-style:normal;font-size:inherit;color:inherit}.recipe-detail-favicon-placeholder{background:var(--color-neutral-300);border-radius:4px;flex-shrink:0;width:16px;height:16px}.recipe-detail-rating-inline{white-space:nowrap}.recipe-detail-signals-toggle{color:var(--text-muted);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.recipe-detail-signals-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.recipe-detail-band-signals-list{font-family:var(--font-ui);font-size:var(--text-sm);flex-direction:column;gap:2px;margin:-4px 0 0;padding:0;list-style:none;display:flex}.recipe-detail-band-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.recipe-detail-band-title{font-family:var(--font-heading);letter-spacing:-.01em;text-wrap:balance;max-width:560px;font-size:38px;font-style:normal;font-weight:600;line-height:1.1}.recipe-detail-band-actions{flex:none;align-items:flex-end;gap:8px;display:flex}.recipe-detail-band-actions .elf-btn,.recipe-detail-band-actions .share-btn{height:40px;min-height:0;font-family:var(--font-ui);border-radius:var(--radius-md);gap:8px;padding:0 16px;font-size:14px;font-weight:500}.recipe-detail-band-share{border-color:var(--line-strong)}.recipe-detail-subtitle{font-family:var(--font-body);color:var(--text-muted);margin:0;font-size:.875rem;font-style:italic}.recipe-detail-link{color:var(--text-muted);text-decoration:underline}.recipe-detail-body{font-family:var(--font-body)}:is(.recipe-detail-dialog,.recipe-detail-sheet) .elf-dialog__body{padding-bottom:0}.recipe-detail-loading{color:var(--text-muted);padding:.5rem 0;font-size:.9rem}.recipe-detail-description{color:var(--text-primary);margin-bottom:1rem;font-size:.95rem;line-height:1.5}.recipe-detail-stats-row{border-top:1px solid var(--line-hairline);border-bottom:1px solid var(--line-hairline);grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-bottom:20px;display:grid}.recipe-detail-stat-cell{border-left:1px solid var(--line-hairline);flex-direction:column;gap:6px;padding:12px 0 12px 14px;display:flex}.recipe-detail-stat-cell:first-child{border-left:none;padding-left:0}.recipe-detail-stat-label{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:10.5px;font-weight:600;line-height:1}.recipe-detail-stat-value{font-family:var(--font-heading);color:var(--text-primary);font-size:17px;font-weight:500;line-height:1}.recipe-detail-keywords{font-family:var(--font-ui);color:var(--text-muted);margin:-.5rem 0 20px;font-size:12px}.recipe-detail-default-meal{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.recipe-detail-meal-chips{flex-wrap:wrap;gap:6px;display:flex}.recipe-detail-meal-chip{font-family:var(--font-ui);border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:500;line-height:1;transition:background .15s,border-color .15s,color .15s}.recipe-detail-meal-chip.active{border:2px solid var(--color-accent-600);background:var(--color-accent-100);color:var(--color-accent-900);padding:6px 10px}.recipe-detail-meal-chip:disabled{cursor:not-allowed;opacity:.6}.recipe-detail-meal-hint{font-family:var(--font-ui);color:var(--text-muted);font-size:12px}.recipe-detail-meal-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.recipe-detail-meal-chip{transition:none}}.recipe-detail-meta{background:var(--surface-sunken);border-radius:6px;flex-wrap:wrap;gap:.75rem 1.5rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.recipe-detail-meta-item{flex-direction:column;min-width:60px;display:flex}.recipe-detail-meta-keywords{flex:1;min-width:120px}.recipe-detail-meta-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:.68rem}.recipe-detail-meta-value{color:var(--text-primary);font-size:.9rem}.recipe-detail-accordion{margin-top:.5rem}.recipe-detail-accordion--stacked{border:none;flex-direction:column;gap:8px;display:flex}.recipe-detail-accordion--stacked .elf-accordion__item{border:1px solid var(--line-hairline);border-radius:var(--radius-md);overflow:hidden}.recipe-detail-accordion--stacked .elf-accordion__header{padding:12px 14px}.recipe-detail-accordion--stacked .elf-accordion__header-label{flex:1;justify-content:space-between;align-items:center;display:flex}.recipe-detail-nutrition-per-serving{font-family:var(--font-ui);color:var(--text-muted);margin-right:10px;font-size:12px;font-weight:400}.recipe-detail-ingredients-grid{grid-template-columns:1fr 1fr;gap:6px 18px;padding:0 14px 12px;display:grid}@media (width<=600px){.recipe-detail-ingredients-grid{grid-template-columns:1fr}}.recipe-detail-ingredient-row{gap:8px;font-size:14px;line-height:1.4;display:flex}.recipe-detail-ingredient-qty{color:var(--text-primary);flex-shrink:0;min-width:52px;font-weight:500}.recipe-detail-ingredient-name{color:var(--text-secondary)}.recipe-detail-nutrition-primary{border-top:1px solid var(--line-hairline);grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin:0 14px 12px;display:grid}.recipe-detail-nutrition-secondary{flex-direction:column;gap:4px;margin:0 14px 12px;display:flex}.recipe-detail-nutrition-secondary-line{justify-content:space-between;font-size:.8rem;display:flex}.recipe-detail-nutrition-secondary-label{color:var(--text-muted);text-transform:capitalize}.recipe-detail-nutrition-secondary-value{color:var(--text-primary)}.recipe-detail-ingredients{margin:0;padding-left:1.25rem;list-style:outside}.recipe-detail-ingredient{color:var(--text-primary);padding:.15rem 0;font-size:.9rem}.recipe-detail-qty{font-weight:var(--fw-semibold)}.recipe-detail-unit{color:var(--text-primary)}.recipe-detail-nutrition-table{border-collapse:collapse;width:100%;font-size:.875rem}.recipe-detail-nutrition-table tr:nth-child(2n){background:var(--surface-sunken)}.recipe-detail-nutrition-label{color:var(--text-muted);text-transform:capitalize;width:60%;padding:.3rem .5rem}.recipe-detail-nutrition-value{color:var(--text-primary);text-align:right;padding:.3rem .5rem}.recipe-detail-meal-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.recipe-detail-meal-row--event{margin-left:auto}.recipe-detail-meal-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);white-space:nowrap;font-size:.68rem}.recipe-detail-meal-pills{gap:.35rem;display:flex}.recipe-detail-meal-pill{border:1.5px solid var(--pill-color,var(--line-hairline));color:var(--pill-color,var(--text-muted));font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;transition:background .15s,color .15s}.recipe-detail-meal-pill:hover{background:color-mix(in srgb, var(--pill-color) 15%, transparent)}.recipe-detail-meal-pill.active{background:var(--pill-color,var(--line-hairline));color:var(--text-inverse)}.recipe-detail-footer{z-index:1;background:var(--surface-raised);margin-inline:calc(-1 * var(--space-6));padding-inline:var(--space-6);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line-hairline);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.5rem;display:flex;position:sticky;bottom:0}.recipe-detail-footer .recipe-detail-action-btn{box-sizing:border-box;white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;gap:.375rem;min-height:44px;padding:.375rem .9rem;font-size:.9rem;font-weight:400;display:inline-flex}.recipe-detail-footer .recipe-detail-star,.recipe-detail-footer .recipe-detail-remove,.recipe-detail-footer .recipe-detail-share{border:1px solid var(--a11y-border);cursor:pointer;color:var(--text-muted);font-family:var(--font-body);background:0 0;transition:color .2s,border-color .2s}.recipe-detail-star:hover{color:var(--status-warning);border-color:var(--status-warning)}.recipe-detail-star.starred{color:var(--status-warning-text);border-color:var(--status-warning-text)}.recipe-detail-remove:hover{color:var(--color-accent);border-color:var(--color-accent)}.recipe-detail-share:hover{color:var(--text-accent);border-color:var(--text-accent)}.recipe-detail-star:focus-visible,.recipe-detail-remove:focus-visible,.recipe-detail-share:focus-visible,.recipe-detail-meal-pill:focus-visible,.recipe-detail-link:focus-visible{outline:2px solid var(--text-accent);outline-offset:2px}.recipe-detail-link:focus-visible{border-radius:2px}.recipe-detail-footer .recipe-detail-get-recipe{font-family:var(--font-body);color:var(--text-inverse);background:var(--color-accent);border:1px solid var(--color-accent);font-weight:600;text-decoration:none}.recipe-detail-get-recipe:hover{opacity:.85}.recipe-detail-get-recipe:focus-visible{outline:2px solid var(--text-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.recipe-detail-meal-pill,.recipe-detail-star,.recipe-detail-remove,.recipe-detail-share{transition:none}}.recipe-detail-similar{margin-top:1.5rem}.recipe-detail-similar-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.9rem;font-weight:600}.recipe-detail-similar-list{scroll-behavior:smooth;flex-direction:row;gap:.75rem;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}@media (prefers-reduced-motion:reduce){.recipe-detail-similar-list{scroll-behavior:auto}}.recipe-detail-similar-item{flex:none}.recipe-detail-similar-card{border:1px solid var(--line-hairline);cursor:pointer;text-align:center;background:0 0;border-radius:.5rem;flex-direction:column;align-items:center;gap:.5rem;width:120px;padding:.5rem;transition:box-shadow .15s;display:flex}@media (prefers-reduced-motion:reduce){.recipe-detail-similar-card{transition:none}}.recipe-detail-similar-card:hover{box-shadow:0 2px 8px color-mix(in srgb, var(--color-neutral-900) 10%, transparent)}.recipe-detail-similar-card:focus-visible{outline:3px solid var(--text-accent);outline-offset:2px}.recipe-detail-similar-card img{object-fit:cover;border-radius:.25rem;width:100%;height:80px}.recipe-detail-similar-card span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.2;display:-webkit-box;overflow:hidden}.recipe-detail-related{width:calc(100% + 2 * var(--space-6));margin-inline:calc(-1 * var(--space-6));flex-direction:column;gap:14px;padding:4px 32px 32px;display:flex}.recipe-detail-related-heading{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:10.5px;font-weight:600;line-height:1}.recipe-detail-related-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=700px){.recipe-detail-related-grid{grid-template-columns:repeat(2,1fr)}}.recipe-detail-sheet{border-radius:20px 20px 0 0;max-height:95dvh}.recipe-detail-sheet .recipe-detail-header-img{width:auto;min-width:0;height:auto;max-height:45vh}.recipe-detail-sheet .recipe-detail-header-media{align-self:center}.recipe-detail-sheet .recipe-detail-meal-pills{flex-wrap:wrap}.recipe-delist-banner{background:var(--status-warning-tint);border:1px solid var(--status-warning);border-radius:var(--radius-md);color:var(--status-warning-text);margin-bottom:.75rem;padding:.5rem .75rem;font-size:.875rem}.recipe-delist-banner:focus{outline:2px solid var(--status-warning);outline-offset:2px}.custom-idea-body{gap:var(--space-4,1rem);padding-top:var(--space-4,1rem);flex-direction:column;display:flex}.custom-idea-description{white-space:pre-line;overflow-wrap:anywhere;margin:0}.custom-idea-image{border-radius:var(--radius-md,8px);max-width:100%}.custom-idea-emoji{border-radius:var(--radius-md,8px);place-items:center;width:72px;height:72px;font-size:2.25rem;display:grid}.custom-idea-links-heading{font-size:var(--text-sm,.875rem);margin:0 0 var(--space-2,.5rem)}.custom-idea-links{gap:var(--space-2,.5rem);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.custom-idea-links a{overflow-wrap:anywhere}.custom-idea-form{gap:var(--space-4,1rem);flex-direction:column;display:flex}.custom-idea-field{gap:var(--space-1,.25rem);flex-direction:column;display:flex}.custom-idea-field input,.custom-idea-field textarea{font:inherit;padding:.5rem .75rem}.custom-idea-links-fieldset{gap:var(--space-2,.5rem);border:0;flex-direction:column;margin:0;padding:0;display:flex}.custom-idea-notice{padding:var(--space-3,.75rem);border:1px solid var(--border,currentColor);border-radius:var(--radius-md,8px);margin:0}.custom-idea-error{color:var(--status-error-text);font-size:var(--text-sm,.875rem)}.custom-idea-actions{justify-content:flex-end;gap:var(--space-2,.5rem);display:flex}.content-container.elf-navbar-inner{padding-inline:var(--margin-page);align-items:center;display:flex}.elf-navbar-links{display:none}.elf-navbar-inner>.navbar-auth{flex-wrap:nowrap;min-width:0}.navbar-auth #user-menu{max-width:10rem;display:inline-block}@media (width>=900px){.elf-navbar-links{align-items:center;display:flex}}.add-recipe-fab{display:none}@media (width<=899px){.add-recipe-fab{bottom:calc(var(--bottom-tab-bar-height,56px) + env(safe-area-inset-bottom,0px) + .75rem);z-index:1028;height:var(--fab-height);border-radius:var(--radius-pill);background:var(--color-accent,#e55a3a);color:var(--text-inverse);justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-6);box-shadow:var(--elevation-2);cursor:pointer;border:none;display:flex;position:fixed;right:1rem}.add-recipe-fab__label{font-size:var(--text-sm);white-space:nowrap;font-weight:600}.add-recipe-fab:hover{filter:brightness(1.08)}.add-recipe-fab:focus-visible{outline:2px solid var(--color-accent,#e55a3a);outline-offset:3px;border-radius:var(--radius-pill)}}@media (prefers-reduced-motion:reduce){.add-recipe-fab{filter:none;transition:none}}.not-found-page{text-align:center;min-height:60vh;padding:var(--space-8) var(--space-4);justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.not-found-page__code{font-family:var(--font-serif);font-size:6rem;font-weight:var(--fw-bold);color:var(--text-muted);line-height:1}.not-found-page__heading{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.not-found-page__body{color:var(--text-muted);margin:0}.not-found-page__link{color:var(--text-accent);font-weight:var(--fw-semibold);text-decoration:none}.not-found-page__link:hover{text-decoration:underline}.coming-soon-page{text-align:center;min-height:60vh;padding:var(--space-8) var(--space-4);justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.coming-soon-page__heading{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.coming-soon-page__body{color:var(--text-muted);margin:0}.coming-soon-page__link{color:var(--text-accent);font-weight:var(--fw-semibold);text-decoration:none}.coming-soon-page__link:hover{text-decoration:underline}.plan-card__wrapper{flex-direction:column;display:flex;position:relative}.plan-card__link{color:inherit;text-decoration:none;display:block}.plan-card__link:focus-visible{outline:var(--card-focus-ring);outline-offset:2px;border-radius:var(--card-radius)}.plan-card__actions{align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.collection-card__wrapper{flex-direction:column;display:flex;position:relative}.collection-card__link{color:inherit;text-decoration:none;display:block}.collection-card__link:focus-visible{outline:var(--card-focus-ring);outline-offset:2px;border-radius:var(--card-radius)}.collection-card__actions{align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.idea-search-card__link{color:inherit;text-decoration:none;display:block;position:relative}.idea-search-card__resolving{background:var(--scrim-backdrop);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.idea-search-card__save{background:var(--scrim-action);cursor:pointer;width:28px;height:28px;color:var(--text-primary);opacity:.75;border:none;border-radius:999px;justify-content:center;align-items:center;font-size:1rem;line-height:1;transition:opacity .2s,color .2s;display:flex}.idea-search-card__save:hover,.idea-search-card__save:focus-visible{opacity:1}.idea-search-card__save--active{color:var(--status-warning);opacity:1}.idea-search-card__save:focus-visible{outline:var(--card-focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.idea-search-card__save{transition:none}}.hp-skel{gap:var(--space-6,2rem);padding:var(--space-4,1rem) 0;flex-direction:column;display:flex}.hp-skel--page{min-height:100svh}.hp-skel--flush{gap:var(--space-3,.75rem);padding:0}.hp-skel__line--rail-desc{align-self:center;width:18rem}.hp-skel__block{border-radius:var(--radius-sm);background:var(--skeleton-base);display:block}@keyframes hp-skel-shimmer{0%,to{background-color:var(--skeleton-base)}50%{background-color:var(--skeleton-shimmer)}}.hp-skel .hp-skel__block{animation:1.5s ease-in-out infinite hp-skel-shimmer}@media (prefers-reduced-motion:reduce){.hp-skel .hp-skel__block{animation:none}}.hp-skel__line--hero-title{width:min(28rem,70%);height:2rem}.hp-skel__line--hero-subcopy{width:min(22rem,60%);height:1.1rem}.hp-skel__hero-cta{border-radius:var(--radius-md,8px);width:10rem;height:2.5rem;margin-top:var(--space-2,.5rem)}.hp-skel__sunken-rail{gap:var(--space-3,.75rem);background:var(--surface-sunken);padding:var(--space-6,2rem) var(--space-4,1rem);flex-direction:column;display:flex}.hp-skel__line--rail-title{align-self:center;width:12rem;height:1.25rem}.hp-skel__sunken-rail-track{gap:var(--space-3,.75rem);margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.hp-skel__rail-card{gap:var(--space-2,.5rem);width:var(--card-w);flex-direction:column;flex:none;display:flex}.hp-skel__rail-card-body{gap:var(--space-2,.5rem);height:var(--card-body-h);flex-direction:column;display:flex}.hp-skel__rail-card-media{width:100%;aspect-ratio:var(--card-media-ratio);flex:none}.hp-skel__line{width:60%;height:.85em}.hp-skel__line--title{width:75%;height:1em}.hp-skel__line--meta{width:45%}.hp-skel__closing-cta{align-items:center;gap:var(--space-3,.75rem);padding:var(--space-6,2rem) var(--space-4,1rem);flex-direction:column;display:flex}.site-footer{margin-inline:calc(-1 * var(--margin-page));background-color:var(--chrome-bar)}@media (width<=899px){.site-footer{margin-bottom:calc(var(--bottom-tab-bar-height) + env(safe-area-inset-bottom,0px))}}.content-container.site-footer-main{padding-block:var(--space-9);padding-inline:var(--margin-page);align-items:flex-start;gap:var(--space-9);flex-wrap:wrap;display:flex}.site-footer-brand{text-align:center;align-items:center;margin-right:auto}.site-footer-blurb{font-family:var(--font-ui);font-size:var(--text-md);color:var(--text-secondary);margin:0}.site-footer-links{grid-template-columns:repeat(2,minmax(140px,1fr));gap:28px 20px;display:grid}.site-footer-heading{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.site-footer-col a,.site-footer-col .site-footer-link{font-family:var(--font-ui);font-size:var(--text-base);color:var(--text-secondary);align-items:center;text-decoration:none;display:inline-flex;position:relative}.site-footer-col a:hover,.site-footer-col .site-footer-link:hover{color:var(--text-accent)}.site-footer-col .site-footer-link{cursor:pointer;background:0 0;border:none;padding:0}.site-footer-col .site-footer-link:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px;border-radius:2px}.site-footer-col .site-footer-link:disabled{cursor:not-allowed}.site-footer-legal{border-top:1px solid var(--line-hairline)}.content-container.site-footer-legal-inner{padding-block:var(--space-5);padding-inline:var(--margin-page);align-items:center;gap:var(--space-6);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.site-footer-legal-links a{color:inherit;text-decoration:none}.site-footer-legal-links a:hover{color:var(--text-accent)}@media (width>=1200px){.content-container.site-footer-main{gap:64px;padding-block:80px}.site-footer-brand{flex:0 0 300px}.site-footer-links{flex:0 488px;grid-template-columns:repeat(3,auto);gap:64px}}@media (width<=599px){.content-container.site-footer-main{flex-direction:column;gap:32px;padding:36px 16px 28px}.site-footer-brand{margin-right:0}.site-footer-col a,.site-footer-col .site-footer-link{min-height:32px;font-size:14px}.site-footer-col a:after,.site-footer-col .site-footer-link:after{content:"";width:max(100%, var(--target-min));height:max(100%, var(--target-min));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.content-container.site-footer-legal-inner{font-size:var(--text-sm);flex-direction:column;align-items:stretch;gap:12px;padding-top:20px}.site-footer-legal{border-top:1px solid var(--line-strong)}}.elf-chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--line-hairline);background-color:var(--color-accent-200);color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-normal);cursor:default;transition:background-color var(--transition-fast), border-color var(--transition-fast);-webkit-user-select:none;user-select:none;display:inline-flex}.elf-chip--clickable{cursor:pointer}.elf-chip--clickable:hover:not(.elf-chip--disabled){background-color:var(--color-accent-100);color:var(--text-accent)}.elf-chip--clickable:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.elf-chip--clickable:active:not(.elf-chip--disabled){transform:scale(.97)}.elf-chip--selected{background-color:var(--color-accent-100);border:2px solid var(--color-accent-600);padding:calc(var(--space-1) - 1px) calc(var(--space-3) - 1px);color:var(--text-accent)}.elf-chip--disabled{opacity:.45;cursor:not-allowed}.elf-chip__label{line-height:1.4}.elf-chip__remove{border-radius:var(--radius-circle);cursor:pointer;width:16px;height:16px;color:var(--text-muted);transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:inline-flex}.elf-chip__remove:hover:not(:disabled){background-color:var(--color-accent-600);color:var(--text-inverse)}.elf-chip__remove:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.elf-chip,.elf-chip__remove{transition:none}.elf-chip--clickable:active{transform:none}}.bottom-sheet-dialog{border-radius:16px 16px 0 0;max-width:640px;max-height:80dvh;margin:0 auto;position:absolute;bottom:0;left:0;right:0}.bottom-sheet-dialog.bottom-sheet-dialog--picker{border-radius:26px 26px 0 0;max-height:82dvh}@media (prefers-reduced-motion:no-preference){.bottom-sheet-dialog{animation:.2s ease-out sheet-slide-up}}.curator-avatar-stack{border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:2px 6px 2px 2px;display:inline-flex}.curator-avatar-stack:hover{background:var(--surface-sunken)}.curator-avatar-stack--static{cursor:default;padding:0}.curator-avatar-stack--static:hover{background:0 0}.curator-avatar-stack__avatars{display:flex}.curator-avatar-stack__avatar{border:2px solid var(--surface-page);object-fit:cover;font-family:var(--font-ui);color:var(--text-secondary);background:var(--surface-sunken);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.curator-avatar-stack__avatars .curator-avatar-stack__avatar+.curator-avatar-stack__avatar{margin-left:-8px}.curator-avatar-stack__avatar--xs{width:22px;height:22px;font-size:9px}.curator-avatar-stack__avatars .curator-avatar-stack__avatar--xs+.curator-avatar-stack__avatar--xs{margin-left:-6px}.curator-avatar-stack__avatar--sm{width:24px;height:24px;font-size:9px}.curator-avatar-stack__avatar--md{width:32px;height:32px;font-size:12px}.curator-avatar-stack__avatar--lg{width:36px;height:36px;font-size:13px}.curator-avatar-stack__avatar--overflow{color:var(--text-muted)}.curator-avatar-stack__byline{font-family:var(--font-body);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.curator-avatar-stack__popover-body{gap:var(--space-4);flex-direction:column;min-width:220px;display:flex}.curator-avatar-stack__row{align-items:center;gap:var(--space-3);display:flex}.curator-avatar-stack__row-meta{flex-direction:column;display:flex}.curator-avatar-stack__row-name{font-family:var(--font-body);font-size:var(--text-md);color:var(--text-primary);text-decoration:none}a.curator-avatar-stack__row-name:hover{text-decoration:underline}.curator-avatar-stack__row-role{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-muted)}.curator-sheet{border-radius:26px 26px 0 0;max-height:60%}.curator-sheet__title{font-family:var(--font-serif);font-size:20px;font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.curator-sheet__count{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-normal);color:var(--text-muted)}.curator-avatar-stack__sheet-body{gap:var(--space-1);flex-direction:column;display:flex}.curator-avatar-stack__row--sheet{min-height:var(--target-min);padding:var(--space-3) 0;color:inherit;border-bottom:1px solid var(--line-hairline);text-decoration:none}.curator-avatar-stack__row--sheet:last-child{border-bottom:none}a.curator-avatar-stack__row--sheet:hover .curator-avatar-stack__row-name{text-decoration:underline}.curator-avatar-stack__row-chevron{color:var(--text-muted);flex-shrink:0;margin-left:auto}.hero-preview-item-card__image{width:100%;aspect-ratio:var(--card-media-ratio);object-fit:cover;display:block}.hero-preview-item-card__byline{margin-top:var(--space-1);font-family:var(--font-ui);color:var(--text-muted);font-size:12px}.hero-preview-item-card__byline-name{color:var(--text-accent);font-weight:600}.hero-preview-bento{margin:var(--space-8) 0 0;width:100%;max-width:720px}.hero-preview-bento__inner{align-items:flex-start;gap:var(--space-6);padding:var(--space-5);border:1px solid var(--line-hairline);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-md);text-align:left;display:flex}.hero-preview-bento__sidebar{flex:0 0 220px;min-width:0}.hero-preview-bento__sidebar-header{font-family:var(--font-ui);color:var(--text-secondary);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.hero-preview-bento__sidebar-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hero-preview-bento__sidebar-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.hero-preview-bento__sidebar-row--active{background:var(--color-accent-100);color:var(--text-primary);font-weight:600}.hero-preview-bento__sidebar-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hero-preview-bento__sidebar-count{color:var(--text-muted);font-size:var(--text-xs);flex-shrink:0}.hero-preview-bento__chip-rail{display:none}.hero-preview-bento__board{flex:1;min-width:0}.hero-preview-bento__board-header{margin-bottom:var(--space-4)}.hero-preview-bento__board-title-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.hero-preview-bento__board-title{font-family:var(--font-heading);font-weight:600;font-size:var(--text-xl);color:var(--text-primary);margin:0}.hero-preview-bento__items{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.hero-preview-bento__items .card{width:100%}@media (width<=599px){.hero-preview-bento__inner{border:1px solid var(--line-hairline);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:none;flex-direction:column;gap:14px;padding:14px}.hero-preview-bento__sidebar{flex:auto;width:100%}.hero-preview-bento__sidebar-header{margin-bottom:0}.hero-preview-bento__sidebar-list{display:none}.hero-preview-bento__chip-rail{scrollbar-width:none;gap:6px;margin:10px -14px 0;padding:0 14px;display:flex;overflow-x:auto}.hero-preview-bento__chip-rail::-webkit-scrollbar{display:none}.hero-preview-bento__board{border-top:1px solid var(--line-hairline);margin-top:14px;padding-top:14px}.hero-preview-bento__board-title{font-size:21px}.hero-preview-bento__items{grid-template-columns:repeat(2,1fr);gap:10px}.hero-preview-bento__items>:nth-child(n+3){display:none}}.elf-hero{gap:var(--space-12);padding:var(--space-12) 0 var(--space-8);grid-template-columns:1.05fr .95fr;align-items:center;display:grid}.elf-hero[data-collage=false]{grid-template-columns:1fr}.elf-hero[data-layout=centered]{text-align:center;grid-template-columns:1fr;justify-items:center;padding:96px 0 80px}.elf-hero__image{width:100%;max-width:1120px;margin:var(--space-11) 0 0;border:1px solid var(--line-hairline);border-radius:var(--radius-lg);box-shadow:var(--elevation-2);overflow:hidden}.elf-hero__image img{width:100%;height:auto;display:block}.elf-hero[data-layout=centered] .elf-hero__title{font-size:54px}.elf-hero[data-layout=centered] .elf-hero__copy{max-width:60ch}.elf-hero[data-layout=centered] .elf-hero__ctas{justify-content:center}.elf-hero__copy{min-width:0;max-width:46ch}.elf-hero__eyebrow{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--color-accent-600);margin:0 0 var(--space-4)}.elf-hero__eyebrow--pill{text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--space-4);gap:4px;padding:5px 9px}.elf-hero__chips{justify-content:center;gap:var(--space-2);margin:0 0 var(--space-5);flex-wrap:wrap;display:flex}.elf-hero__chip{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-muted);border-radius:var(--radius-pill);border:1px solid var(--line-hairline);padding:5px 12px;text-decoration:none}.elf-hero__chip:hover{color:var(--text-accent);border-color:var(--line-strong)}.elf-hero__chip--current{border:2px solid var(--color-accent-100);color:var(--color-accent-700)}.elf-hero__title{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:var(--fw-normal);line-height:var(--lh-heading);letter-spacing:-.015em;color:var(--text-primary);text-wrap:balance;margin:0}.elf-hero__title em{color:var(--color-accent);font-style:italic}.elf-hero__subcopy{font-family:var(--font-serif);font-size:var(--text-xl);line-height:var(--lh-base);color:var(--text-muted);margin:var(--space-5) 0 0;text-wrap:pretty}.elf-hero__ctas{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}a.elf-hero__cta{text-decoration:none}.elf-hero__reassurance{font-size:var(--text-md);color:var(--text-muted);margin:var(--space-3) 0 0}.elf-hero__reassurance:before{content:"✓ "}.elf-hero__collage{justify-self:end;width:100%;max-width:480px;height:clamp(420px,36vw,520px);position:relative}.elf-hero__collage-slot{margin:0;position:absolute}.elf-hero__collage-slot[data-slot="1"]{width:54%;top:0;left:0}.elf-hero__collage-slot[data-slot="2"]{width:44%;top:8%;left:46%}.elf-hero__collage-slot[data-slot="3"]{width:40%;top:50%;left:18%}.elf-hero__collage-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-2)}.elf-hero__collage-slot>:not(figcaption),.elf-hero__collage-slot .card{width:100%}.elf-hero__collage-slot[data-slot="2"] .card{box-shadow:var(--shadow-md)}@media (width<=900px){.elf-hero{gap:var(--space-8);padding:var(--space-8) 0 var(--space-6);grid-template-columns:1fr}.elf-hero__title{font-size:var(--text-2xl)}.elf-hero[data-layout=centered]{padding:64px 0 56px}.elf-hero[data-layout=centered] .elf-hero__title{font-size:44px}.elf-hero__collage{justify-self:start;gap:var(--space-4) var(--space-3);grid-template-columns:1fr 1fr;align-items:start;max-width:420px;height:auto;display:grid;position:static}.elf-hero__collage-slot,.elf-hero__collage-slot[data-slot="1"],.elf-hero__collage-slot[data-slot="2"],.elf-hero__collage-slot[data-slot="3"]{width:auto;position:static;inset:auto}.elf-hero__collage-slot[data-slot="1"]{grid-column:1/-1}}@media (width<=767px){.elf-hero__ctas{flex-direction:column;align-items:stretch}.elf-hero__cta{text-align:center}.elf-hero__collage{max-width:100%}}@media (width<=599px){.elf-hero[data-layout=centered]{text-align:center;flex-direction:column;gap:28px;padding:36px 16px 44px;display:flex}.elf-hero[data-layout=centered] .elf-hero__copy{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:none;display:flex}.elf-hero[data-layout=centered] .elf-hero__title{font-family:var(--font-heading);letter-spacing:-.01em;font-size:42px;font-weight:500;line-height:var(--leading-tight);margin:0}.elf-hero[data-layout=centered] .elf-hero__subcopy{font-family:var(--font-ui);color:var(--text-secondary);margin:0;font-size:18px}.elf-hero[data-layout=centered] .elf-hero__ctas{display:none}}@media (prefers-reduced-motion:reduce){.elf-hero__cta{transition:none}}.elf-explainer{background:var(--section-bg,var(--surface-sunken));margin-inline:calc(-1 * var(--margin-page));padding:80px 0}.elf-explainer__inner{max-width:var(--width-page);padding:0 var(--margin-page);margin:0 auto}.elf-explainer__header{text-align:center;margin-bottom:40px}.elf-explainer__kicker{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-2);display:block}.elf-explainer__title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--fw-semibold);line-height:var(--lh-heading);color:var(--text-primary);margin:0}.elf-explainer__steps{gap:var(--space-8);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.elf-explainer__step{text-align:center;align-items:center;gap:var(--space-2);background:var(--surface-raised);border:1px solid var(--line-hairline);border-radius:var(--radius-lg);padding:var(--space-6);flex-direction:column;display:flex}.elf-explainer__step-icon{border-radius:var(--radius-pill);background:var(--color-accent-100);width:48px;height:48px;color:var(--color-accent);justify-content:center;align-items:center;display:flex}.elf-explainer__step-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.elf-explainer__step-title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.elf-explainer__step-body,.elf-explainer__body{font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--lh-base);color:var(--text-muted);margin:0}.elf-explainer__step-body{max-width:32ch}.elf-explainer__body-wrap{text-align:center;max-width:65ch;margin-inline:auto}.elf-explainer__body+.elf-explainer__body{margin-top:var(--space-4)}.elf-explainer__body-list{font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--lh-base);color:var(--text-muted);margin:var(--space-4) 0 0;padding-left:var(--space-6);text-align:left}.elf-explainer__faqs{gap:var(--space-11) 48px;grid-template-columns:1fr 1fr;max-width:960px;margin:0 auto;display:grid}.elf-explainer__faq-question{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--fw-semibold);line-height:var(--lh-heading);color:var(--text-primary)}.elf-explainer__faq-answer{font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--lh-base);color:var(--text-muted);margin:var(--space-3) 0 0}@media (width<=767px){.elf-explainer{padding:48px 0}.elf-explainer__steps{gap:var(--space-6);grid-template-columns:1fr}.elf-explainer__faqs{grid-template-columns:1fr}}.elf-spot{border:1px solid var(--elevation-edge);border-radius:var(--radius-lg);background:var(--section-bg,var(--surface-page));grid-template-columns:1.35fr 1fr;display:grid;overflow:hidden}.elf-spot__cover{aspect-ratio:var(--card-media-ratio);position:relative;overflow:hidden}.elf-spot__img{object-fit:cover;width:100%;height:100%;display:block}.elf-spot__cover-fallback{background:var(--text-primary);box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;padding:28px;display:flex}.elf-spot__cover-title{font-family:var(--font-serif);font-size:clamp(1.4rem,4vw,2.6rem);font-style:italic;font-weight:var(--fw-semibold);color:var(--surface-page);text-align:center;line-height:1.15}.elf-spot__kind{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;background:var(--scrim-backdrop);color:var(--text-inverse);border-radius:var(--radius-sm);padding:5px 10px;position:absolute;top:14px;left:14px}.elf-spot__body{flex-direction:column;justify-content:center;gap:14px;padding:40px 44px;display:flex}.elf-spot__kicker{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}.elf-spot__title{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:var(--fw-semibold);letter-spacing:-.01em;color:var(--text-primary);margin:0;line-height:1.08}.elf-spot__byline{font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.elf-spot__dot{color:var(--line-hairline);font-size:18px;line-height:1}.elf-spot__description{font-size:var(--text-base);line-height:var(--lh-base);color:var(--text-muted);max-width:44ch;margin:0}.elf-spot__chips{flex-wrap:wrap;gap:8px;display:flex}.elf-spot__chip{border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-normal);background:var(--surface-sunken);border:1px solid var(--line-hairline);color:var(--text-muted);white-space:nowrap;align-items:center;padding:5px 10px;display:inline-flex}.elf-spot__actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}@media (width<=900px){.elf-spot{grid-template-columns:1fr}.elf-spot__cover{min-height:240px}.elf-spot__body{padding:24px}}@media (prefers-reduced-motion:reduce){.elf-spot__img{transition:none}}.elf-spot--editorial{grid-template-columns:minmax(300px,1.5fr) 1fr}.elf-spot--editorial .elf-spot__cover{aspect-ratio:auto;min-height:300px}.elf-spot--editorial .elf-spot__img,.elf-spot--editorial .elf-spot__mosaic{position:absolute;inset:0}.elf-spot__typeline{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.elf-spot__mosaic{grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr 1fr;gap:2px;width:100%;height:100%;display:grid}.elf-spot__mosaic img{object-fit:cover;object-position:50% 40%;width:100%;height:100%;min-height:0;display:block}.elf-spot__mosaic img:first-child{grid-row:1/span 2}.elf-spot__mosaic[data-count="1"]{grid-template-rows:1fr;grid-template-columns:1fr}.elf-spot__mosaic[data-count="2"]{grid-template-rows:1fr;grid-template-columns:2fr 1fr}.elf-spot__mosaic[data-count="2"] img:first-child{grid-row:auto}.elf-spot__mosaic[data-count="3"]{grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr}.elf-spot__body .card__day-strip{background:0 0;padding:0}@media (width<=759px){.elf-spot--editorial{grid-template-columns:1fr}.elf-spot--editorial .elf-spot__cover{aspect-ratio:4/3;min-height:0}}.cover-mosaic{gap:2px;width:100%;height:100%;display:grid}.cover-mosaic--1{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.cover-mosaic--2{grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr))}.cover-mosaic--3{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.cover-mosaic--3 img:first-child{grid-row:1/3}.cover-mosaic--4{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.cover-mosaic img{object-fit:cover;width:100%;min-width:0;height:100%;min-height:0;display:block}.elf-rail{--rail-card-w:var(--card-w)}.elf-rail__header{align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.elf-rail__titles{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.elf-rail__kicker{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}.elf-rail__title{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--lh-heading);color:var(--text-primary);margin:0}.elf-rail__description{font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--lh-base);color:var(--text-muted);margin:0}.elf-rail__actions{align-items:center;gap:var(--space-3);flex-shrink:0;margin-left:auto;display:flex}.elf-rail__see-all{font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:normal;text-transform:none;color:var(--text-accent);white-space:nowrap;text-decoration:none}.elf-rail__see-all:hover{color:var(--text-accent);text-decoration:underline}.elf-rail__see-all:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.elf-rail__arrows{gap:var(--space-2);display:flex}.elf-rail__arrow{border:1px solid var(--line-hairline);border-radius:var(--radius-md);background:var(--surface-raised);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;padding:0;display:flex}.elf-rail__arrow:hover:not(:disabled){border-color:var(--text-accent);color:var(--text-accent)}.elf-rail__arrow:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.elf-rail__arrow:disabled{opacity:.4;cursor:default}.elf-rail__chevron{width:var(--icon-size-sm);height:var(--icon-size-sm);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.elf-rail__track{grid-auto-flow:column;grid-auto-columns:var(--rail-card-w);gap:var(--gutter);scroll-snap-type:x proximity;scroll-behavior:smooth;padding:0 0 var(--space-2);scrollbar-width:none;-ms-overflow-style:none;margin:0;list-style:none;display:grid;overflow:auto hidden}.elf-rail__track::-webkit-scrollbar{display:none}.elf-rail__item{scroll-snap-align:start;flex-direction:column;min-width:0;display:flex}.elf-rail__item>*{flex-grow:1}@media (prefers-reduced-motion:reduce){.elf-rail__track{scroll-behavior:auto}.elf-rail__arrow{transition:none}}@media (width<=599px){.elf-rail__arrows{display:none}.elf-rail--peek{--rail-card-w:calc(100% - var(--space-9))}.elf-rail--peek .elf-rail__track{gap:var(--space-3);margin-right:calc(-1 * var(--margin-page));padding-right:var(--margin-page)}}.elf-rail__track--static{scroll-snap-type:none;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;overflow:visible}.elf-rail__header--grid{text-align:center;flex-direction:column;align-items:center}.elf-rail__track--grid{scroll-snap-type:none;grid-template-columns:repeat(5,1fr);grid-auto-flow:row;padding-bottom:0;display:grid;overflow:visible}.elf-rail__grid-cta{margin-top:var(--space-6);justify-content:center;display:flex}@media (width<=1199px){.elf-rail__track--grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (width<=599px){.elf-rail__track--grid{grid-template-columns:1fr}.elf-rail__track--grid .elf-rail__item[data-mobile-extra=true]{display:none}.elf-rail__grid-cta .elf-btn{width:100%;height:50px;display:block}}.elf-category-grid{gap:var(--space-4);grid-template-columns:repeat(6,1fr);margin:0;padding:0;list-style:none;display:grid}.elf-category-grid__item{min-width:0}@media (width<=1023px){.elf-category-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=767px){.elf-category-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr)}}.elf-category{aspect-ratio:1;padding:var(--space-3);border:2px solid var(--line-hairline);border-radius:var(--radius-lg);background:var(--surface-sunken);transition:border-color var(--transition-fast);flex-direction:column;justify-content:flex-end;text-decoration:none;display:flex;position:relative;overflow:hidden}.elf-category__cover{object-fit:cover;object-position:50% 45%;width:100%;height:100%;position:absolute;inset:0}.elf-category__cover--placeholder{background:linear-gradient(135deg, var(--color-accent-300), var(--color-accent-500))}.elf-category__scrim{background:var(--scrim-label);position:absolute;inset:0}.elf-category__text{flex-direction:column;gap:2px;display:flex;position:relative}.elf-category__label{font-family:var(--font-serif);font-size:var(--text-md);font-weight:var(--fw-semibold);line-height:var(--lh-heading);color:var(--surface-raised);text-wrap:balance}.elf-category__count{font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-base);color:var(--surface-raised)}@media (hover:hover) and (pointer:fine){a.elf-category:hover{border-color:var(--color-accent)}}a.elf-category:focus-visible{border-color:var(--color-accent);outline:var(--card-focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.elf-category{transition:none}}.elf-closing-cta--band{background:var(--section-bg,var(--surface-sunken));border-top:1px solid var(--section-rule,var(--line-strong));border-bottom:1px solid var(--section-rule,var(--line-strong));margin-inline:calc(-1 * var(--margin-page));padding:80px 0}.elf-closing-cta--card{padding:var(--space-9) 0}.elf-closing-cta__card{background:var(--surface-sunken);border-radius:var(--radius-lg);max-width:1120px;margin:0 auto;padding:64px;position:relative}.elf-closing-cta__sparkle{color:var(--text-muted);position:absolute}.elf-closing-cta__sparkle--tl{top:24px;left:24px}.elf-closing-cta__sparkle--br{bottom:24px;right:24px}.elf-closing-cta__inner{max-width:640px;padding:0 var(--margin-page);text-align:center;margin:0 auto}.elf-closing-cta__title{font-family:var(--font-serif);font-size:40px;font-weight:var(--fw-semibold);line-height:var(--lh-heading);color:var(--section-fg,var(--text-primary));text-wrap:balance;margin:0}.elf-closing-cta__subcopy{font-family:var(--font-serif);font-size:var(--text-xl);line-height:var(--lh-base);color:var(--section-fg-muted,var(--text-muted));margin:var(--space-4) 0 0}.elf-closing-cta__actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}a.elf-closing-cta__button{text-decoration:none}.hp-section--bg-inverse a.elf-closing-cta__button.elf-btn--ghost{color:var(--section-fg)}.hp-section--bg-inverse a.elf-closing-cta__button.elf-btn--ghost:hover:not(:disabled),.hp-section--bg-inverse a.elf-closing-cta__button.elf-btn--ghost:active:not(:disabled){background-color:#0000;border-color:#0000;text-decoration:underline}.hp-section--bg-inverse .elf-closing-cta__actions{flex-direction:column;align-items:center}@media (width<=767px){.elf-closing-cta__actions,.hp-section--bg-inverse .elf-closing-cta__actions{flex-direction:column;align-items:stretch}.elf-closing-cta__button{text-align:center}.elf-closing-cta--band{padding:48px 0}.elf-closing-cta__title{font-size:30px}.elf-closing-cta__subcopy{font-size:var(--text-lg)}}@media (width<=599px){.elf-closing-cta--card{padding:0}.elf-closing-cta--card .elf-closing-cta__card{background:0 0;border-radius:0;max-width:none;padding:48px 16px 56px}.elf-closing-cta--card .elf-closing-cta__sparkle{display:none}.elf-closing-cta--card .elf-closing-cta__inner{flex-direction:column;gap:22px;max-width:none;padding:0;display:flex}.elf-closing-cta--card .elf-closing-cta__title{font-size:30px}.elf-closing-cta--card .elf-closing-cta__subcopy,.elf-closing-cta--card .elf-closing-cta__actions{margin-top:0}.elf-closing-cta--card .elf-closing-cta__button{width:100%;height:50px;display:block}}.elf-feature-step{margin-inline:calc(-1 * var(--margin-page));background:var(--section-bg,transparent);padding:80px 0}.elf-feature-step__inner{max-width:var(--width-page);grid-template-columns:1fr 1fr;align-items:center;gap:80px;margin:0 auto;padding:0 100px;display:grid}.elf-feature-step--media-left .elf-feature-step__window{order:-1}.elf-feature-step__text{gap:var(--space-5);flex-direction:column;display:flex}.elf-feature-step__eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:calc(-1 * var(--space-3))}.elf-feature-step__title{font-family:var(--font-serif);font-size:40px;font-weight:var(--fw-semibold);line-height:var(--lh-heading);color:var(--text-primary);margin:0}.elf-feature-step__body{font-family:var(--font-serif);font-size:var(--text-xl);line-height:var(--lh-base);color:var(--text-muted);margin:0}.elf-feature-step__body+.elf-feature-step__body{margin-top:var(--space-4)}.elf-feature-step__body-list{font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--lh-base);color:var(--text-muted);margin:var(--space-4) 0 0;padding-left:var(--space-6)}.elf-feature-step__link{align-items:center;gap:var(--space-2);width:fit-content;min-height:44px;font-family:var(--font-ui);font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text-accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.elf-feature-step__window{width:100%}.elf-feature-step__frame{border:1px solid var(--line-hairline);border-radius:var(--radius-lg);background:var(--surface-sunken);position:relative;overflow:hidden}.elf-feature-step__chrome{height:36px;padding:0 var(--space-4);align-items:center;gap:var(--space-4);background:var(--surface-inset);border-bottom:1px solid var(--line-strong);display:flex}.elf-feature-step__dot{border-radius:var(--radius-circle);background:var(--color-neutral-400);flex-shrink:0;width:8px;height:8px}.elf-feature-step__url{background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-sm);height:22px;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;padding:0 var(--space-3);flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.elf-feature-step__media,.elf-feature-step__media-wrap{aspect-ratio:600/440;width:100%;display:block}.elf-feature-step__media{object-fit:cover}.elf-feature-step__media-wrap{position:relative}.elf-feature-step__media-wrap .elf-feature-step__media{height:100%}.elf-feature-step__media-toggle{bottom:var(--space-4);right:var(--space-4);border-radius:var(--radius-circle);background:var(--surface-inverse);width:32px;height:32px;color:var(--text-inverse);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.elf-feature-step__media-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.elf-feature-step__placeholder{align-items:center;gap:var(--space-5);padding:var(--space-8) var(--space-5) 56px;flex-direction:column;min-height:360px;display:flex;position:relative}.elf-feature-step__placeholder-title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text-primary);text-align:center;margin:0}.elf-feature-step__pills{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.elf-feature-step__pill{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-normal);color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3)}.elf-feature-step__pill--active{border:2px solid var(--color-accent-600);background:var(--color-accent-100);color:var(--color-accent-900);font-weight:var(--fw-semibold)}.elf-feature-step__demo-card{background:var(--surface-raised);border:1.5px dashed var(--line-strong);border-radius:var(--radius-md);width:100%;padding:var(--space-4);flex:1}.elf-feature-step__badge{bottom:var(--space-3);right:var(--space-3);align-items:center;gap:var(--space-2);height:26px;padding:0 var(--space-3);background:var(--surface-inverse);color:var(--text-inverse);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;display:inline-flex;position:absolute}.elf-feature-step__badge-dot{border-radius:var(--radius-circle);background:var(--status-warning-tint);width:6px;height:6px}@media (width<=767px){.elf-feature-step{padding:48px 0}.elf-feature-step__inner{grid-template-columns:1fr;gap:24px;padding:0 16px}.elf-feature-step--media-left .elf-feature-step__window{order:initial}.elf-feature-step__text{gap:var(--space-3)}.elf-feature-step__title{font-size:var(--text-2xl)}.elf-feature-step__body{font-size:var(--text-lg)}.elf-feature-step__link{font-size:15px}}.elf-showcase{background:var(--section-bg,var(--surface-page));margin-inline:calc(-1 * var(--margin-page));padding:80px 0}.elf-showcase__inner{max-width:var(--width-page);padding:0 var(--margin-page);flex-direction:column;align-items:center;margin:0 auto;display:flex}.elf-showcase__header{text-align:center;margin-bottom:40px}.elf-showcase__title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--fw-semibold);line-height:var(--lh-heading);color:var(--text-primary);margin:0}.elf-showcase__subcopy{margin:var(--space-4) auto 0;max-width:60ch;font-family:var(--font-ui);color:var(--text-secondary);font-size:18px}.elf-showcase__image{border:1px solid var(--line-hairline);border-radius:var(--radius-lg);width:100%;max-width:1120px;box-shadow:var(--elevation-2);margin:0;overflow:hidden}.elf-showcase__image img{width:100%;height:auto;display:block}@media (width<=640px){.elf-showcase{padding:48px 0}.elf-showcase__header{margin-bottom:24px}}.empty-state{text-align:center;background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);flex-direction:column;align-items:center;display:flex}.empty-state__icon{width:56px;height:56px;margin-bottom:var(--space-4);justify-content:center;align-items:center;font-size:2rem;display:flex}.empty-state__heading{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.empty-state__body{font-size:var(--text-sm);color:var(--text-muted);max-width:480px;margin:var(--space-2) 0 0}.empty-state__actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}@media (width<=480px){.empty-state__actions{flex-direction:column;align-self:stretch}}.hp{background:var(--surface-page);font-family:var(--font-body);max-width:var(--width-page);margin-top:-1rem;padding-inline:var(--margin-page);margin-inline:auto}.hp-category-section,.hp-rail-section{padding:56px 0}.hp-section--bg-page{--section-bg:var(--surface-page)}.hp-section--bg-sunken{--section-bg:var(--surface-sunken)}.hp-section--bg-inset{--section-bg:var(--surface-inset)}.hp-section--bg-inverse{--section-bg:var(--surface-inverse);--section-fg:var(--text-inverse);--section-fg-muted:var(--color-neutral-300);--section-rule:transparent;--focus-ring:var(--text-inverse)}.hp-rail-section[class*=hp-section--bg-],.hp-category-section[class*=hp-section--bg-]{background:var(--section-bg);margin-inline:calc(-1 * var(--margin-page));padding:64px var(--margin-page)}@media (width<=599px){.hp-rail-section[class*=hp-section--bg-],.hp-category-section[class*=hp-section--bg-]{padding:48px 16px}}.hp-category-title{font-family:var(--font-body);font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--lh-heading);color:var(--text-primary);margin:0 0 var(--space-1)}.hp-category-description{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-base);color:var(--text-muted);margin:0 0 var(--space-5)}.hp-spotlight-section{margin:56px 0}.hp-error{max-width:40rem;margin:var(--space-8) auto}.hp-section-error{margin:0}.App{text-align:center}.skip-link{background:var(--text-primary);color:var(--surface-raised);z-index:9999;border-radius:0 0 4px;padding:8px 16px;font-size:1rem;text-decoration:none;transition:top .1s;position:absolute;top:-48px;left:0}.skip-link:focus{top:0}.btn:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px;box-shadow:none}a:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px;border-radius:2px}.card-title-btn{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0;display:block}.card-title-btn:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion:reduce){.skip-link,.elf-navbar .elf-navbar-link,.modal.fade .modal-dialog,.fade{transition:none}}#main-content{background-color:var(--surface-page);padding-top:1rem}#main-content.has-footer{min-height:100dvh}@media (width<=899px){#main-content.has-bottom-tab-bar{padding-bottom:var(--bottom-scroll-padding)}}.policy-page{font-size:1.125rem}.policy-page .text-muted{color:var(--text-secondary)!important}.policy-page code{color:var(--color-accent)}#user-menu .dropdown-menu{min-width:10rem}.elf-navbar{border-bottom:1px solid var(--chrome-bar-rule);z-index:var(--z-nav);padding-top:.3rem;padding-bottom:.3rem;position:sticky;top:0;background-color:var(--chrome-bar)!important}.elf-navbar .elf-navbar-link{font-family:var(--font-body);color:var(--text-primary);opacity:.7;white-space:nowrap;padding:.35rem .9rem;font-size:1rem;text-decoration:none;transition:opacity .15s,box-shadow .15s}.elf-navbar .elf-navbar-link:hover{opacity:1}.elf-navbar .elf-navbar-link.active{opacity:1;box-shadow:inset 0 -2px 0 var(--color-accent);font-weight:600}.btn-signup-nav{line-height:1.6;border:1.5px solid var(--color-accent)!important;color:var(--color-accent)!important;border-radius:var(--radius-pill)!important;opacity:1!important;padding:.2rem .9rem!important}.btn-signup-nav:hover{border-color:var(--color-accent-600)!important;background:color-mix(in srgb, var(--color-accent) 12%, transparent)!important}.navbar-search{flex:1;justify-content:center;min-width:0;padding:0 1.5rem}@media (width<=599px){.navbar-search{display:none}}.navbar-search-pill{flex:1;max-width:560px;position:relative}.navbar-search-pill-inner{background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:10px;height:38px;padding:0 16px;display:flex;overflow:hidden}.navbar-kind-btn{border:0;border-right:1px solid var(--line-hairline);cursor:pointer;height:100%;font-family:var(--font-ui);font-weight:var(--fw-semibold);color:var(--text-secondary);white-space:nowrap;background:0 0;flex-shrink:0;align-items:center;gap:5px;padding-right:10px;font-size:12.5px;display:flex}.navbar-kind-btn:hover{background:var(--line-hairline)}.navbar-search-section{flex:1 1 0;align-items:center;min-width:0;display:flex}.navbar-search-input{font-family:var(--font-ui);color:var(--text-primary);caret-color:var(--color-accent);background:0 0;border:0;outline:none;flex:1 1 0;min-width:0;font-size:12.5px}.navbar-search-input::placeholder{color:var(--text-muted)}.navbar-search-input::-webkit-search-decoration{-webkit-appearance:none}.navbar-search-input::-webkit-search-cancel-button{-webkit-appearance:none}.navbar-kind-dropdown{background:var(--surface-raised);border:1px solid var(--line-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:1050;min-width:140px;position:absolute;top:calc(100% + 6px);left:16px;overflow:hidden}.navbar-kind-option{text-align:left;width:100%;font-family:var(--font-ui);color:var(--text-primary);cursor:pointer;background:0 0;border:0;padding:10px 16px;font-size:.875rem;display:block}.navbar-kind-option:hover{background:var(--line-hairline)}.navbar-kind-option.active{font-weight:var(--fw-semibold);color:var(--color-accent)}.cal-view-toggle{gap:4px;margin-bottom:.75rem;display:flex}.cal-view-toggle__btn{border:1px solid var(--line-hairline);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:4px;min-height:28px;padding:.2rem .75rem;font-size:.82rem}.cal-view-toggle__btn:hover{background:var(--surface-sunken);color:var(--text-primary)}.cal-view-toggle__btn--active{background:var(--surface-sunken);color:var(--text-primary);border-color:var(--line-hairline);font-weight:600}.cal-view-toggle__btn:focus-visible{outline:2px solid var(--text-accent);outline-offset:2px}
