.brand-mark{flex-shrink:0;display:block}.brand-mark-stroke{stroke:var(--color-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px}.brand-mark-link{stroke-width:2px}.brand-mark-leaf{fill:color-mix(in srgb, var(--color-primary) 55%, var(--color-butter-soft))}.icon{vertical-align:middle;flex-shrink:0;display:inline-block;overflow:visible}.app-shell{min-height:100dvh;position:relative}.app-main-column{flex-direction:column;min-width:0;min-height:100dvh;display:flex}.app-shell-content{min-width:0;padding-bottom:calc(var(--app-bottom-inset) + 24px + var(--timer-dock-reserve,0px));outline:none;flex:1}.app-shell-tabs:not(.app-shell-has-topbar) .app-shell-content{padding-top:env(safe-area-inset-top,0px)}.app-topbar{top:var(--app-sticky-top,0px);z-index:var(--z-nav);min-height:calc(var(--topbar-height) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 12px 0 8px;transition:background-color var(--transition-normal), border-color var(--transition-normal);background:0 0;border-bottom:1px solid #0000;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid;position:sticky}.app-topbar.is-scrolled{border-bottom-color:var(--color-border);background:var(--color-bar);box-shadow:var(--shadow-topbar)}.app-topbar-back{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--color-ink);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--transition-fast), transform var(--transition-fast);background:0 0;border:0;place-items:center;display:grid}.app-topbar-back:hover{background:var(--color-state-hover)}.app-topbar-back:active{transform:scale(.92)}.app-topbar-title{opacity:0;transition:opacity var(--transition-normal), transform var(--transition-normal);color:var(--color-ink);letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:700;overflow:hidden;transform:translateY(4px)}.app-topbar.is-scrolled .app-topbar-title{opacity:1;transform:none}.app-topbar-actions,.app-topbar-page-actions{align-items:center;gap:4px;display:flex}.app-topbar-page-actions:empty{display:none}.app-topbar-icon{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--color-ink);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--transition-fast), transform var(--transition-fast);background:0 0;border:0;place-items:center;display:grid}.app-topbar-icon:hover{background:var(--color-state-hover)}.app-topbar-icon:active{transform:scale(.92)}@media (width<=767.98px){.app-shell:has(.recipe-hero) .app-topbar:not(.is-scrolled) .app-topbar-search{background:color-mix(in srgb, var(--color-surface) 86%, transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px)}}.app-offline-banner{right:0;bottom:calc(var(--app-bottom-inset) + 12px + var(--app-fab-clearance) + var(--timer-dock-reserve,0px) + var(--timer-dock-lift,0px));z-index:calc(var(--z-toast) - 1);pointer-events:none;justify-content:center;padding:0 12px;display:flex;position:fixed;left:0}.app-offline-banner-text{border:1px solid color-mix(in srgb, var(--color-butter) 55%, transparent);border-radius:var(--radius-pill);background:var(--color-butter-soft);min-height:36px;box-shadow:var(--shadow-md);color:var(--color-on-butter-soft);font-size:var(--text-caption);text-align:center;animation:app-offline-banner-in var(--duration-base) var(--ease-out) both;justify-content:center;align-items:center;gap:8px;padding:6px 14px;font-weight:650;line-height:1.3;display:flex}.app-offline-banner.is-online .app-offline-banner-text{border-color:color-mix(in srgb, var(--color-primary) 30%, transparent);background:var(--color-primary-soft);color:var(--color-on-primary-soft)}:root{--app-sticky-top:0px}@media (width>=1024px){.app-offline-banner{left:var(--rail-width)}}@keyframes app-offline-banner-in{0%{opacity:0;transform:translateY(12px)}}.app-shell-content h1[tabindex="-1"]:focus{outline:none}.app-shell-content h1[tabindex="-1"]:focus-visible{outline:2px solid color-mix(in srgb, var(--color-focus) 55%, transparent);outline-offset:6px;border-radius:6px}.app-shell>.skip-link:not(:focus){box-shadow:none}.app-shell-content[data-initial-view] .page-enter{animation:none}.app-nav-tabs{z-index:var(--z-nav);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-bar);box-shadow:var(--shadow-nav);position:fixed;bottom:0;left:0;right:0}.app-nav-tabs .app-nav-list{max-width:560px;height:var(--tabbar-height);grid-template-columns:repeat(5,minmax(0,1fr));margin:0 auto;padding:0 4px;list-style:none;display:grid}.app-nav-item{min-width:0;list-style:none;display:flex}.app-nav-tabs .app-nav-link{min-width:0;color:var(--color-ink-muted);-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;text-decoration:none;display:flex}@media (hover:hover){.app-nav-tabs .app-nav-link:hover{color:var(--color-ink);text-decoration:none}}.app-nav-tabs .app-nav-link:focus-visible{outline:none}.app-nav-tabs .app-nav-link:focus-visible .app-nav-icon{outline:2px solid var(--color-focus);outline-offset:2px}.app-nav-tabs .app-nav-icon{border-radius:var(--radius-pill);width:58px;height:32px;transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--duration-base) var(--ease-spring);place-items:center;display:grid}.app-nav-tabs .app-nav-label{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.6875rem;font-weight:650;line-height:1.1;overflow:hidden}.app-nav-tabs .app-nav-link.is-active{color:var(--color-ink)}.app-nav-tabs .app-nav-link.is-active .app-nav-icon{background:var(--color-primary-soft);color:var(--color-on-primary-soft)}.app-nav-tabs .app-nav-link.is-active .app-nav-label{font-weight:800}.app-nav-tabs .app-nav-link:active .app-nav-icon{transform:scale(.92)}.app-nav-tabs .app-nav-link-add .app-nav-icon{border:4px solid var(--color-canvas);background:var(--color-tomato);width:54px;height:54px;box-shadow:var(--shadow-tomato);color:var(--color-on-tomato);border-radius:50%;margin-top:-24px}.app-nav-tabs .app-nav-link-add:hover .app-nav-icon,.app-nav-tabs .app-nav-link-add.is-active .app-nav-icon{background:var(--color-tomato-hover);color:var(--color-on-tomato)}.app-nav-tabs .app-nav-link-add .app-nav-label{margin-top:-1px}.app-nav-badge{border-radius:var(--radius-pill);background:var(--color-butter);min-width:20px;height:20px;color:var(--color-on-butter);font-family:var(--font-family-sans);place-items:center;padding:0 5px;font-size:.6875rem;font-weight:800;line-height:1;display:inline-grid}.app-nav-badge.is-attention{background:var(--color-inverse-surface);color:var(--color-on-inverse)}.app-nav-tabs .app-nav-link-add .app-nav-icon{position:relative}.app-nav-tabs .app-nav-badge{box-shadow:0 0 0 2px var(--color-canvas);position:absolute;top:-6px;right:-8px}.app-nav-rail{z-index:var(--z-nav);width:var(--rail-width);border-right:1px solid var(--color-border-subtle);background:var(--color-canvas);flex-direction:column;gap:6px;padding:22px 16px 20px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.app-shell-rail .app-main-column{margin-left:var(--rail-width)}.app-nav-brand{border-radius:var(--radius-sm);color:var(--color-ink);font-family:var(--font-family-serif);letter-spacing:-.025em;align-items:center;gap:10px;margin:0 0 18px;padding:6px 8px;font-size:1.5rem;font-weight:700;line-height:1;text-decoration:none;display:flex}.app-nav-brand:hover{text-decoration:none}.app-nav-brand-tile{border:1px solid color-mix(in srgb, var(--color-butter) 35%, transparent);background:var(--color-butter-soft);border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.app-nav-add-button{border-radius:var(--radius-button);background:var(--color-tomato);min-height:48px;box-shadow:var(--shadow-tomato);color:var(--color-on-tomato);transition:background-color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.9375rem;font-weight:750;text-decoration:none;display:flex}.app-nav-add-button:hover{background:var(--color-tomato-hover);color:var(--color-on-tomato);text-decoration:none;transform:translateY(-1px)}.app-nav-add-button:active{transform:scale(.98)}.app-nav-add-button .app-nav-badge{margin-left:2px}.app-nav-search{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:44px;color:var(--color-ink-muted);text-align:left;cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);align-items:center;gap:10px;margin:6px 0 14px;padding:0 10px 0 12px;font-size:.875rem;display:flex}.app-nav-search:hover{border-color:var(--color-border-strong);color:var(--color-ink)}.app-nav-search-label{flex:1}.app-nav-search-kbd{border:1px solid var(--color-border);background:var(--color-canvas);color:var(--color-ink-muted);font-family:var(--font-family-sans);border-radius:6px;padding:2px 6px;font-size:.6875rem;font-weight:650}.app-nav-rail .app-nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.app-nav-rail .app-nav-link{border-radius:var(--radius-sm);min-height:44px;color:var(--color-ink-muted);transition:background-color var(--transition-fast), color var(--transition-fast);flex:1;align-items:center;gap:12px;padding:0 12px;font-size:.9375rem;font-weight:650;text-decoration:none;display:flex}.app-nav-rail .app-nav-link:hover{background:var(--color-state-hover);color:var(--color-ink);text-decoration:none}.app-nav-rail .app-nav-link.is-active{background:var(--color-primary-soft);color:var(--color-on-primary-soft);font-weight:750}.app-nav-rail .app-nav-icon{place-items:center;display:grid}.app-nav-shortcut{opacity:0;transition:opacity var(--transition-fast);gap:3px;margin-left:auto;display:inline-flex}.app-nav-shortcut kbd{border:1px solid var(--color-border);background:var(--color-surface);min-width:20px;height:20px;color:var(--color-ink-muted);font-family:var(--font-family-sans);border-radius:6px;place-items:center;padding:0 5px;font-size:.6875rem;font-weight:650;line-height:1;display:inline-grid}.app-nav-rail .app-nav-link:hover .app-nav-shortcut,.app-nav-rail .app-nav-link:focus-visible .app-nav-shortcut{opacity:1}.app-nav-rail .app-nav-link.is-active .app-nav-shortcut kbd{border-color:color-mix(in srgb, var(--color-on-primary-soft) 22%, transparent);background:color-mix(in srgb, var(--color-surface) 70%, transparent)}.app-nav-rail .app-nav-link:focus-visible,.app-nav-footer-link:focus-visible,.app-nav-search:focus-visible,.app-nav-brand:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.app-nav-add-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.app-nav-footer{border-top:1px solid var(--color-border-subtle);flex-direction:column;gap:2px;margin-top:auto;padding-top:16px;display:flex}.app-nav-footer-link{border-radius:var(--radius-sm);min-height:40px;color:var(--color-ink-muted);align-items:center;gap:12px;padding:0 12px;font-size:.875rem;font-weight:600;text-decoration:none;display:flex}.app-nav-footer-link:hover,.app-nav-footer-link.is-active{background:var(--color-state-hover);color:var(--color-ink);text-decoration:none}.app-shell-rail .app-topbar{padding-left:16px;padding-right:24px}.app-nav-link-save-bounce .app-nav-icon{animation:app-nav-save-bounce .32s var(--ease-spring) both;color:var(--color-primary)}@keyframes app-nav-save-bounce{0%{transform:scale(1)}40%{transform:scale(1.18)translateY(-2px)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.app-nav-link-save-bounce .app-nav-icon{animation:none;transform:none}}@media print{.app-nav,.app-topbar,.app-offline-banner,.skip-link{display:none!important}.app-shell-rail .app-main-column{margin-left:0}.app-shell-content{padding:0}}.btn{--btn-height:48px;--btn-padding-x:20px;--btn-font-size:.9375rem;--btn-bg:var(--color-primary);--btn-fg:var(--color-on-primary);--btn-border:transparent;--btn-shadow:none;--btn-bg-hover:var(--color-primary-hover);--btn-fg-hover:var(--btn-fg);--btn-border-hover:var(--btn-border);min-height:var(--btn-height);padding:0 var(--btn-padding-x);border:1px solid var(--btn-border);border-radius:var(--radius-button);background:var(--btn-bg);box-shadow:var(--btn-shadow);color:var(--btn-fg);font-family:var(--font-family-sans);font-size:var(--btn-font-size);letter-spacing:.005em;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;gap:8px;font-weight:700;line-height:1.1;text-decoration:none;display:inline-flex;position:relative}@media (hover:hover){.btn:hover{text-decoration:none}.btn:hover:not(:disabled){border-color:var(--btn-border-hover);background:var(--btn-bg-hover);color:var(--btn-fg-hover)}}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;box-shadow:none;opacity:.5}.btn-label{justify-content:center;align-items:center;gap:8px;min-width:0;display:inline-flex}.btn-icon{flex-shrink:0}.btn-sm{--btn-height:36px;--btn-padding-x:14px;--btn-font-size:.8125rem;border-radius:11px;gap:6px}.btn-sm .btn-label{gap:6px}.btn-lg{--btn-height:56px;--btn-padding-x:26px;--btn-font-size:1rem}.btn-pill{border-radius:var(--radius-pill)}.btn-block{width:100%}.btn-primary{--btn-bg:var(--color-primary);--btn-fg:var(--color-on-primary);--btn-bg-hover:var(--color-primary-hover);--btn-shadow:var(--shadow-primary)}@media (hover:hover){.btn-primary:hover:not(:disabled){transform:translateY(-1px)}}.btn-primary:active:not(:disabled){background:var(--color-primary-pressed);transform:scale(.98)}.btn-accent{--btn-bg:var(--color-tomato);--btn-fg:var(--color-on-tomato);--btn-bg-hover:var(--color-tomato-hover);--btn-shadow:var(--shadow-tomato)}@media (hover:hover){.btn-accent:hover:not(:disabled){transform:translateY(-1px)}}.btn-secondary{--btn-bg:var(--color-surface);--btn-fg:var(--color-ink);--btn-border:var(--color-border);--btn-bg-hover:var(--color-surface-raised);--btn-border-hover:var(--color-border-strong);--btn-shadow:var(--shadow-xs)}.btn-tonal{--btn-bg:var(--color-primary-soft);--btn-fg:var(--color-on-primary-soft);--btn-bg-hover:var(--color-primary-soft-hover)}.btn-outline{--btn-bg:transparent;--btn-fg:var(--color-primary);--btn-border:var(--color-border);--btn-bg-hover:var(--color-state-hover);--btn-border-hover:var(--color-border-strong)}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--color-primary);--btn-bg-hover:var(--color-state-hover);--btn-padding-x:14px}.btn-danger{--btn-bg:var(--color-danger-soft);--btn-fg:var(--color-on-danger-soft);--btn-bg-hover:var(--color-danger-soft-hover)}.btn-outline-danger{--btn-bg:transparent;--btn-fg:var(--color-danger);--btn-border:color-mix(in srgb, var(--color-danger) 30%, transparent);--btn-bg-hover:var(--color-danger-soft);--btn-border-hover:color-mix(in srgb, var(--color-danger) 45%, transparent)}.btn-loading{pointer-events:none}.btn-loading:disabled{opacity:1}.btn-spinner-wrapper{display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-text-hidden{visibility:hidden}.app-error-boundary{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:50vh;padding:64px 24px;display:flex}.app-error-boundary-icon{border-radius:var(--radius-pill);background:var(--color-tomato-soft);width:64px;height:64px;color:var(--color-on-tomato-soft);place-items:center;margin-bottom:4px;font-size:28px;line-height:1;display:grid}.app-error-boundary-title{color:var(--color-ink);font-family:var(--font-family-serif);font-size:var(--text-headline);letter-spacing:var(--text-headline-letter-spacing);margin:0;font-weight:700;line-height:1.1}.app-error-boundary-message{max-width:38ch;color:var(--color-ink-muted);margin:0;font-size:.9375rem;line-height:1.55}.app-error-boundary-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px;display:flex}.toast-region{right:0;bottom:calc(var(--app-bottom-inset) + 12px + var(--timer-dock-reserve,0px));z-index:var(--z-toast);pointer-events:none;flex-direction:column-reverse;align-items:center;gap:8px;padding:0 12px;display:flex;position:fixed;left:0}.toast{border-radius:var(--radius-md);background:var(--color-inverse-surface);width:min(100%,440px);min-height:52px;box-shadow:var(--shadow-lg);color:var(--color-on-inverse);font-size:var(--text-small);pointer-events:auto;animation:toast-in var(--duration-slow) var(--ease-out) both;align-items:center;gap:10px;padding:8px 8px 8px 16px;font-weight:550;line-height:1.35;display:flex}.toast-icon{flex-shrink:0}.toast-success .toast-icon{color:var(--color-primary-soft)}.toast-danger .toast-icon{color:var(--color-tomato-soft)}.toast-message{flex:auto;min-width:0;padding:6px 0}.toast-action{min-height:36px;color:var(--color-inverse-primary);font-size:var(--text-small);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-shrink:0;align-items:center;gap:8px;padding:0 12px;font-weight:800;display:inline-flex}.toast-action:hover{background:color-mix(in srgb, var(--color-on-inverse) 12%, transparent)}.toast-action-kbd{border:1px solid color-mix(in srgb, var(--color-on-inverse) 30%, transparent);color:color-mix(in srgb, var(--color-on-inverse) 80%, transparent);font-family:var(--font-family-sans);border-radius:5px;padding:1px 5px;font-size:.6875rem;font-weight:700;display:none}@media (hover:hover) and (pointer:fine){.toast-action-kbd{display:inline-block}}.toast-close{border-radius:var(--radius-pill);width:32px;height:32px;color:color-mix(in srgb, var(--color-on-inverse) 72%, transparent);cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;display:grid}.toast-close:hover{background:color-mix(in srgb, var(--color-on-inverse) 12%, transparent);color:var(--color-on-inverse)}.toast :focus-visible{outline-color:var(--color-inverse-primary)}@media (width>=1024px){.toast-region{left:var(--rail-width);bottom:24px}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}.loading-container{color:var(--color-primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:56px 24px;display:flex}.loading-container .spinner{border-width:3px;width:28px;height:28px}.loading-message{color:var(--color-ink-muted);font-size:var(--text-small);line-height:var(--text-small-line-height);margin:0}.loading-skeleton{width:100%}.loading-skeleton-page-wrap,.loading-skeleton-recipe-wrap{width:100%;max-width:var(--max-width-content);padding:24px var(--page-gutter);margin:0 auto}.loading-skeleton-page,.loading-skeleton-recipe{flex-direction:column;gap:14px;display:flex}.loading-skeleton-block{width:100%;height:52px;margin:10px 0 6px}.loading-skeleton-hero{aspect-ratio:16/10;width:100%;margin-bottom:8px}.loading-skeleton-chips{gap:8px;margin:6px 0 12px;display:flex}.loading-skeleton-list{flex-direction:column;gap:16px;display:flex}.loading-skeleton-row{align-items:center;gap:14px;display:flex}.loading-skeleton-row-copy{flex-direction:column;flex:1;gap:10px;display:flex}.loading-skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;display:grid}.loading-skeleton-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);background:var(--color-surface);overflow:hidden}.loading-skeleton-card-image{aspect-ratio:4/3;width:100%}.loading-skeleton-card-copy{flex-direction:column;gap:8px;padding:12px 14px 14px;display:flex}.skeleton-text-group{flex-direction:column;gap:10px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:24px;display:flex}.page-header-center{text-align:center;flex-direction:column;align-items:center}.page-header-copy{flex-direction:column;gap:8px;min-width:0;display:flex}.page-header-eyebrow{color:var(--color-tomato-ink);font-size:var(--text-label);letter-spacing:var(--text-label-letter-spacing);font-weight:800;line-height:var(--text-label-line-height);text-transform:uppercase}.page-header-title{color:var(--color-ink);font-family:var(--font-family-serif);font-size:var(--text-headline);letter-spacing:var(--text-headline-letter-spacing);font-weight:700;line-height:var(--text-headline-line-height)}.page-header-lg .page-header-title{font-size:var(--text-display);letter-spacing:var(--text-display-letter-spacing);line-height:var(--text-display-line-height)}.page-header-accent{color:var(--color-primary);letter-spacing:-.02em;background-image:linear-gradient(var(--color-butter), var(--color-butter));background-position:0 88%;background-repeat:no-repeat;background-size:100% .14em;padding-right:.04em;font-style:italic;font-weight:600}.page-header-subtitle{max-width:56ch;color:var(--color-ink-muted);font-size:var(--text-body-lg);line-height:var(--text-body-lg-line-height)}.page-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.route-fallback-cookbook.container-wide{max-width:var(--max-width-wide);flex-direction:column;gap:20px;display:flex}.route-fallback-header.page-header{align-items:center;margin-bottom:0}.route-fallback-header .page-header-subtitle{font-size:var(--text-body)}.route-fallback-search.skeleton,.route-fallback-tabs.skeleton{border-radius:var(--radius-pill)}.route-fallback-search{height:56px}.route-fallback-tabs{width:176px;height:42px}@media (width<=559px){.route-fallback-header.page-header{flex-wrap:nowrap;gap:12px}}.route-fallback-cookbook .loading-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}@media (width>=600px){.route-fallback-cookbook .loading-skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px}}@media (width>=1280px){.route-fallback-cookbook .loading-skeleton-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px}}@font-face{font-display:swap;font-family:Fraunces;font-style:normal;font-weight:600;src:url(/fonts/Fraunces-SemiBold.woff2)format("woff2")}@font-face{font-display:swap;font-family:Fraunces;font-style:normal;font-weight:700;src:url(/fonts/Fraunces-Bold.woff2)format("woff2")}@font-face{font-display:swap;font-family:Fraunces;font-style:italic;font-weight:600;src:url(/fonts/Fraunces-SemiBoldItalic.woff2)format("woff2")}:root{--font-family-serif:"Fraunces", Georgia, Cambria, "Times New Roman", Times, serif;--font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-family-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-display:var(--font-family-serif);--font-ui:var(--font-family-sans);--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-heavy:800;--text-display:clamp(2.375rem, 1.7rem + 2.6vw, 3.5rem);--text-display-line-height:1;--text-display-letter-spacing:-.035em;--text-headline:clamp(1.875rem, 1.55rem + 1.2vw, 2.5rem);--text-headline-line-height:1.05;--text-headline-letter-spacing:-.03em;--text-title:1.375rem;--text-title-line-height:1.25;--text-title-letter-spacing:-.015em;--text-title-sm:1.125rem;--text-title-sm-line-height:1.3;--text-body-lg:1.0625rem;--text-body-lg-line-height:1.55;--text-body:1rem;--text-body-line-height:1.5;--text-small:.875rem;--text-small-line-height:1.43;--text-caption:.8125rem;--text-caption-line-height:1.38;--text-label:.75rem;--text-label-line-height:1.33;--text-label-letter-spacing:.08em;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-xs:var(--space-1);--space-sm:var(--space-2);--space-md:var(--space-3);--space-lg:var(--space-4);--space-xl:var(--space-5);--space-xxl:var(--space-6);--space-xxxl:var(--space-8);--max-width-content:720px;--max-width-grid:1100px;--max-width-wide:1240px;--page-gutter:16px;--topbar-height:56px;--tabbar-height:64px;--rail-width:248px;--app-bottom-inset:calc(var(--tabbar-height) + env(safe-area-inset-bottom,0px));--app-fab-clearance:24px;--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-xl:28px;--radius-card:20px;--radius-button:14px;--radius-input:14px;--radius-sheet:28px;--radius-pill:9999px;--duration-instant:90ms;--duration-fast:.15s;--duration-base:.22s;--duration-slow:.28s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--transition-fast:var(--duration-fast) var(--ease-standard);--transition-normal:var(--duration-base) var(--ease-standard);--transition-slow:var(--duration-slow) var(--ease-out);--z-raised:1;--z-sticky:10;--z-dropdown:30;--z-nav:100;--z-fab:110;--z-immersive:200;--z-sheet:300;--z-dialog:400;--z-popover:450;--z-toast:500;--z-overlay:600;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f4efe7;--color-canvas:#fbf7f0;--color-surface:#fffdf8;--color-surface-raised:#fffefb;--color-surface-sunken:#efe7da;--color-surface-subtle:#f1eadf;--color-surface-tint:#efe7da;--color-ink:#1f211d;--color-ink-muted:#625c53;--color-ink-subtle:#6f675c;--color-ink-inverse:#fffdf8;--color-border:#ddd2c3;--color-border-subtle:#e8dfd2;--color-border-strong:#8a7f6f;--color-primary:#29443b;--color-primary-hover:#1f352e;--color-primary-pressed:#182a24;--color-on-primary:#fffdf8;--color-primary-soft:#dde7df;--color-primary-soft-hover:#cbd9ce;--color-on-primary-soft:#29443b;--color-tomato:#b95233;--color-tomato-hover:#a2462a;--color-on-tomato:#fffdf8;--color-tomato-soft:#f3ddd3;--color-on-tomato-soft:#8e3b22;--color-tomato-ink:#a4462a;--color-butter:#e9bd5a;--color-butter-soft:#f7e9c8;--color-on-butter:#3b2f12;--color-on-butter-soft:#5c4613;--color-success:#2f6b4a;--color-success-soft:#dcebdf;--color-warning:#8a5d0c;--color-warning-soft:#f7e9c8;--color-danger:#a23a2a;--color-danger-hover:#7f2a1e;--color-on-danger:#fffdf8;--color-danger-soft:#f2d8d2;--color-danger-soft-hover:#e8c4bc;--color-on-danger-soft:#8b2e23;--color-focus:#29443b;--color-focus-ring:color-mix(in srgb, var(--color-primary) 10%, transparent);--color-focus-ring-strong:color-mix(in srgb, var(--color-primary) 16%, transparent);--color-state-hover:color-mix(in srgb, var(--color-ink) 5%, transparent);--color-state-pressed:color-mix(in srgb, var(--color-ink) 9%, transparent);--color-selection:color-mix(in srgb, var(--color-butter) 55%, transparent);--color-scrim:#1f1c186b;--color-overlay:color-mix(in srgb, var(--color-canvas) 96%, transparent);--color-placeholder:var(--color-ink-subtle);--color-skeleton:#ebe3d6;--color-skeleton-shine:#f6f1e8;--color-inverse-surface:#262823;--color-on-inverse:#fffdf8;--color-inverse-primary:#e9bd5a;--color-image-placeholder:#e8e0d2;--color-monogram-bg:var(--color-primary-soft);--color-monogram-ink:var(--color-primary);--color-switch-on:var(--color-primary);--color-switch-thumb:#fffefb;--shadow-color:93, 86, 75;--shadow-xs:0 1px 2px rgba(var(--shadow-color), .07);--shadow-sm:0 1px 2px rgba(var(--shadow-color), .06), 0 4px 12px rgba(var(--shadow-color), .07);--shadow-md:0 2px 4px rgba(var(--shadow-color), .05), 0 12px 28px rgba(var(--shadow-color), .1);--shadow-lg:0 2px 6px rgba(var(--shadow-color), .07), 0 22px 60px rgba(var(--shadow-color), .16);--shadow-primary:0 1px 2px #29443b1f, 0 6px 16px #29443b2e;--shadow-tomato:0 1px 2px #b9523338, 0 6px 16px #b952333d;--shadow-nav:0 -1px 0 var(--color-border-subtle), 0 -8px 28px rgba(var(--shadow-color), .06);--color-accent-rgb:41, 68, 59;--color-border-rgb:221, 210, 195;--color-muted-rgb:98, 92, 83;--color-text-rgb:31, 33, 29;--color-danger-text-rgb:139, 46, 35;--color-shadow-rgb:var(--shadow-color)}@media screen and (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#1a1816;--color-canvas:#1f1d1a;--color-surface:#24221e;--color-surface-raised:#2c2925;--color-surface-sunken:#151311;--color-surface-subtle:#2a2723;--color-surface-tint:#34302b;--color-ink:#f3ece0;--color-ink-muted:#bcb3a5;--color-ink-subtle:#a39b8e;--color-ink-inverse:#1a1816;--color-border:#3a3631;--color-border-subtle:#2f2c28;--color-border-strong:#807a70;--color-primary:#a9cbb9;--color-primary-hover:#bdd9ca;--color-primary-pressed:#cfe3d7;--color-on-primary:#13241d;--color-primary-soft:#2a3a33;--color-primary-soft-hover:#334740;--color-on-primary-soft:#cfe3d7;--color-tomato:#e0795a;--color-tomato-hover:#ea8c6f;--color-on-tomato:#2a120a;--color-tomato-soft:#3d2620;--color-on-tomato-soft:#f2b9a4;--color-tomato-ink:#e8876b;--color-butter:#e9bd5a;--color-butter-soft:#3a3020;--color-on-butter:#2a200a;--color-on-butter-soft:#f2d387;--color-success:#8fd0a8;--color-success-soft:#22352a;--color-warning:#f0c76e;--color-warning-soft:#3a3020;--color-danger:#f19a86;--color-danger-hover:#f6b2a2;--color-on-danger:#2a100b;--color-danger-soft:#432621;--color-danger-soft-hover:#52302a;--color-on-danger-soft:#f3c9bd;--color-focus:#a9cbb9;--color-state-hover:color-mix(in srgb, var(--color-ink) 7%, transparent);--color-state-pressed:color-mix(in srgb, var(--color-ink) 12%, transparent);--color-selection:color-mix(in srgb, var(--color-butter) 40%, transparent);--color-scrim:#0605049e;--color-overlay:color-mix(in srgb, var(--color-canvas) 96%, transparent);--color-skeleton:#2b2824;--color-skeleton-shine:#36322d;--color-inverse-surface:#f3ece0;--color-on-inverse:#1f211d;--color-inverse-primary:#29443b;--color-image-placeholder:#2c2925;--color-switch-on:#568470;--color-switch-thumb:#f3ece0;--shadow-color:0, 0, 0;--shadow-xs:0 1px 2px #00000059;--shadow-sm:0 1px 2px #0000004d, 0 4px 14px #00000047;--shadow-md:0 2px 4px #0000004d, 0 12px 32px #00000061;--shadow-lg:0 2px 6px #00000059, 0 24px 64px #00000080;--shadow-primary:0 1px 2px #00000059, 0 6px 16px #0000004d;--shadow-tomato:0 2px 4px #00000059, 0 10px 24px #00000059;--shadow-nav:0 -1px 0 var(--color-border), 0 -8px 28px #0000004d;--color-accent-rgb:169, 203, 185;--color-border-rgb:58, 54, 49;--color-muted-rgb:188, 179, 165;--color-text-rgb:243, 236, 224;--color-danger-text-rgb:241, 154, 134}}@media screen{:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#1a1816;--color-canvas:#1f1d1a;--color-surface:#24221e;--color-surface-raised:#2c2925;--color-surface-sunken:#151311;--color-surface-subtle:#2a2723;--color-surface-tint:#34302b;--color-ink:#f3ece0;--color-ink-muted:#bcb3a5;--color-ink-subtle:#a39b8e;--color-ink-inverse:#1a1816;--color-border:#3a3631;--color-border-subtle:#2f2c28;--color-border-strong:#807a70;--color-primary:#a9cbb9;--color-primary-hover:#bdd9ca;--color-primary-pressed:#cfe3d7;--color-on-primary:#13241d;--color-primary-soft:#2a3a33;--color-primary-soft-hover:#334740;--color-on-primary-soft:#cfe3d7;--color-tomato:#e0795a;--color-tomato-hover:#ea8c6f;--color-on-tomato:#2a120a;--color-tomato-soft:#3d2620;--color-on-tomato-soft:#f2b9a4;--color-tomato-ink:#e8876b;--color-butter:#e9bd5a;--color-butter-soft:#3a3020;--color-on-butter:#2a200a;--color-on-butter-soft:#f2d387;--color-success:#8fd0a8;--color-success-soft:#22352a;--color-warning:#f0c76e;--color-warning-soft:#3a3020;--color-danger:#f19a86;--color-danger-hover:#f6b2a2;--color-on-danger:#2a100b;--color-danger-soft:#432621;--color-danger-soft-hover:#52302a;--color-on-danger-soft:#f3c9bd;--color-focus:#a9cbb9;--color-state-hover:color-mix(in srgb, var(--color-ink) 7%, transparent);--color-state-pressed:color-mix(in srgb, var(--color-ink) 12%, transparent);--color-selection:color-mix(in srgb, var(--color-butter) 40%, transparent);--color-scrim:#0605049e;--color-overlay:color-mix(in srgb, var(--color-canvas) 96%, transparent);--color-skeleton:#2b2824;--color-skeleton-shine:#36322d;--color-inverse-surface:#f3ece0;--color-on-inverse:#1f211d;--color-inverse-primary:#29443b;--color-image-placeholder:#2c2925;--color-switch-on:#568470;--color-switch-thumb:#f3ece0;--shadow-color:0, 0, 0;--shadow-xs:0 1px 2px #00000059;--shadow-sm:0 1px 2px #0000004d, 0 4px 14px #00000047;--shadow-md:0 2px 4px #0000004d, 0 12px 32px #00000061;--shadow-lg:0 2px 6px #00000059, 0 24px 64px #00000080;--shadow-primary:0 1px 2px #00000059, 0 6px 16px #0000004d;--shadow-tomato:0 2px 4px #00000059, 0 10px 24px #00000059;--shadow-nav:0 -1px 0 var(--color-border), 0 -8px 28px #0000004d;--color-accent-rgb:169, 203, 185;--color-border-rgb:58, 54, 49;--color-muted-rgb:188, 179, 165;--color-text-rgb:243, 236, 224;--color-danger-text-rgb:241, 154, 134}}:root{--color-accent:var(--color-primary);--color-accent-hover:var(--color-primary-hover);--color-accent-soft:var(--color-primary-soft);--color-accent-soft-hover:var(--color-primary-soft-hover);--color-accent-border-tint:color-mix(in srgb, var(--color-primary) 22%, transparent);--color-background:var(--color-bg);--color-surface-muted:var(--color-surface-tint);--color-muted:var(--color-ink-muted);--color-text:var(--color-ink);--color-white:var(--color-on-primary);--color-danger-bg:var(--color-danger-soft);--color-danger-bg-hover:var(--color-danger-soft-hover);--color-danger-text:var(--color-on-danger-soft);--color-danger-border-subtle:color-mix(in srgb, var(--color-danger) 14%, transparent);--color-danger-border:color-mix(in srgb, var(--color-danger) 26%, transparent);--color-topbar-border:color-mix(in srgb, var(--color-border) 78%, transparent);--color-bar:var(--color-canvas);--color-divider:color-mix(in srgb, var(--color-ink) 13%, transparent);--color-scan-backdrop:var(--color-scrim);--color-editor-backdrop:var(--color-scrim);--shadow-soft:var(--shadow-sm);--shadow-premium:var(--shadow-md);--shadow-button:var(--shadow-primary);--shadow-topbar:0 4px 16px rgba(var(--shadow-color), .05)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--color-bg);color:var(--color-ink);scroll-padding-top:calc(var(--topbar-height) + 16px)}html,body{font-family:var(--font-family-sans);font-size:var(--text-body);line-height:var(--text-body-line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:radial-gradient(1100px 520px at 50% -8%, var(--color-canvas) 0%, var(--color-bg) 58%) fixed, var(--color-bg);min-height:100dvh;color:var(--color-ink);-webkit-tap-highlight-color:transparent}img,video,canvas{max-width:100%;display:block}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}::selection{background:var(--color-selection);color:var(--color-ink)}h1,h2,h3,h4,h5,h6{color:var(--color-ink);font-family:var(--font-family-serif);letter-spacing:-.01em;text-wrap:balance;font-weight:700;line-height:1.2}p{text-wrap:pretty}hr{border:0;border-top:1px solid var(--color-border)}@media (pointer:coarse){textarea{resize:none!important}}@media (width>=1024px){:root{--app-bottom-inset:0px;--app-fab-clearance:0px}}:root[data-tabbar=hidden]{--app-bottom-inset:env(safe-area-inset-bottom,0px);--app-fab-clearance:0px}:root{--timer-dock-reserve:0px}:root[data-timer-dock]{--timer-dock-reserve:calc(var(--timer-dock-height,0px) + 12px + var(--app-fab-clearance))}.num,.tabular-nums{font-variant-numeric:lining-nums tabular-nums}.serif{font-family:var(--font-family-serif)}.text-muted{color:var(--color-ink-muted)}.sr-only,.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.accent-word{color:var(--color-primary);font-family:var(--font-family-serif);font-style:italic;font-weight:600}.skip-link{top:calc(12px + env(safe-area-inset-top,0px));z-index:var(--z-overlay);border-radius:var(--radius-sm);background:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-on-primary);transition:transform var(--transition-fast);padding:10px 16px;font-weight:700;position:fixed;left:12px;transform:translateY(-200%)}.skip-link:focus,.skip-link:focus-visible{text-decoration:none;transform:translateY(0)}.container{width:100%;max-width:var(--max-width-content);padding:24px var(--page-gutter);margin:0 auto}.container-wide{width:100%;max-width:var(--max-width-grid);padding:24px var(--page-gutter);margin:0 auto}@media (width>=768px){:root{--page-gutter:24px}}@media (width>=1024px){:root{--page-gutter:40px}.container,.container-wide{padding-top:40px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sheet-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-slide-up{0%{opacity:.4;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@keyframes skeleton-shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.page-enter{animation:pageEnter var(--duration-slow) var(--ease-out) both}.spinner{border:2.5px solid color-mix(in srgb, currentColor 22%, transparent);border-top-color:currentColor;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}.skeleton{border-radius:var(--radius-xs);background:linear-gradient(100deg, var(--color-skeleton) 30%, var(--color-skeleton-shine) 50%, var(--color-skeleton) 70%) var(--color-skeleton);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:-1ms!important}.page-enter,.skeleton{animation:none!important}}@media print{body{color:#000;background:#fff}}
