@import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Amatic+SC:wght@400;700&family=Sorts+Mill+Goudy:ital@0;1&display=swap";:root{--app-bg: #f6f2ea;--surface-main: transparent;--surface-panel: #ffffff;--surface-soft: #f5f1e8;--border-soft: #d7d0c3;--border-subtle: rgba(122, 113, 93, .18);--shadow-soft: 0 10px 26px rgba(73, 61, 41, .07);--button-bg: #eee8de;--button-border: #d5ccbd;--button-text: #333333;--button-active-bg: #3f4f43;--button-active-border: #3f4f43;--button-active-text: #ffffff;--button-soft-bg: #edf4ee;--button-soft-border: #c9d8cb;--button-soft-text: #1b4332;--button-meaning-bg: #edf4ee;--button-meaning-border: #c9d8cb;--button-meaning-text: #1b4332;--button-shadow-hover: 0 8px 18px rgba(19, 29, 21, .08);--radius-shell: 12px;--radius-panel: 14px;--radius-control: 10px;--hero-min-height: 18rem;--hero-padding: 1.5rem;--hero-gap: 1.5rem;--hero-content-gap: 1rem;--hero-title-size: clamp(3rem, 6vw, 5rem);--hero-text-size: 1rem}html{box-sizing:border-box}*,:before,:after{box-sizing:inherit;margin:0;padding:0}html{font-family:Open Sans,sans-serif;background:radial-gradient(circle at top,#ffffffd1,#fff0 34%),linear-gradient(180deg,#ffffff85,#ffffff29),var(--app-bg)}body{min-height:100vh}input::placeholder,textarea::placeholder{transition:opacity .12s ease}input:focus::placeholder,textarea:focus::placeholder{opacity:0}h1,h2,h3{font-family:Amatic SC,cursive;font-weight:400}h2{font-size:2rem;margin-top:2rem;color:#444}.container{max-width:1520px;margin:0 auto;padding:1.4rem 1.4rem 2rem;display:grid;gap:1rem}.main{background-color:var(--surface-main);padding:0;width:100%;border:0}.app-message{margin-bottom:1rem;border-radius:var(--radius-panel);border:1px solid var(--border-soft);background-color:var(--surface-panel);padding:1rem 1.25rem;width:100%}.app-message--warning{background-color:#fff4e5;color:#7a4d00}.page-hero{position:relative;min-height:var(--hero-min-height);padding:var(--hero-padding);border-radius:var(--radius-panel);overflow:hidden}.page-hero--feature,.page-hero--catalog,.page-hero--split{border:1px solid rgba(94,125,104,.18)}.page-hero--feature{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:var(--hero-gap);align-items:end;background:linear-gradient(90deg,rgba(10,14,11,.48) 0%,rgba(10,14,11,.22) 34%,rgba(10,14,11,.04) 58%,transparent 78%),linear-gradient(180deg,#121a142e,#121a148f),radial-gradient(circle at top right,rgba(236,209,160,.22),transparent 34%),var(--home-hero-image) center / cover no-repeat}.page-hero--catalog{display:grid;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;gap:1rem;background:linear-gradient(90deg,rgba(10,14,11,.48) 0%,rgba(10,14,11,.22) 34%,rgba(10,14,11,.04) 58%,transparent 78%),linear-gradient(180deg,#121a143d,#121a148f),radial-gradient(circle at top right,rgba(236,209,160,.18),transparent 36%),var(--page-hero-image) center / cover no-repeat}.page-hero--split{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:var(--hero-gap);align-items:stretch;background:linear-gradient(90deg,rgba(10,14,11,.5) 0%,rgba(10,14,11,.24) 34%,rgba(10,14,11,.05) 58%,transparent 78%),linear-gradient(180deg,#121a1438,#121a148f),radial-gradient(circle at top right,rgba(236,209,160,.18),transparent 36%),var(--page-hero-image) center / cover no-repeat}.page-hero--image-layer{background:#263327}.page-hero--image-layer:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,14,11,.5) 0%,rgba(10,14,11,.24) 34%,rgba(10,14,11,.05) 58%,transparent 78%),linear-gradient(180deg,#121a1438,#121a148f),radial-gradient(circle at top right,rgba(236,209,160,.18),transparent 36%)}.page-hero__image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}.page-hero--image-layer>:not(.page-hero__image){position:relative;z-index:2}.page-hero__content{display:grid;gap:var(--hero-content-gap)}.page-hero__content>.page-hero__actions{margin-top:auto}.page-hero__aside{display:grid}.page-hero__eyebrow{margin:0;font-size:.95rem;font-weight:700;line-height:1.4;letter-spacing:.04em;color:#fff9efeb}.page-hero__title{margin:0;font-family:Amatic SC,cursive;font-size:clamp(3rem,6vw,4.9rem);line-height:.9;color:#fff7eb;text-shadow:0 6px 24px rgba(14,22,17,.3)}.page-hero__text{margin:0;max-width:34rem;font-size:var(--hero-text-size);line-height:1.6;color:#fff9efeb}.page-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;align-self:end}.page-hero__actions .button{border-color:#fff7e96b;background:#fff9ef24;color:#fff7eb;letter-spacing:.04em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.page-hero__actions .button:hover{background:#fff9ef38;border-color:#fff7e994;color:#fff7eb;box-shadow:0 10px 24px #0e16112e}.page-hero__actions .button:focus-visible{outline:2px solid rgba(255,247,233,.92);outline-offset:3px}@media screen and (min-width:680px){.section--grid{display:flex;flex-wrap:wrap;gap:1rem}}@media screen and (max-width:1023px){.container{padding-inline:0}}@media screen and (max-width:640px){.container{padding:.85rem 0 calc(5rem + env(safe-area-inset-bottom))}.main{padding:0}.page-hero{padding:1rem}.page-hero--feature,.page-hero--split{grid-template-columns:1fr;align-items:flex-start}}@media screen and (min-width:1024px){.section--grid{column-gap:1rem}}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,1px,1px);white-space:nowrap;border:0}:focus-visible{outline:3px solid #90caf9;outline-offset:2px}.is-kbd-source{box-shadow:inset 0 0 0 2px #ffd54f}.menu{width:100%;max-width:1520px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.menu__brand{flex:0 0 auto;color:#2f5d50;font-family:Amatic SC,cursive;font-size:clamp(2rem,4vw,2.8rem);line-height:.9}.menu__list{display:flex;justify-content:center;flex-wrap:wrap;list-style:none;gap:.6rem;margin:0;padding:0}.menu__item{display:inline-flex;align-items:center;justify-content:center;min-width:7.5rem;text-decoration:none;color:#5d564a;font-family:Sorts Mill Goudy,serif;font-weight:700;padding:.7rem 1.25rem;background-color:transparent;border:0;border-radius:999px;transition:color .2s ease,background-color .2s ease}.menu__item:hover,.active{color:#2b5c41}.active:hover{background-color:#fff;color:#2b5c41}@media screen and (max-width:640px){.menu{align-items:center;gap:0}.menu__brand{text-align:center}.menu__list{position:fixed;left:0;right:0;bottom:0;z-index:1100;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;justify-content:center;padding:.5rem max(.75rem,env(safe-area-inset-left)) calc(.5rem + env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-right));border-top:1px solid rgba(122,113,93,.2);background:#fffbf4f0;box-shadow:0 -10px 24px #493d291a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.menu__list li{display:flex;justify-content:center;min-width:0}.menu__item{width:100%;min-width:0;min-height:2.75rem;padding:.55rem .4rem;border-radius:10px;font-size:.92rem;line-height:1.1}.menu__item.active,.menu__item.active:hover{background-color:#e8f1e9;color:#1f4a34}}.header{display:flex;justify-content:center;padding-bottom:.85rem;border-bottom:1px solid rgba(122,113,93,.18)}@media screen and (min-width:680px){.header{justify-content:center}}.footer{margin-top:.5rem;padding:.5rem 0 0}.footer__meta{display:flex;flex-direction:column;gap:.5rem;align-items:center;text-align:center;color:#676154;font-size:.95rem;padding-top:1rem;border-top:1px solid rgba(122,113,93,.16)}@media screen and (min-width:680px){.footer__meta{flex-direction:row;justify-content:center}}.home-page{width:100%;--home-heading-content-gap: 1rem;--home-card-bg: rgba(255, 255, 255, .84);--home-card-border: rgba(122, 113, 93, .26);--home-muted-text: #6f6757;--home-main-column: minmax(0, 1fr);--home-side-column: minmax(0, 1fr);--home-plan-third-column: minmax(320px, 1.08fr)}.home-page__sheet{padding:2rem;border-radius:0;background:var(--surface-main);border:0;display:grid;gap:1.5rem}.home-page__hero{min-width:0;border-radius:0}.home-page__hero-content{grid-template-rows:auto auto auto 1fr;align-content:start;min-height:100%}.home-page__hero-action,.home-page__hero-action.button--ghost{justify-self:start;width:fit-content;margin-top:0;border-radius:var(--radius-control)}.home-page__hero-aside{justify-items:end;align-content:end}.home-page__hero-time{font-family:Sorts Mill Goudy,serif;font-size:clamp(2.1rem,3vw,2.9rem);line-height:.95;color:#fff9ef;text-shadow:0 4px 18px rgba(14,22,17,.34)}.home-page__panel{padding:0;border:0;border-radius:0;background:transparent}.home-page__overview{display:grid;gap:1.5rem}.home-page__top-grid{display:grid;grid-template-columns:var(--home-main-column) var(--home-side-column);gap:1.25rem;align-items:stretch}.home-page__panel-header p{margin-top:.35rem;color:#6a655c}.home-page__panel-header h2{margin:0;font-family:Amatic SC,cursive;font-size:2rem;font-weight:400;color:#444}.home-page__panel-header--with-action{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.home-page__panel-action{flex-shrink:0;text-decoration:none}.home-page__panel--today,.home-page__panel--weekly-tasks,.home-page__panel--shopping{display:flex;flex-direction:column;align-self:start}.home-page__cards{margin-top:var(--home-heading-content-gap)}.home-page__top-grid>.home-page__panel--today,.home-page__top-grid>.home-page__panel--shopping{align-self:stretch}.home-page__cards .cards{grid-template-columns:1fr;gap:1.25rem}.home-page__cards .card--overview{min-height:100%;padding:.85rem;background:var(--home-card-bg);border:1px solid var(--home-card-border);box-shadow:none;border-radius:0}.home-page__cards .card__image{height:135px}.home-page__cards .card__title{font-family:Open Sans,sans-serif;font-size:.9rem;font-weight:700;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:0 0 var(--home-heading-content-gap);color:#6f6757}.home-page__cards .card__content{gap:0;padding:.8rem 0 0}.home-page__cards .card__text{display:grid;grid-template-columns:minmax(5.5rem,auto) minmax(0,1fr);gap:.5rem;align-items:baseline;margin:0;padding:.45rem 0;border-bottom:1px solid rgba(122,113,93,.16)}.home-page__cards .card__text:first-child{padding-top:0}.home-page__cards .card__slot--overview{min-height:1.55rem;padding:0;background:transparent;box-shadow:none;border:0;border-radius:0;display:flex;align-items:center}.home-page__cards .card__slot--overview.card__slot--filled,.home-page__cards .card__slot--optional.card__slot--overview.card__slot--filled{padding:0}.home-page__cards .card__slot--overview.card__slot--empty{justify-content:flex-start;align-items:center}.home-page__cards .card__text--dinner .card__slot--overview,.home-page__cards .card__text--optional .card__slot--overview{background:transparent;box-shadow:none}.home-page__cards .card__subtitle{margin:0;flex-basis:auto;font-family:Open Sans,sans-serif;font-size:.8rem;font-weight:400;line-height:1.45;letter-spacing:.06em;text-transform:uppercase;color:#6a655c}.home-page__cards .card__slot-body,.home-page__cards .card__slot-actions{gap:.35rem}.home-page__cards .card__slot-title,.home-page__cards .card__slot-placeholder{margin:0;padding:0;text-align:left;line-height:1.45;color:#2f372f}.home-page__cards .card__slot-title{font-family:Sorts Mill Goudy,serif;font-size:1rem;font-weight:400}.home-page__cards .card__slot-placeholder{font-family:Open Sans,sans-serif;font-size:.92rem;font-weight:400;color:var(--home-muted-text);justify-content:flex-start}.home-page__cards .card__slot-icon-button{width:1.85rem;height:1.85rem}.home-page__cards .card__slot-actions .card__slot-title{order:-1}.home-page__cards .card__empty-message{margin:0;padding:.2rem 0 0;font-size:1rem;font-style:italic;line-height:1.45;color:var(--home-muted-text)}.home-page__cards .card__shopping{margin-top:1rem}.home-page__cards .card__shopping-list{gap:.45rem}.home-page__summary-card{display:grid;align-content:start;min-height:100%}.home-page__summary-content{padding:1.25rem;border:1px solid var(--home-card-border);background:var(--home-card-bg)}.home-page__summary-grid{display:grid;grid-template-columns:1fr;gap:0}.home-page__summary-box{display:grid;gap:.2rem;min-height:0;padding:.85rem 0;background:transparent;border:0;border-bottom:1px solid rgba(122,113,93,.16);box-shadow:none}.home-page__summary-box:first-child{padding-top:0}.home-page__summary-box:last-child{padding-bottom:0;border-bottom:0}.home-page__summary-value{font-family:Sorts Mill Goudy,serif;font-size:2rem;line-height:1;font-variant-numeric:tabular-nums;color:#2f372f}.home-page__summary-label,.home-page__summary-meta{color:#6a655c;line-height:1.5}.home-page__week-insights-grid{display:grid;gap:1.25rem;margin-top:var(--home-heading-content-gap)}.home-page__week-insights-grid .home-page__summary-card,.home-page__week-insights-grid .home-mood-card{min-height:100%}.home-page__weekly-tasks{margin-top:var(--home-heading-content-gap)}.home-page__panel--today .home-page__panel-header,.home-page__panel--weekly-tasks .home-page__panel-header,.home-page__panel--shopping .home-page__panel-header{min-height:5.75rem;padding-bottom:.9rem;border-bottom:1px solid rgba(122,113,93,.18)}.home-page__panel--today .home-page__panel-header{min-height:0;border-bottom:0;padding-bottom:0}.home-page__panel--weekly-tasks .home-page__panel-header,.home-page__panel--shopping .home-page__panel-header{min-height:0;padding-bottom:0;border-bottom:0}.home-page__today-card{display:flex;flex:1;margin-top:var(--home-heading-content-gap)}.home-page__today-card .card{min-height:0;flex:1}.home-page__panel--today .card--overview{padding:1rem;background:var(--home-card-bg);border:1px solid var(--home-card-border);box-shadow:none;border-radius:0}.home-page__panel--today .card__image,.home-page__panel--shopping .card__image{height:220px}.home-page__panel--today .card__content{gap:0;padding:1rem 0 0}.home-page__panel--today .card__text{display:grid;grid-template-columns:minmax(5.5rem,auto) minmax(0,1fr);gap:.75rem;align-items:baseline;margin:0;padding:.95rem 0;border-bottom:1px solid rgba(122,113,93,.16)}.home-page__panel--today .card__text:first-child{padding-top:0}.home-page__panel--today .card__text:last-child{padding-bottom:0;border-bottom:0}.home-page__panel--today .card__slot--overview{min-height:2.65rem;padding:0;background:transparent;box-shadow:none;border:0;border-radius:0;display:flex;align-items:center}.home-page__panel--today .card__slot--overview.card__slot--filled,.home-page__panel--today .card__slot--optional.card__slot--overview.card__slot--filled{padding:0}.home-page__panel--today .card__slot--overview.card__slot--empty{justify-content:flex-start;align-items:center}.home-page__panel--today .card__text--dinner .card__slot--overview,.home-page__panel--today .card__text--optional .card__slot--overview{background:transparent;box-shadow:none}.home-page__panel--today .card__subtitle{margin:0;flex-basis:auto;font-family:Open Sans,sans-serif;font-size:.8rem;font-weight:400;line-height:1.45;letter-spacing:.06em;text-transform:uppercase;color:#6a655c}.home-page__panel--today .card__text--optional .card__subtitle{font-size:.8rem;color:#6a655c}.home-page__panel--today .card__slot-body,.home-page__panel--today .card__slot-actions{gap:0}.home-page__panel--today .card__slot-title,.home-page__panel--today .card__slot-placeholder{margin:0;padding:0;text-align:left;font-weight:400;line-height:1.45;color:#2f372f}.home-page__panel--today .card__slot-title{font-family:Sorts Mill Goudy,serif;font-size:1rem}.home-page__panel--today .card__slot-placeholder{font-family:Open Sans,sans-serif;font-size:.92rem;color:var(--home-muted-text);justify-content:flex-start}.home-page__panel--today .card__empty-message{margin:0;padding:.2rem 0 0;font-family:inherit;font-size:1rem;font-style:italic;line-height:1.45;color:var(--home-muted-text)}.home-page__panel--shopping .shopping-card{flex:1}.home-page__panel--shopping .shopping-card--embedded{margin-top:var(--home-heading-content-gap);padding:1rem;background:var(--home-card-bg);border:1px solid var(--home-card-border);box-shadow:none;border-radius:0}.home-page__panel--shopping .shopping-card--embedded{display:flex;flex-direction:column;flex:1}.home-page__panel--shopping .shopping-card--embedded .card__content{padding:0}.home-page__panel--shopping .shopping-card--embedded .card__content{padding-top:0}.home-page__panel--shopping .shopping-card--embedded .card__content{min-height:0}@media(max-width:960px){.home-page__sheet{padding:1rem}.home-page__hero-aside{justify-items:start;align-content:start}.home-page__top-grid{grid-template-columns:1fr}.home-page__panel--today .home-page__panel-header,.home-page__panel--weekly-tasks .home-page__panel-header,.home-page__panel--shopping .home-page__panel-header{min-height:0}.home-page__panel-header--with-action{flex-direction:column;align-items:flex-start}.home-page__panel--today .card__image,.home-page__cards .card__image{height:180px}.home-page__summary-grid{grid-template-columns:1fr}}@media(min-width:680px){.home-page__cards .cards,.home-page__week-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.home-page__cards .cards{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:640px){.home-page__panel--today .card__image,.home-page__cards .card__image{height:150px}.home-page__panel--shopping .shopping-card--embedded .card__content{min-height:9.5rem}}.cards{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:680px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{display:flex;flex-direction:column;background-color:#eee;border-radius:20px;overflow:hidden}.card--overview{background-color:#eee;box-shadow:inset 0 0 0 1px #0000000f}.card__content{padding:1rem;display:flex;flex-direction:column;gap:.8rem;position:relative}.card__empty-message{margin:0;color:#6a655c;font-style:italic}.card__text{display:flex;align-items:flex-start;gap:.5rem}.card__text--dinner{margin-bottom:0}.card__text--optional{margin-top:.15rem}.card__subtitle{flex-basis:25%;font-weight:700;font-size:1.1rem;font-family:Sorts Mill Goudy,serif}.card__text--optional .card__subtitle{font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;color:#6e695d}.card__slot{flex-basis:75%;min-height:64px;padding:.4rem .5rem;border-radius:10px;box-shadow:inset 0 0 0 1px #0000000d;background:#f7f7f7;box-sizing:border-box;font:inherit;line-height:1.4;white-space:normal;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;display:flex;align-items:center;gap:.75rem;overflow:visible}.card__text--dinner .card__slot{background:#f3f7ff}.card__slot.is-drop-target{outline:2px dashed #b8c6ff;background:#eef3ff}.card__slot.is-kbd-source{box-shadow:inset 0 0 0 2px #99b7ff}.card__slot[draggable=true]{cursor:grab}.card__slot--empty{justify-content:center;border:2px dashed rgba(60,122,89,.28);background:#f9fcf8}.card__slot--filled{align-items:stretch;padding:.55rem}.card__slot--overview{min-height:52px;background:#fff}.card__slot--optional{min-height:52px;background:#fbfaf6;box-shadow:inset 0 0 0 1px #73674a24}.card__slot--optional.card__slot--empty{border-color:#73674a33;background:#fcfbf8}.card__slot--optional.card__slot--filled{padding:.45rem .55rem}.card__slot--overview.card__slot--filled{padding:.6rem .75rem}.card__slot--optional.card__slot--overview{min-height:44px}.card__slot--optional.card__slot--overview.card__slot--filled{padding:.5rem .65rem}.card__slot-image{width:72px;height:72px;border-radius:10px;object-fit:cover;flex-shrink:0}.card__slot-body{min-width:0;display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:.5rem}.card__slot-list{display:grid;gap:.45rem}.card__slot-title{font-family:Sorts Mill Goudy,serif;font-size:.96rem}.card__slot--overview .card__slot-title{font-size:1rem}.card__slot--optional .card__slot-title,.card__slot--optional.card__slot--overview .card__slot-title{font-size:.95rem}.card__slot--optional .card__slot-placeholder{color:#7b7468}.card__slot-placeholder{color:#4c6c58;text-align:center}.card__slot-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;min-width:0}.card__slot-actions[draggable=true]{cursor:grab}.card__slot--overview .card__slot-actions{gap:.4rem}.card__slot-icon-button{width:2rem;height:2rem;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;text-decoration:none;box-shadow:0 8px 18px #131d1524;transition:background-color .2s ease,color .2s ease}.card__slot-icon-button--detail{background:#fffaf2f0;color:#284737}.card__slot-icon-button--detail:hover{background:#fff}.card__slot-icon-button--remove{box-shadow:0 8px 18px #131d1524}.card__slot-icon-button--remove:hover{box-shadow:0 10px 20px #131d1529}.card__slot-detail-icon{font-family:Georgia,serif;font-size:1rem;font-style:italic;font-weight:700;line-height:1}.card__slot-actions .card__slot-title{min-width:0;flex:1}.card__shopping{display:grid;gap:.7rem;margin-top:.4rem;padding-top:.9rem}.card__shopping-header{display:grid;gap:.15rem}.card__shopping-title{margin:0;font-family:Open Sans,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6f6757}.card__shopping-hint,.card__shopping-empty{margin:0;color:#7a7368;font-size:.9rem}.card__shopping-empty{font-style:italic}.card__shopping-list{list-style:none;display:flex;flex-wrap:wrap;gap:.65rem;margin:0;padding:0}.card__shopping-chip{max-width:100%;padding:.3rem .5rem;border:0;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px #73674a24;color:#2e4134;font-family:Sorts Mill Goudy,serif;font-size:.84rem;line-height:1.35;cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease,color .18s ease,opacity .18s ease}.card__shopping-chip.is-selected{background:#fff;box-shadow:inset 0 0 0 1px #73674a24;color:#2e4134}.card__shopping-chip:not(.is-selected){opacity:.58}.card__toolbar{display:flex;gap:.5rem;justify-content:flex-end;padding:0 1rem .5rem;margin-top:.8rem}.card__header{display:contents}.card__image{display:block;width:100%;height:160px;object-fit:cover}.card__title{text-align:center;padding:.8rem 1rem 0;margin:0;border-radius:20px 20px 0 0}.card__image--after-title{margin-top:0}.home-mood-card{position:relative;display:flex;min-height:100%;overflow:hidden;background:linear-gradient(180deg,#141c141f,#141c1433),var(--home-mood-image) center / cover no-repeat;border:1px solid rgba(76,84,64,.18);isolation:isolate}.home-mood-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,#11131057,#1113102e 32%,#1113100f 62%,#11131029),linear-gradient(180deg,#16120c29,#16120c38);z-index:-1}.home-mood-card__overlay{display:grid;place-items:center;width:100%;min-height:100%;padding:1.5rem;color:#fff8ec}.home-mood-card__text{margin:0;max-width:24ch;font-family:Sorts Mill Goudy,serif;font-style:italic;font-size:clamp(1.35rem,1.8vw,1.7rem);font-weight:400;line-height:1.4;text-align:center;color:#fff8ecf5;text-shadow:0 3px 18px rgba(14,16,13,.22);text-wrap:balance}@media screen and (max-width:679px){.home-mood-card{min-height:420px}.home-mood-card__overlay{padding:1rem}}.shopping-card .card__content{display:grid;gap:.75rem;min-height:0;max-height:none;overflow:visible;padding:1rem}.shopping-card__section{display:grid;gap:.75rem}.shopping-card__item-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.shopping-card__item{width:fit-content;max-width:100%;background:#f8f7f3;box-shadow:inset 0 0 0 1px #73674a24;border-radius:999px;display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .5rem}.shopping-card__item.is-complete{opacity:.58}.shopping-card__toggle{display:grid;grid-template-columns:minmax(0,auto) auto;gap:.45rem;align-items:center;width:auto;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.shopping-card__check{width:.95rem;height:.95rem;margin-top:.02rem;order:2;border-radius:999px;box-shadow:inset 0 0 0 1px #73674a47}.shopping-card__check.is-complete{display:grid;place-items:center;background:#287a4d;box-shadow:none;color:#fff;font-size:.78rem;font-weight:700}.shopping-card__task-main{display:grid;gap:.14rem;order:1;min-width:0}.shopping-card__task-text{font-family:Sorts Mill Goudy,serif;font-size:.84rem;color:#2e4134;overflow-wrap:anywhere}.shopping-card__note-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem}.shopping-card__note-input{width:100%;min-height:2.35rem;padding:.45rem .7rem;border:1px solid rgba(115,103,74,.18);border-radius:var(--radius-control);background:#fff;box-shadow:inset 0 0 0 1px #ffffffb8;font:inherit;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.shopping-card__note-input:focus{outline:none;border-color:#2f5d5061;box-shadow:0 0 0 3px #2f5d5014;background:#fff}.shopping-card__note-input::placeholder{color:#6a655c9e}.shopping-card__remove{width:1rem;height:1rem;min-height:1rem;padding:0;border:0;background:transparent;color:#9f2f2f;cursor:pointer;font-size:.9rem;line-height:1}.shopping-card__empty{margin:0;padding:.15rem 0;color:var(--home-muted-text, #7a7368);font-style:italic}@media(max-width:860px){.shopping-card__note-form{grid-template-columns:1fr}}.pantry-card{padding:.85rem;background:var(--home-card-bg);border:1px solid var(--home-card-border);box-shadow:none;border-radius:0}.pantry-card__header{display:grid;gap:.45rem;padding-bottom:1rem;border-bottom:1px solid rgba(122,113,93,.16)}.pantry-card__title{margin:0}.pantry-card__text{margin:0;color:var(--home-muted-text);font-size:.92rem;line-height:1.45}.pantry-card__groups{display:flex;flex-direction:column;gap:.85rem;padding-top:1rem}.pantry-card__list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}.pantry-card__item{padding:.35rem .55rem;border:1px solid rgba(115,103,74,.14);border-radius:999px;background:#fff;color:#2e4134;font-family:Sorts Mill Goudy,serif;font-size:.92rem;line-height:1.35}.weekly-tasks-panel{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-tasks-panel__column{display:flex;flex-direction:column;min-width:0}.weekly-tasks-panel__column--prep{min-width:0}.weekly-tasks-panel__column--side{gap:1rem}.weekly-tasks-panel__block{display:flex;flex-direction:column;gap:var(--home-heading-content-gap, 1rem);padding:1rem;border:1px solid var(--home-card-border, var(--border-subtle));border-radius:0;background:var(--home-card-bg, rgba(255, 255, 255, .56))}.weekly-tasks-panel__subheader h3{margin:0;font-family:Open Sans,sans-serif;font-size:.9rem;font-weight:700;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:#6f6757}.weekly-tasks-panel__subheader p{margin:.3rem 0 0;color:#6a655c}.weekly-tasks-panel__item,.weekly-tasks-panel__note-item{background:#f8f7f3;box-shadow:inset 0 0 0 1px #73674a24;border-radius:12px}.weekly-tasks-panel__list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.weekly-tasks-panel__empty{margin:0;padding:.15rem 0;color:var(--home-muted-text, #7a7368);font-style:italic}.weekly-tasks-panel__item{display:grid;gap:.35rem;padding:.75rem .85rem}.weekly-tasks-panel__tasks{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.weekly-tasks-panel__task-item{display:grid;padding-top:.7rem;border-top:1px solid rgba(115,103,74,.16)}.weekly-tasks-panel__item.is-complete,.weekly-tasks-panel__task-item.is-complete,.weekly-tasks-panel__note-item.is-complete{opacity:.58}.weekly-tasks-panel__task-item:first-child{padding-top:0;border-top:0}.weekly-tasks-panel__day{font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:#6f6757}.weekly-tasks-panel__task-text{font-family:Sorts Mill Goudy,serif;font-size:1rem;color:#2e4134;overflow-wrap:anywhere}.weekly-tasks-panel__toggle{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:start;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.weekly-tasks-panel__check{width:1.3rem;height:1.3rem;margin-top:.06rem;order:2;border-radius:999px;box-shadow:inset 0 0 0 1px #73674a47}.weekly-tasks-panel__check.is-complete{display:grid;place-items:center;background:#287a4d;box-shadow:none;color:#fff;font-size:.9rem;font-weight:700}.weekly-tasks-panel__task-main{display:grid;gap:.2rem;order:1}.weekly-tasks-panel__recipe{font-family:Open Sans,sans-serif;color:#6a655c;font-size:.92rem}.weekly-tasks-panel__notes{display:grid;gap:.75rem}.weekly-tasks-panel__note-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem}.weekly-tasks-panel__note-input{width:100%;padding:.75rem .9rem;border:1px solid rgba(115,103,74,.18);border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #ffffffb8;font:inherit;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.weekly-tasks-panel__note-input:focus{outline:none;border-color:#2f5d5061;box-shadow:0 0 0 3px #2f5d5014;background:#fff}.weekly-tasks-panel__note-input::placeholder{color:#6a655c9e}.weekly-tasks-panel__notes-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.weekly-tasks-panel__note-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.65rem;align-items:center;padding:.75rem .85rem}.weekly-tasks-panel__note-item.is-complete{grid-template-columns:minmax(0,1fr) auto}.weekly-tasks-panel__note-item .weekly-tasks-panel__task-main{order:initial;align-self:center}.weekly-tasks-panel__note-item .weekly-tasks-panel__check{order:initial;margin-top:0}.weekly-tasks-panel__remove{align-self:center}.weekly-tasks-panel__note-check-button{display:grid;place-items:center;padding:0;border:0;background:transparent;cursor:pointer;align-self:center}@media(max-width:860px){.weekly-tasks-panel,.weekly-tasks-panel__note-form{grid-template-columns:1fr}}.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.7rem;padding:.65rem 1rem;border-radius:var(--radius-control);background-color:var(--button-bg);color:var(--button-text);font-family:Sorts Mill Goudy,serif;font-size:.98rem;line-height:1.2;border:1px solid var(--button-border);cursor:pointer;text-decoration:none;transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .2s ease}.button:hover,.button--active{background-color:var(--button-active-bg);border-color:var(--button-active-border);color:var(--button-active-text);box-shadow:var(--button-shadow-hover)}.button--new-recipe{background-color:var(--button-soft-bg);border-color:var(--button-soft-border);color:var(--button-soft-text)}.button--new-recipe:hover{background-color:var(--button-active-bg);border-color:var(--button-active-border);color:var(--button-active-text)}.button--ghost{color:var(--button-soft-text);background-color:var(--button-soft-bg);border-color:var(--button-soft-border)}.button--ghost:hover{color:var(--button-active-text);background-color:var(--button-active-bg);border-color:var(--button-active-border)}.button--add{color:var(--button-soft-text);background-color:var(--button-soft-bg);border-color:var(--button-soft-border)}.button--add:hover,.button--add.button--active{color:var(--button-active-text);background-color:var(--button-active-bg);border-color:var(--button-active-border)}.button--remove-control{flex:0 0 auto;width:1.9rem;height:1.9rem;min-height:1.9rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#fce8e8f5;color:#9f2f2f;cursor:pointer;font-size:1rem;line-height:1;text-decoration:none;transition:background-color .2s ease,color .2s ease}.button--remove-control:hover{background:#f6d4d4;color:#7e1d1d}.button--danger{background-color:#f8e8e6;border-color:#e5c8c3}.button:disabled,.button:disabled:hover,.button:disabled:active,.button:disabled:focus{background-color:#ece8df;border-color:#d8d0c4;color:#8a8378;box-shadow:none;cursor:not-allowed;pointer-events:none}.buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.buttons--suitability{gap:.5rem;justify-content:center}.buttons--suitability .button{background-color:var(--button-meaning-bg);border-color:var(--button-meaning-border);color:var(--button-meaning-text)}.buttons--suitability .button:hover,.buttons--suitability .button--active{background-color:var(--button-active-bg);border-color:var(--button-active-border);color:var(--button-active-text)}.recipes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.recipe{list-style:none;position:relative;min-height:0;border-radius:0;overflow:hidden;background:var(--page-card-bg, rgba(255, 255, 255, .84));border:1px solid var(--page-card-border, rgba(122, 113, 93, .26));box-shadow:none;transition:box-shadow .2s ease,transform .2s ease}.recipe--selected{box-shadow:0 0 0 3px #2347334d}.recipe__link{display:block;color:inherit;text-decoration:none;cursor:pointer}.recipe__link-button{width:100%;padding:0;border:0;background:transparent;text-align:inherit;position:relative;display:grid;align-content:start;min-height:100%}.recipe__link:focus-visible{outline:3px solid #90caf9;outline-offset:3px}.recipe__img{position:relative;overflow:hidden;background:#ece8de;aspect-ratio:1 / .82}.img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.recipe__link:hover .img,.recipe:hover .img{transform:scale(1.03)}.recipe__title{margin:0;padding:.95rem 1rem 1.05rem;min-height:5rem;display:flex;align-items:flex-start;justify-content:center;text-align:center;font-family:Sorts Mill Goudy,serif;font-size:1.18rem;line-height:1.2;color:#2f372f;overflow-wrap:anywhere}.recipe__detail-link{position:absolute;top:.6rem;right:.6rem;z-index:2;width:2.2rem;height:2.2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fffaf2f5;color:#284737;text-decoration:none;box-shadow:0 8px 18px #131d151f;transition:background-color .2s ease}.recipe__detail-link:hover{background:#fff}.recipe__detail-icon{font-family:Georgia,serif;font-size:1rem;font-style:italic;font-weight:700;line-height:1}@media screen and (min-width:680px){.recipes{grid-template-columns:repeat(4,minmax(0,1fr))}}@media screen and (min-width:1024px){.recipes{grid-template-columns:repeat(6,minmax(0,1fr))}}.recipes-page{padding:2rem;display:grid;gap:1.5rem;background:var(--surface-main);--page-card-bg: rgba(255, 255, 255, .84);--page-card-border: rgba(122, 113, 93, .26);--page-muted-text: #6f6757}.recipes__hero{min-width:0;border-radius:0}.recipes__hero-content{min-width:0;align-content:start}.recipes__filters{display:grid;gap:.6rem;margin-top:.5rem}.recipes__filters .buttons,.recipes__filters .buttons--suitability{margin:0}.recipes__planner{display:grid;gap:1rem;margin:0;padding:0;border:0;border-radius:0;background:transparent}.recipes__planner-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.recipes__planner-clear-all{flex-shrink:0}.recipes__planner-board{overflow-x:auto;padding-bottom:.25rem}.recipes__planner-board.is-pointer-dragging,.recipes__planner-board.is-pointer-dragging *{user-select:none;-webkit-user-select:none}.recipes__planner-grid{display:grid;grid-template-columns:minmax(104px,120px) repeat(7,minmax(132px,1fr));gap:.65rem;min-width:1120px;width:100%}.recipes__planner-corner,.recipes__planner-day,.recipes__planner-slot-label{display:flex;align-items:center;justify-content:center;border-radius:14px;border:0;text-align:center;font-family:Sorts Mill Goudy,serif}.recipes__planner-corner,.recipes__planner-day{min-height:64px;padding:.95rem .8rem;background:#dcecdf;color:#1e3d2d}.recipes__planner-day{flex-direction:column;gap:.2rem}.recipes__planner-day-count{font-size:.82rem;color:#456451}.recipes__planner-slot-label{min-height:82px;padding:.75rem;background:#edf4ee;color:#2c4a38}.recipes__planner-slot-label--optional{min-height:82px;background:#f4f0e6;color:#655d4f;font-size:.95rem;letter-spacing:.04em}.recipes__planner-cell{min-height:82px;padding:.75rem;border:1px dashed #bfd1c2;border-radius:18px;background:repeating-linear-gradient(-45deg,#fcfdfb,#fcfdfb 12px,#f3f8f3 12px 24px);color:#335342;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;position:relative;transition:box-shadow .2s ease,border-color .2s ease}.recipes__planner-cell--optional{min-height:82px;background:repeating-linear-gradient(-45deg,#fdfcf9,#fdfcf9 12px,#f7f3ec 12px 24px);border-color:#d5ccbd;color:#5e5648}.recipes__planner-cell:hover{border-color:#89aa92}.recipes__planner-cell.is-filled{border-style:solid;border-color:#9dbfa5;background:linear-gradient(180deg,#eef7f1,#deefe3);box-shadow:inset 0 0 0 1px #3c7a5914}.recipes__planner-cell--optional.is-filled{border-color:#ccbfa8;background:linear-gradient(180deg,#f8f3ea,#efe6d8);box-shadow:inset 0 0 0 1px #73674a1f}.recipes__planner-cell.is-active-target{border-color:#3c7a59;box-shadow:0 0 0 3px #3c7a5929}.recipes__planner-cell.is-duplicate-source{border-color:#2c4a38;box-shadow:0 0 0 3px #2c4a3824}.recipes__planner-cell.is-drop-target{border-color:#3c7a59;box-shadow:0 0 0 4px #3c7a5933}.recipes__planner-cell.is-drag-source{opacity:.55}.recipes__planner-move-button{cursor:grab}.recipes__planner-slot-actions{align-self:flex-end;display:inline-flex;align-items:center;gap:.35rem}.recipes__planner-copy-button,.recipes__planner-move-button{width:1.85rem;height:1.85rem;border:1px solid rgba(47,79,60,.12);border-radius:999px;background:#ffffffeb;color:#2f4f3c;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;box-shadow:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.recipes__planner-copy-button:hover,.recipes__planner-move-button:hover{background:#fff;border-color:#2f4f3c38}.recipes__planner-copy-button.is-active{background:var(--button-active-bg);border-color:var(--button-active-border);color:var(--button-active-text)}.recipes__planner-cell-state{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:#537462}.recipes__planner-cell-title{font-family:Sorts Mill Goudy,serif;font-size:.94rem;line-height:1.25;min-width:0;overflow-wrap:normal;word-break:normal}.recipes__planner-cell-list{display:grid;gap:.45rem;min-width:0}.recipes__planner-pill{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem;min-width:0;padding:.35rem .45rem;border-radius:0;background:var(--page-card-bg);border:1px solid var(--page-card-border);cursor:grab}.recipes__planner-pill .recipes__planner-cell-title{overflow:hidden;text-overflow:ellipsis}.recipes__planner-pill-remove{justify-self:end}.recipes__planner-drag-ghost{position:fixed;z-index:1000;max-width:260px;padding:.55rem .8rem;border-radius:14px;background:#244432f0;color:#fff;box-shadow:0 14px 28px #16271d3d;pointer-events:none;font-family:Sorts Mill Goudy,serif;line-height:1.25}.recipes__planner-pill-remove{width:1.9rem;height:1.9rem;min-height:1.9rem}.recipes__planner-pill-remove:hover{box-shadow:0 10px 20px #131d1529}.recipes__planner-title{margin:0;color:#234733}.recipes__planner-text{margin:.25rem 0 0;color:var(--page-muted-text);line-height:1.5}.recipes__picker-warning{padding:.8rem .95rem;border-radius:12px;background:#fff4e5;color:#7a4d00;border:1px solid #f0d2a4;line-height:1.5}.recipes__picker-warning--sticky{margin:0}.recipes__plan-message{margin:0;padding:.85rem 1rem;border-radius:0;background:#eef7f1;color:#1f4a34;border:1px solid rgba(47,93,80,.18)}.recipes-page .recipes{margin:0}@media screen and (max-width:1023px){.recipes-page{padding:1rem}.recipes__planner-grid{gap:.5rem}.recipes__planner-cell-title{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.recipes__planner-pill{min-width:0}}@media screen and (max-width:679px){.recipes__hero{align-items:flex-start}.recipes__planner-clear-all{width:100%}}.recipe-library-page{padding:2rem;display:grid;gap:1.5rem;background:var(--surface-main);--page-card-bg: rgba(255, 255, 255, .84);--page-card-border: rgba(122, 113, 93, .26);--page-muted-text: #6f6757}.recipe-library__hero{min-width:0;border-radius:0}.recipe-library__panel{padding:0;border:0;border-radius:0;background:transparent}.recipe-library__hero-content{min-width:0;min-height:100%;align-content:start}.recipe-library__top-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.82fr);gap:1.25rem;align-items:stretch}.recipe-library__action{justify-self:start;width:fit-content;flex-shrink:0;margin-top:0}.recipe-library__panel--controls,.recipe-library__panel--summary{display:flex;flex-direction:column}.recipe-library__panel--controls,.recipe-library__panel--summary{padding:0;border:0;background:transparent}.recipe-library__panel--summary-mobile{display:none}.recipe-library__search{display:grid;gap:.5rem}.recipe-library__search-label{color:#6f6757;font-size:.9rem;font-weight:700;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}.recipe-library__subheading{margin:0;font-family:Open Sans,sans-serif;font-size:.9rem;font-weight:700;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:#6f6757}.recipe-library__search-input{width:100%;min-height:48px;padding:.8rem .95rem;border:1px solid rgba(115,103,74,.18);border-radius:12px;background:#fff;font:inherit}.recipe-library__search-input:focus{outline:none;border-color:#2f5d5061;box-shadow:0 0 0 3px #2f5d5014}.recipe-library__filters{display:grid;gap:.6rem;margin-top:1.75rem;margin-bottom:1rem}.recipe-library__filters .buttons,.recipe-library__filters .buttons--suitability{margin:0}.recipe-library__panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.recipe-library__panel-header--catalog{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.recipe-library__panel-header--filters{margin-bottom:1.4rem}.recipe-library__panel-header h2,.recipe-library__panel-header p{margin:0}.recipe-library__panel-header h2{font-family:Amatic SC,cursive;font-size:2rem;font-weight:400;color:#444}.recipe-library__panel-header p{margin-top:.35rem;color:var(--page-muted-text)}.recipe-library__clear-button{flex-shrink:0}.recipe-library__filter-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(115,103,74,.12)}.recipe-library__filter-summary--empty{visibility:hidden}.recipe-library__filter-summary-text{margin:0;color:var(--page-muted-text);font-size:.85rem;font-weight:600;line-height:1.45}.recipe-library__sort{flex-shrink:0;min-width:180px}.recipe-library__sort-select{width:100%;min-height:2.35rem;padding:.45rem .65rem;border:1px solid rgba(115,103,74,.18);border-radius:var(--radius-control);background:#fff;font:inherit;font-size:.9rem}.recipe-library__sort-select:focus{outline:none;border-color:#2f5d5061;box-shadow:0 0 0 3px #2f5d5014}.recipe-library__summary-content{flex:1;display:flex;padding:1.25rem;border:1px solid var(--page-card-border);background:var(--page-card-bg)}.recipe-library__summary-grid{display:grid;gap:0;width:100%;margin-top:auto}.recipe-library__summary-box{display:grid;gap:.2rem;padding:.85rem 0;background:transparent;border:0;border-bottom:1px solid rgba(122,113,93,.16);box-shadow:none}.recipe-library__summary-box:first-child{padding-top:0}.recipe-library__summary-box:last-child{padding-bottom:0;border-bottom:0}.recipe-library__summary-value{font-family:Sorts Mill Goudy,serif;font-size:2rem;line-height:1;color:#2f372f}.recipe-library__summary-label{color:var(--page-muted-text);line-height:1.5}.recipe-library__grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;padding:0}.recipe-library__card{display:grid;grid-template-rows:1fr auto;background:var(--page-card-bg);border:1px solid var(--page-card-border);box-shadow:none}.recipe-library__cover-link{display:grid;grid-template-rows:auto 1fr;color:inherit;text-decoration:none;height:100%}.recipe-library__image{display:block;width:100%;aspect-ratio:1 / 1;height:auto;object-fit:cover}.recipe-library__body{display:flex;flex-direction:column;gap:.75rem;padding:1rem;min-height:100%}.recipe-library__body-header{display:grid;gap:.45rem;padding-bottom:.75rem;border-bottom:1px solid rgba(122,113,93,.16)}.recipe-library__card-title{margin:0;font-family:Sorts Mill Goudy,serif;font-size:1.2rem;line-height:1.2;color:#2f372f}.recipe-library__meta-group{display:grid;gap:.18rem;min-height:1.5rem}.recipe-library__meta{margin:0;color:var(--page-muted-text);font-size:.9rem;line-height:1.5}.recipe-library__meta--placeholder{visibility:hidden}.recipe-library__actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:0;padding:0 1rem 1rem}.recipe-library__load-more{display:grid;justify-items:center;gap:.75rem;margin-top:1.5rem}.recipe-library__load-more-text{margin:0;color:var(--page-muted-text);text-align:center}.recipe-library__link{text-decoration:none}.recipe-library__empty{display:grid;gap:.9rem;justify-items:start;padding:1rem 0 .25rem}.recipe-library__empty p{margin:0;color:var(--page-muted-text)}@media screen and (max-width:1023px){.recipe-library-page{padding:1rem}}@media screen and (max-width:679px){.recipe-library__hero{padding:1rem}.recipe-library__top-grid{grid-template-columns:1fr}.recipe-library__panel--summary-desktop{display:none}.recipe-library__panel--summary-mobile{display:flex}.recipe-library__hero{align-items:flex-start}.recipe-library__grid{grid-template-columns:1fr}.recipe-library__panel-header--catalog{align-items:flex-start;flex-direction:column}.recipe-library__panel-header--filters{padding-bottom:.9rem}.recipe-library__filter-summary{align-items:flex-start;flex-direction:column}.recipe-library__filter-summary--empty{display:none}.recipe-library__sort{width:100%;min-width:0}}@media screen and (min-width:960px){.recipe-library__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.recipe-form-page{padding:2rem;display:grid;gap:1.5rem;background:var(--surface-main);--page-card-bg: rgba(255, 255, 255, .84);--page-card-border: rgba(122, 113, 93, .26);--page-muted-text: #6f6757}.recipe-form-page__hero{min-width:0;border-radius:0}.recipe-form-page__hero-content{min-height:100%;align-content:start;min-width:0}.recipe-form-page__back-link{display:inline-flex;align-items:center;gap:.45rem;width:fit-content;margin-bottom:.25rem;padding:0;border:0;background:transparent;color:#fff9efeb;text-decoration:none;font:inherit;font-size:.95rem;font-weight:700;letter-spacing:.04em;line-height:1.4}.recipe-form-page__back-link:hover{color:#fff7eb}.recipe-form-page__hero-actions{align-self:end;margin-top:auto}.recipe-form-page__hero-actions .button--danger{border-color:#f8d0cab8;background:#74231fb8;color:#fff7eb}.recipe-form-page__hero-actions .button--danger:hover{border-color:#ffe0dbe0;background:#8b2a25d1;color:#fff7eb}.recipe-form-page__form{display:grid;gap:1.5rem}.recipe-form-page__message{margin:0;padding:.85rem 1rem;border:1px solid #f0d2a4;border-radius:0;background:#fff4e5;color:#7a4d00;line-height:1.5}.recipe-form-page__panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.recipe-form-page__panel--empty{display:grid;gap:1rem;justify-items:start}.recipe-form-page__section-header{display:grid;gap:.3rem;margin-bottom:1rem}.recipe-form-page__section-header h2{margin:0;font-family:Amatic SC,cursive;font-size:2rem;font-weight:400;color:#444}.recipe-form-page__section-header p{margin:0;color:var(--page-muted-text);line-height:1.5}.recipe-form-page__field-grid{display:grid;gap:1rem}.recipe-form-page__subsection{container-type:inline-size;padding:1rem;border:1px solid var(--page-card-border);border-radius:0;background:var(--page-card-bg)}.recipe-form-page__field-grid--top{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-form-page__field-grid--classification{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.recipe-form-page__field-grid--classification>.recipe-form-page__subsection{height:100%}.recipe-form-page__field-grid--text{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-form-page__footer-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}.recipe-form-page__upload-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}.recipe-form-page__task-editor{display:grid;gap:.75rem}.recipe-form-page__task-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem}.recipe-form-page__task-list{list-style:none;display:grid;gap:.5rem;margin:0;padding:0}.recipe-form-page__task-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.65rem .75rem;border-radius:var(--radius-control);background:#f8f7f3;box-shadow:inset 0 0 0 1px #73674a24}.recipe-form-page__task-text{font-family:Sorts Mill Goudy,serif;font-size:1rem;line-height:1.35;color:#2f372f;overflow-wrap:anywhere}.recipe-form-page__task-empty{margin:0;color:var(--page-muted-text);font-style:italic;line-height:1.45}.form{background:transparent;border-radius:0;padding:0;margin:0}.form__item{margin-bottom:1rem}.form__item.recipe-form-page__subsection{margin-bottom:0}.form__item:last-child{margin-bottom:0}.form__item--photos{margin-bottom:0}.form__label{display:block;margin-bottom:.45rem;color:var(--page-muted-text);font-size:.9rem;font-weight:700;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}.form__required-mark{color:#9f2f2f}.form__input{width:100%;min-height:48px;padding:.8rem .95rem;border:1px solid rgba(115,103,74,.18);border-radius:12px;background:#fff;color:#2f372f;font:inherit}.form__input::placeholder,.form__textarea::placeholder{color:#918a7f}.form__textarea{min-height:180px;resize:vertical}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.button--file{min-width:9rem}.form__checkbox-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.form__checkbox-label{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:2.7rem;padding:.55rem .45rem;border-radius:var(--radius-control);border:1px solid var(--button-border);background-color:var(--button-bg);color:var(--button-text);font-family:Sorts Mill Goudy,serif;font-size:.98rem;line-height:1.2;text-align:center;overflow-wrap:anywhere;cursor:pointer;text-decoration:none;transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .2s ease}.form__checkbox-label:hover,.form__checkbox-label.is-selected{background-color:var(--button-active-bg);border-color:var(--button-active-border);color:var(--button-active-text)}.form__checkbox-label:hover{box-shadow:var(--button-shadow-hover)}.form__checkbox-label.is-disabled{opacity:.48;cursor:not-allowed}.form__checkbox{position:absolute;opacity:0;pointer-events:none}.form__previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.85rem;margin-top:1rem}.form__preview-wrap{display:grid;gap:.45rem;padding:.75rem;background:var(--page-card-bg);border:1px solid var(--page-card-border);box-shadow:none}.form__preview{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:12px}.form__preview--cover{outline:2px solid #8caf97;outline-offset:2px}.form__preview-meta{display:flex;justify-content:space-between;gap:.75rem;align-items:center;color:var(--page-muted-text);font-size:.84rem;line-height:1.4}.form__preview-remove{flex-shrink:0}.form__note{margin:0;color:var(--page-muted-text);line-height:1.5}.form__filenames{display:grid;gap:.45rem;margin-top:1rem}.form__filename{padding:.75rem .9rem;background:var(--page-card-bg);border:1px solid var(--page-card-border);box-shadow:none;color:#4f4a41;overflow-wrap:anywhere}.form__fieldset{border:none;padding:0;margin:0 0 1rem;min-inline-size:0}.form__fieldset>legend.form__label{display:block;margin-bottom:.65rem}.form__input:focus-visible,select.form__input:focus-visible,textarea.form__input:focus-visible{outline:none;border-color:#2f5d5061;box-shadow:0 0 0 3px #2f5d5014}.form__checkbox-label:has(.form__checkbox:focus-visible){outline:3px solid #90caf9;outline-offset:3px}@container (max-width: 27rem){.form__checkbox-group{grid-template-columns:repeat(2,minmax(0,1fr))}}.button:focus-visible,.button--file:focus-visible,.form__preview-remove:focus-visible{outline:3px solid #90caf9;outline-offset:3px}@media screen and (max-width:959px){.recipe-form-page{padding:1rem}.recipe-form-page__field-grid--top,.recipe-form-page__field-grid--classification,.recipe-form-page__field-grid--text{grid-template-columns:1fr}}@media screen and (max-width:679px){.form__checkbox-group{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-form-page__task-form{grid-template-columns:1fr}}.ingredient-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;align-items:stretch}.ingredient-editor__add,.ingredient-editor__list{min-width:0}.ingredient-editor__list{display:grid;align-content:start;padding-top:1.665rem}.ingredient-row{display:grid;grid-template-columns:minmax(5.5rem,.45fr) minmax(7rem,.55fr) minmax(12rem,1fr) auto;gap:.5rem;align-items:center}.ingredient-row .form__input,.ingredient-row .button--add{height:48px;min-height:48px;box-sizing:border-box}.form__input--amount{min-width:60px}.form__input--unit{min-width:100px}.form__input--item{flex:1;min-width:150px}.ingredient-list{display:block;margin:0;padding-left:1.2rem;list-style-type:disc;color:#4f4a41;line-height:1.7}.ingredient-item{padding-left:.1rem}.ingredient-item+.ingredient-item{margin-top:.35rem}.ingredient-text{margin-right:.5rem}.ingredient-item .button--remove-control{display:inline-flex;vertical-align:middle}.ingredient-empty{margin:0;color:var(--page-muted-text, #6f6757);font-style:italic;line-height:1.45}.button--add{min-width:5.75rem;padding-inline:1rem;font-weight:400}@container (max-width: 72rem){.ingredient-editor{grid-template-columns:1fr}.ingredient-editor__list{padding-top:0}}@container (max-width: 42rem){.ingredient-row{grid-template-columns:repeat(2,minmax(0,1fr))}.form__input--item,.ingredient-row .button--add{grid-column:1 / -1}.ingredient-row .button--add{justify-self:start}}@container (max-width: 30rem){.ingredient-row{grid-template-columns:1fr}.ingredient-row .button--add{justify-self:stretch}}@media screen and (max-width:959px){.ingredient-editor{grid-template-columns:1fr}.ingredient-editor__list{padding-top:0}}@media screen and (max-width:679px){.ingredient-row{grid-template-columns:1fr}}.recipe-confirm{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:1.25rem;background:#12151294}.recipe-confirm__panel{width:min(100%,30rem);display:grid;gap:1rem;padding:1.4rem;border:1px solid rgba(115,103,74,.18);border-radius:var(--radius-panel);background:var(--surface-panel);box-shadow:var(--shadow-soft)}.recipe-confirm__title{margin:0;font-family:Amatic SC,cursive;font-size:2rem;font-weight:400;color:#444}.recipe-confirm__text{margin:0;color:#4f4a41;line-height:1.55}.recipe-confirm__actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.recipe-detail-page{padding:2rem;display:grid;gap:1.5rem;background:var(--surface-main);--page-card-bg: rgba(255, 255, 255, .84);--page-card-border: rgba(122, 113, 93, .26);--page-muted-text: #6f6757}.recipe-detail-page__panel{padding:0;border:0;border-radius:0;background:transparent}.recipe-detail-page__hero{min-width:0;border-radius:0}.recipe-detail-page__hero-content{display:flex;flex-direction:column;min-height:100%;min-width:0}.recipe-detail-page__hero-back{appearance:none;display:inline-flex;width:fit-content;align-items:center;justify-content:center;gap:.45rem;padding:0;border-radius:999px;border:0;background:transparent;color:#fff9efeb;text-decoration:none;font:inherit;font-size:.95rem;font-weight:700;letter-spacing:.04em}.recipe-detail-page__hero-back-arrow{font-size:1.1em;line-height:1}.recipe-detail-page__hero-back:hover{color:#fff7eb}.recipe-detail-page__hero-header{display:flex;flex:1;flex-direction:column;gap:var(--hero-content-gap);min-height:0}.recipe-detail-page__hero-aside{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:var(--hero-content-gap);min-height:0}.recipe-detail-page__hero-meta{display:grid;gap:.55rem}.recipe-detail-page__hero-meta-text{display:grid;gap:0;min-height:3.2em}.recipe-detail__actions{justify-content:flex-start;align-self:flex-start;margin-top:auto}.recipe-detail__actions .button--danger{border-color:#f8d0cab8;background:#74231fb8;color:#fff7eb}.recipe-detail__actions .button--danger:hover{border-color:#ffe0dbe0;background:#8b2a25d1;color:#fff7eb}.recipe-detail-page__top-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:1.25rem;align-items:stretch}.recipe-detail-page__top-grid>.recipe-detail-page__panel{display:grid;grid-template-rows:auto 1fr;min-height:100%}.recipe-detail-page__top-grid .recipe-detail__subsection{height:100%}.recipe-detail__content{display:grid;gap:0}.recipe-detail__section-header{display:grid;gap:.35rem;margin-bottom:1rem}.recipe-detail__section-header h2{margin:0;font-family:Amatic SC,cursive;font-size:2rem;font-weight:400;color:#444}.recipe-detail__section{display:grid;gap:.65rem}.recipe-detail__section+.recipe-detail__section{padding-top:.85rem;margin-top:.85rem;border-top:1px solid rgba(122,113,93,.16)}.recipe-detail__subsection{padding:1rem;border:1px solid var(--page-card-border);border-radius:0;background:var(--page-card-bg)}.recipe-detail__subtitle{margin:0;font-family:Open Sans,sans-serif;font-size:.9rem;font-weight:700;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:var(--page-muted-text)}.recipe-detail__description{margin:0;color:#4f4a41;line-height:1.7}.recipe-detail__description--meta{color:var(--page-muted-text)}.recipe-detail__list{margin:0;padding-left:1.2rem;color:#4f4a41;line-height:1.7}.recipe-detail__list li+li{margin-top:.35rem}.recipe-detail__gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem}.recipe-detail__thumb-btn{padding:0;border:0;background:none;cursor:pointer}.recipe-detail__thumb{width:100%;aspect-ratio:1 / 1;object-fit:cover}.lightbox{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000}.lightbox__img{max-width:90vw;max-height:90vh;box-shadow:0 10px 30px #0006}.lightbox__close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:none;background:#ffffffe6;cursor:pointer;font-size:24px;line-height:1}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:#ffffffe6;cursor:pointer;font-size:28px;line-height:1;display:grid;place-items:center}.lightbox__nav--prev{left:16px}.lightbox__nav--next{right:16px}@media(max-width:1023px){.recipe-detail-page{padding:1rem}}@media(max-width:860px){.recipe-detail-page__panel{padding:0}.recipe-detail-page__hero-content{min-height:0}.recipe-detail-page__hero-aside{justify-items:start}.recipe-detail__actions{justify-content:flex-start}.recipe-detail-page__top-grid{grid-template-columns:1fr}}.recipe-detail__allergen-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}.recipe-detail__tag--allergen{background-color:#fce8e8;color:#8b0000;padding:.3rem .8rem;border-radius:999px;font-size:.85rem;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem}.recipe-detail__suitable-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}.recipe-detail__tag{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem;border-radius:999px;background-color:#edf4ee;color:#1b4332;font-size:.85rem;font-weight:500;white-space:nowrap}.servings-control{margin:0;display:flex;align-items:center;gap:.5rem}.servings-control input{width:60px;padding:.2rem}.recipe-detail__list{margin-bottom:0;padding-left:1.2rem;list-style-type:disc}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}.tag{background-color:#edf5e1;color:#2f5e00;padding:.3rem .8rem;border-radius:999px;font-size:.85rem;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem}
