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