:root{--font-display:"Fraunces", Georgia, serif;--font-body:"IBM Plex Sans", "Segoe UI", sans-serif;--color-paper:oklch(95% .015 82);--color-paper-raised:oklch(97.5% .012 82);--color-paper-deep:oklch(89% .025 82);--color-ink:oklch(25% .02 70);--color-ink-soft:oklch(45% .02 72);--color-rule:oklch(73% .025 78);--color-accent:oklch(46% .14 36);--color-accent-deep:oklch(35% .12 35);--color-accent-ink:oklch(98% .01 82);--color-focus:oklch(55% .12 220);--color-error:oklch(42% .16 30);--color-error-surface:oklch(93% .035 30);--color-success:oklch(42% .08 145);--color-success-surface:oklch(93% .035 145);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--space-9:7rem;--radius-small:.25rem;--radius-medium:.75rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--duration-micro:.12s;--duration-short:.16s;--z-toast:500;color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body{overflow-x:clip}body{background:linear-gradient(90deg, color-mix(in srgb, var(--color-paper-deep) 22%, transparent) 1px, transparent 1px), var(--color-paper);min-width:0;min-height:100vh;color:var(--color-ink);background-size:min(8vw,7rem) 100%;margin:0}button,input{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}img{max-width:100%;display:block}h1,h2,h3,h4,p,dl,dd{margin-block:0}h1,h2,h3,.wordmark strong,.site-footer__masthead{font-family:var(--font-display);letter-spacing:-.035em;font-style:normal;font-weight:650}h1,h2,h3{overflow-wrap:anywhere;min-width:0}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}button:active,summary:active,a:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}.page-frame{width:min(100% - 2rem,78rem);margin-inline:auto}.app-shell{min-height:100vh}.notice-bar{min-height:2.25rem;padding:var(--space-2) 3rem;background:var(--color-accent);color:var(--color-accent-ink);letter-spacing:.03em;text-align:center;justify-content:center;align-items:center;font-size:.75rem;display:flex;position:relative}.notice-bar p{white-space:normal;flex:auto;min-width:0;max-width:100%}.notice-bar button{width:2.75rem;height:2.75rem;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;inset-block-start:50%;inset-inline-end:var(--space-3);transform:translateY(-50%)}.masthead{align-items:center;gap:var(--space-2);border-block-end:1px solid var(--color-rule);grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;min-height:7rem;display:grid}.wordmark{text-transform:uppercase;flex-direction:column;align-items:center;min-width:0;text-decoration:none;display:flex}.wordmark strong{white-space:nowrap;max-width:100%;font-size:0;line-height:.9}.wordmark strong:after{content:"E·COM";font-size:clamp(1rem,5vw,1.2rem)}.wordmark span{color:var(--color-ink-soft);letter-spacing:.12em;margin-block-start:var(--space-2);font-size:.58rem;display:none}.masthead__nav{display:none}.mobile-menu{position:relative}.mobile-menu summary{cursor:pointer;place-items:center;width:2.75rem;height:2.75rem;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{z-index:3;background:var(--color-paper-raised);border:1px solid var(--color-rule);min-width:11rem;display:grid;position:absolute;inset-block-start:calc(100% + var(--space-2));inset-inline-start:0}.mobile-menu nav a{min-height:2.75rem;padding-inline:var(--space-4);white-space:nowrap;align-items:center;text-decoration:none;display:flex}.cart-link{place-items:center;width:2.75rem;height:2.75rem;text-decoration:none;display:grid;position:relative}.mobile-cart-link{justify-self:end}.cart-link b{background:var(--color-accent);min-width:1.25rem;height:1.25rem;color:var(--color-accent-ink);font-variant-numeric:tabular-nums;border-radius:99rem;place-items:center;padding-inline:.2rem;font-size:.65rem;display:grid;position:absolute;inset-block-start:0;inset-inline-end:0}.home-intro{gap:var(--space-5);padding-block:var(--space-7) var(--space-8);border-block-end:1px solid var(--color-rule);display:grid}.kicker,.recipe-card__number{color:var(--color-accent-deep);letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:600}.home-intro h1{max-width:12ch;overflow-wrap:anywhere;margin-block-start:var(--space-4);font-size:clamp(2.8rem,11vw,7.25rem);line-height:.92}.home-intro__note{max-width:31rem;color:var(--color-ink-soft);align-self:end;font-size:clamp(1rem,2vw,1.25rem);line-height:1.55}.recipe-catalogue{padding-block:var(--space-7) var(--space-9)}.section-heading{gap:var(--space-3);margin-block-end:var(--space-7);display:grid}.section-heading h2{font-size:clamp(2rem,6vw,4rem);line-height:1}.section-heading p{max-width:34rem;color:var(--color-ink-soft);line-height:1.55}.recipe-list{gap:var(--space-7);display:grid}.recipe-card{border-block-start:1px solid var(--color-rule);min-width:0;display:grid}.recipe-card__media{aspect-ratio:4/3;background:var(--color-paper-deep);min-width:0;display:block;overflow:hidden}.recipe-card__media img{object-fit:cover;width:100%;height:100%}.image-placeholder{align-content:center;justify-items:center;gap:var(--space-2);width:100%;height:100%;min-height:15rem;padding:var(--space-5);background:repeating-linear-gradient(-45deg, transparent 0 10px, color-mix(in srgb, var(--color-accent) 7%, transparent) 10px 11px), var(--color-paper-deep);color:var(--color-ink-soft);text-align:center;display:grid}.image-placeholder span{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.6rem)}.image-placeholder small{letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}.recipe-card__body{align-content:start;gap:var(--space-4);padding-block:var(--space-5);display:grid}.recipe-card h2{font-size:clamp(1.8rem,5vw,3.25rem);line-height:1.05}.recipe-card h2 a{text-decoration:none}.recipe-card__body>p:not(.recipe-card__number){max-width:38rem;color:var(--color-ink-soft);line-height:1.6}.recipe-card__meta,.recipe-facts{gap:var(--space-2) var(--space-5);color:var(--color-ink-soft);font-variant-numeric:tabular-nums;flex-wrap:wrap;font-size:.82rem;display:flex}.recipe-card__meta span,.recipe-facts dt{align-items:center;gap:var(--space-2);display:inline-flex}.text-link,.back-link{align-items:center;gap:var(--space-2);width:fit-content;min-height:2.75rem;color:var(--color-accent-deep);white-space:nowrap;font-weight:600;display:inline-flex}.recipe-hero{gap:var(--space-6);padding-block:var(--space-7) var(--space-8);border-block-end:1px solid var(--color-rule);display:grid}.recipe-hero__copy{flex-direction:column;justify-content:flex-end;min-width:0;display:flex}.recipe-hero h1{max-width:11ch;margin-block:var(--space-5);overflow-wrap:anywhere;font-size:clamp(2.8rem,10vw,6.75rem);line-height:.92}.recipe-deck{max-width:38rem;color:var(--color-ink-soft);font-size:clamp(1rem,2vw,1.25rem);line-height:1.6}.recipe-facts{margin-block-start:var(--space-6)}.recipe-facts div{gap:var(--space-1);display:grid}.recipe-facts dd{color:var(--color-ink);font-weight:600}.recipe-hero__media{aspect-ratio:4/5;min-width:0}.image-placeholder--portrait{min-height:28rem}.recipe-story{gap:var(--space-4);padding-block:var(--space-7);display:grid}.recipe-story>p:last-child{max-width:58rem;font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.6rem);line-height:1.35}.method{gap:var(--space-6);padding-block:var(--space-7) var(--space-8);border-block-start:1px solid var(--color-rule);display:grid}.method__heading{gap:var(--space-3);flex-direction:column;display:flex}.method__heading h2{max-width:12ch;font-size:clamp(2.2rem,7vw,4.5rem);line-height:1}.method__steps{gap:0;margin:0;padding:0;list-style:none;display:grid}.method__steps li{gap:var(--space-3);padding-block:var(--space-4);border-block-start:1px solid var(--color-rule);grid-template-columns:2.5rem minmax(0,1fr);display:grid}.method__steps li>span{color:var(--color-accent-deep);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.25rem}.method__steps h3{margin-block-end:var(--space-2);font-size:1.35rem;line-height:1.1}.method__steps p{max-width:65ch;color:var(--color-ink-soft);line-height:1.6}.method__steps small{color:var(--color-accent-deep);font-variant-numeric:tabular-nums;margin-block-start:var(--space-2);font-size:.78rem;display:block}.planner{gap:var(--space-7);padding-block:var(--space-7) var(--space-9);border-block-start:1px solid var(--color-rule);display:grid}.planner__intro h2{max-width:10ch;margin-block:var(--space-3);font-size:clamp(2.2rem,7vw,4.5rem);line-height:1}.planner__intro>p:last-of-type{max-width:28rem;color:var(--color-ink-soft);line-height:1.5}.serving-stepper{width:fit-content;border:1px solid var(--color-rule);background:var(--color-paper-raised);grid-template-columns:3rem minmax(5rem,auto) 3rem;margin-block-start:var(--space-5);display:grid}.serving-stepper button{min-width:3rem;min-height:3rem;color:var(--color-ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.serving-stepper button:disabled,.primary-button:disabled{opacity:.5;cursor:not-allowed}.serving-stepper output{justify-content:center;align-items:baseline;gap:var(--space-2);padding-inline:var(--space-3);border-inline:1px solid var(--color-rule);font-variant-numeric:tabular-nums;display:flex}.serving-stepper output strong{font-family:var(--font-display);font-size:1.5rem}.serving-stepper output span{color:var(--color-ink-soft);font-size:.78rem}.planner__content{min-width:0}.planner__content[aria-busy=true]{opacity:.6}.plan-section{padding-block:var(--space-5) var(--space-7);border-block-start:1px solid var(--color-rule)}.plan-section h3{margin-block-end:var(--space-5);font-size:2rem}.plan-list,.tool-list{display:grid}.ingredient-row{gap:var(--space-4);padding-block:var(--space-4);border-block-end:1px solid color-mix(in srgb, var(--color-rule) 70%, transparent);display:grid}.ingredient-row h4,.tool-row strong{font-size:1rem;font-weight:600}.ingredient-row>div:first-child p,.package-choice small,.tool-row small,.stock-note{color:var(--color-ink-soft);margin-block-start:var(--space-1);font-size:.8rem;display:block}.package-choice p{justify-content:space-between;gap:var(--space-4);font-variant-numeric:tabular-nums;font-size:.9rem;display:flex}.package-choice p+p{margin-block-start:var(--space-2)}.tool-row{align-items:center;gap:var(--space-3);min-height:4.5rem;padding-block:var(--space-3);border-block-end:1px solid color-mix(in srgb, var(--color-rule) 70%, transparent);cursor:pointer;grid-template-columns:1.5rem minmax(0,1fr) auto;display:grid;position:relative}.tool-row input{opacity:0;position:absolute}.tool-row__check{border:1px solid var(--color-rule);color:#0000;place-items:center;width:1.5rem;height:1.5rem;display:grid}.tool-row input:checked+.tool-row__check{border-color:var(--color-success);background:var(--color-success);color:var(--color-paper-raised)}.tool-row input:focus-visible+.tool-row__check{outline:2px solid var(--color-focus);outline-offset:3px}.tool-row em{color:var(--color-ink-soft);white-space:nowrap;font-size:.75rem;font-style:normal}.cart-summary{gap:var(--space-3);padding:var(--space-5);background:var(--color-ink);color:var(--color-paper-raised);display:grid}.cart-summary>div{justify-content:space-between;gap:var(--space-4);align-items:baseline;display:flex}.cart-summary>div strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.6rem}.cart-summary>p{color:var(--color-paper-deep);font-size:.78rem;line-height:1.5}.primary-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:3rem;padding-inline:var(--space-5);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink);cursor:pointer;white-space:nowrap;transition:background-color var(--duration-short) var(--ease-out), transform .1s var(--ease-out);border-radius:0;font-weight:600;display:inline-flex}.primary-button:active{transform:translateY(1px)}.cart-feedback{min-height:1.5em}.message-block,.detail-loading{padding-block:var(--space-8)}.message-block h1,.message-block h2{margin-block-end:var(--space-3);font-size:clamp(2rem,7vw,4rem)}.message-block p,.detail-loading{color:var(--color-ink-soft)}.site-footer{padding-block:var(--space-7) var(--space-5);background:var(--color-accent-deep);color:var(--color-accent-ink)}.site-footer__masthead{overflow-wrap:anywhere;max-width:13ch;font-size:clamp(2.6rem,10vw,7rem);line-height:.9}.site-footer__line{justify-content:space-between;gap:var(--space-3);border-block-start:1px solid color-mix(in srgb, var(--color-accent-ink) 35%, transparent);flex-wrap:wrap;margin-block-start:var(--space-7);padding-block-start:var(--space-4);font-size:.8rem;display:flex}.site-footer__line a{white-space:nowrap}.recipe-skeleton{background:var(--color-paper-deep);min-height:28rem}@media (hover:hover) and (pointer:fine){.text-link:hover,.back-link:hover,.masthead__nav a:hover,.site-footer a:hover{color:var(--color-accent)}.primary-button:hover{background:var(--color-accent-deep)}.serving-stepper button:not(:disabled):hover,.mobile-menu nav a:hover{background:var(--color-paper-deep)}}@media (width>=40rem){.page-frame{width:min(100% - 4rem,78rem)}.masthead{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.mobile-menu,.mobile-cart-link{display:none}.masthead__nav{align-items:center;gap:var(--space-5);font-size:.82rem;display:flex}.masthead__nav a,.masthead__nav span{white-space:nowrap}.masthead__nav a{align-items:center;min-height:2.75rem;text-decoration:none;display:inline-flex}.masthead__nav span[aria-disabled=true]{color:var(--color-ink-soft)}.masthead__nav--right{justify-content:flex-end}.wordmark{align-items:center}.wordmark strong{font-size:clamp(1.75rem,4vw,2.5rem)}.wordmark strong:after{content:none}.wordmark span{display:block}.home-intro{grid-template-columns:minmax(0,1.6fr) minmax(15rem,.7fr);min-height:34rem}.section-heading{grid-template-columns:minmax(0,1fr) minmax(18rem,.6fr);align-items:end}.recipe-card{gap:var(--space-6);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.recipe-card:nth-child(2n){grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.recipe-card:nth-child(2n) .recipe-card__media{order:2}.recipe-card__body{padding-block:var(--space-6)}.recipe-hero{grid-template-columns:minmax(0,1.05fr) minmax(18rem,.7fr);min-height:36rem}.recipe-story{grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr)}.method{grid-template-columns:minmax(14rem,.55fr) minmax(0,1fr);align-items:start}.ingredient-row{grid-template-columns:minmax(0,1fr) minmax(14rem,.75fr)}}@media (width>=60rem){.planner{grid-template-columns:minmax(15rem,.42fr) minmax(0,1fr);align-items:start}.planner__intro{position:sticky;inset-block-start:var(--space-5)}.cart-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center}.cart-summary>p,.cart-feedback{grid-column:1}.cart-summary>.primary-button{grid-area:1/2/span 2}}@media (pointer:coarse){.primary-button,.serving-stepper button{min-height:3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.cart-page{padding-block:var(--space-7) var(--space-9)}.cart-page__heading{gap:var(--space-3);max-width:38rem;border-block-end:1px solid var(--color-rule);padding-block-end:var(--space-6);display:grid}.cart-page__heading h1{font-size:clamp(2.6rem,10vw,5.5rem);line-height:.92}.cart-page__heading>p:last-child{color:var(--color-ink-soft);line-height:1.6}.cart-workbench{gap:var(--space-7);padding-block-start:var(--space-6);display:grid}.cart-items{min-width:0}.cart-quote-status{align-items:center;gap:var(--space-2);min-height:1.5rem;color:var(--color-ink-soft);margin-block-end:var(--space-3);font-size:.82rem;line-height:1.4;display:flex}.cart-quote-status:empty{display:none}.cart-quote-status svg{flex:none}.cart-quote-status svg[data-lucide=loader-circle]{animation:1s linear infinite cart-spin}.cart-lines{border-block-start:1px solid var(--color-rule);margin:0;padding:0;list-style:none;display:grid}.cart-line{gap:var(--space-4);padding-block:var(--space-5);border-block-end:1px solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity identity""actions price";align-items:end;display:grid}.cart-line[data-has-issue=true]{border-block-end-color:var(--color-error)}.cart-line__identity{grid-area:identity;min-width:0}.cart-line__identity>p{font-family:var(--font-display);font-size:clamp(1.35rem,5vw,1.85rem);font-weight:650;line-height:1.05}.cart-line__identity small,.cart-line__price small{color:var(--color-ink-soft);margin-block-start:var(--space-1);font-size:.8rem;line-height:1.4;display:block}.cart-line__issue{align-items:center;gap:var(--space-1);color:var(--color-error);margin-block-start:var(--space-3);font-size:.82rem;font-weight:600;line-height:1.4;display:inline-flex}.cart-line__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;grid-area:actions;min-width:0;display:flex}.cart-quantity{border:1px solid var(--color-rule);background:var(--color-paper-raised);grid-template-columns:2.75rem minmax(2.5rem,auto) 2.75rem;min-height:2.75rem;display:grid}.cart-quantity button{min-width:2.75rem;min-height:2.75rem;color:var(--color-ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.cart-quantity output{min-width:2.5rem;padding-inline:var(--space-2);border-inline:1px solid var(--color-rule);font-variant-numeric:tabular-nums;place-items:center;display:grid}.cart-remove{align-items:center;gap:var(--space-1);min-height:2.75rem;padding-inline:var(--space-2);color:var(--color-accent-deep);cursor:pointer;white-space:nowrap;background:0 0;border:0;font-size:.82rem;font-weight:600;display:inline-flex}.cart-line__price{text-align:end;font-variant-numeric:tabular-nums;grid-area:price;min-width:0}.cart-line__price strong{font-family:var(--font-display);white-space:nowrap;margin-block-start:var(--space-1);font-size:1.35rem;line-height:1;display:block}.cart-summary-panel{gap:var(--space-4);padding:var(--space-6);background:var(--color-ink);color:var(--color-paper-raised);display:grid}.cart-summary-panel>p:first-child{color:var(--color-paper-deep);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:600}.cart-summary-panel>div{justify-content:space-between;gap:var(--space-4);align-items:baseline;display:flex}.cart-summary-panel>div output{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(1.8rem,7vw,2.5rem)}.cart-summary-panel>small,.cart-summary-panel>p:last-child{color:var(--color-paper-deep);font-size:.8rem;line-height:1.5}.cart-summary-panel__issue{border-block-start:1px solid var(--color-rule);color:var(--color-paper-raised);padding-block-start:var(--space-3);font-size:.84rem;line-height:1.5}.cart-summary-panel .primary-button{width:100%}.cart-empty{justify-items:start;gap:var(--space-4);max-width:38rem;padding-block:var(--space-7);display:grid}.cart-empty>svg{color:var(--color-accent)}.cart-empty h2{max-width:14ch;font-size:clamp(2rem,8vw,4rem);line-height:.98}.cart-empty p{max-width:32rem;color:var(--color-ink-soft);line-height:1.6}.cart-empty .primary-button{width:fit-content;text-decoration:none}.cart-undo{z-index:var(--z-toast);inset-inline:max(var(--space-4), env(safe-area-inset-left)) max(var(--space-4), env(safe-area-inset-right));justify-content:space-between;align-items:center;gap:var(--space-3);max-width:32rem;padding:var(--space-3) var(--space-4);background:var(--color-ink);color:var(--color-paper-raised);flex-wrap:wrap;margin-inline:auto;font-size:.86rem;line-height:1.4;display:flex;position:fixed;inset-block-end:max(var(--space-4), env(safe-area-inset-bottom))}.cart-undo button{min-height:2.75rem;padding-inline:var(--space-2);color:var(--color-paper-raised);cursor:pointer;text-underline-offset:.2em;white-space:nowrap;background:0 0;border:0;font-weight:700;text-decoration:underline}@keyframes cart-spin{to{transform:rotate(360deg)}}@media (hover:hover) and (pointer:fine){.cart-quantity button:not(:disabled):hover{background:var(--color-paper-deep)}.cart-remove:hover{color:var(--color-accent)}}@media (width>=60rem){.cart-workbench{grid-template-columns:minmax(0,1.45fr) minmax(17rem,.55fr);align-items:start}.cart-summary-panel{position:sticky;inset-block-start:var(--space-5)}.cart-line{grid-template-columns:minmax(0,1fr) auto minmax(8rem,auto);grid-template-areas:"identity actions price";align-items:center}.cart-line__actions{justify-content:flex-end}}@media (pointer:coarse){.cart-quantity button,.cart-remove{min-height:2.75rem}}@media (prefers-reduced-motion:reduce){.cart-quote-status svg[data-lucide=loader-circle]{animation-duration:3s}}.account-link{text-overflow:ellipsis;max-width:7rem;overflow:hidden}.auth-route-status{justify-items:start;gap:var(--space-3);min-height:18rem;color:var(--color-ink-soft);align-content:center;display:grid}.auth-page{gap:var(--space-7);padding-block:var(--space-7) var(--space-9);display:grid}.auth-intro{align-self:start;min-width:0}.auth-intro h1{max-width:10ch;margin-block:var(--space-4);font-size:clamp(2.7rem,10vw,5.25rem);line-height:.96}.auth-intro>p:last-child{max-width:60ch;color:var(--color-ink-soft);font-size:1rem;line-height:1.65}.auth-form-panel{min-width:0;border-block-start:1px solid var(--color-rule);padding-block-start:var(--space-5)}.auth-form-panel h2{margin-block-start:var(--space-6);font-size:clamp(1.8rem,7vw,3rem);line-height:1.05}.auth-form-panel__note{max-width:60ch;color:var(--color-ink-soft);margin-block-start:var(--space-3);line-height:1.6}.auth-mode-switch{align-items:center;gap:var(--space-5);border-block-end:1px solid var(--color-rule);flex-wrap:wrap;display:flex}.auth-mode-switch button{min-height:2.75rem;color:var(--color-ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;padding:0;font-weight:600;line-height:1;display:inline-flex;position:relative}.auth-mode-switch button[data-active=true]{color:var(--color-accent-deep)}.auth-mode-switch button[data-active=true]:after{content:"";background:var(--color-accent);height:2px;position:absolute;inset-block-end:-1px;inset-inline:0}.auth-form{gap:var(--space-4);margin-block-start:var(--space-6);display:grid}.auth-field{gap:var(--space-2);display:grid}.auth-field>span{font-weight:600}.auth-field input{width:100%;min-width:0;min-height:3rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-rule);outline-offset:1px;background:var(--color-paper-raised);color:var(--color-ink);transition:background-color var(--duration-short) var(--ease-out);border-radius:0;outline:2px solid #0000}.auth-field input:focus-visible{outline-color:var(--color-focus)}.auth-field input[aria-invalid=true]{border-color:var(--color-error)}.auth-field input:user-valid{border-color:var(--color-success)}.auth-field input:disabled{background:var(--color-paper-deep);color:var(--color-ink-soft);opacity:.55;cursor:not-allowed}.auth-field small{min-height:1lh;color:var(--color-ink-soft);font-size:.8rem;line-height:1.5}.auth-field small[data-error=true]{color:var(--color-error)}.form-alert{align-items:flex-start;gap:var(--space-2);color:var(--color-error);font-size:.88rem;line-height:1.5;display:flex}.form-alert svg{flex:none;margin-block-start:var(--space-1)}.auth-submit{width:100%;margin-block-start:var(--space-2)}.auth-submit svg[data-lucide=loader-circle]{animation:1s linear infinite cart-spin}.text-button{align-items:center;gap:var(--space-2);min-height:2.75rem;color:var(--color-accent-deep);cursor:pointer;text-underline-offset:.2em;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline;display:inline-flex}.auth-session{justify-items:start;gap:var(--space-4);border-block-start:1px solid var(--color-rule);align-self:start;padding-block-start:var(--space-5);display:grid}.auth-session>div{gap:var(--space-1);display:grid}.auth-session>div span{color:var(--color-ink-soft);overflow-wrap:anywhere}.checkout-entry{gap:var(--space-7);padding-block:var(--space-7) var(--space-9);display:grid}.checkout-entry h1{max-width:11ch;margin-block:var(--space-4);font-size:clamp(2.7rem,10vw,5.25rem);line-height:.96}.checkout-entry>div>p:last-child{max-width:60ch;color:var(--color-ink-soft);line-height:1.65}.checkout-entry__summary{justify-items:start;gap:var(--space-4);padding:var(--space-6);background:var(--color-ink);color:var(--color-paper-raised);align-self:start;display:grid}.checkout-entry__summary>p{color:var(--color-paper-deep);line-height:1.6}.checkout-entry__summary .text-link{color:var(--color-paper-raised)}@media (hover:hover) and (pointer:fine){.auth-mode-switch button:hover,.text-button:hover{color:var(--color-accent)}.auth-field input:hover{background:var(--color-paper-deep)}}@media (width>=60rem){.auth-page,.checkout-entry{gap:var(--space-9);grid-template-columns:minmax(16rem,.72fr) minmax(0,1fr);align-items:start}.auth-intro{position:sticky;inset-block-start:var(--space-5)}.auth-form-panel,.auth-session{padding-block-start:var(--space-7)}}@media (pointer:coarse){.auth-mode-switch button,.text-button,.auth-field input{min-height:3rem}}@media (prefers-reduced-motion:reduce){.auth-submit svg[data-lucide=loader-circle]{animation-duration:3s}}.checkout-flow{gap:var(--space-7);padding-block:var(--space-7) var(--space-9);grid-template-areas:"heading""recipient""order""payment";display:grid}.checkout-flow__heading{grid-area:heading;min-width:0}.checkout-flow__heading h1{max-width:12ch;margin-block:var(--space-4);overflow-wrap:anywhere;font-size:clamp(2.7rem,10vw,5.25rem);line-height:.96}.checkout-flow__heading>p:last-child{max-width:60ch;color:var(--color-ink-soft);line-height:1.65}.checkout-stage{min-width:0;border-block-start:3px solid var(--color-ink);padding-block-start:var(--space-5)}.checkout-stage--recipient{grid-area:recipient}.checkout-stage--order{grid-area:order}.checkout-stage__title{gap:var(--space-2);margin-block-end:var(--space-6);display:grid}.checkout-stage__title>span{color:var(--color-accent-deep);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.15rem}.checkout-stage__title h2{overflow-wrap:anywhere;font-size:clamp(1.8rem,6vw,2.75rem);line-height:1.05}.checkout-stage__title p{max-width:60ch;color:var(--color-ink-soft);margin-block-start:var(--space-2);line-height:1.55}.checkout-fields{gap:var(--space-4);display:grid}.checkout-field{gap:var(--space-2);min-width:0;display:grid}.checkout-field>span{font-weight:600}.checkout-field>span small{color:var(--color-ink-soft);font-weight:400}.checkout-field input,.checkout-field textarea{width:100%;min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-rule);outline-offset:1px;background:var(--color-paper-raised);color:var(--color-ink);font-family:var(--font-body);transition:background-color var(--duration-short) var(--ease-out);border-radius:0;outline:2px solid #0000;font-size:1rem}.checkout-field input{min-height:3rem}.checkout-field textarea{resize:vertical;min-height:7rem;line-height:1.5}.checkout-field input:focus-visible,.checkout-field textarea:focus-visible{outline-color:var(--color-focus)}.checkout-field input[aria-invalid=true],.checkout-field textarea[aria-invalid=true]{border-color:var(--color-error)}:is(.checkout-field input:user-valid,.checkout-field textarea:user-valid){border-color:var(--color-success)}.checkout-field input:disabled,.checkout-field textarea:disabled{background:var(--color-paper-deep);color:var(--color-ink-soft);opacity:.55;cursor:not-allowed}.checkout-field>small{min-height:1lh;color:var(--color-ink-soft);font-size:.8rem;line-height:1.5}.checkout-field>small[data-error=true]{color:var(--color-error)}.checkout-status{align-items:center;gap:var(--space-2);color:var(--color-ink-soft);display:flex}.checkout-status svg,.checkout-submit svg[data-lucide=loader-circle],.payment-result__spinner,.payment-result__actions svg[data-lucide=loader-circle]{animation:1s linear infinite cart-spin}.checkout-order-lines{margin-block:var(--space-5);border-block-start:1px solid var(--color-rule);list-style:none}.checkout-order-lines li{gap:var(--space-4);padding-block:var(--space-4);border-block-end:1px solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.checkout-order-lines li>div{gap:var(--space-1);min-width:0;display:grid}.checkout-order-lines li>div strong{font-family:var(--font-display);overflow-wrap:anywhere;font-size:1.1rem}.checkout-order-lines li>div span{color:var(--color-ink-soft);font-size:.85rem}.checkout-order-lines li>span{font-variant-numeric:tabular-nums;white-space:nowrap}.checkout-payment{align-self:start;gap:var(--space-5);min-width:0;padding:var(--space-6);background:var(--color-ink);color:var(--color-paper-raised);grid-area:payment;display:grid}.checkout-stage__title--dark{margin:0}.checkout-stage__title--dark>span,.checkout-stage__title--dark p{color:var(--color-paper-deep)}.checkout-payment dl{gap:var(--space-3);display:grid}.checkout-payment dl>div{justify-content:space-between;gap:var(--space-4);border-block-end:1px solid var(--color-rule);padding-block-end:var(--space-3);display:flex}.checkout-payment dt{color:var(--color-paper-deep)}.checkout-payment dd{text-align:end;font-variant-numeric:tabular-nums;max-width:14rem;margin:0}.checkout-payment dl>div:last-child dd{font-family:var(--font-display);font-size:1.6rem}.checkout-payment__assurance{align-items:flex-start;gap:var(--space-3);color:var(--color-paper-deep);font-size:.84rem;line-height:1.5;display:flex}.checkout-payment__assurance svg{flex:none}.checkout-payment>small{color:var(--color-paper-deep);line-height:1.5}.checkout-submit{width:100%}.form-alert--on-dark{color:var(--color-paper-raised)}.checkout-empty{justify-items:start;gap:var(--space-4);min-height:24rem;padding-block:var(--space-7) var(--space-9);align-content:center;display:grid}.checkout-empty h1{font-size:clamp(2.7rem,10vw,5.25rem);line-height:.96}.checkout-empty>p:not(.kicker){max-width:60ch;color:var(--color-ink-soft);line-height:1.6}.checkout-empty .primary-button{text-decoration:none}.payment-result{align-content:center;justify-items:start;gap:var(--space-4);min-height:30rem;padding-block:var(--space-7) var(--space-9);display:grid}.payment-result>svg{width:2rem;height:2rem;color:var(--color-accent-deep)}.payment-result h1{overflow-wrap:anywhere;max-width:13ch;font-size:clamp(2.7rem,10vw,5.25rem);line-height:.96}.payment-result>p:not(.kicker):not(.form-alert){max-width:60ch;color:var(--color-ink-soft);line-height:1.65}.payment-result__facts{width:min(100%,42rem);margin-block:var(--space-4);border-block-start:3px solid var(--color-ink)}.payment-result__facts>div{gap:var(--space-4);padding-block:var(--space-3);border-block-end:1px solid var(--color-rule);grid-template-columns:minmax(7rem,.45fr) minmax(0,1fr);display:grid}.payment-result__facts dt{color:var(--color-ink-soft)}.payment-result__facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.payment-result__actions{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.payment-result__actions .text-link{align-items:center;min-height:3rem;display:inline-flex}@media (hover:hover) and (pointer:fine){.checkout-field input:hover,.checkout-field textarea:hover{background:var(--color-paper-deep)}}@media (width>=40rem){.checkout-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-field--full{grid-column:1/-1}}@media (width>=60rem){.checkout-flow{column-gap:var(--space-8);grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);grid-template-areas:"heading heading""recipient payment""order payment"}.checkout-payment{position:sticky;inset-block-start:var(--space-5)}}@media (pointer:coarse){.checkout-field input,.checkout-submit,.payment-result__actions .primary-button,.payment-result__actions .text-link{min-height:3rem}}@media (prefers-reduced-motion:reduce){.checkout-status svg,.checkout-submit svg[data-lucide=loader-circle],.payment-result__spinner,.payment-result__actions svg[data-lucide=loader-circle]{animation-duration:3s}}
