.input-group{display:flex;flex-direction:column;gap:.35rem}.input-label{font-size:.9rem;font-weight:500;color:var(--color-text-muted)}.input{padding:.6rem .9rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:1rem}.input:focus{outline:none;border-color:var(--color-accent)}.input-error{border-color:var(--color-danger)}.input-error-text{font-size:.85rem;color:var(--color-danger)}.input-with-suffix,.input-with-affixes{position:relative;display:flex;align-items:center}.input.input--with-suffix{padding-right:2.75rem;width:100%;box-sizing:border-box}.input.input--with-prefix{padding-left:2.75rem;width:100%;box-sizing:border-box}.input-suffix{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);font-size:.9rem;color:var(--color-text-muted);pointer-events:none}.input-prefix{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.btn{border:none;border-radius:var(--radius);font-weight:500;transition:background .2s,color .2s,box-shadow .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.4rem .8rem;font-size:.85rem}.btn-md{padding:.6rem 1.2rem;font-size:1rem}.btn-lg{padding:.8rem 1.5rem;font-size:1.1rem}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn-success{background:color-mix(in srgb,var(--color-accent) 18%,transparent);color:var(--color-accent-hover)}.btn-success:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 34%,transparent);color:#fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 55%,transparent)}.btn-ghost-danger{background:color-mix(in srgb,var(--color-danger) 18%,transparent);color:color-mix(in srgb,var(--color-danger) 88%,white)}.btn-ghost-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 34%,transparent);color:#fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-danger) 55%,transparent)}.btn-icon-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;white-space:nowrap}.btn-icon-secondary__icon{flex-shrink:0}@media (max-width: 768px){.btn-icon-secondary{gap:0;padding:.55rem;min-width:2.65rem;min-height:2.65rem;box-sizing:border-box}.btn-icon-secondary.btn-sm{padding:.4rem;min-width:2.25rem;min-height:2.25rem}.btn-icon-secondary.btn-lg{padding:.65rem;min-width:3rem;min-height:3rem}.btn-icon-secondary__label{display:none}}.btn-with-icon{display:inline-flex;align-items:center;gap:.45rem}.btn-with-icon__icon{flex-shrink:0}.btn-icon-only{display:inline-flex;align-items:center;justify-content:center;padding:.55rem;min-width:2.65rem;min-height:2.65rem;box-sizing:border-box}.btn-icon-only.btn-sm{padding:.4rem;min-width:2.25rem;min-height:2.25rem}.btn-icon-only.btn-lg{padding:.65rem;min-width:3rem;min-height:3rem}a.btn,a.btn:hover{text-decoration:none}@keyframes btn-icon-only-spin{to{transform:rotate(360deg)}}.btn-icon-only__spin{animation:btn-icon-only-spin .75s linear infinite}.toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;width:100%;min-width:0;flex-wrap:wrap}.toolbar-actions__leading{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;min-width:0}.toolbar-actions__trailing{display:flex;flex-shrink:0;align-items:center;gap:.5rem}.toolbar-actions:has(.toolbar-actions__leading>*):has(.toolbar-actions__trailing>*) .toolbar-actions__trailing{margin-left:.35rem;padding-left:.65rem;border-left:1px solid var(--color-border)}.recipe-attr-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;width:100%}.recipe-attr-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:.35rem .65rem;border-radius:999px;font:inherit;font-size:.82rem;font-weight:500;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);transition:border-color .15s,background .15s,color .15s}.recipe-attr-filter-chip:hover{border-color:color-mix(in srgb,var(--recipe-attr-color) 45%,var(--color-border));color:var(--color-text)}.recipe-attr-filter-chip--on{border-color:color-mix(in srgb,var(--recipe-attr-color) 55%,var(--color-border));background:color-mix(in srgb,var(--recipe-attr-color) 16%,var(--color-surface));color:var(--color-text)}.recipe-attr-filter-clear{margin-left:.15rem}.cookbook-multi-ac{display:block}.cookbook-multi-ac--disabled{opacity:.55;pointer-events:none}.cookbook-multi-ac__input-wrap{position:relative}.cookbook-multi-ac__input{width:100%;box-sizing:border-box;font:inherit;padding:.45rem .55rem;border-radius:8px;border:1px solid var(--color-border, #cbd5e1);background:var(--color-surface, #fff);color:inherit}.cookbook-multi-ac__input:focus{outline:2px solid var(--color-accent, #3b82f6);outline-offset:1px}.cookbook-multi-ac__list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);margin:0;padding:.25rem 0;list-style:none;max-height:14rem;overflow-y:auto;border-radius:8px;border:1px solid var(--color-border, #cbd5e1);background:var(--color-surface, #fff);box-shadow:0 8px 24px #0f172a1f}.cookbook-multi-ac__option{display:block;width:100%;text-align:left;border:none;background:transparent;cursor:pointer;font:inherit;font-size:.88rem;padding:.4rem .65rem;color:inherit}.cookbook-multi-ac__option:hover,.cookbook-multi-ac__option--active{background:#3b82f61f}.cookbook-multi-ac__option--special{font-style:italic;color:var(--color-text-muted, #64748b)}.recipe-cookbook-filter-section{display:flex;flex-direction:column;gap:.45rem}.recipe-cookbook-filter-section__label{font-size:.82rem;font-weight:600;color:var(--color-text-muted, #64748b)}.recipe-cookbook-filter-section__chips{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.recipe-cookbook-filter-section__chip--disabled{opacity:.45;cursor:not-allowed}.recipe-cookbook-filter-section__clear{align-self:flex-start}.cuisine-multi-ac{display:flex;flex-direction:column;gap:.5rem}.cuisine-multi-ac__chips{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0}.cuisine-multi-ac__chip{display:inline-flex;align-items:center;gap:.15rem;max-width:100%}.cuisine-multi-ac__chip-text{display:inline-block;max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;padding:.2rem .4rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--recipe-cuisine-color) 45%,transparent);background:color-mix(in srgb,var(--recipe-cuisine-color) 16%,transparent);color:var(--recipe-cuisine-color)}.cuisine-multi-ac__chip-remove{flex-shrink:0;border:none;background:transparent;color:var(--color-text-muted, #64748b);cursor:pointer;font-size:1.1rem;line-height:1;padding:.1rem .25rem;border-radius:4px}.cuisine-multi-ac__chip-remove:hover{color:var(--color-text, #0f172a);background:#0000000f}.cuisine-multi-ac__input-wrap{position:relative}.cuisine-multi-ac__input{width:100%;box-sizing:border-box;font:inherit;padding:.45rem .55rem;border-radius:8px;border:1px solid var(--color-border, #cbd5e1);background:var(--color-surface, #fff);color:inherit}.cuisine-multi-ac__input:focus{outline:2px solid var(--color-accent, #3b82f6);outline-offset:1px}.cuisine-multi-ac__list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);margin:0;padding:.25rem 0;list-style:none;max-height:14rem;overflow-y:auto;border-radius:8px;border:1px solid var(--color-border, #cbd5e1);background:var(--color-surface, #fff);box-shadow:0 8px 24px #0f172a1f}.cuisine-multi-ac__option{display:block;width:100%;text-align:left;border:none;background:transparent;cursor:pointer;font:inherit;font-size:.88rem;padding:.4rem .65rem;color:inherit}.cuisine-multi-ac__option:hover,.cuisine-multi-ac__option--active{background:#3b82f61f}.recipe-cuisine-filter-section{display:flex;flex-direction:column;gap:.45rem}.recipe-cuisine-filter-section__label{font-size:.82rem;font-weight:600;color:var(--color-text-muted, #64748b)}.recipe-cuisine-filter-section__clear{align-self:flex-start}.recipe-meal-kind-filter-bar{display:flex;flex-direction:column;gap:.55rem;align-items:flex-start}.recipe-meal-kind-filter-bar__label{font-size:.82rem;font-weight:600;color:var(--color-text-muted)}.recipe-meal-kind-filter-bar__chips{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.recipe-meal-kind-filter-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--recipe-meal-color) 45%,var(--color-border));background:color-mix(in srgb,var(--recipe-meal-color) 12%,var(--color-surface));color:var(--color-text);font-size:.82rem;cursor:pointer;font-family:inherit;line-height:1.2}.recipe-meal-kind-filter-chip:hover{border-color:color-mix(in srgb,var(--recipe-meal-color) 65%,var(--color-border))}.recipe-meal-kind-filter-chip--on{border-color:color-mix(in srgb,var(--recipe-meal-color) 70%,var(--color-border));background:color-mix(in srgb,var(--recipe-meal-color) 26%,var(--color-surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--recipe-meal-color) 22%,transparent)}.recipe-meal-kind-filter-chip__icon{display:flex;align-items:center;justify-content:center;color:var(--recipe-meal-color);line-height:0}.recipe-meal-kind-filter-chip__text{color:var(--color-text)}.recipe-meal-kind-filter-clear{align-self:flex-start}.recipe-attr-filter-panel{margin-bottom:1.25rem;padding:.85rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.recipe-attr-filter-panel__header{display:flex;align-items:center;gap:.65rem;width:100%;margin:0;padding:0;border:none;background:transparent;font:inherit;color:inherit;cursor:pointer;text-align:left;border-radius:8px}.recipe-attr-filter-panel__header:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.recipe-attr-filter-panel__title{font-size:.9rem;font-weight:600;color:var(--color-text)}.recipe-attr-filter-panel__header:hover .recipe-attr-filter-panel__title{color:var(--color-accent)}.recipe-attr-filter-panel__count{margin-left:auto;font-size:.88rem;font-weight:500;color:var(--color-text-muted)}.recipe-attr-filter-panel__header:hover .recipe-attr-filter-panel__count{color:var(--color-text)}.recipe-attr-filter-panel__chevron{flex-shrink:0;width:1.25rem;text-align:center;font-size:.75rem;opacity:.85;color:var(--color-text-muted)}.recipe-attr-filter-panel__body{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.55rem}.recipe-attr-filter-panel-toolbar-flow{display:contents}.recipe-attr-filter-panel--toolbar{margin-bottom:0;padding:.45rem .75rem;flex:0 0 auto;align-self:center}.recipe-attr-filter-panel__dropdown{margin-top:.35rem}.recipe-attr-filter-panel__dropdown-inner{padding:.85rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.55rem}.recipe-attr-filter-panel__section-divider{height:1px;margin:.15rem 0;background:var(--color-border);border:none}.recipe-search-toolbar--nav{display:flex;align-items:center;gap:.35rem;width:100%;min-width:0}.recipe-search-toolbar--nav .input-group{flex:1 1 auto;min-width:0;margin:0}.recipe-search-toolbar--nav .input-with-affixes,.recipe-search-toolbar--nav .input{width:100%}.recipe-search-toolbar--nav .recipe-attr-filter-panel--toolbar{flex-shrink:0}.recipe-search-toolbar__submit{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:1rem;cursor:pointer}.recipe-search-toolbar__submit:hover{background:var(--color-surface-hover);color:var(--color-accent)}.recipe-search-toolbar--page{margin-bottom:1.25rem}.recipe-search-toolbar__page-top{margin-bottom:.75rem}.recipe-search-toolbar__page-search-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.recipe-search-toolbar--page .recipe-search-toolbar__input{flex:1 1 14rem;min-width:0}.recipe-search-toolbar--page .input-group{flex:1 1 14rem;min-width:0;margin:0}.recipe-search-toolbar--page .input-with-affixes{width:100%}.recipe-search-toolbar__sort{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.recipe-search-toolbar__sort-label{font-size:.9rem;color:var(--color-text-muted);white-space:nowrap}.recipe-search-toolbar__sort-select{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:.4rem .6rem;border-radius:8px;font-size:.9rem}.recipe-search-toolbar__filters-open{padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.recipe-search-toolbar__section-divider{height:1px;margin:.75rem 0;background:var(--color-border)}.recipe-search-toolbar--nav-stacked{display:flex;flex-direction:column;gap:.35rem;width:100%;min-width:0}.recipe-search-toolbar__nav-row{display:flex;align-items:center;gap:.35rem;width:100%;min-width:0}.recipe-search-toolbar__nav-row .input-group{flex:1 1 auto;min-width:0;margin:0}.recipe-search-toolbar__nav-row .input-with-affixes,.recipe-search-toolbar__nav-row .input{width:100%}.recipe-search-toolbar__nav-row .recipe-attr-filter-panel--toolbar{flex-shrink:0}.recipe-search-toolbar__filter-host{width:100%}.recipe-search-toolbar__filter-host:empty{display:none}.recipe-search-toolbar__filter-host .recipe-attr-filter-panel__dropdown{margin-top:0}.recipe-search-toolbar__filter-host .recipe-attr-filter-panel__dropdown-inner{width:100%;box-sizing:border-box}.recipe-search-toolbar--page .recipe-search-toolbar__page-filter-btn{flex-shrink:0}.recipe-search-toolbar--page .recipe-search-toolbar__page-filter-host{width:100%;margin-bottom:.75rem}.recipe-search-toolbar--page .recipe-search-toolbar__page-filter-host:empty{display:none}.recipe-search-toolbar--page .recipe-search-toolbar__page-filter-host .recipe-attr-filter-panel__dropdown{margin-top:0}.recipe-search-toolbar--page .recipe-search-toolbar__page-filter-host .recipe-attr-filter-panel__dropdown-inner{width:100%;box-sizing:border-box}@media (max-width: 767px){.recipe-search-toolbar--nav{max-width:none;width:100%}}.lang-select{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:.4rem .65rem;border-radius:8px;font-size:.9rem;max-width:100%}.lang-select--compact{padding:.35rem .5rem}.site-footer{margin-top:auto;padding:1.5rem 2rem 1.25rem;border-top:1px solid var(--color-border);background:var(--color-surface);display:flex;flex-direction:column;align-items:center;gap:.75rem}.site-footer__lang{flex-shrink:0}.site-footer__nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .5rem;font-size:.9rem}.site-footer__nav a{color:var(--color-text-muted);font-weight:500}.site-footer__nav a:hover{color:var(--color-accent);text-decoration:none}.site-footer__sep{color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.site-footer--auth{margin-top:1.5rem;padding:0;border:0;background:transparent}@media (max-width: 767px){.site-footer{padding:1rem}}.site-brand{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none;color:inherit}.site-brand:hover{text-decoration:none;opacity:.92}.site-brand__wordmark{display:block;height:28px;width:auto;max-width:min(180px,42vw)}.site-brand--auth{justify-content:center;margin-bottom:.25rem}.site-brand--auth .site-brand__wordmark{height:2.25rem;max-width:100%}@media (max-width: 767px){.site-brand--header .site-brand__wordmark{height:24px;max-width:min(140px,38vw)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-overlay-nested{z-index:1100}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;max-width:480px;width:100%;box-shadow:var(--shadow)}.modal.modal-lg{max-width:560px}.recipe-select{margin:1rem 0}.recipe-select-empty{margin:.5rem 0 0;color:var(--color-text-muted);font-size:.9rem}.recipe-checkboxes{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;margin-top:.5rem}.recipe-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{background:none;border:none;color:var(--color-text-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem}.modal-close:hover{color:var(--color-text)}.modal form{display:flex;flex-direction:column;gap:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.export-pdf-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:.75rem 1rem;align-items:center;margin-bottom:.25rem}.export-pdf-form-grid .input-label{min-width:0}.export-pdf-form-grid .input{width:100%;min-width:0;box-sizing:border-box}.export-options{display:flex;flex-direction:column;gap:.35rem}.modal-inline-link{align-self:flex-start;margin:-.25rem 0 0;padding:0;border:none;background:none;color:var(--color-accent, #3b82f6);font-size:.9rem;text-decoration:underline;cursor:pointer;text-align:left}.modal-inline-link:hover{filter:brightness(1.1)}.modal-muted{margin:0 0 1rem;color:var(--color-text-muted)}.modal-error-text{margin:0 0 1rem;color:var(--color-danger, #dc2626);font-size:.95rem}.parser-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.75rem;max-height:min(50vh,320px);overflow-y:auto}.parser-list-item{display:flex;flex-direction:column;gap:.25rem;padding:.25rem 0}.parser-list-row{display:flex;align-items:center;gap:.6rem}.parser-list-name{font-weight:600;font-size:1rem}.parser-list-favicon{width:18px;height:18px;border-radius:4px;display:block;flex:0 0 auto}.parser-list-favicon--fallback{background:var(--color-border)}.import-url-favicon{width:18px;height:18px;border-radius:4px;display:block}.import-url-fail{color:var(--color-danger, #dc2626);display:block}.system-notification-modal-overlay{z-index:1200}.system-notification-modal__body{margin-top:.75rem;max-height:min(60vh,28rem);overflow-y:auto;white-space:pre-wrap;word-break:break-word;line-height:1.55;font-size:.95rem;color:var(--color-text)}.system-notification-modal__actions{display:flex;justify-content:flex-end;margin-top:1.25rem}.user-notification-menu{position:relative}.user-notification-menu__trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.15rem .35rem;margin:0;border:none;border-radius:999px;background:transparent;color:inherit;font:inherit;cursor:pointer}.user-notification-menu__trigger:hover{background:color-mix(in srgb,var(--color-border) 35%,transparent)}.user-notification-menu__avatar-wrap{position:relative;display:inline-flex;flex-shrink:0}.user-notification-menu__badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#e0245e;color:#fff;font-size:.65rem;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--color-surface)}.user-notification-menu__panel{position:absolute;top:calc(100% + .45rem);right:0;z-index:60;width:min(22rem,calc(100vw - 1.5rem));max-height:min(28rem,calc(100vh - 6rem));display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 12px 32px #00000024;overflow:hidden}.user-notification-menu__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border-bottom:1px solid var(--color-border)}.user-notification-menu__settings{display:inline-flex;align-items:center;gap:.55rem;min-width:0;flex:1 1 auto;padding:.25rem .35rem;color:var(--color-text);text-decoration:none;font-weight:600;font-size:.92rem}.user-notification-menu__settings:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-border) 25%,transparent);border-radius:6px}.user-notification-menu__logout{flex-shrink:0;white-space:nowrap}.user-notification-menu__list{list-style:none;margin:0;padding:0;overflow-y:auto}.user-notification-menu__item{position:relative;display:flex;align-items:flex-start;gap:.55rem;width:100%;padding:.75rem .85rem;border:none;border-bottom:1px solid color-mix(in srgb,var(--color-border) 65%,transparent);background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;overflow:hidden}.user-notification-menu__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.user-notification-menu__bg img{position:absolute;top:0;right:0;width:54%;height:100%;object-fit:cover;opacity:.3;-webkit-mask-image:linear-gradient(to left,rgb(0 0 0 / .92) 20%,transparent);mask-image:linear-gradient(to left,rgb(0 0 0 / .92) 20%,transparent)}.user-notification-menu__item--unread .user-notification-menu__bg img{opacity:.34}.user-notification-menu__item--with-image>*:not(.user-notification-menu__bg){position:relative;z-index:1}.user-notification-menu__item:hover{background:color-mix(in srgb,var(--color-border) 20%,transparent)}.user-notification-menu__item--unread{background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface))}.user-notification-menu__dot{flex-shrink:0;width:8px;height:8px;margin-top:.45rem;border-radius:50%;background:var(--color-accent)}.user-notification-menu__dot--read{background:transparent}.user-notification-menu__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:color-mix(in srgb,var(--color-border) 35%,transparent);color:var(--color-text-muted)}.user-notification-menu__content{min-width:0;flex:1}.user-notification-menu__text{display:block;font-size:.88rem;line-height:1.35}.user-notification-menu__actor{font-weight:700;color:var(--color-accent)}.user-notification-menu__recipe{font-weight:700}.user-notification-menu__time{display:block;margin-top:.2rem;font-size:.75rem;color:var(--color-text-muted)}.user-notification-menu__empty,.user-notification-menu__loading{padding:1.25rem 1rem;text-align:center;color:var(--color-text-muted);font-size:.9rem}.user-notification-menu__sentinel{height:1px}@media (max-width: 720px){.user-notification-menu__trigger .username{display:none}.user-notification-menu__panel{right:-.25rem}}.layout{--layout-max-width: 1200px;--layout-padding-x: 2rem;--layout-inner-width: calc(var(--layout-max-width) - 2 * var(--layout-padding-x));min-height:100vh;display:flex;flex-direction:column}.header{position:relative;z-index:40;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.header__bar{display:flex;align-items:stretch;gap:0}.header__main{flex:1 1 auto;min-width:0;padding-block:.85rem;padding-left:max(var(--layout-padding-x),calc((100% - var(--layout-max-width)) / 2 + var(--layout-padding-x)));padding-right:0}.header__content{display:flex;align-items:center;gap:1rem 1.25rem;flex:1 1 auto;width:100%;max-width:var(--layout-inner-width);min-width:0}.header__start{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.header__search--desktop{flex:1 1 8rem;min-width:0;max-width:none}.header__search--mobile{display:none;width:100%;max-width:none;margin-left:0;padding:.5rem 1rem .75rem;box-sizing:border-box}.header__filter-host{position:absolute;left:0;right:0;top:100%;z-index:45;padding:.35rem max(var(--layout-padding-x),calc((100% - var(--layout-max-width)) / 2 + var(--layout-padding-x))) max(var(--layout-padding-x),calc((100% - var(--layout-max-width)) / 2 + var(--layout-padding-x))) .5rem;box-sizing:border-box;pointer-events:none}.header__filter-host:not(:empty){pointer-events:auto}.header__filter-host:empty{display:none}.header__menu-btn{display:none;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .55rem;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);flex-shrink:0}.header__menu-btn:hover{background:var(--color-surface-hover)}.header__menu-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header__backdrop,.header__mobile-panel{display:none}.nav{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}.nav a{color:var(--color-text-muted);font-weight:500;white-space:nowrap}.nav a:hover,.nav a.active{color:var(--color-accent);text-decoration:none}.header-right{display:flex;align-items:center;gap:.65rem;flex-shrink:0;padding-block:.85rem;padding-right:var(--layout-padding-x);padding-left:.75rem}.header-auth{display:flex;align-items:center;gap:.5rem}a.header-auth__link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}.user-menu{display:flex;align-items:center;gap:.5rem}.user-menu__profile-link{display:inline-flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none}.user-menu__profile-link:hover .username{color:var(--color-text)}.avatar,.avatar-placeholder{width:36px;height:36px;border-radius:50%;object-fit:cover}.avatar-placeholder{background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.username{font-size:.9rem;color:var(--color-text-muted);margin-right:10px}.btn-logout{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);padding:.35rem .75rem;border-radius:6px;font-size:.85rem}.btn-logout:hover{background:var(--color-surface-hover);color:var(--color-text)}.btn-admin{white-space:nowrap;border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface))}.btn-admin:hover{background:color-mix(in srgb,var(--color-accent) 18%,var(--color-surface))}.main{flex:1;padding:2rem var(--layout-padding-x);max-width:var(--layout-max-width);margin:0 auto;width:100%}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.2rem;color:var(--color-text-muted)}@media (max-width: 1100px){.nav{gap:.85rem}.nav a{font-size:.92rem}}@media (max-width: 767px){.layout{--layout-padding-x: 1rem}.header__main{padding-block:.65rem;padding-right:.5rem;gap:.5rem}.header-right{padding-block:.65rem;padding-left:.5rem}.nav--desktop,.header__search--desktop{display:none}.header__menu-btn{display:inline-flex}.header__search--mobile{display:block;padding:.35rem 1rem .75rem;box-sizing:border-box}.header__backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:38;background:#00000073;border:0;padding:0;cursor:pointer}.header__mobile-panel{display:block;position:absolute;left:0;right:0;top:100%;z-index:41;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow);max-height:0;overflow:hidden;opacity:0;transition:max-height .22s ease,opacity .18s ease;pointer-events:none}.header__mobile-panel--open{max-height:min(75vh,480px);opacity:1;pointer-events:auto;overflow-y:auto}.nav--mobile{flex-direction:column;align-items:stretch;gap:0;padding:.35rem 0 .5rem}.nav--mobile a{padding:.65rem 1rem;border-radius:8px}.user-menu .username{display:none}.header-auth{gap:.35rem}.header-auth .btn-md{padding:.4rem .65rem;font-size:.85rem}.main{padding-block:1rem;padding-inline:var(--layout-padding-x)}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,var(--color-bg) 0%,#1e2a1a 100%)}.auth-card{width:100%;max-width:400px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}.tagline{margin:0 0 1.5rem;color:var(--color-text-muted);font-size:.95rem}.auth-card form{display:flex;flex-direction:column;gap:1rem}.auth-error{margin:0;color:var(--color-danger);font-size:.9rem}.auth-success{margin:0;color:var(--color-accent);font-size:.95rem}.auth-heading{margin:0 0 .75rem;font-size:1.25rem}.auth-message{margin:0 0 1rem;color:var(--color-text-muted);font-size:.95rem;line-height:1.5}.auth-forgot-link{margin:-.25rem 0 0;text-align:right;font-size:.85rem}.auth-forgot-link a{color:var(--color-accent)}.auth-submit{margin-top:.5rem}.auth-footer{margin:1.5rem 0 0;text-align:center;color:var(--color-text-muted);font-size:.9rem}.auth-footer a{color:var(--color-accent)}.diet-showcase{width:100%;--diet-icon-idle-scale: .98;--diet-separate-distance: .5rem;--diet-tilt-x-from: 5deg;--diet-tilt-x-to: -4deg;--diet-tilt-x-enter-from: 12deg}.diet-showcase__header{text-align:center;max-width:36rem;margin:0 auto 1.5rem}.diet-showcase__header h2{margin:0 0 .5rem;font-size:1.35rem}.diet-showcase__header p{margin:0;color:var(--color-text-muted)}.diet-showcase__scene{perspective:900px;perspective-origin:50% 38%;width:100%;margin:0 auto}.diet-showcase__stage{display:flex;align-items:center;justify-content:center;gap:clamp(.75rem,3.5vw,1.75rem);min-height:9rem;width:100%;padding:1.5rem 1rem;overflow:hidden;transform-style:preserve-3d;transform-origin:50% 65%;will-change:transform}.diet-showcase__stage--layout-a{--diet-stage-tilt-y: -3deg}.diet-showcase__stage--layout-b{--diet-stage-tilt-y: 3deg}.diet-showcase__stage--layout-a{flex-direction:row}.diet-showcase__stage--layout-b{flex-direction:row-reverse}.diet-showcase__stage--phase-enter{animation:diet-stage-3d-enter var(--diet-enter-ms, .48s) cubic-bezier(.12,.85,.25,1) forwards}.diet-showcase__stage--phase-idle{animation:diet-stage-3d-idle var(--diet-hold-ms, 12s) ease-in-out forwards}.diet-showcase__stage--phase-exit{animation:none;transform:rotateX(var(--diet-tilt-x-to, -4deg)) rotateY(calc(var(--diet-stage-tilt-y, -3deg) * -1.1))}.diet-showcase__icon-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:clamp(5.5rem,18vw,7.5rem);height:clamp(5.5rem,18vw,7.5rem);aspect-ratio:1;border-radius:50%;overflow:hidden;transform-origin:center;background:color-mix(in srgb,var(--diet-color) 18%,var(--color-surface));border:4px solid color-mix(in srgb,var(--diet-color) 45%,var(--color-border));color:var(--diet-color)}.diet-showcase__attr-icon{width:4.5rem;height:4.5rem;flex-shrink:0}@media (max-width: 767px){.diet-showcase__attr-icon{width:2.875rem;height:2.875rem}}.diet-showcase__icon-motion,.diet-showcase__name-motion{display:block;will-change:transform,opacity}.diet-showcase__name-motion{margin:0;font-size:clamp(2rem,7vw,3.25rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;text-align:center}.diet-showcase__icon-idle,.diet-showcase__name-idle{display:inline-flex;align-items:center;justify-content:center}.diet-showcase__stage--phase-enter.diet-showcase__stage--layout-a .diet-showcase__icon-motion{animation:diet-icon-enter-from-right var(--diet-enter-ms, .48s) cubic-bezier(.12,.85,.25,1) forwards}.diet-showcase__stage--phase-enter.diet-showcase__stage--layout-a .diet-showcase__name-motion{animation:diet-name-enter-from-left var(--diet-enter-ms, .48s) cubic-bezier(.12,.85,.25,1) forwards}.diet-showcase__stage--phase-enter.diet-showcase__stage--layout-b .diet-showcase__icon-motion{animation:diet-icon-enter-from-left var(--diet-enter-ms, .48s) cubic-bezier(.12,.85,.25,1) forwards}.diet-showcase__stage--phase-enter.diet-showcase__stage--layout-b .diet-showcase__name-motion{animation:diet-name-enter-from-right var(--diet-enter-ms, .48s) cubic-bezier(.12,.85,.25,1) forwards}.diet-showcase__stage--phase-idle.diet-showcase__stage--layout-a .diet-showcase__icon-wrap{animation:diet-icon-wrap-idle-a var(--diet-hold-ms, 12s) linear forwards}.diet-showcase__stage--phase-idle.diet-showcase__stage--layout-a .diet-showcase__name-idle{animation:diet-name-idle-separate-a var(--diet-hold-ms, 12s) linear forwards}.diet-showcase__stage--phase-idle.diet-showcase__stage--layout-b .diet-showcase__icon-wrap{animation:diet-icon-wrap-idle-b var(--diet-hold-ms, 12s) linear forwards}.diet-showcase__stage--phase-idle.diet-showcase__stage--layout-b .diet-showcase__name-idle{animation:diet-name-idle-separate-b var(--diet-hold-ms, 12s) linear forwards}.diet-showcase__stage--phase-exit.diet-showcase__stage--layout-a .diet-showcase__icon-wrap{animation:none;transform:scale(var(--diet-icon-idle-scale, .91)) translate(calc(-1 * var(--diet-separate-distance, 1.5rem)))}.diet-showcase__stage--phase-exit.diet-showcase__stage--layout-b .diet-showcase__icon-wrap{animation:none;transform:scale(var(--diet-icon-idle-scale, .91)) translate(var(--diet-separate-distance, 1.5rem))}.diet-showcase__stage--phase-enter .diet-showcase__icon-wrap{animation:none;transform:scale(1) translate(0)}.diet-showcase__stage--phase-enter .diet-showcase__name-idle{animation:none;transform:translate(0)}.diet-showcase__stage--phase-exit.diet-showcase__stage--layout-a .diet-showcase__name-idle{animation:none;transform:translate(var(--diet-separate-distance, 1.5rem))}.diet-showcase__stage--phase-exit.diet-showcase__stage--layout-b .diet-showcase__name-idle{animation:none;transform:translate(calc(-1 * var(--diet-separate-distance, 1.5rem)))}.diet-showcase__stage--phase-exit.diet-showcase__stage--layout-a .diet-showcase__icon-motion{animation:diet-icon-exit-to-right var(--diet-exit-ms, .42s) cubic-bezier(.55,.06,.68,.19) forwards}.diet-showcase__stage--phase-exit.diet-showcase__stage--layout-a .diet-showcase__name-motion{animation:diet-name-exit-to-left var(--diet-exit-ms, .42s) cubic-bezier(.55,.06,.68,.19) forwards}.diet-showcase__stage--phase-exit.diet-showcase__stage--layout-b .diet-showcase__icon-motion{animation:diet-icon-exit-to-left var(--diet-exit-ms, .42s) cubic-bezier(.55,.06,.68,.19) forwards}.diet-showcase__stage--phase-exit.diet-showcase__stage--layout-b .diet-showcase__name-motion{animation:diet-name-exit-to-right var(--diet-exit-ms, .42s) cubic-bezier(.55,.06,.68,.19) forwards}@keyframes diet-icon-enter-from-right{0%{opacity:0;transform:translate(115%)}to{opacity:1;transform:translate(0)}}@keyframes diet-icon-enter-from-left{0%{opacity:0;transform:translate(-115%)}to{opacity:1;transform:translate(0)}}@keyframes diet-name-enter-from-left{0%{opacity:0;transform:translate(-115%)}to{opacity:1;transform:translate(0)}}@keyframes diet-name-enter-from-right{0%{opacity:0;transform:translate(115%)}to{opacity:1;transform:translate(0)}}@keyframes diet-icon-exit-to-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(115%)}}@keyframes diet-icon-exit-to-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-115%)}}@keyframes diet-name-exit-to-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-115%)}}@keyframes diet-name-exit-to-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(115%)}}@keyframes diet-stage-3d-enter{0%{transform:rotateX(var(--diet-tilt-x-enter-from, 12deg)) rotateY(calc(var(--diet-stage-tilt-y, -3deg) * 1.5))}to{transform:rotateX(var(--diet-tilt-x-from, 5deg)) rotateY(var(--diet-stage-tilt-y, -3deg))}}@keyframes diet-stage-3d-idle{0%{transform:rotateX(var(--diet-tilt-x-from, 5deg)) rotateY(var(--diet-stage-tilt-y, -3deg))}to{transform:rotateX(var(--diet-tilt-x-to, -4deg)) rotateY(calc(var(--diet-stage-tilt-y, -3deg) * -1.1))}}@keyframes diet-icon-wrap-idle-a{0%{transform:scale(1) translate(0)}to{transform:scale(var(--diet-icon-idle-scale, .91)) translate(calc(-1 * var(--diet-separate-distance, 1.5rem)))}}@keyframes diet-name-idle-separate-a{0%{transform:translate(0)}to{transform:translate(var(--diet-separate-distance, 1.5rem))}}@keyframes diet-icon-wrap-idle-b{0%{transform:scale(1) translate(0)}to{transform:scale(var(--diet-icon-idle-scale, .91)) translate(var(--diet-separate-distance, 1.5rem))}}@keyframes diet-name-idle-separate-b{0%{transform:translate(0)}to{transform:translate(calc(-1 * var(--diet-separate-distance, 1.5rem)))}}@media (prefers-reduced-motion: reduce){.diet-showcase__scene{perspective:none}.diet-showcase__stage--phase-enter,.diet-showcase__stage--phase-idle,.diet-showcase__stage--phase-idle .diet-showcase__icon-wrap,.diet-showcase__stage--phase-idle .diet-showcase__name-idle{animation:none;transform:none}}.recipe-attr-badges{display:inline-flex;flex-wrap:wrap;align-items:center;align-self:center;gap:.35rem;list-style:none;margin:0;padding:0;line-height:0}.recipe-attr-badges>li{display:flex;align-items:center;line-height:0}.recipe-attr-badges--xs{gap:.28rem}.recipe-attr-badges--md{gap:.45rem}.recipe-attr-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:999px;border:1px solid color-mix(in srgb,var(--recipe-attr-color) 50%,transparent);background:color-mix(in srgb,var(--recipe-attr-color) 20%,transparent);color:var(--recipe-attr-color)}.recipe-attr-badges--xs .recipe-attr-badge{width:1.28rem;height:1.28rem}.recipe-attr-badges--xs .recipe-attribute-lucide-icon{width:11px;height:11px}.recipe-attr-badges--sm .recipe-attr-badge{width:1.55rem;height:1.55rem}.recipe-attr-badges--md .recipe-attr-badge{width:1.85rem;height:1.85rem}.recipe-attr-badge__icon{display:flex;align-items:center;justify-content:center;line-height:0}.recipe-attribute-lucide-icon{display:block;flex-shrink:0}.recipe-comment-count-icon{display:inline-flex;align-items:center;gap:.28rem;flex-shrink:0;color:var(--color-text-muted);line-height:1}.recipe-comment-count-icon__svg{flex-shrink:0}.recipe-comment-count-icon__num{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:500}.recipe-comment-count-icon--compact .recipe-comment-count-icon__num{font-size:.75rem}.recipe-comment-count-icon--compact{opacity:.95}.random-recipe-slider{width:100%}.random-recipe-slider__stage{position:relative;width:100%;min-height:12rem;overflow:hidden}.random-recipe-slider__loading,.random-recipe-slider__empty,.random-recipe-slider__error{margin:0;text-align:center;color:var(--color-text-muted)}.random-recipe-slider__error{color:var(--color-danger)}a.random-recipe-slider__card{display:flex;flex-direction:column;width:100%;text-align:left;text-decoration:none;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;will-change:transform,opacity}a.random-recipe-slider__card:hover{text-decoration:none;border-color:var(--color-accent);box-shadow:var(--shadow)}.random-recipe-slider__card--prepare{opacity:0;pointer-events:none}.random-recipe-slider__card--enter{animation:random-recipe-enter var(--recipe-enter-ms, .55s) cubic-bezier(.16,1,.3,1) forwards}.random-recipe-slider__card--hold{animation:random-recipe-hold-drift var(--recipe-hold-drift-ms, 5s) ease-in-out infinite}.random-recipe-slider__card--exit{animation:random-recipe-exit var(--recipe-exit-ms, .5s) cubic-bezier(.55,.09,.68,.53) forwards}@keyframes random-recipe-enter{0%{opacity:0;transform:translate(55%)}to{opacity:1;transform:translate(0)}}@keyframes random-recipe-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-55%)}}@keyframes random-recipe-hold-drift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-4px) scale(1.008)}}.random-recipe-slider__media{position:relative;flex:1 1 auto;width:100%;min-height:11rem;padding-bottom:42%;background:var(--color-surface-hover)}.random-recipe-slider__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.random-recipe-slider__img-ph{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--color-surface-hover),var(--color-border))}.random-recipe-slider__body{flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-end;padding:.85rem 1rem}.random-recipe-slider__title-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.35rem;margin-bottom:.25rem}.random-recipe-slider__title-row h3{margin:0;font-size:clamp(1rem,2.2vw,1.2rem);flex:1 1 12rem;line-height:1.25}.random-recipe-slider__author{margin:0 0 .35rem;font-size:.85rem;color:var(--color-text-muted)}.random-recipe-slider__engagement{display:flex;align-items:center;gap:.6rem;margin-bottom:.35rem;color:var(--color-text-muted);font-size:.8rem}.random-recipe-slider__vote{display:inline-flex;align-items:center;gap:.35rem}.random-recipe-slider__cta{font-size:.85rem;font-weight:500;color:var(--color-accent)}.guest-home{margin:-.5rem -.25rem 0}.guest-home section{margin-bottom:3.5rem}.guest-home__hero{position:relative;padding:2.5rem 1.5rem 2.75rem;margin:0 -.75rem 3rem;border-radius:calc(var(--radius) + 4px);background:radial-gradient(ellipse 80% 60% at 50% -20%,rgba(74,156,58,.22),transparent),linear-gradient(165deg,var(--color-surface) 0%,var(--color-bg) 100%);border:1px solid var(--color-border)}.guest-home__hero-inner{max-width:40rem;margin:0 auto;text-align:center}.guest-home__eyebrow{margin:0 0 .5rem;font-size:.9rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent)}.guest-home__hero-title{margin:0 0 .75rem;font-size:clamp(1.75rem,4vw,2.35rem);line-height:1.2;font-weight:700;white-space:pre-line}.guest-home__hero-sub{margin:0 auto 1.5rem;max-width:34rem;font-size:1.05rem;color:var(--color-text-muted);line-height:1.55}.guest-home__hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1rem}a.guest-home__cta-primary,a.guest-home__cta-secondary,.guest-home__steps-cta a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}.guest-home__hero-login{margin:0;font-size:.95rem;color:var(--color-text-muted)}.guest-home__section-header{text-align:center;max-width:36rem;margin:0 auto 1.75rem}.guest-home__section-header h2{margin:0 0 .5rem;font-size:1.35rem}.guest-home__section-header p{margin:0;color:var(--color-text-muted)}.guest-home__feature-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}@media (max-width: 900px){.guest-home__feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.guest-home__feature-grid{grid-template-columns:1fr}}.guest-home__feature-grid li{margin:0}.guest-home__feature-card{display:flex;flex-direction:column;height:100%;padding:1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.guest-home__feature-icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-bottom:.85rem;border-radius:10px;background:#4a9c3a26;color:var(--color-accent)}.guest-home__feature-card h3{margin:0 0 .5rem;font-size:1.05rem}.guest-home__feature-card p{margin:0;flex:1;font-size:.92rem;color:var(--color-text-muted);line-height:1.5}.guest-home__steps h2{text-align:center;margin:0 0 1.5rem;font-size:1.35rem}.guest-home__steps-list{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}@media (max-width: 720px){.guest-home__steps-list{grid-template-columns:1fr}}.guest-home__steps-list li{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.guest-home__step-num{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;font-weight:700;font-size:1rem;border-radius:50%;background:var(--color-accent);color:#fff}.guest-home__steps-list h3{margin:0 0 .35rem;font-size:1.05rem}.guest-home__steps-list p{margin:0;font-size:.92rem;color:var(--color-text-muted);line-height:1.5}.guest-home__steps-cta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.dashboard-guest-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}a.dashboard-guest-actions__link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{margin:0 0 .5rem;font-size:1.75rem}.subtitle{margin:0 0 1rem;color:var(--color-text-muted)}.dashboard-actions{margin-top:1rem}.empty-state{text-align:center;padding:3rem 2rem;background:var(--color-surface);border-radius:var(--radius);border:1px dashed var(--color-border)}.recent-recipes h2{margin:0 0 1rem;font-size:1.25rem}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.recipe-card-image{width:100%;height:0;padding-bottom:60%;overflow:hidden;border-radius:8px;margin-bottom:.75rem}.recipe-card-image img{width:100%;height:100%;object-fit:cover}.recipe-grid .card h3{margin:0 0 .25rem;font-size:1.1rem}.recipe-grid .meta{font-size:.85rem;color:var(--color-text-muted)}.view-all{display:inline-block;margin-top:1rem;font-size:.95rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;transition:background .2s,border-color .2s;text-decoration:none;color:inherit;display:block}a.card:hover{background:var(--color-surface-hover);border-color:var(--color-accent);text-decoration:none;color:inherit}.recipe-cuisine-badges{display:inline-flex;flex-wrap:wrap;align-items:center;align-self:center;gap:.35rem;list-style:none;margin:0;padding:0;line-height:1}.recipe-cuisine-badges>li{display:flex;align-items:center}.recipe-cuisine-badges--xs{gap:.25rem}.recipe-cuisine-badge{display:inline-block;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:600;line-height:1.2;padding:.2rem .45rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--recipe-cuisine-color) 45%,transparent);background:color-mix(in srgb,var(--recipe-cuisine-color) 18%,transparent);color:var(--recipe-cuisine-color)}.recipe-cuisine-badges--xs .recipe-cuisine-badge{font-size:.65rem;padding:.15rem .38rem}.recipe-meal-kind-inline{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;border-radius:999px;border:1px solid color-mix(in srgb,var(--recipe-meal-color) 50%,transparent);background:color-mix(in srgb,var(--recipe-meal-color) 20%,transparent);color:var(--recipe-meal-color)}.recipe-meal-kind-inline--sm{width:1.55rem;height:1.55rem}.recipe-meal-kind-inline--md{width:1.85rem;height:1.85rem}.recipe-meal-kind-inline__icon{display:flex;align-items:center;justify-content:center;line-height:0}.recipe-meal-kind-inline__icon .recipe-attribute-lucide-icon{display:block;flex-shrink:0}.recipe-visibility-inline{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;border-radius:999px;border:1px solid color-mix(in srgb,var(--recipe-visibility-accent) 50%,transparent);background:color-mix(in srgb,var(--recipe-visibility-accent) 20%,transparent);color:var(--recipe-visibility-accent)}.recipe-visibility-inline--private{--recipe-visibility-accent: #f59e0b}.recipe-visibility-inline--public{--recipe-visibility-accent: #22c55e}.recipe-visibility-inline--sm{width:1.55rem;height:1.55rem}.recipe-visibility-inline--md{width:1.85rem;height:1.85rem}.recipe-visibility-inline__icon{display:flex;align-items:center;justify-content:center;line-height:0}.recipe-visibility-inline__icon .recipe-attribute-lucide-icon{display:block;flex-shrink:0}.recipe-vote-inline{box-sizing:border-box}.recipe-vote-inline__row{display:flex;align-items:center;gap:.3rem;min-width:0}.recipe-vote-inline__ico{flex-shrink:0;color:var(--color-text-muted, #64748b)}.recipe-vote-inline__num{font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--color-text-muted);flex-shrink:0}.recipe-vote-inline--tile{width:auto}.recipe-vote-inline--tile .recipe-vote-inline__num{font-size:.75rem}.recipe-vote-inline--list{flex-shrink:0}.recipe-vote-inline--list .recipe-vote-inline__row{width:auto}.page-actions{display:flex;gap:.5rem}.recipes-overview-toolbar{margin-bottom:.75rem}.recipes-overview-toolbar__row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.recipes-overview-toolbar__search-row{display:contents}.recipes-overview-toolbar__filter-wrap{flex:1 1 14rem;min-width:0}.recipes-overview-toolbar__dropdown-host{width:100%}.recipes-overview-toolbar__dropdown-host:empty{display:none}.recipes-overview-toolbar__dropdown-host:not(:empty){margin-bottom:.35rem}.recipes-overview-toolbar__filter-wrap .input-group,.recipes-overview-toolbar__filter-wrap .input-with-affixes{width:100%}.recipes-overview-filter-input{width:100%;box-sizing:border-box}.recipes-overview-toolbar__controls{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-left:auto}.recipes-overview-no-match{margin:0;padding:1.25rem 1rem;text-align:center;color:var(--color-text-muted);font-size:.95rem;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius)}.recipes-overview-toolbar__sort{display:flex;align-items:center;gap:.5rem;min-width:0}.recipes-overview-toolbar__label{font-size:.9rem;font-weight:500;color:var(--color-text-muted);white-space:nowrap}.recipes-overview-select-wrap{position:relative;display:inline-flex;align-items:stretch;min-width:12rem;max-width:100%}.recipes-overview-select-wrap:after{content:"";position:absolute;right:.85rem;top:50%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--color-text-muted);transform:translateY(calc(-50% + 1px));pointer-events:none}.recipes-overview-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;min-width:0;margin:0;padding:.6rem 2.35rem .6rem .9rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:1rem;font-family:inherit;line-height:1.25;box-sizing:border-box;cursor:pointer}.recipes-overview-select:focus{outline:none;border-color:var(--color-accent)}.recipes-overview-select:disabled{opacity:.5;cursor:not-allowed}.recipes-overview-toolbar__views{display:flex;flex-shrink:0}.view-mode-toggle{display:inline-flex;align-items:stretch;gap:2px;padding:3px;border:1px solid var(--color-border);border-radius:var(--radius);background:color-mix(in srgb,var(--color-surface) 90%,var(--color-text) 6%)}.view-mode-toggle__btn.btn{border:none!important;border-radius:calc(var(--radius) - 4px);background:transparent;color:var(--color-text-muted);box-shadow:none}.view-mode-toggle__btn.btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-surface-hover) 85%,transparent);color:var(--color-text)}.view-mode-toggle__btn.btn[aria-pressed=true]{background:var(--color-accent);color:#fff;box-shadow:0 1px 2px color-mix(in srgb,var(--color-accent) 35%,transparent)}.view-mode-toggle__btn.btn[aria-pressed=true]:hover:not(:disabled){background:var(--color-accent-hover);color:#fff}@media (max-width: 767px){.recipes-overview-toolbar__row{flex-direction:column;align-items:stretch;gap:.65rem}.recipes-overview-toolbar__search-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;width:100%}.recipes-overview-toolbar__filter-wrap{flex:1 1 auto;min-width:0}.recipes-overview-toolbar__controls{margin-left:0;width:100%;flex-wrap:nowrap;gap:.5rem}.recipes-overview-toolbar__label{display:none}.recipes-overview-toolbar__sort{flex:1 1 auto;min-width:0}.recipes-overview-select-wrap{flex:1 1 auto;min-width:0;width:100%}.recipes-overview-select{width:100%}}.recipes-overview-list{display:flex;flex-direction:column;gap:.75rem}.recipes-overview-list-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color .2s;min-width:0}.recipes-overview-list-item:hover{border-color:var(--color-accent)}.recipes-overview-list-item__main{position:relative;display:flex;gap:1rem;flex:1 1 auto;min-width:0;text-decoration:none;color:inherit;align-items:center}.recipes-overview-list-item__corner{position:absolute;top:.12rem;right:.12rem;z-index:2;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:.35rem;max-width:min(340px,calc(100% - 4rem))}.recipes-overview-list-item__main .recipes-overview-list-content{padding-right:4rem}.recipes-overview-list-item__corner .recipe-vote-inline--list .recipe-vote-inline__track{width:120px;min-width:120px;flex:0 0 120px}.recipes-overview-list-item__corner .recipe-vote-inline__num{font-size:.75rem}.recipes-overview-list-item__main:hover{text-decoration:none;color:inherit}.recipes-overview-list-item__main:hover h3{color:var(--color-accent)}.recipes-overview-thumb{width:80px;height:80px;flex-shrink:0;border-radius:8px;overflow:hidden}.recipes-overview-thumb img{width:100%;height:100%;object-fit:cover}.recipes-overview-thumb-placeholder{width:100%;height:100%;background:var(--color-surface-hover);display:flex;align-items:center;justify-content:center;font-size:2rem}.recipes-overview-list-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.recipes-overview-list-meta-text{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0}.recipes-overview-badges-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;flex-shrink:0}.recipe-card-badges-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.45rem}.recipes-overview-meta{font-size:.85rem;color:var(--color-text-muted)}@media (max-width: 768px){.recipes-overview-list-item{flex-wrap:wrap}.recipes-overview-list-item__main{flex:1 1 100%;min-width:0}}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.recipe-card{position:relative;display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.recipe-grid .recipe-card.card:hover{border-color:var(--color-accent)}.recipe-card-link{text-decoration:none;color:inherit;flex:1;min-width:0;display:block;position:relative;min-height:220px}.recipe-card-attributes{position:absolute;top:.2rem;left:.2rem;z-index:4;max-width:calc(100% - .5rem)}.recipe-card-attributes .recipe-meal-kind-inline{box-shadow:0 0 0 1px #ffffff29,0 2px 14px #0000007a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:color-mix(in srgb,var(--color-bg) 82%,var(--recipe-meal-color));border-color:color-mix(in srgb,var(--recipe-meal-color) 55%,var(--color-border))}.recipe-card-attributes .recipe-meal-kind-inline--sm{width:1.75rem;height:1.75rem}.recipe-card-attributes .recipe-meal-kind-inline__icon .recipe-attribute-lucide-icon{transform:scale(1.1);transform-origin:center}.recipe-card-attributes:empty{display:none}.recipe-card-visibility{position:absolute;top:.2rem;right:.2rem;z-index:4}.recipe-card-visibility .recipe-visibility-inline{box-shadow:0 0 0 1px #ffffff29,0 2px 14px #0000007a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:color-mix(in srgb,var(--color-bg) 82%,var(--recipe-visibility-accent));border-color:color-mix(in srgb,var(--recipe-visibility-accent) 55%,var(--color-border))}.recipe-card-visibility .recipe-visibility-inline--sm{width:1.75rem;height:1.75rem}.recipe-card-visibility .recipe-visibility-inline__icon .recipe-attribute-lucide-icon{transform:scale(1.1);transform-origin:center}.recipe-card-link:hover{text-decoration:none}.recipe-card-link:hover h3{color:var(--color-accent)}.recipe-card-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 .25rem}.recipe-card-title-row h3{margin:0;font-size:1.1rem;min-width:0}.recipes-overview-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 .25rem}.recipes-overview-title-row h3{margin:0;font-size:1.1rem;min-width:0}.recipe-card-meta-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;box-sizing:border-box}.recipe-card-meta-row .recipe-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--color-text-muted);flex:1 1 auto;min-width:0}.recipe-card-meta-row .recipe-meta:empty{display:none}.recipe-card-stats{display:flex;align-items:center;gap:.45rem;flex-shrink:0;margin-left:auto}.recipe-card-stats .recipe-vote-inline--tile{width:auto;flex:0 0 auto}.recipe-card-stats .recipe-comment-count-icon{flex-shrink:0}.empty-actions{display:flex;gap:.5rem;justify-content:center}.recipe-card-bg{z-index:1;position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transform:scale(1.02)}.recipe-card-content{z-index:2;position:absolute;left:0;right:0;bottom:0;padding:1rem 1.25rem 1.25rem;background:color-mix(in srgb,var(--color-surface) 88%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.recipe-card-badges-row .recipe-attr-badges,.recipe-card-badges-row .recipe-cuisine-badges{flex-shrink:0}.sectioned-editor{margin-top:.25rem}.sectioned-editor__toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--color-text-muted);margin-bottom:.75rem;-webkit-user-select:none;user-select:none}.sectioned-editor__toggle input{accent-color:var(--color-accent);width:1rem;height:1rem;cursor:pointer}.sectioned-editor__toggle--header{margin-bottom:0;flex-shrink:1;justify-content:flex-end;max-width:70%}.sectioned-editor__toolbar{margin-bottom:.75rem;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.sectioned-editor__hint{margin:0 0 .5rem;font-size:.8rem;color:var(--color-text-muted)}.sectioned-editor__pills{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.section-drop-pill{display:flex;align-items:center;gap:.35rem;border:1px dashed var(--color-border);border-radius:8px;padding:.25rem .4rem;background:color-mix(in srgb,var(--color-surface-hover) 70%,transparent)}.section-drop-pill--over{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.section-drop-pill--static{padding:.35rem .6rem}.section-drop-pill__title{min-width:6rem;max-width:12rem;border:none;background:transparent;color:var(--color-text);font-size:.85rem}.section-drop-pill__static-label{font-size:.85rem;color:var(--color-text)}.recipe-dnd-sort-row{margin-bottom:.5rem}.recipe-dnd-row-layout{display:flex;gap:.4rem;align-items:flex-start;width:100%}.recipe-dnd-handle-cell{flex-shrink:0}.recipe-dnd-body{flex:1;min-width:0}.recipe-dnd-handle{display:flex;align-items:center;justify-content:center;width:2rem;min-height:2rem;border:none;border-radius:6px;background:var(--color-surface-hover);color:var(--color-text-muted);cursor:grab}.recipe-dnd-handle:active{cursor:grabbing}.recipe-dnd-overlay{padding:.5rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow);max-width:280px;font-size:.9rem}.ingredient-run-heading,.step-run-heading{margin:.35rem 0 .25rem;font-size:.85rem;font-weight:600;color:var(--color-accent-hover)}.recipe-dnd-body .ingredient-row,.recipe-dnd-body .step-row{margin-bottom:0}.sectioned-editor__toolbar--compact{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.sectioned-editor__toolbar--compact .sectioned-editor__hint{margin:0;flex:1}.sectioned-editor__add-section-footer{display:flex;justify-content:flex-end;margin-top:.75rem}.section-container-stack{display:flex;flex-direction:column;gap:1rem}.section-container-box{border:1px solid var(--color-border);border-radius:var(--radius);background:color-mix(in srgb,var(--color-surface) 92%,transparent);overflow:hidden}.section-container-box--over{border-color:var(--color-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 35%,transparent)}.section-container-box--empty .section-container-box__body{min-height:2.75rem}.section-container-box__head{padding:.5rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-hover)}.section-container-box__title{display:block;font-size:.95rem;font-weight:600;margin:0}.section-container-box__title-row{display:flex;align-items:center;gap:.35rem}.section-container-box__title-input{flex:1;min-width:0;border:none;background:transparent;color:var(--color-text);font-size:.95rem;font-weight:600}.section-container-box__body{padding:.5rem .6rem .65rem}.section-container-box__footer{padding:.45rem .6rem;border-top:1px solid var(--color-border);background:var(--color-surface);display:flex;justify-content:flex-end}.recipe-link-picker-form{display:flex;flex-direction:column;gap:.85rem}.recipe-link-picker-list-wrap{min-height:4.5rem}.recipe-link-picker-status{margin:.35rem 0 0;color:var(--color-text-muted);font-size:.92rem}.recipe-link-picker-list{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:min(42vh,260px);overflow-y:auto}.recipe-link-picker-item{width:100%;text-align:left;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);background:var(--color-surface-elevated, var(--color-surface));color:var(--color-text);font:inherit;cursor:pointer}.recipe-link-picker-item:hover{border-color:color-mix(in srgb,var(--color-border) 55%,var(--color-accent) 45%)}.recipe-link-picker-item.is-selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface) 88%)}.external-link-picker-form{display:flex;flex-direction:column;gap:1rem}.editor-linked-field{position:relative;flex:1;min-width:0}.editor-linked-field__editor{width:100%;box-sizing:border-box;padding:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);line-height:1.5;outline:none;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.editor-linked-field__editor--single{min-height:calc(1.5em + 1rem)}.editor-linked-field__editor--multiline{resize:vertical;overflow:auto}.editor-linked-field__editor.is-focused,.editor-linked-field__editor:focus{border-color:color-mix(in srgb,var(--color-border) 45%,var(--color-accent) 55%)}.editor-linked-field__editor:empty:before{content:attr(data-placeholder);color:var(--color-text-muted);pointer-events:none}.recipe-link-chip{display:inline-flex;align-items:center;gap:.2rem;max-width:100%;margin:0 .12rem;padding:.08rem .2rem .08rem .45rem;border:1px solid color-mix(in srgb,var(--color-accent) 45%,var(--color-border) 55%);border-radius:999px;background:color-mix(in srgb,var(--color-accent) 14%,var(--color-surface) 86%);color:var(--color-accent);vertical-align:baseline;line-height:1.35;cursor:default;-webkit-user-select:none;user-select:none}.recipe-link-chip__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92em;font-weight:600}.recipe-link-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;padding:0;border:none;border-radius:999px;background:transparent;color:color-mix(in srgb,var(--color-accent) 70%,var(--color-text-muted) 30%);font-size:.95rem;line-height:1;cursor:pointer}.recipe-link-chip__remove:hover{background:color-mix(in srgb,var(--color-accent) 18%,transparent);color:var(--color-accent)}.recipe-link-chip--external{border-color:color-mix(in srgb,var(--color-text-muted) 35%,var(--color-border) 65%);background:color-mix(in srgb,var(--color-text-muted) 10%,var(--color-surface) 90%);color:var(--color-text)}.recipe-link-chip__external-icon{flex-shrink:0;font-size:.78em;line-height:1;opacity:.75}.recipe-link-chip--external .recipe-link-chip__remove{color:color-mix(in srgb,var(--color-text-muted) 80%,var(--color-text) 20%)}.recipe-link-chip--external .recipe-link-chip__remove:hover{background:color-mix(in srgb,var(--color-text-muted) 16%,transparent);color:var(--color-text)}.editor-field-toolbar{position:fixed;z-index:900;display:flex;flex-direction:column;gap:.25rem;padding:.2rem;border:1px solid color-mix(in srgb,var(--color-border) 55%,var(--color-text) 45%);border-radius:var(--radius-sm, 6px);background:var(--color-surface-elevated, var(--color-surface));box-shadow:0 1px 2px #0000001a,0 8px 20px #00000029,0 0 0 1px #0000000f,0 0 22px 6px #0003}.editor-field-toolbar--row{flex-direction:row;align-items:center;gap:.15rem}.editor-field-toolbar__btn--separator-before{margin-left:.1rem;box-shadow:-1px 0 color-mix(in srgb,var(--color-border) 80%,transparent)}.editor-field-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:calc(var(--radius-sm, 6px) - 2px);background:transparent;color:var(--color-accent);cursor:pointer}.editor-field-toolbar__btn:hover{background:color-mix(in srgb,var(--color-accent) 14%,transparent);color:var(--color-accent-hover, var(--color-accent))}.editor-field-toolbar__btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.recipe-edit-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1.5rem}.recipe-edit-header h1{margin:0;font-size:1.5rem}.recipe-edit-header-actions.toolbar-actions{flex:1 1 auto;min-width:0}.recipe-title-layout-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:start}.recipe-title-layout-row__title{min-width:0;align-self:end}.recipe-title-layout-row__layout .recipe-layout-field{flex-direction:column;align-items:flex-start;gap:.35rem}.recipe-title-layout-row__layout{justify-self:end}.recipe-visibility-field{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.recipe-title-layout-row__visibility{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:0}.recipe-comments-enabled-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.8rem;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;text-align:right}.recipe-visibility-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.8rem;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;min-height:44px}.recipe-visibility-switch__text{white-space:nowrap}.recipe-visibility-switch__checkbox{width:2.5rem;height:1.35rem;margin:0;flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;background:color-mix(in srgb,var(--color-text-muted) 35%,var(--color-border) 65%);border:1px solid var(--color-border);position:relative;transition:background .15s,border-color .15s,opacity .15s;cursor:pointer}.recipe-visibility-switch__checkbox:after{content:"";position:absolute;top:50%;left:2px;width:1rem;height:1rem;border-radius:50%;background:var(--color-surface);box-shadow:0 1px 2px color-mix(in srgb,var(--color-text) 18%,transparent);transform:translateY(-50%) translate(0);transition:transform .15s ease}.recipe-visibility-switch__checkbox:checked{background:color-mix(in srgb,var(--color-accent) 55%,var(--color-surface) 45%);border-color:color-mix(in srgb,var(--color-accent) 70%,var(--color-border) 30%)}.recipe-visibility-switch__checkbox:checked:after{transform:translateY(-50%) translate(1.1rem)}.recipe-visibility-switch__checkbox:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.recipe-visibility-switch__checkbox:disabled{opacity:.55;cursor:not-allowed}.recipe-visibility-hint{font-size:.8rem;color:var(--color-text-muted, #888);max-width:320px;text-align:right}.recipe-title-layout-row__layout .recipe-layout-field__label{white-space:nowrap}.recipe-title-layout-row__layout .recipe-layout-picker{flex-wrap:nowrap}@media (max-width: 768px){.recipe-title-layout-row{grid-template-columns:1fr;align-items:stretch}.recipe-title-layout-row__layout .recipe-layout-picker{flex-wrap:wrap}}.recipe-edit form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:none}.recipe-layout-field{display:flex;flex-direction:column;gap:.5rem}.recipe-layout-field__label{font-size:.9rem;font-weight:600;color:var(--color-text)}.recipe-layout-picker{display:flex;gap:.5rem;flex-wrap:wrap}.recipe-layout-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;padding:.45rem;cursor:pointer;transition:border-color .15s,transform .05s}.recipe-layout-btn:hover{border-color:var(--color-accent)}.recipe-layout-btn:active{transform:translateY(1px)}.recipe-layout-btn.is-active{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 25%,transparent)}.layout-preview{display:grid;width:64px;height:44px;gap:3px;grid-template-columns:1fr 2fr}.layout-preview--4{width:70px;height:50px;grid-template-columns:1fr 1fr 1fr;grid-template-rows:.5fr .65fr .45fr .55fr .75fr}.layout-preview--5{width:70px;height:50px;grid-template-columns:1fr 1fr;grid-template-rows:.5fr .65fr .45fr .55fr .75fr}.recipe-image-field{display:flex;flex-direction:column;gap:.5rem}.recipe-image-field__label{font-size:.9rem;font-weight:600;color:var(--color-text)}.recipe-image-field__row{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:stretch;min-height:0}.recipe-image-thumb-wrap{box-sizing:border-box;height:100%;aspect-ratio:1;width:auto;max-width:100%;justify-self:start;border-radius:8px;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);flex-shrink:0;min-height:0;min-width:0;max-height:120px}.recipe-image-thumb{width:100%;height:100%;object-fit:cover;display:block}.recipe-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:.35rem;font-size:.75rem;line-height:1.25;color:var(--color-text-muted, #888)}.recipe-image-field__controls{display:flex;flex-direction:column;gap:.5rem;min-width:0}.recipe-image-upload-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.recipe-image-upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.recipe-image-upload-label{display:inline-block;padding:.5rem .85rem;font-size:.9rem;font-weight:500;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;cursor:pointer}.recipe-image-upload-label:hover{border-color:var(--color-accent, #888)}.recipe-image-upload-input:disabled+.recipe-image-upload-label{opacity:.6;cursor:not-allowed}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.form-section{margin-top:1rem}.form-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.form-section-footer{display:flex;justify-content:flex-end;margin-top:.75rem}.form-section h2{margin:0;font-size:1.1rem}.ingredient-row{display:grid;grid-template-columns:80px 80px 1fr auto;gap:.5rem;align-items:center;margin-bottom:.5rem}.ingredient-amount,.ingredient-unit,.ingredient-name{padding:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text)}.step-row{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:.5rem}.step-num{flex-shrink:0;width:28px;height:28px;display:inline-grid;place-items:center;border-radius:999px;background:var(--color-accent);color:#fff;font-weight:700;font-size:.85rem;line-height:1}.step-input{flex:1;padding:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);resize:vertical}.form-error{color:var(--color-danger);margin:0}.recipe-edit-form-fields{padding-bottom:4.5rem}.recipe-edit-form-footer{position:sticky;bottom:0;z-index:25;display:flex;flex-direction:column;gap:.5rem;margin-top:-3rem;padding:.85rem 0;padding-bottom:max(.85rem,env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--color-bg) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--color-border);box-shadow:0 -8px 24px color-mix(in srgb,var(--color-bg) 55%,transparent)}.recipe-edit-form-footer .form-error{margin:0;text-align:right}.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:0}.recipe-attributes-field{border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.1rem 1.15rem;margin:1.25rem 0}.recipe-attributes-field--after-steps{margin-top:1.5rem;margin-bottom:.5rem}.recipe-cuisine-field{margin-top:.75rem;padding-top:1.1rem;border-top:1px solid color-mix(in srgb,var(--color-border) 85%,transparent)}.recipe-cuisine-field__hint{margin:0 0 .6rem;font-size:.85rem;color:var(--color-text-muted)}.recipe-meal-kind-field{margin-top:.75rem;padding-top:1.1rem;border-top:1px solid color-mix(in srgb,var(--color-border) 85%,transparent)}.recipe-meal-kind-toggle__face--none{font-weight:600;font-size:1.05rem;line-height:1}.recipe-attributes-field__legend{padding:0 .35rem;font-weight:600;font-size:.95rem}.recipe-attributes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.55rem}.recipe-attr-toggle{position:relative;display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;border-radius:10px;border:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s}.recipe-attr-toggle:hover{border-color:color-mix(in srgb,var(--recipe-attr-color) 45%,var(--color-border))}.recipe-attr-toggle:focus-within{outline:2px solid color-mix(in srgb,var(--recipe-attr-color) 70%,var(--color-border));outline-offset:2px}.recipe-attr-toggle--on{border-color:color-mix(in srgb,var(--recipe-attr-color) 55%,transparent);background:color-mix(in srgb,var(--recipe-attr-color) 12%,transparent)}.recipe-attr-toggle__input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}.recipe-attr-toggle__face,.recipe-attr-toggle__label{pointer-events:none}.recipe-attr-toggle__face{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--recipe-attr-color) 45%,transparent);background:color-mix(in srgb,var(--recipe-attr-color) 18%,transparent);color:var(--recipe-attr-color)}.recipe-attr-toggle__face--hidden{font-weight:800;opacity:.55;transform:translateY(-1px)}.recipe-attr-toggle__label{font-size:.88rem;line-height:1.2}.add-recipe-cookbook-modal__hint{margin-top:0}.add-recipe-cookbook-modal__create-row{display:flex;justify-content:flex-start;margin:.25rem 0 .5rem}.add-recipe-cookbook-modal__fieldset{border:none;margin:0;padding:0;min-width:0}.add-recipe-cookbook-modal__legend{margin-bottom:.35rem}.add-recipe-cookbook-modal .recipe-checkboxes.add-recipe-cookbook-modal__list{max-height:min(45vh,360px);margin-top:.25rem}.add-recipe-cookbook-modal__row{align-items:flex-start}.add-recipe-cookbook-modal__row--was-in{font-weight:500}.add-recipe-cookbook-modal__row-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;min-width:0}.add-recipe-cookbook-modal__badge{font-size:.8rem;font-weight:400;color:var(--color-text-muted)}.recipe-community-votes{width:auto;max-width:720px}.recipe-community-votes--compact{font-size:.75rem}.recipe-community-votes__tray{display:flex;flex-direction:row;align-items:center;gap:.45rem}.recipe-community-votes--compact .recipe-community-votes__tray{gap:.35rem}.recipe-community-votes__tray .recipe-community-votes__row{width:auto;flex:0 1 auto}.recipe-community-votes__row{display:flex;align-items:center;gap:.35rem;width:100%}.recipe-community-votes__btn{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;padding:0;flex-shrink:0;border:1px solid var(--color-border, rgba(0, 0, 0, .15));border-radius:6px;background:var(--color-surface, #fff);color:var(--color-text);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.recipe-community-votes__btn:hover:not(:disabled){border-color:var(--color-accent, #3b82f6);color:var(--color-accent, #3b82f6)}.recipe-community-votes__btn:disabled{opacity:.5;cursor:not-allowed}.recipe-community-votes__btn--active{border-color:#22c55e;background:#22c55e1f;color:#15803d}.recipe-community-votes__btn--active.recipe-community-votes__btn--down{border-color:#64748b;background:#64748b1f;color:#475569}.recipe-community-votes__num{font-variant-numeric:tabular-nums;min-width:.85rem;text-align:center;font-size:.8rem;color:var(--color-text-muted)}.recipe-community-votes__track{flex:1 1 auto;min-width:120px;height:6px;border-radius:3px;background:var(--color-border, rgba(0, 0, 0, .12));overflow:hidden}.recipe-community-votes__fill{height:100%;width:0%;border-radius:3px;background:linear-gradient(90deg,#16a34a,#22c55e);transition:width .25s ease}.recipe-community-votes__login-line{margin:.2rem 0 0;font-size:.7rem;text-align:right;line-height:1.2}.recipe-community-votes__login-line a{color:var(--color-accent)}.recipe-community-comments{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border, rgba(0, 0, 0, .12))}.recipe-community-comments__heading{margin:0 0 1rem;font-size:1.25rem}.recipe-community-comments__comment-form{margin-bottom:1.25rem}.recipe-community-comments__form-actions{display:flex;justify-content:flex-end;margin-top:.35rem}.recipe-community-comments__textarea{display:block;width:100%;min-height:5rem;margin-bottom:.5rem;padding:.6rem .75rem;font:inherit;border:1px solid var(--color-border, rgba(0, 0, 0, .15));border-radius:8px;resize:vertical;box-sizing:border-box}.recipe-community-comments__login-hint{margin:0 0 .75rem;font-size:.875rem;color:var(--color-text-muted)}.recipe-community-comments__login-hint a{color:var(--color-accent)}.recipe-community-comments__comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.recipe-community-comments__comment-thread{margin:0;list-style:none;scroll-margin-top:5rem}.recipe-community-comments__comment-thread--nested{margin-top:.35rem}.recipe-community-comments__comment-thread-row{display:flex;gap:.65rem;align-items:flex-start}.recipe-community-comments__comment-thread-row--recipe-owner .recipe-community-comments__avatar,.recipe-community-comments__comment-thread-row--recipe-owner .recipe-community-comments__avatar--placeholder{box-shadow:0 0 0 2px var(--color-accent, #22c55e)}.recipe-community-comments__comment-card{flex:1;min-width:0;padding:.55rem .65rem;border-radius:8px;background:color-mix(in srgb,var(--color-surface) 98.5%,#ffffff 1.5%);border:1px solid var(--color-border, rgba(0, 0, 0, .1));box-sizing:border-box}.recipe-community-comments__comment-thread-row--recipe-owner .recipe-community-comments__comment-card{border-color:var(--color-accent, #22c55e);border-width:1px}.recipe-community-comments__avatar{width:2.25rem;height:2.25rem;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--color-border, #e5e7eb)}.recipe-community-comments__avatar--placeholder{display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.recipe-community-comments__comment-body{min-width:0;flex:1}.recipe-community-comments__avatar-wrap{position:relative;flex-shrink:0;align-self:flex-start}.recipe-community-comments__owner-star{position:absolute;top:-3px;right:-3px;display:flex;align-items:center;justify-content:center;color:#ca8a04;filter:drop-shadow(0 0 1px rgba(0,0,0,.35));pointer-events:none}.recipe-community-comments__owner-star-icon{fill:currentColor;stroke:#fef9c3;stroke-width:.5}.recipe-community-comments__meta-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem;font-size:.8rem;color:var(--color-text-muted)}.recipe-community-comments__meta-right{display:inline-flex;align-items:center;gap:.15rem;flex-wrap:wrap;margin-left:auto}.recipe-community-comments__meta-right time{font-variant-numeric:tabular-nums}.recipe-community-comments__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer}.recipe-community-comments__icon-btn:hover{background:#0000000f;color:var(--color-text)}.recipe-community-comments__icon-btn--danger:hover{color:#b91c1c;background:#b91c1c14}.recipe-community-comments__comment-author{font-weight:600;color:var(--color-text)}a.recipe-community-comments__comment-author-link{text-decoration:none;color:inherit}a.recipe-community-comments__comment-author-link:hover{text-decoration:underline;color:var(--color-accent)}.recipe-community-comments__comment-text{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.95rem;line-height:1.45}.recipe-community-comments__empty{margin:0;font-size:.9rem;color:var(--color-text-muted)}.recipe-community-comments__error{margin:0 0 .5rem;font-size:.875rem;color:var(--color-text-muted)}.recipe-community-comments__disabled-notice{margin:0 0 1rem;padding:.65rem .75rem;font-size:.9rem;line-height:1.4;color:var(--color-text-muted);background:var(--color-surface-muted, rgba(0, 0, 0, .04));border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1))}.recipe-community-comments__thread-replies{list-style:none;margin:.65rem 0 0;padding:0 0 0 1rem;border-left:2px solid var(--color-border, rgba(0, 0, 0, .12));display:flex;flex-direction:column;gap:.75rem}.recipe-community-comments__thread-replies--at-root{margin-left:2.9rem}.recipe-community-comments__thread-replies--nested{margin-left:0;padding-left:0;border-left:none}.recipe-community-comments__like-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem .75rem;flex-wrap:wrap;margin-top:.45rem}.recipe-community-comments__like-left{display:inline-flex;align-items:center;gap:.35rem}.recipe-community-comments__like-btn{display:inline-flex;align-items:center;justify-content:center;padding:.15rem;border:none;background:none;border-radius:6px;color:var(--color-text-muted);cursor:pointer}.recipe-community-comments__like-btn:hover:not(:disabled){color:#e11d48;background:#e11d4814}.recipe-community-comments__like-btn:disabled{opacity:.55;cursor:wait}.recipe-community-comments__like-btn--active{color:#e11d48}.recipe-community-comments__like-btn--active .recipe-community-comments__like-heart{fill:currentColor}.recipe-community-comments__like-icon-passive{display:inline-flex;opacity:.45;color:var(--color-text-muted)}.recipe-community-comments__like-count{font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.recipe-community-comments__reply-trigger{padding:0;border:none;background:none;font:inherit;font-size:.82rem;color:var(--color-accent, #3b82f6);cursor:pointer;text-decoration:underline;text-align:left}.recipe-community-comments__reply-trigger:hover{color:var(--color-text)}.recipe-community-comments__reply-trigger--beside-likes{flex-shrink:0;margin-left:auto;white-space:nowrap}.recipe-community-comments__reply-form,.recipe-community-comments__edit-form{margin-top:.5rem}.recipe-community-comments__textarea--compact{min-height:3.5rem;margin-bottom:.4rem}.recipe-community-comments__edit-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.recipe-community-comments__edited{font-size:.75rem;color:var(--color-text-muted)}.recipe-public-toolbar{display:flex;justify-content:flex-end;margin-bottom:1rem}.recipe-public-toolbar .recipe-actions{display:flex;justify-content:flex-end;gap:.5rem}.recipe-detail-header{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.recipe-header-main{width:100%;min-width:0}.recipe-header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}.recipe-header-top .back-link{margin-bottom:0}.recipe-header-top .recipe-actions{flex:1 1 auto;min-width:0}.recipe-title-row{display:flex;align-items:baseline;justify-content:flex-start;gap:1rem;min-width:0;width:100%}.recipe-title-row--with-aside{align-items:center;justify-content:space-between}.recipe-header-aside{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;max-width:min(100%,360px)}.recipe-header-status{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;width:100%;min-width:0}.recipe-header-status--title .recipe-visibility-inline{margin-right:auto;flex-shrink:0}.recipe-header-status .recipe-community-votes{flex-shrink:0;margin-left:0}.recipe-header-status--meta{display:none}.recipe-meta-primary{display:contents}.recipe-title-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;flex:1 1 auto}.recipe-title-heading h1{margin:0 0 .5rem;min-width:0;font-size:1.75rem}.recipe-title-heading--public h1{margin:0 0 .75rem}.recipe-title-row .recipe-title-heading h1{margin-bottom:0}.recipe-meta-row{width:100%;font-size:.9rem;color:var(--color-text-muted)}.recipe-meta-items,.recipe-meta-text{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;min-width:0}.recipe-meta-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;flex-shrink:0}.recipe-meta-badges .recipe-attr-badges,.recipe-meta-badges .recipe-cuisine-badges{flex-shrink:0;align-self:center}@media (max-width: 768px){.recipe-header-top{flex-direction:column;align-items:stretch;gap:.65rem}.recipe-header-top .back-link{align-self:flex-start}.recipe-header-top .recipe-actions{flex-wrap:nowrap;justify-content:flex-end;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.45rem;padding-bottom:.25rem;margin-inline:-.15rem;padding-inline:.15rem;max-width:100%;min-width:0}.recipe-header-top .recipe-actions .toolbar-actions__leading,.recipe-header-top .recipe-actions .toolbar-actions__trailing{flex-wrap:nowrap;flex-shrink:0}.recipe-header-top .recipe-actions .toolbar-actions__leading>a,.recipe-header-top .recipe-actions .toolbar-actions__leading>button,.recipe-header-top .recipe-actions .toolbar-actions__trailing>a,.recipe-header-top .recipe-actions .toolbar-actions__trailing>button{flex:0 0 auto}.recipe-header-top .recipe-actions .toolbar-actions__leading>a,.recipe-header-top .recipe-actions .toolbar-actions__trailing>a{display:flex}.recipe-detail .recipe-actions .btn,.recipe-public-toolbar .recipe-actions .btn{white-space:nowrap;padding:.45rem .75rem;font-size:.88rem}.recipe-public-toolbar{justify-content:stretch;margin-bottom:.75rem;max-width:100%;min-width:0}.recipe-public-toolbar .recipe-actions{flex-wrap:nowrap;justify-content:flex-end;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;width:100%;max-width:100%;min-width:0;padding-bottom:.25rem}.recipe-public-toolbar .recipe-actions>*{flex:0 0 auto}.recipe-title-row{flex-wrap:wrap;align-items:flex-start}.recipe-header-aside--title{display:none}.recipe-title-row--with-aside{flex-direction:row;align-items:baseline}.recipe-meta-row--with-status .recipe-meta-items{flex-direction:column;align-items:stretch;gap:.5rem;width:100%}.recipe-meta-row--with-status .recipe-meta-primary{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.5rem .65rem;width:100%;min-width:0}.recipe-meta-row--with-status .recipe-meta-text{flex:1 1 auto;min-width:0}.recipe-header-status--meta{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex:0 0 auto;width:auto}.recipe-header-status--meta .recipe-visibility-inline{margin-right:0}}.recipe-image{--recipe-image-height: 400px;width:100%;height:var(--recipe-image-height);overflow:hidden;border-radius:var(--radius);margin-bottom:1.5rem;display:grid;place-items:center}.recipe-image img{width:100%;max-width:none;height:var(--recipe-image-height);object-fit:cover;object-position:center;display:block}@media (max-width: 768px){.recipe-image{--recipe-image-height: 280px}}.recipe-description{margin:0 0 1.5rem;color:var(--color-text-muted);line-height:1.6}.recipe-detail{display:flex;flex-direction:column;gap:0}.recipe-row-de,.recipe-row-dc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1.5rem 4rem;align-items:start}.recipe-row-dc .recipe-image{margin-bottom:0}.recipe-row-e{margin-bottom:2rem}.recipe-row-d-ingredients-wide{width:100%;min-width:0}.recipe-ingredients-body{min-width:0}.recipe-detail[data-layout="4"] .recipe-section--ingredients{width:100%;max-width:100%;box-sizing:border-box}.recipe-detail[data-layout="4"] .recipe-ingredients-body--sectioned{column-count:3;column-gap:2rem;column-rule:1px solid color-mix(in srgb,var(--color-border) 88%,var(--color-text) 12%);width:100%}.recipe-detail[data-layout="4"] .recipe-ingredients-body--sectioned .recipe-run-block{break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid}.recipe-detail[data-layout="4"] .recipe-ingredients-body--flat .ingredients-list{column-count:3;column-gap:2rem;column-rule:1px solid color-mix(in srgb,var(--color-border) 88%,var(--color-text) 12%);width:100%}.recipe-detail[data-layout="4"] .recipe-ingredients-body--flat .recipe-run-block{break-inside:auto}.recipe-detail[data-layout="4"] .ingredients-list{display:block}.recipe-detail[data-layout="4"] .ingredient-view-row{display:grid;grid-template-columns:minmax(4.25rem,7.5rem) minmax(0,1fr);column-gap:.75rem;align-items:baseline;break-inside:avoid;page-break-inside:avoid;margin-bottom:.5rem}@media (max-width: 960px){.recipe-detail[data-layout="4"] .recipe-ingredients-body--sectioned,.recipe-detail[data-layout="4"] .recipe-ingredients-body--flat .ingredients-list{column-count:2;column-gap:1.5rem}}@media (max-width: 560px){.recipe-detail[data-layout="4"] .recipe-ingredients-body--sectioned,.recipe-detail[data-layout="4"] .recipe-ingredients-body--flat .ingredients-list{column-count:1;column-rule:none}}.recipe-detail[data-layout="5"] .recipe-section--ingredients{width:100%;max-width:100%;box-sizing:border-box}.recipe-detail[data-layout="5"] .recipe-ingredients-body--sectioned{column-count:2;column-gap:2rem;column-rule:1px solid color-mix(in srgb,var(--color-border) 88%,var(--color-text) 12%);width:100%}.recipe-detail[data-layout="5"] .recipe-ingredients-body--sectioned .recipe-run-block{break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid}.recipe-detail[data-layout="5"] .recipe-ingredients-body--flat .ingredients-list{column-count:2;column-gap:2rem;column-rule:1px solid color-mix(in srgb,var(--color-border) 88%,var(--color-text) 12%);width:100%}.recipe-detail[data-layout="5"] .recipe-ingredients-body--flat .recipe-run-block{break-inside:auto}.recipe-detail[data-layout="5"] .ingredients-list{display:block}.recipe-detail[data-layout="5"] .ingredient-view-row{display:grid;grid-template-columns:minmax(4.25rem,7.5rem) minmax(0,1fr);column-gap:.75rem;align-items:baseline;break-inside:avoid;page-break-inside:avoid;margin-bottom:.5rem}@media (max-width: 560px){.recipe-detail[data-layout="5"] .recipe-ingredients-body--sectioned,.recipe-detail[data-layout="5"] .recipe-ingredients-body--flat .ingredients-list{column-count:1;column-rule:none}}.recipe-row-de .recipe-section--ingredients,.recipe-row-dc .recipe-section--ingredients{width:100%;min-width:0}@media (max-width: 768px){.recipe-row-de,.recipe-row-dc{grid-template-columns:1fr;gap:1.5rem}}.recipe-section{margin-bottom:2rem}.recipe-section h2{margin:0 0 .75rem;font-size:1.25rem}.ingredients-list,.steps-list{margin:0;padding-left:1.25rem}.ingredients-list li,.steps-list li{margin-bottom:.5rem;line-height:1.5}.ingredients-list{list-style:none;padding-left:0;display:grid;grid-template-columns:max-content 1fr;column-gap:.75rem;row-gap:.5rem;align-items:baseline}.ingredient-view-row{display:contents}.steps-list{list-style:none;padding-left:0;counter-reset:step}.steps-list li{display:grid;grid-template-columns:1.75rem 1fr;column-gap:.6rem;align-items:start}.steps-list li:before{counter-increment:step;content:counter(step);display:inline-grid;place-items:center;margin-top:4px;width:1.55rem;height:1.55rem;border-radius:999px;background:var(--color-accent);color:#fff;font-weight:700;font-size:.85rem;line-height:1}.recipe-step-text{display:block;min-width:0;padding:.4rem .55rem;background:color-mix(in srgb,var(--color-surface) 98.5%,#ffffff 1.5%);border-radius:6px;line-height:1.5;white-space:pre-wrap}.recipe-step-ingredient-hit{cursor:help;color:color-mix(in srgb,var(--color-text) 58%,var(--color-accent) 42%);text-decoration:underline dashed;text-decoration-color:color-mix(in srgb,var(--color-text) 72%,var(--color-accent) 28%);text-decoration-thickness:max(1px,.055em);text-underline-offset:calc(.15em + 1px)}.recipe-step-ingredient-hit:hover{color:color-mix(in srgb,var(--color-text) 42%,var(--color-accent-hover) 58%);text-decoration-color:color-mix(in srgb,var(--color-text) 55%,var(--color-accent-hover) 45%);text-decoration-thickness:max(1.25px,.06em)}.recipe-inline-link{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:max(1px,.06em);text-underline-offset:calc(.12em + 1px)}.recipe-inline-link--external{display:inline-flex;align-items:baseline;gap:.22em}.recipe-inline-link__external-icon{flex-shrink:0;align-self:center;color:inherit}.recipe-inline-link:hover{color:var(--color-accent-hover, var(--color-accent))}.ingredient-view-qty{white-space:nowrap;color:var(--color-text-muted);text-align:right}.ingredient-view-name{min-width:0}.recipe-source{margin-top:2rem;font-size:.9rem;color:var(--color-text-muted)}.recipe-run-block{margin-bottom:1rem}.recipe-subheading{margin:1.5rem 0 .4rem;font-size:1rem;font-weight:600;color:var(--color-accent-hover)}.public-user-profile{--profile-avatar-size: 9.5rem;--profile-header-height: 11rem;padding:0 0 2rem;box-sizing:border-box;width:100%}.public-user-profile__cover{position:relative;height:var(--profile-header-height);border-radius:0 0 12px 12px;overflow:hidden;background:linear-gradient(135deg,var(--color-border, #e5e7eb) 0%,var(--color-surface, #f3f4f6) 100%)}.public-user-profile__cover-img{width:100%;height:100%;object-fit:cover;display:block}.public-user-profile__post-cover{display:flex;justify-content:flex-end;align-items:center;width:100%;box-sizing:border-box;padding:.4rem 1rem .2rem;position:relative;z-index:2}.public-user-profile__post-cover .public-user-profile__actions{display:flex;justify-content:flex-end;margin:0}.public-user-profile__avatar-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;margin:calc(var(--profile-avatar-size) * -.5) 0 .65rem;padding:0 1rem;position:relative;z-index:1;pointer-events:none}.public-user-profile__avatar-cluster{position:relative;width:var(--profile-avatar-size);flex:0 0 auto;pointer-events:auto}.public-user-profile__diet-badges{position:absolute;right:100%;top:50%;transform:translateY(calc(-50% + 1.2rem));display:block;max-width:min(45vw,22rem);margin:0;margin-right:.6rem;z-index:1;pointer-events:auto;box-sizing:border-box}.public-user-profile__diet-badges .recipe-attr-badges{justify-content:flex-end}.public-user-profile__identity{position:relative;text-align:center}.public-user-profile__avatar{width:var(--profile-avatar-size);height:var(--profile-avatar-size);margin:0;border-radius:50%;border:4px solid var(--color-bg, #fff);box-shadow:0 2px 12px #0000001f;background:var(--color-surface, #fff);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;z-index:1}.public-user-profile__avatar-img{width:100%;height:100%;object-fit:cover}.public-user-profile__avatar-placeholder{font-size:2.25rem;font-weight:600;color:var(--color-text-muted)}.public-user-profile__name{margin:0 0 .75rem;font-size:1.4rem}.public-user-profile__stats{display:flex;justify-content:center;gap:2rem;margin:0 0 1rem;text-align:center}.public-user-profile__stats dt{margin:0;font-size:.75rem;color:var(--color-text-muted);font-weight:500}.public-user-profile__stats dd{margin:.15rem 0 0;font-size:1.1rem;font-variant-numeric:tabular-nums}.public-user-profile__actions{display:flex;justify-content:center}.public-user-profile__hint{margin:.75rem 0 0;font-size:.85rem;text-align:center;color:var(--color-text-muted)}.public-user-profile__hint a{color:var(--color-accent)}.public-user-profile__bio{margin:0 auto 1rem;max-width:42rem;text-align:left;font-size:.95rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--color-text)}.public-user-profile__bio--after-links{margin:0 auto 1.5rem;max-width:42rem;width:100%;box-sizing:border-box;padding:0 1rem}.public-user-profile__identity+.public-user-profile__bio--after-links{margin-top:.5rem}.public-user-profile__links+.public-user-profile__bio--after-links{margin-top:0}.public-user-profile__links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:0 0 1.5rem}.public-user-profile__link-chip{display:inline-flex;align-items:center;padding:.4rem .85rem;border-radius:999px;font-size:.9rem;font-weight:500;text-decoration:none;color:var(--color-text);border:1px solid var(--color-border);background:var(--color-surface, rgba(255, 255, 255, .04));transition:border-color .15s,color .15s}.public-user-profile__link-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.public-user-profile__recipes{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.public-user-profile__recipes-title{margin:0 0 .75rem;font-size:1.1rem}.public-user-profile__recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.public-user-profile__recipe-more{margin-top:1rem;display:flex;justify-content:center}.public-user-profile__recipe-card{text-decoration:none;color:inherit;border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background:var(--color-surface, rgba(255, 255, 255, .03));transition:border-color .15s}.public-user-profile__recipe-card:hover,.public-user-profile__recipe-card:focus-visible{text-decoration:none;color:inherit;border-color:var(--color-accent)}.public-user-profile__recipe-card-img-wrap{width:100%;height:0;padding-bottom:56%;position:relative;background:var(--color-border)}.public-user-profile__recipe-card-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.public-user-profile__recipe-card-attributes{position:absolute;top:.2rem;left:.2rem;z-index:4;max-width:calc(100% - .5rem)}.public-user-profile__recipe-card-attributes .public-user-profile__recipe-attrs-on-image,.public-user-profile__recipe-card-attributes .recipe-attr-badges{justify-content:flex-start}.public-user-profile__recipe-card-attributes .recipe-attr-badge{box-shadow:0 0 0 1px #ffffff29,0 2px 14px #0000007a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:color-mix(in srgb,var(--color-bg) 82%,var(--recipe-attr-color));border-color:color-mix(in srgb,var(--recipe-attr-color) 55%,var(--color-border))}.public-user-profile__recipe-card-attributes:empty{display:none}.public-user-profile__recipe-card-body{padding:.65rem .75rem}.public-user-profile__recipe-card-title{margin:0;font-size:.95rem;font-weight:600;line-height:1.35}.public-user-profile__recipe-card-cuisines{margin-top:.35rem}.public-user-profile__recipe-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem;margin-top:.4rem;font-size:.8rem;line-height:1.2;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.public-user-profile__recipe-card-stat{display:inline-flex;align-items:center;gap:.2rem}.public-user-profile__recipe-card-stat-icon{flex-shrink:0;color:var(--color-text-muted);opacity:.9}.public-user-profile__recipe-card-comments{margin-left:auto}.profile-page{display:flex;flex-direction:column;gap:16px}.profile-page__title-row{display:flex;align-items:flex-start;gap:.65rem}.profile-page__heading-wrap{flex:1;min-width:0;margin-bottom:0}.profile-page__heading-wrap h1{margin:0}.profile-mobile-nav-toggle{display:none;flex-shrink:0;align-items:center;justify-content:center;padding:.4rem .55rem;border-radius:10px;border:1px solid var(--color-border);background:#ffffff0a;color:var(--color-text);cursor:pointer}.profile-mobile-nav-toggle:hover{background:#ffffff14}.profile-layout{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.profile-side-nav{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;padding:12px}.profile-side-nav__group+.profile-side-nav__group{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.profile-side-nav__title{font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:6px}.profile-side-nav__link{display:block;width:100%;text-align:left;text-decoration:none;border:1px solid transparent;background:transparent;color:var(--color-text);padding:8px 10px;border-radius:10px}.profile-side-nav__link--sub{padding-left:18px;color:var(--color-text-muted)}.profile-side-nav__link:hover{border-color:var(--color-border);background:#ffffff08}.profile-side-nav__link.active{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-text)}.profile-content{display:flex;flex-direction:column;gap:16px}.profile-field-label{margin:0;font-size:.9rem;font-weight:600;color:var(--color-text)}.profile-header-preview{width:100%;max-width:420px;height:var(--profile-preview-h, 120px);border-radius:10px;overflow:hidden;border:1px solid var(--color-border);background:#ffffff0a;box-sizing:border-box}.profile-header-preview__img{width:100%;height:100%;object-fit:cover;display:block}.profile-header-preview__placeholder{width:100%;height:100%;background:linear-gradient(120deg,var(--color-border),rgba(255,255,255,.06))}.profile-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;padding:16px}.profile-card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;margin-bottom:.1rem}.profile-card-header .profile-card__title{margin:0;font-size:1.2rem;line-height:1.2;flex:1 1 auto;min-width:0}.profile-visit-button{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;white-space:nowrap;flex-shrink:0;font-weight:600;letter-spacing:.02em}.profile-visit-button:hover,.profile-visit-button:focus,.profile-visit-button:focus-visible{text-decoration:none}.profile-visit-button .profile-visit-icon{color:inherit}.profile-visit-icon{flex-shrink:0;opacity:.95;margin-top:1px}.profile-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-section{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border);max-width:36rem}.profile-section--flush,.profile-section--wide{max-width:100%}.profile-section--first{margin-top:.75rem;padding-top:0;border-top:none}.profile-section__title{margin:0 0 .15rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.profile-field-stack{display:flex;flex-direction:column;gap:.65rem;max-width:32rem}.profile-name-cols{display:grid;grid-template-columns:1fr;gap:.85rem 1.25rem;width:100%;max-width:100%;margin-bottom:.1rem}@media (min-width: 600px){.profile-name-cols{grid-template-columns:1fr 1fr}}.profile-photo-2col{--profile-preview-h: 120px;display:grid;grid-template-columns:1fr;gap:1.1rem 1.25rem;width:100%;max-width:100%}@media (min-width: 600px){.profile-photo-2col{grid-template-columns:1fr 1fr}}.profile-photo-col{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:.55rem}.profile-avatar-actions--stack{flex-direction:column;align-items:stretch;width:100%;max-width:100%}.profile-avatar-actions--stack .profile-avatar-actions__label{justify-content:center;width:100%;box-sizing:border-box}.profile-avatar-actions--stack .btn{width:100%;box-sizing:border-box;justify-content:center}.profile-photo-col .profile-header-preview{max-width:100%}.profile-avatar-preview-wrap{width:100%;max-width:100%;height:var(--profile-preview-h, 120px);min-height:var(--profile-preview-h, 120px);max-height:var(--profile-preview-h, 120px);box-sizing:border-box;border-radius:10px;border:1px solid var(--color-border);background:#ffffff0a;display:flex;align-items:center;justify-content:center;overflow:hidden}.profile-avatar-preview-wrap .profile-avatar,.profile-avatar-preview-wrap .profile-avatar__img,.profile-avatar-preview-wrap .profile-avatar__placeholder{width:var(--profile-preview-h, 120px);height:var(--profile-preview-h, 120px);min-width:var(--profile-preview-h, 120px);min-height:var(--profile-preview-h, 120px);max-width:var(--profile-preview-h, 120px);max-height:var(--profile-preview-h, 120px);box-sizing:border-box}.profile-avatar-preview-wrap .profile-avatar__placeholder{font-size:2.25rem}.profile-textarea--full{max-width:100%;width:100%;display:block;box-sizing:border-box}.profile-links-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem .75rem;width:100%;box-sizing:border-box}.profile-links-hint-aux{font-size:.8rem;color:var(--color-text-muted);margin:0}.profile-row{display:grid;grid-template-columns:1fr;gap:12px;align-items:center;margin-top:12px}.profile-avatar{width:72px;height:72px}.profile-avatar__img{width:72px;height:72px;border-radius:999px;object-fit:cover;border:1px solid var(--color-border)}.profile-avatar__placeholder{width:72px;height:72px;border-radius:999px;display:grid;place-items:center;font-weight:700;font-size:22px;background:#ffffff0f;border:1px solid var(--color-border)}.profile-avatar-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.profile-avatar-actions__file{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);border:0;padding:0;margin:-1px}.profile-avatar-actions__label{display:inline-flex;align-items:center;justify-content:center;min-height:38px;box-sizing:border-box;padding:0 12px;border-radius:var(--radius);border:1px solid var(--color-border);background:transparent;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.profile-actions{display:flex;justify-content:flex-end}.profile-actions--section{margin-top:8px}.profile-hint{margin:0;font-size:.85rem;line-height:1.45;color:var(--color-text-muted)}.profile-alias-hint-below{margin-top:.3rem}.profile-public-link-wrap{margin:0;font-size:.9rem}.profile-public-link-wrap a{color:var(--color-accent);text-decoration:none}.profile-public-link-wrap a:hover{text-decoration:underline}.profile-account-error{margin:.25rem 0 .75rem;font-size:.9rem}.profile-links-empty-hint{margin:.1rem 0 .25rem}.profile-links-toolbar .btn{display:inline-flex;align-items:center;gap:.4rem}.profile-link-add-icon{flex-shrink:0;margin-top:.5px}.profile-follows-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:.75rem 0 1rem;padding:.2rem;border-radius:12px;background:#ffffff08;border:1px solid var(--color-border)}.profile-follows-tabs__tab{flex:1 1 auto;min-width:8rem;padding:.5rem .75rem;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.9rem;font-weight:500;cursor:pointer;text-align:center;transition:background .15s,color .15s,border-color .15s}.profile-follows-tabs__tab:hover{color:var(--color-text);background:#ffffff0a}.profile-follows-tabs__tab--on{color:var(--color-text);background:color-mix(in srgb,var(--color-accent) 16%,transparent);border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border))}.profile-follows-panel{min-height:2.5rem}.profile-follows-loading{margin:.5rem 0 0;color:var(--color-text-muted)}.profile-follows-empty{margin:.5rem 0 0}.profile-follows-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.profile-follows-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .65rem;border-radius:10px;border:1px solid var(--color-border);background:#ffffff05;text-decoration:none;color:inherit;transition:border-color .15s,background .15s}.profile-follows-item:hover{border-color:var(--color-accent);text-decoration:none;color:inherit}.profile-follows-item__avatar{width:2.5rem;height:2.5rem;border-radius:999px;object-fit:cover;flex-shrink:0;border:1px solid var(--color-border)}.profile-follows-item__avatar--placeholder{display:grid;place-items:center;font-weight:700;font-size:.95rem;background:#ffffff0f;color:var(--color-text-muted)}.profile-follows-item__name{font-weight:500;min-width:0}.profile-textarea{width:100%;max-width:100%;min-height:6.5rem;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font:inherit;line-height:1.45;resize:vertical;box-sizing:border-box}.profile-textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}.profile-link-row{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}@media (min-width: 640px){.profile-link-row{grid-template-columns:1fr 1.4fr}}.profile-link-item{border:1px solid var(--color-border);border-radius:12px;padding:.75rem .85rem;background:#ffffff05;display:flex;flex-direction:column;gap:.65rem}.profile-link-item__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem .75rem}.profile-link-item__kicker{font-size:.8rem;color:var(--color-text-muted);margin-right:auto;font-weight:600;font-variant-numeric:tabular-nums}.profile-link-item__remove{flex-shrink:0}.profile-link-item__grid{display:grid;grid-template-columns:1fr;gap:.5rem .75rem;align-items:end}@media (min-width: 560px){.profile-link-item__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr)}}.profile-diet-on-profile-field{margin-top:.5rem;margin-bottom:.75rem;width:100%;max-width:100%}.prefs-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:12px}.prefs-block{border:1px solid var(--color-border);border-radius:12px;padding:12px;background:#ffffff05}.prefs-hint{color:var(--color-text-muted);margin:8px 0 0}.prefs-hint--tight{margin-top:4px}.prefs-checkbox-row{display:flex;align-items:flex-start;gap:10px;margin-top:12px;cursor:pointer;font-weight:500;color:var(--color-text)}.prefs-checkbox-row input{margin-top:3px;flex-shrink:0;width:1.1rem;height:1.1rem;accent-color:var(--color-accent)}.prefs-block--mobile-meta{margin-bottom:4px}.prefs-subsection{margin-top:12px}.prefs-subsection h4{margin:0 0 8px;font-size:14px;color:var(--color-text-muted)}.prefs-chips{display:flex;flex-wrap:wrap;gap:8px}.prefs-chip{border:1px solid var(--color-border);background:transparent;color:var(--color-text);padding:7px 10px;border-radius:999px;cursor:pointer}.prefs-chip--on{border-color:#7c3aedcc;background:#7c3aed1f}@media (max-width: 899px){.profile-mobile-nav-toggle{display:inline-flex}.profile-side-nav:not(.profile-side-nav--mobile-open){display:none}.profile-side-nav.profile-side-nav--mobile-open{display:block}}@media (min-width: 900px){.profile-mobile-nav-toggle{display:none!important}.profile-side-nav{display:block!important}.profile-layout{grid-template-columns:260px 1fr}.profile-side-nav{position:sticky;top:16px;align-self:start}.profile-row{grid-template-columns:auto 1fr}.prefs-grid{grid-template-columns:1fr 1fr}}.discover-page{max-width:100%}.discover-page__roll-block{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem}.discover-page__roll-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-size:1.1rem;font-weight:600;padding:.7rem 1.75rem;min-width:12rem}.discover-page__roll-btn .lucide{flex-shrink:0}.discover-page__filter-toggle{background:none;border:none;color:var(--color-accent);font:inherit;font-size:.95rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:.15rem .25rem 0;margin-top:.1rem}.discover-page__filter-toggle:hover{color:var(--color-text);text-decoration:none}.discover-page__filters{margin-bottom:1.5rem}.discover-page__actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1.25rem}.discover-page__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}@media (max-width: 900px){.discover-page__grid{grid-template-columns:1fr}}.discover-page__section{margin:0;font-size:1.05rem;font-weight:600;margin-bottom:.65rem;color:var(--color-text)}.discover-page__card{display:block;background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;padding:0;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .15s}a.discover-page__card:hover,a.discover-page__card:focus,a.discover-page__card:focus:hover{border-color:var(--color-accent);color:inherit;text-decoration:none}.discover-page__recipe-img-wrap{position:relative;aspect-ratio:4 / 3;background:var(--color-surface)}.discover-page__recipe-img{width:100%;height:100%;object-fit:cover}.discover-page__recipe-body{padding:.75rem 1rem 1rem}.discover-page__recipe-title-row{display:flex;align-items:center;gap:.5rem;min-width:0;margin-bottom:.35rem}.discover-page__recipe-title-row .discover-page__recipe-title{flex:1 1 auto;min-width:0;margin:0;font-size:1.05rem;line-height:1.3}.discover-page__recipe-attr-badges{margin:0 0 0 auto;flex:0 0 auto;max-width:50%;justify-content:flex-end}.discover-page__recipe-engagement{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-top:.5rem;width:100%}.discover-page__vote-line{display:flex;align-items:center;gap:.3rem;flex:0 0 auto;min-width:0}.discover-page__vote-ico{flex-shrink:0;color:var(--color-text-muted)}.discover-page__vote-num{font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--color-text-muted);min-width:.8rem;text-align:center}.discover-page__vote-track{width:3.25rem;min-width:3.25rem;max-width:3.25rem;height:6px;border-radius:3px;background:var(--color-border, rgba(0, 0, 0, .12));overflow:hidden;flex-shrink:0}.discover-page__vote-fill{height:100%;width:0;min-width:0;border-radius:3px;background:linear-gradient(90deg,#16a34a,#22c55e);transition:width .2s ease}.discover-page__recipe-comments{flex-shrink:0;margin-left:auto}.discover-page__recipe-author{margin:0 0 .15rem;font-size:.88rem;color:var(--color-text-muted)}.discover-page__user-inner{padding:1rem 1.1rem}.discover-page__user-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.6rem .75rem;width:100%;min-width:0}.discover-page__user-main{display:flex;align-items:center;gap:.85rem;min-width:0;flex:1 1 auto}.discover-page__user-icons{flex-shrink:0;display:flex;align-items:center;align-self:center}.discover-page__user-avatar{width:3.5rem;height:3.5rem;border-radius:999px;object-fit:cover;border:1px solid var(--color-border);flex-shrink:0}.discover-page__user-avatar--ph{display:grid;place-items:center;background:#ffffff0f;color:var(--color-text-muted);font-weight:700;font-size:1.1rem}.discover-page__user-meta{min-width:0}.discover-page__user-name{font-weight:600;font-size:1.05rem;margin:0 0 .2rem}.discover-page__user-count{margin:0;font-size:.88rem;color:var(--color-text-muted)}.discover-page__empty{margin:0;color:var(--color-text-muted);font-size:.95rem;padding:.5rem 0 .25rem}.discover-page__empty-block{border:1px dashed var(--color-border);border-radius:12px;padding:1.25rem;background:#ffffff05;min-height:5rem;display:flex;align-items:center;justify-content:center}.discover-page__error{margin:0 0 .75rem}.recipe-search-page__error{color:var(--color-danger, #c0392b);margin-bottom:1rem}.recipe-search-page__results-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem}.recipe-search-page__empty,.recipe-search-page__count{color:var(--color-text-muted);margin:0}.recipe-search-page__list{margin-top:0}.recipe-search-page__list-author{margin:.2rem 0 .35rem;font-size:.85rem;color:var(--color-text-muted)}.recipe-search-page__loading-more{text-align:center;color:var(--color-text-muted);padding:1rem}.recipe-search-page__sentinel{height:1px}.recipe-search-page__card-wrap{display:flex;flex-direction:column;gap:.35rem}.recipe-search-page__author{margin:0;padding:0 .25rem;font-size:.85rem}.recipe-search-page__author-link{color:var(--color-text-muted);text-decoration:none}.recipe-search-page__author-link:hover{color:var(--color-accent);text-decoration:underline}.recipe-search-page__author--own{color:var(--color-text-muted)}.recipe-search-page__visibility{position:absolute;top:.4rem;right:.4rem;z-index:2}.recipe-search-page .public-user-profile__recipe-card-img-wrap{position:relative}.empty-state{text-align:center;padding:3rem;background:var(--color-surface);border-radius:var(--radius);border:1px dashed var(--color-border)}.empty-state p{margin:0 0 1rem;color:var(--color-text-muted)}.cookbooks-overview-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem}.cookbooks-overview-toolbar__filter-wrap{flex:1 1 14rem;min-width:0}.cookbooks-overview-toolbar__filter-wrap .input-group,.cookbooks-overview-toolbar__filter-wrap .input-with-affixes{width:100%}.cookbooks-overview-filter-input{width:100%;box-sizing:border-box}.cookbooks-overview-toolbar__controls{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-left:auto}.cookbooks-overview-toolbar__sort{display:flex;align-items:center;gap:.5rem;min-width:0}.cookbooks-overview-toolbar__label{font-size:.9rem;font-weight:500;color:var(--color-text-muted);white-space:nowrap}.cookbooks-overview-select-wrap{position:relative;display:inline-flex;align-items:stretch;min-width:12rem;max-width:100%}.cookbooks-overview-select-wrap:after{content:"";position:absolute;right:.85rem;top:50%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--color-text-muted);transform:translateY(calc(-50% + 1px));pointer-events:none}.cookbooks-overview-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;min-width:0;margin:0;padding:.6rem 2.35rem .6rem .9rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:1rem;font-family:inherit;line-height:1.25;box-sizing:border-box;cursor:pointer}.cookbooks-overview-select:focus{outline:none;border-color:var(--color-accent)}.cookbooks-overview-no-match{margin:0;padding:1.25rem 1rem;text-align:center;color:var(--color-text-muted);font-size:.95rem;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius)}.cookbook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.cookbook-card{position:relative;display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.cookbook-card:hover{border-color:var(--color-accent)}.cookbook-card-link{text-decoration:none;color:inherit;flex:1;min-width:0;display:block;position:relative;min-height:220px}.cookbook-card-link:hover{text-decoration:none}.cookbook-card-link:hover h3{color:var(--color-accent)}.cookbook-card-bg{z-index:1;position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transform:scale(1.02)}.cookbook-card-content{z-index:2;position:absolute;left:0;right:0;bottom:0;padding:1rem 1.25rem 1.25rem;background:color-mix(in srgb,var(--color-surface) 88%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.cookbook-card-content h3{margin:0 0 .25rem;font-size:1.1rem}.recipe-count{font-size:.85rem;color:var(--color-text-muted)}.cookbook-stock-gallery{margin-top:.75rem}.cookbook-stock-gallery__label{display:block;font-size:.85rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.4rem}.cookbook-stock-gallery__tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.cookbook-stock-gallery__tab{flex:0 1 auto;min-width:5.5rem;padding:.35rem .65rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-hover);color:var(--color-text-muted);font-size:.82rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.cookbook-stock-gallery__tab:hover:not(:disabled){color:var(--color-text);background:#ffffff0a}.cookbook-stock-gallery__tab--on{color:var(--color-text);background:color-mix(in srgb,var(--color-accent) 16%,transparent);border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border))}.cookbook-stock-gallery__tab:disabled{opacity:.6;cursor:not-allowed}.cookbook-stock-gallery__track{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem .125rem .5rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.cookbook-stock-gallery__item{flex:0 0 auto;width:64px;height:64px;padding:0;border:2px solid var(--color-border);border-radius:8px;overflow:hidden;cursor:pointer;background:var(--color-surface-hover);scroll-snap-align:start;transition:border-color .15s ease,box-shadow .15s ease}.cookbook-stock-gallery__item:hover:not(:disabled){border-color:var(--color-accent)}.cookbook-stock-gallery__item--selected{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 35%,transparent)}.cookbook-stock-gallery__item:disabled{opacity:.6;cursor:not-allowed}.cookbook-stock-gallery__img{width:100%;height:100%;object-fit:cover;display:block}.image-preview-modal{max-width:min(720px,92vw);padding:1rem 1.25rem 1.25rem}.image-preview-modal__frame{display:flex;justify-content:center;align-items:center}.image-preview-modal__img{display:block;max-width:100%;max-height:min(75vh,640px);width:auto;height:auto;object-fit:contain;border-radius:8px}.cookbook-edit-modal.modal.modal-lg{max-width:640px}.cookbook-edit-modal__basics{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.cookbook-edit-modal .cookbook-cover-field{margin:1rem 0}.cookbook-edit-modal .cookbook-cover-field__label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.cookbook-edit-modal .cookbook-cover-field__row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-start}.cookbook-edit-modal .cookbook-cover-thumb-wrap{width:120px;height:120px;flex-shrink:0;border-radius:8px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface-hover)}.cookbook-edit-modal .cookbook-cover-thumb-wrap--clickable{padding:0;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.cookbook-edit-modal .cookbook-cover-thumb-wrap--clickable:hover{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 25%,transparent)}.cookbook-edit-modal .cookbook-cover-thumb-wrap--clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cookbook-edit-modal .cookbook-cover-thumb{width:100%;height:100%;object-fit:cover}.cookbook-edit-modal .cookbook-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--color-text-muted);text-align:center;padding:.5rem}.cookbook-edit-modal .cookbook-cover-field__controls{flex:1;min-width:200px;display:flex;flex-direction:column;gap:.75rem}.cookbook-edit-modal__cover-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.cookbook-edit-modal .cookbook-cover-upload-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.cookbook-edit-modal .modal-actions--spread{justify-content:space-between;flex-wrap:wrap;gap:.5rem}.cookbook-edit-modal__save-group{display:flex;gap:.5rem;flex-wrap:wrap}.cookbook-edit-modal__manage-btn{display:inline-flex;align-items:center;gap:.45rem}.cookbook-edit-modal__manage-icon{flex-shrink:0}.modal.modal-xl{max-width:min(1100px,100%)}.manage-cookbook-recipes__subtitle{margin:.35rem 0 0;color:var(--color-text-muted)}.manage-cookbook-recipes__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.manage-cookbook-recipes__panel{min-height:420px;display:flex;flex-direction:column;gap:.75rem}.manage-cookbook-recipes__panel-header h3{margin:0;font-size:1.05rem}.manage-cookbook-recipes__hint,.manage-cookbook-recipes__empty{margin:0;color:var(--color-text-muted);font-size:.92rem}.manage-cookbook-recipes__available-list,.manage-cookbook-recipes__selected-list{flex:1;display:flex;flex-direction:column;gap:.65rem;min-height:0;max-height:min(60vh,560px);overflow-y:auto;padding-right:.25rem}.manage-cookbook-recipes__available-list.is-over,.manage-cookbook-recipes__selected-list.is-over{outline:1px dashed var(--color-accent);outline-offset:.2rem;border-radius:var(--radius)}.manage-cookbook-recipes__available-item,.manage-cookbook-recipes__selected-item{width:100%;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.manage-cookbook-recipes__available-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;padding:.75rem;color:var(--color-text)}.manage-cookbook-recipes__available-item:hover,.manage-cookbook-recipes__available-item.is-dragging{border-color:var(--color-accent);background:var(--color-surface-hover)}.manage-cookbook-recipes__available-content{display:block;width:100%;min-width:0;padding:0;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.manage-cookbook-recipes__row-title-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;min-width:0}.manage-cookbook-recipes__title-and-meal{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;flex:1 1 auto}.manage-cookbook-recipes__badges-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-left:auto;flex-shrink:0}.manage-cookbook-recipes__available-title,.manage-cookbook-recipes__selected-title{font-weight:600;min-width:0}.manage-cookbook-recipes__selected-item{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem}.manage-cookbook-recipes__selected-item.is-dragging{box-shadow:var(--shadow)}.manage-cookbook-recipes__selected-index{min-width:2rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.manage-cookbook-recipes__drag-handle{margin-top:0}.manage-cookbook-recipes__selected-content{display:flex;flex-direction:column;min-width:0;width:100%}.manage-cookbook-recipes__overlay{padding:.8rem 1rem;border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow);font-weight:600}@media (max-width: 820px){.manage-cookbook-recipes__layout{grid-template-columns:1fr}.manage-cookbook-recipes__panel{min-height:280px}}.cookbook-detail-header{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;margin-bottom:2rem}.cookbook-detail-header__back{margin-bottom:0;align-self:flex-start}.cookbook-detail-header__title-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.cookbook-detail-header__title{margin:0;font-size:1.75rem;line-height:1.2;flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.cookbook-detail-actions.toolbar-actions{gap:.75rem;flex-shrink:0;width:auto}.cookbook-description{margin:0;color:var(--color-text-muted);max-width:600px}.cookbook-recipes h2{margin:0;font-size:1.25rem}.cookbook-recipes-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.65rem}.cookbook-recipes-header__search{flex:1 1 14rem;min-width:0}.cookbook-recipes-header__dropdown-host{width:100%}.cookbook-recipes-header__dropdown-host:empty{display:none}.cookbook-recipes-header__dropdown-host:not(:empty){margin-bottom:.75rem}.cookbook-recipes-header__search .input-group,.cookbook-recipes-header__search .input-with-affixes{width:100%}.cookbook-recipes-filter-input{width:100%;box-sizing:border-box}.cookbook-recipes-no-match{margin:0;padding:1.25rem 1rem;text-align:center;color:var(--color-text-muted);font-size:.95rem;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius)}.empty-recipes{color:var(--color-text-muted)}.recipe-list{display:flex;flex-direction:column;gap:.75rem}.recipe-list-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color .2s;min-width:0}.recipe-list-item:hover{border-color:var(--color-accent)}.recipe-list-item__main{display:flex;gap:1rem;flex:1 1 auto;min-width:0;text-decoration:none;color:inherit;align-items:center}.recipe-list-item__main:hover{text-decoration:none;color:inherit}.recipe-list-content{flex:1 1 auto;min-width:0}.recipe-thumb{width:80px;height:80px;flex-shrink:0;border-radius:8px;overflow:hidden}.recipe-thumb img{width:100%;height:100%;object-fit:cover}.recipe-thumb-placeholder{width:100%;height:100%;background:var(--color-surface-hover);display:flex;align-items:center;justify-content:center;font-size:2rem}.recipe-list-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 .25rem}.recipe-list-title-row h3{margin:0;font-size:1.1rem;min-width:0}.recipe-list-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;width:100%}.recipe-list-meta-text{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;min-width:0}.recipe-list-badges-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;flex-shrink:0}.recipe-list-content .meta{font-size:.85rem;color:var(--color-text-muted)}.layout-preview-inherit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:52px;height:36px;box-sizing:border-box}.layout-preview-inherit__recipe{width:78%;height:7px;border-radius:3px;background:color-mix(in srgb,var(--color-text) 18%,transparent)}.layout-preview-inherit__link{width:0;height:5px;border-left:2px dotted color-mix(in srgb,var(--color-text) 38%,transparent)}.layout-preview-inherit__frame{width:82%;height:16px;border-radius:4px;border:1.5px dashed color-mix(in srgb,var(--color-text-muted) 70%,var(--color-border) 30%);background:color-mix(in srgb,var(--color-text) 4%,transparent);display:grid;place-items:center;box-sizing:border-box}.layout-preview-inherit__arrow{width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid color-mix(in srgb,var(--color-text-muted) 85%,transparent);opacity:.85}.layout-preview{display:grid;width:52px;height:36px;gap:3px;grid-template-columns:1fr 2fr}.layout-preview .lp{background:color-mix(in srgb,var(--color-text) 12%,transparent);border-radius:3px}.layout-preview .lp-b{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.layout-preview .lp-c{background:color-mix(in srgb,#22c55e 42%,var(--color-surface) 58%);border:1px solid color-mix(in srgb,#16a34a 35%,transparent);box-sizing:border-box}.layout-preview--1{grid-template-rows:.55fr 1fr .75fr 1.15fr}.layout-preview--1 .lp-a,.layout-preview--1 .lp-b,.layout-preview--1 .lp-c{grid-column:1 / span 2}.layout-preview--1 .lp-a{grid-row:1}.layout-preview--1 .lp-c{grid-row:2}.layout-preview--1 .lp-b{grid-row:3}.layout-preview--1 .lp-d{grid-row:4;grid-column:1}.layout-preview--1 .lp-e{grid-row:4;grid-column:2}.layout-preview--2{grid-template-rows:.55fr .8fr 1.3fr 1fr}.layout-preview--2 .lp-a,.layout-preview--2 .lp-b,.layout-preview--2 .lp-e{grid-column:1 / span 2}.layout-preview--2 .lp-a{grid-row:1}.layout-preview--2 .lp-b{grid-row:2}.layout-preview--2 .lp-d{grid-row:3;grid-column:1}.layout-preview--2 .lp-c{grid-row:3;grid-column:2}.layout-preview--2 .lp-e{grid-row:4}.layout-preview--3{grid-template-rows:.55fr 1.15fr .75fr 1fr}.layout-preview--3 .lp-a,.layout-preview--3 .lp-b,.layout-preview--3 .lp-c{grid-column:1 / span 2}.layout-preview--3 .lp-a{grid-row:1}.layout-preview--3 .lp-d{grid-row:2;grid-column:1}.layout-preview--3 .lp-e{grid-row:2;grid-column:2}.layout-preview--3 .lp-b{grid-row:3}.layout-preview--3 .lp-c{grid-row:4}.layout-preview--4{width:58px;height:42px;grid-template-columns:1fr 1fr 1fr;grid-template-rows:.5fr .65fr .45fr .55fr .75fr}.layout-preview--4 .lp-a{grid-column:1 / -1;grid-row:1}.layout-preview--4 .lp-c{grid-column:1 / -1;grid-row:2}.layout-preview--4 .lp-b{grid-column:1 / -1;grid-row:3}.layout-preview--4 .lp-d3--1{grid-row:4;grid-column:1}.layout-preview--4 .lp-d3--2{grid-row:4;grid-column:2}.layout-preview--4 .lp-d3--3{grid-row:4;grid-column:3}.layout-preview--4 .lp-e{grid-column:1 / -1;grid-row:5}.layout-preview--5{width:58px;height:42px;grid-template-columns:1fr 1fr;grid-template-rows:.5fr .65fr .45fr .55fr .75fr}.layout-preview--5 .lp-a{grid-column:1 / -1;grid-row:1}.layout-preview--5 .lp-c{grid-column:1 / -1;grid-row:2}.layout-preview--5 .lp-b{grid-column:1 / -1;grid-row:3}.layout-preview--5 .lp-d2--1{grid-row:4;grid-column:1}.layout-preview--5 .lp-d2--2{grid-row:4;grid-column:2}.layout-preview--5 .lp-e{grid-column:1 / -1;grid-row:5}@media (max-width: 768px){.cookbook-detail-header__title-row{flex-wrap:wrap;flex-direction:column;align-items:stretch}.cookbook-detail-actions.toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.recipe-list-item{flex-wrap:nowrap;align-items:center;gap:.65rem;padding:.75rem .85rem}.recipe-list-item__main{flex:1 1 auto;min-width:0}.recipe-thumb{width:56px;height:56px}.recipe-list-item__display-trigger{flex-shrink:0;align-self:center;margin-left:auto;margin-right:0;flex-direction:row;align-items:center;gap:.35rem;padding:.32rem .45rem;text-align:left;max-width:none}.recipe-list-item__display-trigger-label{display:none}.recipe-list-item__display-trigger-glyphs{flex-shrink:0;gap:.35rem}}.cookbook-recipe-display-modal .modal-header h2{margin:0 0 .25rem}.cookbook-recipe-display-modal__recipe-title{margin:0;font-size:.9rem;font-weight:400;color:var(--color-text-muted);line-height:1.35}.cookbook-recipe-display-modal__section{margin-bottom:1.25rem}.cookbook-recipe-display-modal__section:last-of-type{margin-bottom:.5rem}.cookbook-recipe-display-modal__section-label{margin:0 0 .5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.cookbook-recipe-display-modal__hint{margin:-.15rem 0 .65rem;font-size:.85rem}.cookbook-recipe-display-modal__layout-grid{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.cookbook-recipe-display-modal__layout-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-text) 4%);border-radius:10px;padding:.45rem .5rem;cursor:pointer;transition:border-color .15s,box-shadow .15s}.cookbook-recipe-display-modal__layout-btn:hover{border-color:var(--color-accent)}.cookbook-recipe-display-modal__layout-btn.is-active{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 25%,transparent)}.cookbook-recipe-display-modal__layout-btn--inherit.is-active .layout-preview-inherit__frame{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-border) 45%);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.cookbook-recipe-display-modal__layout-btn--inherit.is-active .layout-preview-inherit__arrow{border-top-color:color-mix(in srgb,var(--color-accent) 75%,var(--color-text-muted) 25%)}.cookbook-recipe-display-modal__image-row{display:flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.95rem;-webkit-user-select:none;user-select:none}.cookbook-recipe-display-modal__image-row input{width:1.1rem;height:1.1rem;accent-color:var(--color-accent, #3b82f6);cursor:pointer}.cookbook-recipe-display-image-dot{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:8px;flex-shrink:0;color:var(--color-text-muted);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 90%,var(--color-text) 6%)}.cookbook-recipe-display-image-dot--on{color:color-mix(in srgb,#15803d 88%,var(--color-text) 12%);border-color:color-mix(in srgb,#22c55e 45%,var(--color-border) 55%);background:color-mix(in srgb,#22c55e 12%,var(--color-surface) 88%)}.cookbook-recipe-display-image-dot--off{opacity:.72}.cookbook-recipe-display-image-dot__svg{width:1.05rem;height:1.05rem;display:block}.recipe-list-item__display-trigger{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0;margin-left:auto;padding:.4rem .5rem .35rem;border:1px solid var(--color-border);border-radius:10px;background:color-mix(in srgb,var(--color-surface) 92%,var(--color-text) 4%);cursor:pointer;transition:border-color .15s,box-shadow .15s;text-align:right;max-width:min(11rem,38vw)}.recipe-list-item__display-trigger-label{font-size:.72rem;line-height:1.2;font-weight:500;color:var(--color-text-muted);white-space:nowrap}.recipe-list-item__display-trigger-glyphs{display:flex;align-items:center;gap:.45rem}.recipe-list-item__display-trigger:hover{border-color:var(--color-accent)}.recipe-list-item__display-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.recipe-list-item__display-trigger-preview{display:flex;align-items:center;justify-content:center;line-height:0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.page-header h1{margin:0;font-size:1.5rem}.legal-page{max-width:42rem}.legal-page h1{margin:0 0 1.25rem;font-size:1.75rem}.legal-page h2{margin:1.75rem 0 .5rem;font-size:1.15rem}.legal-page p,.legal-page address{margin:0 0 .85rem;color:var(--color-text)}.legal-page address{font-style:normal;line-height:1.6}.legal-page ul{margin:0 0 .85rem;padding-left:1.25rem}.legal-page li{margin-bottom:.35rem}.legal-page a{word-break:break-word}.legal-page__meta{color:var(--color-text-muted);font-size:.95rem}.legal-page__block{white-space:pre-line}.legal-page__notice{padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:.95rem}.legal-page__dl{margin:0}.legal-page__row{display:grid;grid-template-columns:minmax(7rem,10rem) 1fr;gap:.35rem 1rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.legal-page__row:last-child{border-bottom:0}.legal-page__row dt{margin:0;color:var(--color-text-muted);font-weight:500}.legal-page__row dd{margin:0}@media (max-width: 520px){.legal-page__row{grid-template-columns:1fr;gap:.15rem}}.admin-page .admin-side-nav{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border))}.admin-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;padding:1rem 1.15rem}.admin-card+.admin-card{margin-top:1rem}.admin-card__title{margin:0 0 .75rem;font-size:1rem;font-weight:600}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.75rem}.admin-stat{background:#ffffff08;border:1px solid var(--color-border);border-radius:12px;padding:.85rem .95rem}.admin-stat__value{font-size:1.45rem;font-weight:700;line-height:1.2}.admin-stat__label{margin-top:.25rem;font-size:.82rem;color:var(--color-text-muted)}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem}.admin-toolbar .input-group{flex:1 1 12rem;min-width:0;margin:0}.admin-toolbar__actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-filter-select{padding:.55rem .75rem;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit}.admin-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:12px}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.admin-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);background:#ffffff05}.admin-table tr:last-child td{border-bottom:none}.admin-table__user{display:flex;align-items:center;gap:.55rem;min-width:0}.admin-table__avatar,.admin-table__avatar-placeholder{width:2rem;height:2rem;border-radius:50%;flex-shrink:0}.admin-table__avatar{object-fit:cover}.admin-table__avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-hover);color:var(--color-text-muted);font-size:.85rem;font-weight:600}.admin-table__meta{min-width:0}.admin-table__meta-primary{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-table__meta-secondary{font-size:.82rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--color-border)}.admin-badge--admin{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.admin-badge--verified{border-color:color-mix(in srgb,#22c55e 45%,var(--color-border));background:color-mix(in srgb,#22c55e 12%,transparent)}.admin-badge--pending{color:var(--color-text-muted)}.admin-badge--public{border-color:color-mix(in srgb,#3b82f6 45%,var(--color-border));background:color-mix(in srgb,#3b82f6 12%,transparent)}.admin-badge--private{color:var(--color-text-muted)}.admin-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.admin-pagination__info{font-size:.88rem;color:var(--color-text-muted)}.admin-empty{padding:2rem 1rem;text-align:center;color:var(--color-text-muted)}.admin-error{margin:0 0 1rem;padding:.65rem .85rem;border-radius:10px;border:1px solid color-mix(in srgb,#ef4444 45%,var(--color-border));background:color-mix(in srgb,#ef4444 10%,transparent);color:var(--color-text)}.admin-link{color:var(--color-accent);text-decoration:none}.admin-link:hover{text-decoration:underline}.admin-table__mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem}.admin-table--audit td:last-child{max-width:18rem}.admin-audit-details{display:block;font-size:.75rem;line-height:1.35;white-space:pre-wrap;word-break:break-word;color:var(--color-text-muted)}@media (min-width: 900px){.profile-layout .admin-side-nav{position:sticky;top:1rem}}@media (max-width: 899px){.admin-table th:nth-child(n+5),.admin-table td:nth-child(n+5){display:none}}.admin-card__hint{margin:0 0 1rem;color:var(--color-text-muted);font-size:.92rem}.admin-notification-form{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.admin-notification-form:first-of-type{margin-top:0;padding-top:0;border-top:none}.admin-notification-form__heading{margin:0;font-size:.95rem;font-weight:600}.admin-notification-form__label{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:500}.admin-notification-form__input,.admin-notification-form__textarea{width:100%;box-sizing:border-box;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:inherit;font:inherit}.admin-notification-form__success{margin:0;color:var(--color-accent);font-size:.88rem}.admin-notification-form__selected{margin:0;font-size:.85rem;color:var(--color-text-muted)}.admin-notification-user-list{list-style:none;margin:0;padding:0;border:1px solid var(--color-border);border-radius:8px;max-height:12rem;overflow-y:auto}.admin-notification-user-list__item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.55rem .65rem;border:none;border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.admin-notification-user-list__item:last-child{border-bottom:none}.admin-notification-user-list__item--selected{background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.admin-notification-user-list__meta{font-size:.78rem;color:var(--color-text-muted)}.admin-notification-form__textarea--tall{min-height:10rem}:root{--color-bg: #1a1a1a;--color-surface: #252525;--color-surface-hover: #2e2e2e;--color-border: #3a3a3a;--color-text: #f5f5f5;--color-text-muted: #a0a0a0;--color-accent: #4a9c3a;--color-accent-hover: #5bb548;--color-danger: #c94a4a;--font-sans: "DM Sans", system-ui, sans-serif;--radius: 12px;--shadow: 0 4px 20px rgba(0, 0, 0, .3)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}.back-link{display:inline-block;margin-bottom:.5rem;font-size:.9rem;color:var(--color-text-muted);white-space:nowrap;overflow:visible;vertical-align:bottom;text-decoration:none}.back-link:hover{color:var(--color-accent);text-decoration:none}
