@font-face{font-family:Winky Sans;font-style:italic;font-weight:300 900;font-display:swap;src:url(https://fonts.gstatic.com/s/winkysans/v3/ll87K2SDUiG1Hpf2p06bN6gYny4fvRQ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Winky Sans;font-style:italic;font-weight:300 900;font-display:swap;src:url(https://fonts.gstatic.com/s/winkysans/v3/ll87K2SDUiG1Hpf2p06bN6gYkS4f.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Winky Sans;font-style:normal;font-weight:300 900;font-display:swap;src:url(https://fonts.gstatic.com/s/winkysans/v3/ll85K2SDUiG1Hpf2p06bN6MokzYb.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Winky Sans;font-style:normal;font-weight:300 900;font-display:swap;src:url(https://fonts.gstatic.com/s/winkysans/v3/ll85K2SDUiG1Hpf2p06bN60okw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:italic;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/comicneue/v9/4UaarEJDsxBrF37olUeD96_RTplkLCND.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/comicneue/v9/4UaFrEJDsxBrF37olUeD96_Z5btx.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:italic;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/comicneue/v9/4UaarEJDsxBrF37olUeD96_RXp5kLCND.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/comicneue/v9/4UaErEJDsxBrF37olUeD_wHL8pxULg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/comicneue/v9/4UaHrEJDsxBrF37olUeD96rp5w.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/comicneue/v9/4UaErEJDsxBrF37olUeD_xHM8pxULg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-body: "Winky Sans", "Comic Neue", "Comic Sans MS", "Comic Mono", "Chalkboard SE", "Trebuchet MS", system-ui, sans-serif;--font-size-base: clamp(.82rem, .08vw + .79rem, .88rem);--font-size-small: clamp(.78rem, .08vw + .74rem, .84rem);--font-size-button: clamp(.94rem, .12vw + .92rem, 1.02rem);--font-size-h1: clamp(2.82rem, 1.5vw + 2.18rem, 4.2rem);--font-size-h2: clamp(1.56rem, .32vw + 1.42rem, 1.78rem);--font-size-h3: clamp(1.04rem, .16vw + .98rem, 1.16rem);--font-size-display-compact: clamp(2.14rem, 1vw + 1.76rem, 3.1rem);--font-size-title-compact: clamp(1.12rem, .14vw + 1.06rem, 1.28rem);--font-size-label-compact: clamp(.82rem, .08vw + .79rem, .9rem);--font-size-button-compact: clamp(.8rem, .08vw + .78rem, .88rem);--font-weight-regular: 400;--font-weight-medium: 400;--font-weight-strong: 700;--tracking-body: .01em;--tracking-heading: .04em;--tracking-button: .11em;--tracking-label: .06em;--tracking-button-compact: .08em;--button-text-nudge: .04rem;--button-text-nudge-compact: .02rem}:root{--space-2xs: .28rem;--space-xs: .5rem;--space-sm: .78rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--shell-gap: .58rem;--container-gap: .42rem;--page-stack-gap: .2rem;--space-title-margin-compact: .12rem;--space-heading-gap-compact: .04rem;--space-top-bar-padding-compact: .36rem;--space-label-margin-compact: .12rem}:root{--radius-sm: .58rem;--radius-md: .72rem;--radius-lg: 1rem;--control-height: 1.96rem;--control-height-sm: 1.88rem;--control-height-compact: 1.72rem;--nav-track-gap: .26rem;--nav-track-padding: .18rem;--control-padding-inline-compact: .42rem;--control-padding-block-start-compact: .16rem;--control-padding-block-end-compact: .04rem;--control-padding-block-start-footer-compact: .12rem;--control-padding-block-end-footer-compact: .04rem;--toggle-size: 2rem;--toggle-offset: .54rem;--border-width: .12rem}:root{--color-bg: #edf5f8;--color-surface: #ffffff;--color-surface-muted: #f3f7fb;--color-surface-raised: #e6eef6;--color-surface-strong: #d7e3ee;--color-text: #1f2a34;--color-text-soft: #67788a;--color-border: #c7d5e2;--color-border-strong: #9fb8cd;--color-accent: #339fe5;--color-accent-strong: #1a82c8;--color-accent-soft: #e0f2ff;--color-secondary: #27b48d;--color-secondary-strong: #16916f;--color-secondary-soft: #e4f7f1;--color-error: #e15663;--color-error-soft: #fdecee;--color-warning: #d7a132;--color-warning-soft: #fff5dd;--color-on-accent: #ffffff;--color-on-secondary: #ffffff;--shadow-panel: 0 0 0 1px rgba(15, 23, 42, .02), 0 1rem 2rem rgba(15, 23, 42, .06);--shadow-focus: 0 0 0 .18rem color-mix(in srgb, var(--color-accent) 30%, transparent);--shadow-nav-hover: 0 0 0 2px color-mix(in srgb, var(--color-accent) 52%, transparent), 0 0 1.1rem color-mix(in srgb, var(--color-accent) 26%, transparent);--shadow-nav-active: 0 0 0 2px color-mix(in srgb, var(--color-secondary) 84%, transparent), 0 0 1.1rem color-mix(in srgb, var(--color-secondary) 34%, transparent);--shadow-nav-active-strong: 0 0 0 2px color-mix(in srgb, var(--color-secondary) 100%, transparent), 0 0 1.5rem color-mix(in srgb, var(--color-secondary) 52%, transparent);--color-nav-active-hover-overlay: color-mix(in srgb, var(--color-secondary-strong) 42%, transparent);--bg: var(--color-bg);--primary: var(--color-text);--secondary: var(--color-secondary);--accent: var(--color-accent);--muted: var(--color-surface-muted)}:root[data-theme=dark],body[data-theme=dark]{--color-bg: #05111d;--color-surface: #071a2c;--color-surface-muted: #102538;--color-surface-raised: #17324d;--color-surface-strong: #234364;--color-text: #eef6fd;--color-text-soft: #bcc9d8;--color-border: #2a4968;--color-border-strong: #416a93;--color-accent: #57b7f3;--color-accent-strong: #88d3ff;--color-accent-soft: rgba(87, 183, 243, .18);--color-secondary: #35c7a5;--color-secondary-strong: #59e1c4;--color-secondary-soft: rgba(53, 199, 165, .18);--color-error: #ff707d;--color-error-soft: rgba(255, 112, 125, .14);--color-warning: #f0c65f;--color-warning-soft: rgba(240, 198, 95, .15);--color-on-accent: var(--color-bg);--color-on-secondary: var(--color-bg);--shadow-panel: 0 0 0 1px rgba(133, 186, 255, .05), 0 1.25rem 2.5rem rgba(0, 0, 0, .35);--shadow-focus: 0 0 0 .18rem color-mix(in srgb, var(--color-accent) 36%, transparent);--shadow-nav-hover: 0 0 0 2px color-mix(in srgb, var(--color-accent) 62%, transparent), 0 0 1.2rem color-mix(in srgb, var(--color-accent) 34%, transparent);--shadow-nav-active: 0 0 0 2px color-mix(in srgb, var(--color-secondary) 92%, transparent), 0 0 1.25rem color-mix(in srgb, var(--color-secondary) 42%, transparent);--shadow-nav-active-strong: 0 0 0 2px color-mix(in srgb, var(--color-secondary) 100%, transparent), 0 0 1.7rem color-mix(in srgb, var(--color-secondary) 58%, transparent);--color-nav-active-hover-overlay: color-mix(in srgb, var(--color-secondary-strong) 30%, transparent);--bg: var(--color-bg);--primary: var(--color-text);--secondary: var(--color-secondary);--accent: var(--color-accent);--muted: var(--color-surface-muted)}.app-root{position:relative;width:100%;max-width:min(98vw,92rem);min-height:calc(100vh - (var(--shell-gap) * 2));margin-inline:auto;display:flex;flex-direction:column;gap:var(--container-gap);padding:var(--shell-gap);border-radius:var(--radius-lg);background:var(--color-surface);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-panel)}.app-header{display:flex;align-items:flex-start;justify-content:space-between;min-height:calc(var(--control-height) * 1.3);padding:calc(var(--space-xs) * .18) calc(var(--toggle-size) + var(--space-sm)) calc(var(--space-xs) * .7) calc(var(--space-xs) * .18);border-bottom:var(--border-width) solid var(--color-border)}.app-title{color:var(--secondary);font-size:var(--font-size-display-compact);font-style:italic;font-weight:var(--font-weight-strong);letter-spacing:.04em;line-height:.92;margin-block-start:calc(var(--space-xs) * .2);margin-block-end:calc(var(--space-xs) * .15);display:inline-flex;align-items:flex-end;gap:.95rem}.app-title__text{display:inline-block;line-height:inherit}.app-title__emoji{display:inline-block;font-size:.83em;line-height:1;transform:translateY(-.01rem)}.header-actions{position:absolute;top:var(--toggle-offset);right:var(--toggle-offset);display:flex;align-items:flex-start;justify-content:flex-end;z-index:1}.app-main{flex:1;display:flex;flex-direction:column;gap:var(--page-stack-gap);padding:calc(var(--space-sm) * .64);border-radius:var(--radius-lg);background:var(--color-surface-muted);border:var(--border-width) solid var(--color-border)}.app-footer{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-xs) * .28);padding:calc(var(--space-xs) * .24) 0 0;border-top:var(--border-width) solid var(--color-border);text-align:center}.footer-description,.footer-copyright{color:var(--color-text-soft);font-size:var(--font-size-small)}.footer-description{max-width:46rem}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:calc(var(--space-xs) * .9)}input,button,.nav-button,.footer-button,.theme-toggle{font-family:inherit}button,.nav-button,.footer-button,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-block-size:var(--control-height);line-height:1;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease}.app-root button,.app-root .nav-button,.app-root .footer-button,.theme-toggle{--button-breathe-rest-scale: 1;--button-breathe-dip-scale: .95}.app-root button,.app-root .nav-button,.app-root .footer-button{font-weight:var(--font-weight-strong);letter-spacing:var(--tracking-button-compact);font-size:var(--font-size-button-compact)}button:focus-visible,.nav-button:focus-visible,.footer-button:focus-visible,.theme-toggle:focus-visible,input:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.app-nav{--nav-tab-count: 4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;gap:var(--nav-track-gap);width:100%;padding:var(--nav-track-padding);border-radius:calc(var(--radius-md) * .92);background:var(--color-surface-muted);border:var(--border-width) solid color-mix(in srgb,var(--color-border-strong) 88%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--color-surface) 65%,transparent);overflow:hidden}.app-nav:before{content:"";position:absolute;inset-block:var(--nav-track-padding);inset-inline-start:var(--nav-track-padding);width:calc((100% - (var(--nav-track-padding) * 2) - (var(--nav-track-gap) * (var(--nav-tab-count) - 1))) / var(--nav-tab-count));border-radius:calc(var(--radius-sm) * .96);background:var(--color-secondary);border:2px solid var(--color-secondary);box-shadow:var(--shadow-nav-active);transform:translate3d(calc(var(--nav-active-index, 0) * (100% + var(--nav-track-gap))),0,0);transition:transform .68s cubic-bezier(.32,.12,.16,1);will-change:transform;backface-visibility:hidden;z-index:0}.nav-button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;inline-size:100%;min-inline-size:0;min-block-size:var(--control-height-compact);padding-inline:calc(var(--space-sm) * .72);padding-block:0;border-radius:calc(var(--radius-sm) * .96);border:var(--border-width) solid transparent;background:transparent;color:var(--color-accent-strong);--nav-label-color: var(--color-accent-strong);--nav-label-transition-duration: .18s;--nav-label-transition-delay: 0s;text-transform:uppercase;white-space:normal;text-decoration:none;box-shadow:none;transform:scale(.92);line-height:1;transition:color .2s ease,border-color .14s ease,background-color .14s ease,box-shadow .14s ease,transform .26s cubic-bezier(.22,.9,.22,1);--button-breathe-rest-scale: .95;--button-breathe-dip-scale: .89;font-size:var(--font-size-h2)}.nav-button:after{content:"";position:absolute;inset:0;border-radius:inherit;background:transparent;opacity:0;transition:opacity .14s ease,background-color .14s ease;pointer-events:none;z-index:-1}.nav-button,.nav-button:hover,.nav-button:focus-visible,.nav-button--active,.nav-button--active.nav-button--hovered,.nav-button--active:focus-visible{text-decoration:none}.nav-button__label{display:inline-flex;align-items:center;justify-content:center;color:var(--nav-label-color);transition:color var(--nav-label-transition-duration) ease-in-out;transition-delay:var(--nav-label-transition-delay)}.nav-button__label-letter{display:inline-block;min-width:.34ch;transition:transform .04s cubic-bezier(.22,.8,.22,1),opacity .04s ease-in;will-change:transform}.nav-button__label-letter--space{min-width:.46ch}.nav-button--hovered,.nav-button:focus-visible{background:color-mix(in srgb,var(--color-accent-soft) 88%,var(--color-surface) 12%);border-color:color-mix(in srgb,var(--color-accent) 92%,transparent);color:var(--color-accent-strong);text-decoration:none;box-shadow:var(--shadow-nav-hover);transform:scale(.95);animation:button-breathe 2.6s ease-in-out infinite}.nav-button:focus-visible{box-shadow:var(--shadow-nav-hover),var(--shadow-focus)}.nav-button--hovered .nav-button__label-letter,.nav-button:focus-visible .nav-button__label-letter{animation:button-letter-wave 6s ease-in-out infinite;animation-delay:calc(.1s + (var(--letter-index) * .18s))}.nav-button--active{background:transparent;border-color:transparent;color:var(--color-on-secondary);--nav-label-color: var(--color-on-secondary);--nav-label-transition-duration: .65s;--nav-label-transition-delay: .1s;box-shadow:none;transform:scale(1);--button-breathe-rest-scale: 1;--button-breathe-dip-scale: .94;transition-delay:0s,0s,0s,0s,0s}html[data-theme-switching] .nav-button{--nav-label-transition-duration: .16s;--nav-label-transition-delay: 0s}.nav-button--active.nav-button--hovered,.nav-button--active:focus-visible{background:var(--color-secondary-strong);border-color:var(--color-secondary-strong);color:var(--color-on-secondary);box-shadow:var(--shadow-nav-active-strong),var(--shadow-focus);transform:scale(1);animation:button-breathe 2.4s ease-in-out infinite}.nav-button--active.nav-button--hovered:after,.nav-button--active:focus-visible:after{background:transparent;opacity:0}.theme-toggle{inline-size:var(--toggle-size);min-inline-size:var(--toggle-size);block-size:var(--toggle-size);min-block-size:var(--toggle-size);padding:0;border-radius:.9rem;border:var(--border-width) solid var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-text);display:grid;place-items:center}.app-root button.theme-toggle{inline-size:var(--toggle-size);min-inline-size:var(--toggle-size);block-size:var(--toggle-size);min-block-size:var(--toggle-size);padding:0;border:var(--border-width) solid var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-text)}.theme-toggle:hover,.theme-toggle:focus-visible{background:var(--color-accent-soft);border-color:var(--color-accent)}.app-root button.theme-toggle:hover,.app-root button.theme-toggle:focus-visible{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-text)}.theme-toggle__icon{font-size:1.08rem;line-height:1;transform:translate(.1rem,.005rem)}input[type=text],input[type=url],input[type=number]{inline-size:100%;min-block-size:var(--control-height);padding-block:var(--space-xs);padding-inline:var(--space-sm);border-radius:var(--radius-sm);border:var(--border-width) solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-body)}input::placeholder{color:var(--color-text-soft)}input:hover,input:focus-visible{border-color:var(--color-accent)}.app-root button{display:inline-flex;align-items:center;justify-content:center;min-block-size:var(--control-height-compact);padding-inline:var(--control-padding-inline-compact);padding-block:0;border-radius:var(--radius-sm);border:var(--border-width) solid var(--color-accent);background:var(--color-accent);color:var(--color-on-accent);line-height:1}.app-root button:hover,.app-root button:focus-visible{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:var(--color-on-accent);animation:button-breathe 2.5s ease-in-out infinite}.app-root button:disabled{opacity:.6;cursor:default}.footer-button{display:inline-flex;align-items:center;justify-content:center;min-block-size:var(--control-height-sm);padding-inline:.46rem;padding-block:0;border-radius:var(--radius-sm);border:var(--border-width) solid var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-accent-strong)}.footer-button:hover,.footer-button:focus-visible{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-strong);text-decoration:none;animation:button-breathe 2.7s ease-in-out infinite}.footer-button--donate{background:var(--color-secondary);border-color:var(--color-secondary-strong);color:var(--color-on-secondary)}.footer-button--donate:hover,.footer-button--donate:focus-visible{background:var(--color-secondary-strong);border-color:var(--color-secondary-strong);color:var(--color-on-secondary)}@keyframes button-breathe{0%,to{transform:scale(var(--button-breathe-rest-scale))}50%{transform:scale(var(--button-breathe-dip-scale))}}@keyframes button-letter-wave{0%,18%,to{transform:translateY(0)}36%{transform:translateY(-.2rem)}56%{transform:translateY(.08rem)}76%{transform:translateY(-.05rem)}}.page-section{inline-size:100%;display:flex;flex-direction:column;gap:var(--space-xs);padding:0;border-radius:0;background:transparent;border:0}.page-section__title{margin-block-start:var(--space-title-margin-compact);margin-block-end:0;font-size:var(--font-size-title-compact);color:var(--color-text)}.page-section__description{margin-block-start:0;margin-block-end:calc(var(--space-xs) * .12);color:var(--color-text-soft);font-size:var(--font-size-base)}.page-card,.page-empty-state,.recipe-list-item{display:flex;flex-direction:column;gap:var(--space-xs);padding:0;border-radius:0;background:transparent;border:0}.page-card__title,.page-empty-state__title,.recipe-list-item__title{display:block;margin-block-start:var(--space-title-margin-compact);margin-block-end:var(--space-heading-gap-compact);font-size:var(--font-size-label-compact);font-weight:var(--font-weight-strong);letter-spacing:var(--tracking-heading);line-height:1.06;color:var(--color-text)}.page-card__body,.page-empty-state__body,.recipe-list-item__meta{display:block;color:var(--color-text-soft);font-size:var(--font-size-base);line-height:1.35}.import-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:calc(var(--space-xs) * .5);padding:0;border-radius:0;background:transparent;border:0}.import-form__field{display:flex;flex-direction:column;gap:calc(var(--space-xs) * .3);min-inline-size:0;grid-column:1}.import-form__field label{padding-inline-start:1ch;margin-block-start:var(--space-label-margin-compact);margin-block-end:var(--space-label-margin-compact);color:var(--color-text-soft);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--font-size-label-compact)}.import-form__field input{inline-size:100%;block-size:var(--control-height);min-block-size:var(--control-height)}.import-form__parse-button{inline-size:auto;min-inline-size:12.5rem;block-size:var(--control-height);min-block-size:var(--control-height);align-self:end;border-width:var(--border-width);border-style:solid;border-color:color-mix(in srgb,var(--color-accent-strong) 86%,black 14%);border-radius:var(--radius-sm);box-shadow:inset 0 1px color-mix(in srgb,white 10%,transparent);line-height:1}.import-form__error{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--color-error-soft);color:var(--color-error);font-size:var(--font-size-small)}.import-ingredients{margin-block-start:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs);padding:0;border-radius:0;background:transparent;border:0}.import-ingredients>p{color:var(--color-text-soft);font-size:var(--font-size-small)}.import-ingredients__rows{display:flex;flex-direction:column;gap:var(--space-xs)}.import-ingredients__row{display:grid;grid-template-columns:1.8fr 1fr 1fr auto;gap:var(--space-xs);align-items:center;padding:var(--space-xs);border-radius:var(--radius-md);background:var(--color-surface-muted);border:var(--border-width) solid var(--color-border)}.import-ingredients__field{display:flex;flex-direction:column;gap:calc(var(--space-xs) * .45);color:var(--color-text-soft);text-transform:uppercase;letter-spacing:var(--tracking-label)}.import-ingredients__field input{font-size:var(--font-size-base)}.import-ingredients__remove{background:transparent;color:var(--color-error);border-color:var(--color-error);font-size:var(--font-size-small);padding-inline:var(--space-sm)}.import-ingredients__remove:hover,.import-ingredients__remove:focus-visible{background:var(--color-error-soft);border-color:var(--color-error)}.import-ingredients__add{margin-block-start:var(--space-xs);background:var(--accent);border-color:var(--accent);color:var(--color-on-accent);font-size:var(--font-size-small);inline-size:fit-content;padding-inline:var(--space-sm)}.import-save-form{margin-block-start:var(--space-xs);display:flex;flex-direction:column;gap:var(--space-xs)}.import-save-form__error{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--color-error-soft);color:var(--color-error);font-size:var(--font-size-small)}.import-save-form__success{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--color-secondary-soft);color:var(--color-secondary-strong);font-size:var(--font-size-small)}.import-save-form__submit{inline-size:100%;background:var(--secondary);border-color:var(--secondary)}.recipe-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.recipe-list-item__source{color:var(--accent);font-size:var(--font-size-small);word-break:break-all}.recipe-list-item__details{margin-block-start:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-md);background:var(--color-surface-muted);border:var(--border-width) solid var(--color-border)}.recipe-ingredients-list{list-style:none;display:flex;flex-direction:column;gap:calc(var(--space-xs) * .7);margin-block-start:var(--space-xs)}.recipe-ingredients-list__item{display:flex;flex-wrap:wrap;gap:.5ch}.recipe-ingredients-list__name{font-weight:var(--font-weight-strong)}.recipe-ingredients-list__meta{color:var(--color-text-soft)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100vh}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.42;letter-spacing:var(--tracking-body);padding:var(--shell-gap);transition:background-color .44s ease,color .44s ease;overflow-x:hidden}body,.app-root,.app-header,.app-nav,.app-nav:before,.nav-button,.app-main,.page-section,.page-card,.page-empty-state,.recipe-list-item,.import-form,.import-form__parse-button,.import-ingredients,.import-ingredients__row,.recipe-list-item__details,.theme-toggle,.footer-button,input[type=text],input[type=url],input[type=number]{transition-property:background-color,color,border-color,box-shadow;transition-duration:.44s;transition-timing-function:ease}.app-nav:before{transition-property:transform,background-color,border-color,box-shadow;transition-duration:.68s,.44s,.44s,.44s;transition-timing-function:cubic-bezier(.32,.12,.16,1),ease,ease,ease}html[data-theme-switching] *,html[data-theme-switching] *:before,html[data-theme-switching] *:after{animation:none!important}img,svg{max-inline-size:100%;block-size:auto}h1,h2,h3,label{font-weight:var(--font-weight-strong);letter-spacing:var(--tracking-heading);line-height:1.06}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3,label{font-size:var(--font-size-h3)}p{margin-block:0}a{color:var(--accent);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline}@media(min-width:48rem){.recipe-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:var(--container-gap)}.import-form{grid-template-columns:minmax(0,1fr) minmax(14rem,16rem);align-items:end}}
