body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font-family:inherit}body{background-color:#f7f3ee;color:#1c1410;font-family:DM Sans,Lato,sans-serif}body,html{overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;font-weight:400}.app{margin:0 auto;max-width:1100px;padding:0 24px 60px}@keyframes viewFadeIn{0%{opacity:0}to{opacity:1}}.view-transition{animation:viewFadeIn .25s ease both}.animate-in{opacity:0;transform:translateY(18px)}@keyframes animateIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.animate-in--visible{animation:animateIn .5s ease forwards}@media (prefers-reduced-motion:no-preference){.header__auth-btn:active,.header__lang-btn:active,.recipe-filter-bar__btn:active{transform:scale(.95)}}@media (max-width:640px){.app{padding:0 16px 60px}}.header{background:#f7f3ee;border-bottom:2px solid #1c1410;margin:0 -24px 40px;padding:0 24px}.header__inner{margin:0 auto;max-width:1100px}.header__main{align-items:center;display:flex;gap:24px;height:72px;justify-content:space-between}.header__title{color:#1c1410;cursor:pointer;flex-shrink:0;font-family:Playfair Display,serif;font-size:1.7rem;font-weight:400;letter-spacing:-.3px;white-space:nowrap}.header__title:hover{opacity:.7}.header__subtitle{display:none}.header__auth{flex-direction:row;flex-shrink:0;gap:4px}.header__auth,.header__nav-row{align-items:center;display:flex}.header__nav-row{gap:0}.header__auth-row{align-items:center;border-left:1px solid #c8beb2;display:flex;gap:6px;margin-left:12px;padding-left:12px}.header__nav-link{background:none;border:none;border-radius:0;color:#1c1410;cursor:pointer;font-family:DM Sans,Lato,sans-serif;font-size:.95rem;font-weight:400;letter-spacing:.01em;padding:6px 12px;position:relative;transition:color .15s;white-space:nowrap}.header__nav-link:after{background:#c25436;border-radius:50%;bottom:-3px;content:"";height:5px;left:50%;position:absolute;transform:translateX(-50%) scale(0);transition:transform .18s ease;width:5px}.header__nav-link:hover:after{transform:translateX(-50%) scale(1)}.header__nav-link:hover{background:none;color:#1c1410;font-weight:700}.header__nav-sep{display:none}.header__auth-btn,.header__icon-btn,.header__lang-btn{align-items:center;background:#0000;border:1px solid #e2d9cc;border-radius:50%;color:#6a5848;cursor:pointer;display:flex;flex-shrink:0;font-family:DM Sans,Lato,sans-serif;font-size:.68rem;font-weight:600;height:28px;justify-content:center;letter-spacing:.04em;padding:0;transition:border-color .15s,background .15s,color .15s;white-space:nowrap;width:28px}.header__auth-btn:hover,.header__icon-btn:hover,.header__lang-btn:hover{background:#ede7de;border-color:#1c1410;color:#1c1410}.header__lang-btn--active{background:#e2d9cc;border-color:#c8beb2;color:#1c1410}.header__lang-toggle{display:contents}.header__lang-sep{display:none}.header__hamburger{background:none;border:none;color:#1c1410;cursor:pointer;display:none;font-size:1.2rem;line-height:1;padding:4px 6px;transition:color .15s}.header__hamburger--open,.header__hamburger:hover{color:#c25436}.header__mobile-nav{border-top:1px solid #e2d9cc;display:flex;flex-direction:column;gap:2px;padding:8px 0 12px}.header__mobile-nav-link{background:none;border:none;border-radius:6px;color:#1c1410;cursor:pointer;font-family:DM Sans,Lato,sans-serif;font-size:.95rem;font-weight:500;padding:10px 4px;text-align:left;transition:color .15s,background .15s}.header__mobile-nav-link:hover{background:#c254360f;color:#c25436}@media (max-width:640px){.header{margin:0 -16px 28px;padding:0 16px}.header__main{gap:8px;height:58px}.header__title{font-size:1.35rem}.header__nav-row{display:none}.header__auth-row{border-left:none;gap:6px;margin-left:6px;padding-left:6px}.header__hamburger{align-items:center;display:inline-flex}}.category-page{padding:0 0 48px}.category-hero{background:#ede7de;border-radius:20px;margin-bottom:44px;padding:48px 32px 40px;text-align:center;transition:padding .3s ease}.category-hero--searching{padding:24px 32px}.category-hero__tagline{color:#5a3e28;font-family:Playfair Display,serif;font-size:1.65rem;font-style:italic;font-weight:400;letter-spacing:-.01em;line-height:1.3;margin-bottom:24px}.category-hero__tagline-row{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:24px}.category-hero__tagline-row .category-hero__tagline{margin-bottom:0}.hero-swipe-btn{align-items:center;background:#fff;border:1.5px solid #d4c9bc;border-radius:50%;box-shadow:0 2px 8px #1c141014;color:#5a3e28;cursor:pointer;display:inline-flex;height:44px;justify-content:center;transition:background .15s,transform .12s,box-shadow .15s;width:44px}.hero-swipe-btn:hover{background:#f0ede8;box-shadow:0 4px 14px #1c141021;transform:scale(1.08)}.hero-swipe-btn:active{transform:scale(.97)}.category-hero .search-bar{background:#fffc;border:1px solid #e2d9ccb3;border-radius:40px;margin:0 auto;max-width:520px}.category-hero .search-bar:focus-within{background:#fff;border-color:#c25436}.search-bar{align-items:center;background:#fff;border:1px solid #e2d9cc;border-radius:40px;display:flex;margin-bottom:40px;padding:0 18px;transition:border-color .2s ease,box-shadow .2s ease}.search-bar:focus-within{border-color:#c25436;box-shadow:0 0 0 3px #c254361a}.search-bar__input{background:#0000;border:none;color:#1c1410;flex:1 1;font-family:DM Sans,Lato,sans-serif;font-size:.95rem;outline:none;padding:13px 0}.search-bar__input::placeholder{color:#b0a090}.search-bar__clear{align-items:center;background:#d4c8b8;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.65rem;height:18px;justify-content:center;line-height:1;padding:0;transition:background .15s ease;width:18px}.search-bar__clear:hover{background:#a09080}.search-results__header{color:#8a7860;font-family:DM Sans,Lato,sans-serif;font-size:.9rem;margin:0 0 20px}.search-results__grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}@media (max-width:700px){.search-results__grid{gap:14px;grid-template-columns:repeat(2,1fr)}}@media (max-width:420px){.search-results__grid{grid-template-columns:1fr}}.category-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}@media (max-width:700px){.category-grid{gap:14px;grid-template-columns:repeat(2,1fr)}}@media (max-width:420px){.category-grid{grid-template-columns:1fr}}.category-tile{border:1px solid #e8ddd0;border-radius:12px;cursor:pointer;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.category-tile:hover{box-shadow:0 6px 24px #0000001f;transform:translateY(-3px)}.category-tile:focus{outline:2px solid #888;outline-offset:2px}.category-tile__image{align-items:center;background:#ede7de;display:flex;height:200px;justify-content:center;position:relative}.category-tile__image img{display:block;height:100%;object-fit:cover;width:100%}.category-tile__overlay{background:linear-gradient(180deg,#0000 40%,#0000008c);inset:0;position:absolute}.category-tile__emoji{font-size:3.5rem;opacity:.6;position:relative;z-index:1}.category-tile__text{bottom:0;display:flex;flex-direction:column;gap:2px;left:0;padding:14px 16px;position:absolute;right:0;z-index:2}.category-tile__image:not(:has(img)) .category-tile__overlay{display:none}.category-tile__image:not(:has(img)) .category-tile__text{background:#fff;border-radius:10px 10px 0 0;border-top:1px solid #e8e8e8;padding:14px 16px 16px;position:relative}.category-tile__image:not(:has(img)) .category-tile__name{color:#111}.category-tile__image:not(:has(img)) .category-tile__count{color:#999}.category-tile__name{color:#fff;font-family:Playfair Display,serif;font-size:1.2rem;font-style:italic;font-weight:400}.category-tile__count{color:#fffc;font-size:.78rem;letter-spacing:.02em}.category-tile__fav-bg{background:#ede7de;inset:0;position:absolute}.category-tile--favourites .category-tile__overlay{display:none}.category-tile--favourites .category-tile__text{background:#fff;border-radius:10px 10px 0 0;border-top:1px solid #e8e8e8;padding:14px 16px 16px;position:relative}.category-tile--favourites .category-tile__name{color:#111}.category-tile--favourites .category-tile__count{color:#999}.category-tile__collection-bg{background:#ede7de;inset:0;position:absolute}.category-tile--collection .category-tile__overlay{display:none}.category-tile--collection .category-tile__text{background:#fff;border-radius:10px 10px 0 0;border-top:1px solid #e8e8e8;padding:14px 16px 16px;position:relative}.category-tile--collection .category-tile__name{color:#111}.category-tile--collection .category-tile__count{color:#999}.category-tile--plain .category-tile__plain-top{align-items:center;background:#ede7de;display:flex;height:160px;justify-content:center}.category-tile--plain .category-tile__emoji{font-size:3rem;line-height:1;opacity:.7}.category-tile__plain-bottom{background:#fff;border-top:1px solid #e8e8e8;display:flex;flex-direction:column;gap:3px;padding:14px 16px 16px}.category-tile--plain .category-tile__name{color:#111;font-family:Playfair Display,serif;font-size:1.15rem;font-style:italic;font-weight:400}.category-tile--plain .category-tile__count{color:#999;font-size:.78rem;letter-spacing:.02em}@media (max-width:700px){.category-hero{border-radius:14px;margin-bottom:28px;padding:28px 16px 24px}.category-hero--searching{padding:18px 16px}.category-hero__tagline{font-size:1.2rem;margin-bottom:16px}.category-tile__image{height:160px}.category-tile--plain .category-tile__plain-top{height:130px}.category-tile--plain .category-tile__emoji{font-size:2.4rem}.category-tile__name{font-size:1.05rem}}@media (max-width:420px){.category-hero{padding:22px 14px 20px}}.recipe-card{background:#fff;border:1px solid #e8ddd0;border-radius:12px;cursor:pointer;overflow:hidden;transition:box-shadow .25s ease,transform .25s ease}.recipe-card:hover{box-shadow:0 10px 36px #1c140a21;transform:translateY(-4px)}.recipe-card__image-placeholder{align-items:center;background-color:#ede6da;display:flex;height:190px;justify-content:center;overflow:hidden;position:relative}.recipe-card__image-placeholder img{display:block;height:100%;object-fit:cover;transition:transform .6s ease;width:100%}.recipe-card:hover .recipe-card__image-placeholder img{transform:scale(1.05)}.recipe-card__no-image{font-size:2.8rem;opacity:.35}.recipe-card__time-badge{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#1c140aad;bottom:10px;color:#fff;font-size:.72rem;font-weight:500;left:10px;letter-spacing:.03em;padding:4px 10px}.recipe-card__difficulty,.recipe-card__time-badge{border-radius:20px;font-family:DM Sans,Lato,sans-serif;position:absolute}.recipe-card__difficulty{font-size:.68rem;font-weight:700;letter-spacing:.08em;padding:3px 10px;right:10px;text-transform:uppercase;top:10px}.recipe-card__difficulty--easy{background:#ebf8ebeb;color:#356a35}.recipe-card__difficulty--medium{background:#fcf4e4eb;color:#7a5a10}.recipe-card__difficulty--hard{background:#fce8e8eb;color:#7a2020}.recipe-card__body{padding:14px 16px 18px}.recipe-card__category{color:#c25436;display:block;font-family:DM Sans,Lato,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.14em;margin-bottom:6px;text-transform:uppercase}.recipe-card__title{color:#1c1410;font-family:Playfair Display,serif;font-size:1.05rem;font-style:italic;font-weight:400;line-height:1.45}.recipe-card__owner{background:#f0e8e0;border-radius:20px;color:#7a5c4a;display:inline-block;font-size:.7rem;font-style:normal;margin-top:6px;padding:2px 8px}.recipe-card__heart{align-items:center;background:#ffffffe0;border:none;border-radius:50%;color:#bbb;display:flex;font-size:1rem;height:30px;justify-content:center;left:10px;line-height:1;padding:0;position:absolute;top:9px;transition:color .15s,background .15s;width:30px}.recipe-card__heart--active{background:#fffffff2;color:#c0392b}.recipe-card__heart:hover{background:#fff;color:#c0392b}.recipe-card__personal-note{align-items:flex-end;background:linear-gradient(0deg,#1c140ac7 0,#1c140a00);bottom:0;display:flex;left:0;padding:28px 12px 10px;pointer-events:none;position:absolute;right:0}.recipe-card__personal-note-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#ffffffeb;display:-webkit-box;font-family:Playfair Display,serif;font-size:.72rem;font-style:italic;line-height:1.4;overflow:hidden}.recipe-card__traditional{align-items:center;background:#ffffffeb;border-radius:50%;bottom:8px;box-shadow:0 1px 4px #00000026;cursor:default;display:flex;height:30px;justify-content:center;position:absolute;right:8px;width:30px}.category-recipe-list{padding:28px 0 48px}.category-recipe-list__header{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.category-recipe-list__back{align-items:center;background:#0000;border:1px solid #e2d9cc;border-radius:50%;color:#1c1410;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;padding:0;transition:border-color .15s,background .15s;width:30px}.category-recipe-list__back:hover{background:#ede7de;border-color:#1c1410}.category-recipe-list__title{color:#111;font-family:Playfair Display,serif;font-size:1.7rem;font-weight:400;margin:0}.category-recipe-list__grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.category-recipe-list__empty{color:#999;font-style:italic;margin-top:32px}.recipe-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.recipe-filter-bar__btn{background:none;border:1px solid #e0e0e0;border-radius:20px;color:#777;cursor:pointer;font-family:inherit;font-size:.8rem;padding:5px 13px;transition:all .15s;white-space:nowrap}.recipe-filter-bar__btn:hover{border-color:#bbb;color:#333}.recipe-filter-bar__btn--active{background:#3a3a3a;border-color:#3a3a3a;color:#fff}.recipe-filter-bar__fav{border-color:#e8b0ac;color:#c0392b}.recipe-filter-bar__fav.recipe-filter-bar__btn--active{background:#c0392b;border-color:#c0392b;color:#fff}@media (max-width:600px){.category-recipe-list{padding:16px 0 40px}.category-recipe-list__title{font-size:1.4rem}.category-recipe-list__grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.recipe-page{margin:0 auto;max-width:900px;padding-bottom:80px}.recipe-page__loading{color:#999;font-style:italic;padding:60px 0}.recipe-page__back{align-items:center;background:#0000;border:1px solid #e2d9cc;border-radius:50%;color:#1c1410;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;margin:24px 0 28px;padding:0;transition:border-color .15s,background .15s;width:30px}.recipe-page__back:hover{background:#ede7de;border-color:#1c1410}.recipe-page__hero{border-radius:12px;height:400px;margin-bottom:36px;overflow:hidden;position:relative;width:100%}.recipe-page__hero img{height:100%;object-fit:cover;width:100%}.recipe-page__source-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:6px;bottom:14px;color:#ffffffeb;font-size:.75rem;letter-spacing:.02em;padding:5px 11px;position:absolute;right:14px}.recipe-page__source-overlay a,.recipe-page__source-overlay span{color:#ffffffeb;text-decoration:none}.recipe-page__source-overlay a:hover{text-decoration:underline}.recipe-page__header{margin-bottom:32px}.recipe-page__title-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:14px}.recipe-page__title-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px}.recipe-page__icon-btn{align-items:center;background:#0000;border:1px solid #e2d9cc;border-radius:50%;color:#1c1410;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:border-color .15s,background .15s,color .15s;width:40px}.recipe-page__icon-btn:hover{background:#ede7de;border-color:#1c1410}.recipe-page__icon-btn--active{background:#c25436;border-color:#c25436;color:#fff}.recipe-page__icon-btn--success{background:#3d6b3d;border-color:#3d6b3d;color:#fff}.recipe-page__icon-btn--danger:hover{background:#fdf0f0;border-color:#9a2020;color:#9a2020}.recipe-page__icon-btn:disabled{cursor:default;opacity:.55}.recipe-page__edit-btn{background:none;border:1px solid #d0d0d0;border-radius:8px;color:#666;cursor:pointer;font-family:Lato,sans-serif;font-size:.82rem;font-weight:600;padding:7px 14px;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.recipe-page__edit-btn:hover{background:#f0f7f4;border-color:#2d6a4f;color:#2d6a4f}.recipe-page__delete-btn{background:none;border:1px solid #d0d0d0;border-radius:8px;color:#999;cursor:pointer;font-family:Lato,sans-serif;font-size:.82rem;font-weight:600;padding:7px 14px;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.recipe-page__delete-btn:hover{background:#f4f4f4;border-color:#888;color:#333}.recipe-page__send-btn{align-items:center;background:#c25436;border:none;border-radius:20px;color:#fff;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:6px;padding:8px 16px;transition:background .2s,opacity .2s}.recipe-page__send-btn:hover:not(:disabled){background:#a8432a}.recipe-page__send-btn:disabled{cursor:default;opacity:.7}.recipe-page__send-btn--sent{background:#5a8a5a}.recipe-page__delete-confirm{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.recipe-page__delete-confirm span{color:#555;font-size:.85rem;font-weight:600;white-space:nowrap}.recipe-page__delete-confirm-yes{background:#3a3a3a;border:none;border-radius:7px;color:#fff;cursor:pointer;font-family:Lato,sans-serif;font-size:.82rem;font-weight:700;padding:6px 14px;transition:background .15s,opacity .15s;white-space:nowrap}.recipe-page__delete-confirm-yes:hover:not(:disabled){background:#222}.recipe-page__delete-confirm-yes:disabled{cursor:not-allowed;opacity:.5}.recipe-page__delete-confirm-no{background:#f0f0f0;border:none;border-radius:7px;color:#444;cursor:pointer;font-family:Lato,sans-serif;font-size:.82rem;font-weight:600;padding:6px 14px;transition:background .15s;white-space:nowrap}.recipe-page__delete-confirm-no:hover:not(:disabled){background:#e4e4e4}.recipe-page__title{color:#111;font-size:2.2rem;font-style:italic;font-weight:400;line-height:1.2}.recipe-page__description{color:#666;font-size:1rem;font-style:italic;line-height:1.75;margin-bottom:16px}.recipe-page__tags{display:flex;flex-wrap:wrap;gap:8px}.tag{border-radius:20px;display:inline-block;font-size:.75rem;letter-spacing:.05em;padding:4px 13px;text-transform:uppercase}.tag--cuisine{background:#f0ede8;color:#7a6652}.tag--dietary{background:#eef4ee;color:#4a7c4a}.tag--traditional{align-items:center;background:#f5efe0;border:1px solid #d4b483;color:#7a5c2e;display:inline-flex;font-weight:600}.tag--easy{background:#eef4ee;color:#4a7c4a}.tag--medium{background:#fdf4e7;color:#8a6a20}.tag--hard{background:#fdeaea;color:#8a3030}.recipe-page__shopping-btn{background:none;border:1px solid #d0d0d0;border-radius:8px;color:#666;cursor:pointer;font-family:Lato,sans-serif;font-size:.82rem;font-weight:600;padding:7px 14px;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.recipe-page__shopping-btn:hover:not(:disabled){background:#eef4ee;border-color:#2d6a4f;color:#2d6a4f}.recipe-page__shopping-btn--added{background:#eef4ee;border-color:#4a7c4a;color:#4a7c4a}.recipe-page__shopping-btn:disabled{cursor:default;opacity:.7}.recipe-page__mealplan-btn{background:none;border:1px solid #d0d0d0;border-radius:8px;color:#666;cursor:pointer;font-family:Lato,sans-serif;font-size:.82rem;font-weight:600;padding:7px 14px;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.recipe-page__mealplan-btn:hover{background:#eef4ee;border-color:#2d6a4f;color:#2d6a4f}.recipe-page__share-btn{background:none;border:1px solid #d0d0d0;border-radius:8px;color:#666;cursor:pointer;font-family:Lato,sans-serif;font-size:.82rem;font-weight:600;padding:7px 14px;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.recipe-page__share-btn:hover{background:#f4f4f4;border-color:#888;color:#333}.recipe-page__share-btn--copied{background:#eef4ee;border-color:#2d6a4f;color:#2d6a4f}.recipe-page__collection-wrap{position:relative}.recipe-page__collection-btn{background:none;border:1px solid #d0d0d0;border-radius:8px;color:#666;cursor:pointer;font-family:Lato,sans-serif;font-size:.82rem;font-weight:600;padding:7px 14px;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.recipe-page__collection-btn--active,.recipe-page__collection-btn:hover{background:#fdf5ef;border-color:#b5845e;color:#b5845e}.recipe-page__collection-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 16px #0000001a;left:0;min-width:220px;padding:10px;position:absolute;top:calc(100% + 6px);z-index:100}.recipe-page__collection-loading{color:#aaa;font-size:.85rem;margin:0;padding:4px 0}.recipe-page__collection-empty{color:#aaa;font-size:.85rem;margin:0 0 8px;padding:4px 0}.recipe-page__collection-item{align-items:center;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:.88rem;gap:8px;padding:5px 4px;transition:background .1s}.recipe-page__collection-item:hover{background:#fdf5ef}.recipe-page__collection-item input[type=checkbox]{accent-color:#b5845e;cursor:pointer;flex-shrink:0;height:15px;width:15px}.recipe-page__collection-new{border-top:1px solid #f0f0f0;display:flex;gap:6px;margin-top:10px;padding-top:10px}.recipe-page__collection-input{border:1px solid #d0d0d0;border-radius:6px;flex:1 1;font-family:Lato,sans-serif;font-size:.82rem;outline:none;padding:5px 8px}.recipe-page__collection-input:focus{border-color:#b5845e}.recipe-page__collection-create{background:#b5845e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Lato,sans-serif;font-size:.82rem;font-weight:600;padding:5px 10px;transition:background .15s;white-space:nowrap}.recipe-page__collection-create:hover:not(:disabled){background:#a0724f}.recipe-page__collection-create:disabled{cursor:default;opacity:.5}.recipe-page__unit-toggle{border:1px solid #e2d9cc;border-radius:20px;display:flex;flex-shrink:0;overflow:hidden}.recipe-page__unit-toggle button{background:#0000;border:none;color:#aaa;cursor:pointer;font-family:inherit;font-size:.8rem;padding:6px 13px;transition:background .15s,color .15s}.recipe-page__unit-toggle button.active{background:#e2d9cc;color:#1c1410}.recipe-page__tips{border-top:1px solid #e8e8e8;margin-top:48px;padding-top:32px}.recipe-page__tips .tips-list{display:flex;flex-direction:column;gap:4px;list-style:none}.recipe-page__tips .tips-list__item{background:none!important;border:none!important;border-radius:0;color:#555;font-size:.88rem;line-height:1.5;padding:0!important}.tips-generate-btn{background:none;border:1px solid #d0d0d0;color:#666;font-size:.85rem;transition:border-color .15s,color .15s}.tips-generate-btn:hover:not(:disabled){border-color:#2d6a4f;color:#2d6a4f}.tips-generate-btn:disabled{cursor:default}.tips-error{color:#888;font-size:.85rem;margin-bottom:10px}.recipe-page__stats{border:1px solid #e8e8e8;border-radius:10px;display:flex;margin-bottom:52px;overflow:hidden}.stat{border-right:1px solid #e8e8e8;flex:1 1;padding:18px 16px;text-align:center}.stat:last-child{border-right:none}.stat__label{color:#aaa;display:block;font-size:.7rem;letter-spacing:.09em;margin-bottom:5px;text-transform:uppercase}.stat__value{color:#111;font-size:1.05rem}.stat__scaler{align-items:center;display:flex;gap:14px;justify-content:center}.stat__scaler span{color:#111;font-size:1.05rem;min-width:20px;text-align:center}.stat__scaler button{align-items:center;background:#f2f2f2;border:none;border-radius:50%;color:#333;cursor:pointer;display:flex;font-size:1.1rem;height:28px;justify-content:center;line-height:1;width:28px}.stat__scaler button:hover{background:#e0e0e0}.recipe-page__steps-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.recipe-page__steps-header h2{margin:0}.recipe-page__cook-btn{background:#3a3a3a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 18px;transition:background .15s;white-space:nowrap}.recipe-page__cook-btn:hover{background:#555}.recipe-page__body{grid-gap:52px;align-items:start;display:grid;gap:52px;grid-template-columns:280px 1fr;margin-bottom:52px}@media (max-width:680px){.recipe-page__body{gap:36px;grid-template-columns:1fr}}.recipe-page__section h2{border-bottom:1px solid #e8e8e8;color:#111;font-size:1.1rem;font-weight:400;letter-spacing:.03em;margin-bottom:20px;padding-bottom:10px}.recipe-page__scale-note{color:#aaa;font-size:.8rem;font-style:italic;margin:-12px 0 14px}.recipe-page__ingredients ul{list-style:none}.recipe-page__ingredients li{border-bottom:1px solid #f2f2f2;display:flex;font-size:.92rem;gap:12px;line-height:1.5;padding:10px 0}.ingredient__amount{color:#111;flex-shrink:0;font-weight:500;min-width:72px}.ingredient__name{color:#333}.ingredient__notes{color:#aaa;font-style:italic}.recipe-page__steps ol{counter-reset:steps;list-style:none}.recipe-page__steps li{counter-increment:steps;padding:0 0 32px 52px;position:relative}.recipe-page__steps li:before{align-items:center;background:#111;border-radius:50%;color:#fff;content:counter(steps);display:flex;font-family:Lato,sans-serif;font-size:.8rem;height:30px;justify-content:center;left:0;position:absolute;top:2px;width:30px}.recipe-page__steps li:after{background:#ebebeb;bottom:0;content:"";left:14px;position:absolute;top:34px;width:1px}.recipe-page__steps li:last-child:after{display:none}.recipe-page__steps li p{color:#333;font-size:.93rem;line-height:1.75;margin-bottom:8px;padding-top:4px}.step__time{background:#f5f5f5;border-radius:12px;color:#999;display:inline-block;font-size:.78rem;margin-top:2px;padding:3px 11px}.recipe-page__nutrition{background:#fafafa;border:1px solid #e8e8e8;border-radius:10px;margin-bottom:36px;padding:26px 28px}.recipe-page__nutrition h2{align-items:baseline;display:flex;font-size:1.05rem;font-weight:400;gap:8px;margin-bottom:20px}.nutrition__per{color:#bbb;font-size:.78rem;font-style:italic}.nutrition__grid{display:flex;flex-wrap:wrap}.nutrition__item{border-right:1px solid #ebebeb;flex:1 1;min-width:80px;padding:10px 8px;text-align:center}.nutrition__item:last-child{border-right:none}.nutrition__value{color:#111;display:block;font-size:1.15rem;margin-bottom:3px}.nutrition__label{color:#bbb;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase}.recipe-page__extra{margin-bottom:28px}.recipe-page__extra h2{border-bottom:1px solid #f0f0f0;color:#111;font-size:1rem;font-weight:400;margin-bottom:12px;padding-bottom:8px}.recipe-page__extra p{color:#555;font-size:.92rem;line-height:1.7}.recipe-page__equipment{display:flex;flex-wrap:wrap;gap:8px;list-style:none}.recipe-page__equipment li{background:#f5f5f5;border-radius:20px;color:#666;font-size:.85rem;padding:5px 14px}.recipe-page__tips{border-bottom:1px solid #e8e8e8;margin-bottom:32px;padding-bottom:32px}.recipe-page__tips h2{border-bottom:1px solid #e8e8e8;color:#111;font-size:1.1rem;font-weight:400;letter-spacing:.03em;margin-bottom:16px;padding-bottom:10px;width:100%}.tips-list{display:flex;flex-direction:column;gap:4px;list-style:none}.tips-list__item{align-items:flex-start;background:none;border:none;color:#555;display:flex;font-size:.88rem;gap:8px;line-height:1.5;padding:0}.tips-list__icon{flex-shrink:0;font-size:1rem;margin-top:1px}.recipe-page__tips--empty{display:flex;flex-direction:column;gap:12px}.tips-generate-btn{align-self:flex-start;background:#2d6a4f;font-family:Lato,sans-serif;font-size:.9rem;font-weight:700;padding:10px 20px;transition:background .15s,opacity .15s}.tips-generate-btn:hover:not(:disabled){background:#1e4d38}.tips-generate-btn:disabled{opacity:.6}.tips-error{color:#c0392b;font-size:.875rem}.recipe-page__source{border-top:1px solid #f2f2f2;color:#ccc;font-size:.82rem;margin-top:48px;padding-top:20px}.recipe-page__source a{color:#bbb}@media (max-width:640px){.recipe-page__back{margin:16px 0 20px}.recipe-page__hero{border-radius:8px;height:220px}.recipe-page__title{font-size:1.55rem}.recipe-page__title-row{flex-direction:column;gap:10px}.recipe-page__title-actions{flex-wrap:wrap;gap:8px;width:100%}.recipe-page__title-actions>*{flex-shrink:0}.recipe-page__stats{flex-wrap:wrap;margin-bottom:36px}.stat{flex:1 1 120px;padding:14px 12px}.recipe-page__section h2{font-size:1rem}.nutrition__item{min-width:60px;padding:8px 4px}.recipe-page__tips h2{font-size:1rem}.tips-list__item{font-size:.88rem}.recipe-page__steps li{padding:0 0 24px 42px}.recipe-page__steps li:before{font-size:.75rem;height:26px;width:26px}.recipe-page__steps li:after{left:12px}}.tips-generate-btn{background:#3a3a3a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 18px;transition:opacity .15s}.tips-generate-btn:hover:not(:disabled){opacity:.8}.tips-generate-btn:disabled{cursor:not-allowed;opacity:.5}.import-overlay{background:#0000001f;inset:0;position:fixed;z-index:300}.import-panel{animation:panel-expand .32s cubic-bezier(.34,1.42,.64,1) forwards;background:#fff;border-radius:16px;bottom:104px;box-shadow:0 24px 60px #0000002e,0 6px 18px #0000001a;display:flex;flex-direction:column;max-height:80vh;overflow:hidden;position:fixed;right:32px;transform-origin:bottom right;width:420px;z-index:301}.import-panel--choose{background:#0000;box-shadow:none;overflow:visible;width:110px}.import-panel--choose .import-panel__header{display:none}.import-panel--choose .import-panel__body{overflow:visible;padding:8px 12px}@keyframes panel-expand{0%{opacity:0;transform:scale(.04)}to{opacity:1;transform:scale(1)}}@media (max-width:600px){.import-overlay{background:#0000004d}.import-panel{animation:panel-slide-up .28s cubic-bezier(.22,1,.36,1) forwards;border-radius:16px 16px 0 0;bottom:0;left:0;max-height:92vh;position:fixed;right:0;transform-origin:bottom center;width:100%}@keyframes panel-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.import-panel__close{align-items:center;background:#00000014;border-radius:50%;color:#7a5c3e;display:flex;flex-shrink:0;font-size:20px;height:36px;justify-content:center;padding:0;width:36px}.import-panel__header{background:#f5f0e8;padding:16px 20px 14px}.import-panel--choose{background:#0000;border-radius:0;bottom:100px;box-shadow:none;left:auto;min-width:0;right:24px;width:auto}.import-option{height:56px;width:56px}.import-option svg{height:26px;width:26px}}.import-panel__header{align-items:center;background:#f5f0e8;border-bottom:1px solid #e8ddd0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px 18px}.import-panel__title{color:#5c4a35;font-family:Playfair Display,serif;font-size:1.3rem;font-style:italic;font-weight:400}.import-panel__close{background:none;border:none;border-radius:6px;color:#a08060;cursor:pointer;font-size:22px;line-height:1;padding:4px 8px;transition:color .15s,background .15s}.import-panel__close:hover{background:#0000000f;color:#5c4a35}.import-panel__body{flex:1 1;overflow-y:auto;padding:24px}.import-choose{align-items:flex-start;display:flex;flex-direction:column;gap:8px;padding:4px 0}.import-option{align-items:center;background:#fff;border:1px solid #e2d9cc;border-radius:50%;box-shadow:0 2px 8px #0000001f;color:#1c1410;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;position:relative;transition:border-color .15s,background .15s,box-shadow .15s;width:44px}.import-option:hover:not(:disabled){background:#ede7de;border-color:#1c1410;box-shadow:0 4px 14px #00000026}.import-option:active:not(:disabled){background:#e2d9cc}.import-option--disabled{cursor:not-allowed;opacity:.5}.import-option:after{background:#fff;border:1px solid #e2d9cc;border-radius:6px;box-shadow:0 2px 8px #0000001a;color:#1c1410;content:attr(data-tooltip);font-family:DM Sans,Lato,sans-serif;font-size:.75rem;font-weight:500;opacity:0;padding:5px 10px;pointer-events:none;position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);transition:opacity .15s;white-space:nowrap}.import-option:hover:after{opacity:1}.import-option__icon{display:contents}.import-option__label{color:#1c1410;display:none;font-family:DM Sans,Lato,sans-serif;font-size:.75rem;font-weight:500;line-height:1.3}.import-url-form{display:flex;flex-direction:column;gap:16px}.import-url-form__hint{color:#555;font-size:.9rem;line-height:1.5}.import-url-form__actions{display:flex;gap:10px;justify-content:flex-end}.import-loading{align-items:center;color:#444;display:flex;flex-direction:column;font-size:1rem;gap:16px;padding:48px 24px}.import-loading__spinner{animation:spin .8s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#b5845e;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.import-loading__sub{color:#888;font-size:.85rem}.form-input,.form-select,.form-textarea{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #d8d8d8;border-radius:7px;color:#222;font-family:Lato,sans-serif;font-size:.9rem;padding:8px 10px;transition:border-color .15s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#b5845e;outline:none}.form-textarea{min-height:64px;resize:vertical}.form-label{color:#555;display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;margin-bottom:5px;text-transform:uppercase}.form-group{display:flex;flex:1 1;flex-direction:column}.form-group--narrow{flex-basis:calc(25% - 12px);flex-grow:0;flex-shrink:0;min-width:100px}.form-row{display:flex;gap:12px;margin-top:12px}.form-row,.form-row--wrap{flex-wrap:wrap}.form-section{border-bottom:1px solid #ececec;margin-bottom:32px;padding-bottom:32px}.form-section:last-of-type{border-bottom:none}.manual-lang-row{align-items:center;background:#f7f3ee;border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:10px 14px}.manual-lang-label{color:#7a6a5a;font-size:.82rem;font-weight:600;letter-spacing:.02em}.manual-lang-btn{background:#fff;border:1.5px solid #d4c9bc;border-radius:20px;color:#7a6a5a;cursor:pointer;font-size:.75rem;font-weight:700;letter-spacing:.06em;padding:4px 12px;transition:background .15s,color .15s}.manual-lang-btn--active{background:#1c1410;border-color:#1c1410;color:#fff}.manual-lang-note{color:#c25436;font-size:.76rem;margin-left:4px}.form-section__title{color:#333;font-family:Playfair Display,serif;font-size:1.05rem;font-weight:400;margin-bottom:16px}.form-section__sub{color:#888;font-family:Lato,sans-serif;font-size:.8rem;font-weight:400}.ingredients-list__header{border-bottom:1px solid #ececec;color:#888;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:0 0 6px;text-transform:uppercase}.ingredient-row,.ingredients-list__header{grid-gap:6px;display:grid;gap:6px;grid-template-columns:70px 80px 1fr 1fr 28px;margin-bottom:6px}.ingredient-row{align-items:center}@media (max-width:580px){.ingredients-list__header{display:none}.ingredient-row{grid-template-columns:60px 70px 1fr 28px;grid-template-rows:auto auto}.ingredient-row .form-input:nth-child(4){grid-column:1/-2}}.step-row{grid-gap:8px;align-items:start;display:grid;gap:8px;grid-template-columns:28px 1fr 80px 28px;margin-bottom:10px}.step-row__number{color:#aaa;font-family:Playfair Display,serif;font-size:1.1rem;padding-top:8px;text-align:center}.step-row__instruction{min-height:64px}.step-row__duration{align-items:center;display:flex;gap:4px}.step-row__duration-label{color:#888;font-size:.75rem;white-space:nowrap}@media (max-width:500px){.step-row{grid-template-columns:24px 1fr 28px}.step-row__duration{display:none}}.row-delete-btn{background:none;border:none;border-radius:4px;color:#bbb;cursor:pointer;font-size:18px;line-height:1;padding:4px;transition:color .15s,background .15s}.row-delete-btn:hover{background:#fdecea;color:#c0392b}.tag-editor{display:flex;flex-direction:column;gap:8px}.tag-editor__chips{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{align-items:center;background:#f4ede6;border:1px solid #dfc9b4;border-radius:20px;color:#b5845e;display:inline-flex;font-size:.8rem;gap:4px;padding:3px 10px}.tag-chip__remove{background:none;border:none;color:#b5845e;cursor:pointer;font-size:14px;line-height:1;margin-left:2px;opacity:.6;padding:0}.tag-chip__remove:hover{opacity:1}.tag-chip--add{background:none;border:1px dashed #ccc;color:#888;cursor:pointer;transition:color .15s,border-color .15s}.tag-chip--add:hover{border-color:#b5845e;color:#b5845e}.traditional-toggle{align-items:center;background:#faf7f3;border:1px solid #e0d8ce;border-radius:10px;cursor:pointer;display:flex;gap:8px;padding:10px 14px;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.traditional-toggle:has(input:checked){background:#f5efe0;border-color:#d4b483}.traditional-toggle input[type=checkbox]{accent-color:#7a5c2e;flex-shrink:0;height:16px;width:16px}.traditional-toggle__icon{align-items:center;color:#7a5c2e;display:flex;flex-shrink:0}.traditional-toggle__label{color:#3d3530;font-size:.9rem;font-weight:600}.traditional-toggle__hint{color:#8a7060;font-size:.8rem}.tag-editor__input{border:1px solid #d8d8d8;border-radius:7px;color:#222;font-family:Lato,sans-serif;font-size:.85rem;padding:6px 10px}.tag-editor__input:focus{border-color:#b5845e;outline:none}.pantry-notice{background:#fef9e7;border:1px solid #f9e4a0;border-radius:8px;color:#6b5500;font-size:.875rem;line-height:1.5;margin-bottom:24px;padding:12px 16px}.image-preview{border:1px solid #e8e8e8;border-radius:8px;margin-top:10px;max-height:220px;max-width:100%;object-fit:cover}.preview-form__actions{border-top:1px solid #ececec;display:flex;gap:10px;justify-content:flex-end;margin-top:8px;padding-top:8px}.import-paste-textarea{font-size:.875rem;line-height:1.6;min-height:200px}.import-file-zone{background:#fafafa;border:2px dashed #d0d0d0;border-radius:12px;cursor:pointer;padding:32px 24px;text-align:center;transition:border-color .15s,background .15s}.import-file-zone--selected,.import-file-zone:hover{background:#faf5f0;border-color:#b5845e}.import-file-zone__prompt{align-items:center;color:#666;display:flex;flex-direction:column;font-size:.9rem;gap:6px}.import-file-zone__hint{color:#999;font-size:.78rem}.import-file-zone__selected{align-items:center;color:#b5845e;display:flex;font-size:.9rem;font-weight:600;gap:10px;justify-content:center}.import-file-zone__name{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-file-zone__size{color:#888;font-weight:400;white-space:nowrap}.import-error{background:#fdecea;border:1px solid #f5c6c2;border-radius:7px;color:#c0392b;font-size:.875rem;padding:10px 14px}.btn{border:none;border-radius:8px;cursor:pointer;font-family:Lato,sans-serif;font-size:.9rem;font-weight:700;padding:10px 22px;transition:background .15s,opacity .15s}.btn:disabled{cursor:not-allowed;opacity:.5}.btn--primary{background:#b5845e;color:#fff}.btn--primary:hover:not(:disabled){background:#966846}.btn--ghost{background:#f0f0f0;color:#444}.btn--ghost:hover:not(:disabled){background:#e4e4e4}.btn--add-row{background:none;border:1px dashed #dfc9b4;border-radius:7px;color:#b5845e;font-size:.85rem;font-weight:600;margin-top:8px;padding:7px 14px}.btn--add-row:hover{background:#faf5f0;border-color:#b5845e}.image-upload{display:flex;flex-direction:column;gap:6px;margin-top:8px}.image-upload__btn{align-items:center;align-self:flex-start;background:none;border:1px solid #d0d0d0;border-radius:7px;color:#555;cursor:pointer;display:inline-flex;font-family:Lato,sans-serif;font-size:.85rem;font-weight:600;gap:7px;padding:7px 14px;transition:border-color .15s,color .15s,background .15s}.image-upload__btn:hover:not(:disabled){background:#f0f7f4;border-color:#2d6a4f;color:#2d6a4f}.image-upload__btn:disabled{cursor:not-allowed;opacity:.5}.image-upload__spinner{animation:img-upload-spin .7s linear infinite;border:2px solid #ccc;border-radius:50%;border-top-color:#2d6a4f;flex-shrink:0;height:14px;width:14px}@keyframes img-upload-spin{to{transform:rotate(1turn)}}.image-upload__error{color:#c0392b;font-size:.8rem}.atmp-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1100}.atmp-modal{background:#fff;border-radius:16px;box-shadow:0 16px 48px #00000038;display:flex;flex-direction:column;max-height:90vh;max-width:680px;overflow-y:auto;width:100%}.atmp-header{align-items:center;border-bottom:1px solid #eee;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 20px 12px}.atmp-title{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700}.atmp-close{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.5rem;line-height:1;padding:0 4px;transition:color .15s}.atmp-close:hover{color:#333}.atmp-recipe-name{color:#888;flex-shrink:0;font-size:.9rem;font-style:italic;margin:10px 20px 0}.atmp-week-nav{align-items:center;display:flex;flex-shrink:0;gap:14px;justify-content:center;padding:14px 20px 10px}.atmp-week-btn{background:none;border:1px solid #ddd;border-radius:7px;color:#555;cursor:pointer;font-size:1.3rem;height:32px;line-height:1;transition:background .15s;width:32px}.atmp-week-btn:hover{background:#f5f5f5}.atmp-week-label{color:#444;font-size:.88rem;font-weight:600;min-width:160px;text-align:center}.atmp-grid{-webkit-overflow-scrolling:touch;display:flex;flex-shrink:0;gap:6px;overflow-x:auto;padding:6px 16px 16px}.atmp-day-col{flex:1 1;gap:5px;min-width:72px}.atmp-day-col,.atmp-day-header{display:flex;flex-direction:column}.atmp-day-header{align-items:center;background:#fafafa;border:1px solid #eee;border-radius:8px;padding:6px 4px}.atmp-day-name{color:#aaa;font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.atmp-day-num{color:#333;font-size:1.05rem;font-weight:700;margin-top:1px}.atmp-slot{align-items:center;background:#fafafa;border:1.5px solid #e8e8e8;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:3px;justify-content:center;min-height:58px;padding:6px 4px;text-align:center;transition:background .15s,border-color .15s,transform .1s}.atmp-slot:hover:not(:disabled){background:#f0f4f2;border-color:#b5845e;transform:translateY(-1px)}.atmp-slot:disabled{cursor:default;opacity:.5}.atmp-slot-meal{color:#bbb;font-size:.65rem;font-weight:600;letter-spacing:.04em;line-height:1.2;text-transform:uppercase}.atmp-slot--mine{background:#eaf4ee;border-color:#2d6a4f}.atmp-slot--mine .atmp-slot-meal{color:#2d6a4f}.atmp-slot-check{color:#2d6a4f;font-size:1rem;font-weight:700}.atmp-slot--other{background:#fff8f0;border-color:#e0a96d}.atmp-slot--other .atmp-slot-meal{color:#b5845e}.atmp-slot-other-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#b5845e;display:-webkit-box;font-size:.58rem;line-height:1.2;max-width:100%;overflow:hidden;word-break:break-word}.atmp-slot--pending{opacity:.6}.atmp-hint{color:#bbb;flex-shrink:0;font-size:.78rem;padding:0 20px 18px;text-align:center}.atmp-loading{color:#aaa;padding:32px;text-align:center}@media (max-width:500px){.atmp-modal{align-self:flex-end;border-radius:14px 14px 0 0;max-height:85vh}.atmp-overlay{align-items:flex-end;padding:0}.atmp-grid{gap:4px;padding:4px 10px 14px}.atmp-day-col{min-width:58px}.atmp-slot{min-height:52px;padding:5px 3px}}.cooking-notes{border-top:1px solid #e8e8e8;margin-top:40px;padding-top:32px}.cooking-notes h2{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.4rem;margin:0 0 20px}.cooking-notes__add{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.cooking-notes__input{background:#fafafa;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:10px 12px;resize:vertical;transition:border-color .15s;width:100%}.cooking-notes__input:focus{background:#fff;border-color:#aaa;outline:none}.cooking-notes__save-btn{align-self:flex-start;background:#3a3a3a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 20px;transition:background .15s,opacity .15s}.cooking-notes__save-btn:hover:not(:disabled){background:#222}.cooking-notes__save-btn:disabled{cursor:default;opacity:.5}.cooking-notes__list{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}.cooking-notes__item{background:#fdfbf8;border:1px solid #ede5da;border-radius:8px;padding:14px 16px}.cooking-notes__text{color:#2a2a2a;font-size:.95rem;line-height:1.55;margin:0 0 10px;white-space:pre-wrap}.cooking-notes__meta{align-items:center;display:flex;gap:12px}.cooking-notes__date{color:#999;flex:1 1;font-size:.8rem}.cooking-notes__action-btn{background:none;border:none;border-radius:4px;color:#888;cursor:pointer;font-size:.8rem;padding:2px 4px;transition:color .15s}.cooking-notes__action-btn:hover{color:#333;text-decoration:underline}.cooking-notes__action-btn--delete{color:#999}.cooking-notes__action-btn--delete:hover{color:#333}.cooking-notes__action-btn:disabled{cursor:default;opacity:.5}.cooking-notes__edit{display:flex;flex-direction:column;gap:10px}.cooking-notes__edit-actions{display:flex;gap:8px}.cooking-notes__cancel-btn{background:#f0f0f0;border:none;border-radius:6px;color:#555;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background .15s}.cooking-notes__cancel-btn:hover{background:#e0e0e0}.cooking-notes__empty{color:#aaa;font-size:.9rem;font-style:italic;margin:0}.cooking-mode{background:#fff;color:#1a1a1a;display:flex;flex-direction:column;font-family:Lato,sans-serif;inset:0;overflow:hidden;position:fixed;z-index:2000}.cooking-mode__header{align-items:center;background:#fff;border-bottom:1px solid #e8e8e8;display:flex;flex-shrink:0;gap:16px;padding:14px 24px}.cooking-mode__recipe-title{color:#1a1a1a;flex:1 1;font-family:Playfair Display,serif;font-size:1.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cooking-mode__header-tabs{background:#f2f2f2;border-radius:8px;display:flex;gap:4px;padding:3px}.cooking-mode__tab{background:none;border:none;border-radius:6px;color:#888;cursor:pointer;font-family:Lato,sans-serif;font-size:.85rem;padding:6px 16px;transition:background .15s,color .15s}.cooking-mode__tab--active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#1a1a1a}.cooking-mode__tab:hover:not(.cooking-mode__tab--active){color:#333}.cooking-mode__close{background:none;border:1px solid #ddd;border-radius:6px;color:#888;cursor:pointer;flex-shrink:0;font-family:Lato,sans-serif;font-size:.8rem;padding:6px 14px;transition:border-color .15s,color .15s;white-space:nowrap}.cooking-mode__close:hover{border-color:#aaa;color:#333}.cooking-mode__progress-bar{background:#f0f0f0;flex-shrink:0;height:3px}.cooking-mode__progress-fill{background:#3a3a3a;height:100%;transition:width .3s ease}.cooking-mode__ingredients{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:680px;overflow-y:auto;padding:32px 24px;width:100%}.cooking-mode__ingredients-list{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}.cooking-mode__ingredient{border-bottom:1px solid #f0f0f0;display:flex;font-size:1.35rem;gap:16px;line-height:1.4;padding-bottom:14px}.cooking-mode__ingredient-amount{color:#3a3a3a;flex-shrink:0;font-weight:700;min-width:80px}.cooking-mode__ingredient-name{color:#1a1a1a}.cooking-mode__ingredient-prep{color:#999;font-style:italic}.cooking-mode__step-area{align-items:center;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:16px;margin:0 auto;max-width:760px;min-height:0;overflow:hidden;padding:20px 24px;width:100%}.cooking-mode__step-counter{color:#aaa;flex-shrink:0;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.cooking-mode__step-content{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:20px;justify-content:center;min-height:0;overflow-y:auto;width:100%}.cooking-mode__step-text{color:#1a1a1a;font-size:clamp(1.1rem,3.5vw,1.75rem);line-height:1.6;margin:0;max-width:680px;text-align:center}.cooking-mode__parallel-steps{display:flex;flex-direction:column;gap:20px;max-width:720px;width:100%}.cooking-mode__parallel-step{text-align:center}.cooking-mode__parallel-step--meanwhile{border-top:1px solid #e0e0e0;padding-top:20px}.cooking-mode__meanwhile-label{background:#3a3a3a;border-radius:20px;color:#fff;display:inline-block;font-family:Lato,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:12px;padding:3px 12px;text-transform:uppercase}.cooking-mode__step-text--parallel{font-size:clamp(1.1rem,3vw,1.6rem)}.cooking-mode__tips{display:flex;flex-direction:column;gap:10px;margin:16px 0 4px}.cooking-mode__tip{align-items:flex-start;background:#fdf8f0;border-left:3px solid #c25436;border-radius:6px;display:flex;gap:10px;padding:10px 14px}.cooking-mode__tip-icon{flex-shrink:0;font-size:16px;margin-top:1px}.cooking-mode__tip-text{color:#3a3a3a;font-size:.9rem;line-height:1.5}.cooking-mode__timer{align-items:center;background:#fafafa;border:1px solid #e8e8e8;border-radius:12px;display:flex;flex-direction:row;flex-shrink:0;gap:16px;padding:12px 24px}.cooking-mode__timer--done{background:#f2f2f2;border-color:#3a3a3a}.cooking-mode__timer-display{font-feature-settings:"tnum";color:#3a3a3a;flex-shrink:0;font-size:clamp(1.5rem,5vw,2.4rem);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.05em}.cooking-mode__timer-controls{display:flex;gap:10px}.cooking-mode__timer-btn{background:#f2f2f2;border:none;border-radius:8px;color:#333;cursor:pointer;font-family:Lato,sans-serif;font-size:.9rem;padding:8px 18px;transition:background .15s}.cooking-mode__timer-btn:hover{background:#e8e8e8}.cooking-mode__timer-btn--reset{color:#aaa}.cooking-mode__timer-btn--reset:hover{color:#666}.cooking-mode__dots{display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px;justify-content:center;max-height:40px;overflow:hidden}.cooking-mode__dot{background:#e0e0e0;border:none;border-radius:50%;cursor:pointer;height:10px;padding:0;transition:background .15s,transform .15s;width:10px}.cooking-mode__dot--done{background:#aaa}.cooking-mode__dot--active{background:#3a3a3a;transform:scale(1.3)}.cooking-mode__dot:hover{background:#bbb}.cooking-mode__nav{display:flex;flex-shrink:0;gap:12px;max-width:500px;width:100%}.cooking-mode__nav-btn{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-family:Lato,sans-serif;font-size:1rem;font-weight:600;padding:14px;transition:background .15s,opacity .15s}.cooking-mode__nav-btn--prev{background:#f2f2f2;color:#888}.cooking-mode__nav-btn--prev:hover:not(:disabled){background:#e8e8e8;color:#333}.cooking-mode__nav-btn--prev:disabled{cursor:default;opacity:.35}.cooking-mode__nav-btn--next{background:#3a3a3a;color:#fff}.cooking-mode__nav-btn--next:hover{background:#555}.cooking-mode__nav-btn--finish{background:#2d6a4f;color:#fff}.cooking-mode__nav-btn--finish:hover{background:#245a41}@media (max-width:600px){.cooking-mode__header{gap:8px;padding:8px 12px}.cooking-mode__recipe-title{font-size:.85rem}.cooking-mode__step-area{gap:12px;padding:12px 14px 14px}.cooking-mode__ingredient{font-size:1rem}.cooking-mode__timer{gap:12px;padding:10px 16px}.cooking-mode__nav-btn{font-size:.9rem;padding:12px 8px}}@media (max-height:650px){.cooking-mode__step-area{gap:10px;padding:10px 20px 12px}.cooking-mode__timer{padding:8px 16px}.cooking-mode__dots{display:none}}.login-page{display:flex;justify-content:center;padding:80px 24px}.login-box{background:#fff;border:1px solid #e8e8e8;border-radius:12px;max-width:400px;padding:48px 40px;text-align:center;width:100%}.login-box__title{color:#111;font-size:1.5rem;font-weight:400;margin-bottom:8px}.login-box__subtitle{color:#888;font-size:.95rem;font-style:italic;margin-bottom:32px}.login-form{display:flex;flex-direction:column;gap:12px;text-align:left}.login-form__label{color:#555;font-size:.85rem}.login-form__input{border:1px solid #ddd;border-radius:6px;color:#222;font-family:Lato,sans-serif;font-size:1rem;outline:none;padding:10px 14px;transition:border-color .15s}.login-form__input:focus{border-color:#aaa}.login-form__error{color:#c0392b;font-size:.875rem}.login-form__submit{background:#222;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Lato,sans-serif;font-size:.95rem;margin-top:4px;padding:11px 0;transition:background .15s}.login-form__submit:hover:not(:disabled){background:#444}.login-form__submit:disabled{cursor:default;opacity:.5}.login-sent__icon{font-size:2.5rem;margin-bottom:16px}.login-sent__title{color:#111;font-size:1.4rem;font-weight:400;margin-bottom:12px}.login-sent__text{color:#555;font-size:.95rem;line-height:1.6;margin-bottom:32px}.login-back{background:none;border:none;color:#888;cursor:pointer;display:inline-block;font-family:Lato,sans-serif;font-size:.875rem;margin-top:24px;padding:0;text-decoration:underline}.login-back:hover{color:#444}.floating-add-btn{align-items:center;background-color:#3a3a3a;border:none;border-radius:50%;bottom:32px;box-shadow:0 4px 16px #00000038;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:32px;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease;width:56px;z-index:200}.floating-add-btn:hover{background-color:#1a1a1a;box-shadow:0 6px 22px #00000047;transform:scale(1.08)}.floating-add-btn:active{transform:scale(.96)}.floating-add-btn__icon{font-family:Lato,sans-serif;font-size:28px;font-weight:300;line-height:1;margin-top:-1px}@media (max-width:600px){.floating-add-btn{bottom:20px;height:52px;right:20px;width:52px}}.sl{font-family:Lato,sans-serif;margin:0 auto;max-width:600px;padding-bottom:80px}.sl__topbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:24px 0 32px}.sl__back{background:none;border:none;color:#999;cursor:pointer;font-family:Lato,sans-serif;font-size:.88rem;letter-spacing:.01em;padding:0;transition:color .15s}.sl__back:hover{color:#222}.sl__actions{align-items:center;display:flex;gap:10px}.sl__action{background:none;border:1px solid #e4e4e4;border-radius:20px;color:#999;cursor:pointer;font-family:Lato,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.01em;padding:6px 14px;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.sl__action:hover:not(:disabled){background:#fafafa;border-color:#bbb;color:#444}.sl__action--danger:hover:not(:disabled){background:#fdf4f2;border-color:#e0a090;color:#b84040}.sl__action:disabled{cursor:not-allowed;opacity:.4}.sl__header{margin-bottom:40px}.sl__title{color:#111;font-family:Playfair Display,serif;font-size:2rem;font-weight:400;letter-spacing:-.3px;margin-bottom:6px}.sl__subtitle{color:#bbb;font-family:Lato,sans-serif;font-size:.85rem;font-style:italic;margin-bottom:12px}.sl__progress-bar{background:#f0f0f0;border-radius:4px;height:4px;margin-top:4px;overflow:hidden}.sl__progress-fill{background:#3a3a3a;border-radius:4px;height:100%;min-width:0;transition:width .5s ease}.sl__empty{color:#bbb;font-family:Lato,sans-serif;font-size:.92rem;font-style:italic}.sl__empty-state{padding:56px 0 32px;text-align:center}.sl__empty-icon{font-size:2.4rem;margin-bottom:16px;opacity:.5}.sl__empty-title{color:#aaa;font-family:Lato,sans-serif;font-size:1rem;margin-bottom:8px}.sl__empty-hint{color:#ccc;font-family:Lato,sans-serif;font-size:.85rem;line-height:1.6}.sl__groups{display:flex;flex-direction:column;gap:40px}.sl__group-label{color:#999;font-family:Lato,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.sl__list{border:1px solid #efefef;border-radius:12px;list-style:none;overflow:hidden}.sl__item{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;gap:16px;min-height:62px;padding:16px 18px;transition:background .1s;-webkit-user-select:none;user-select:none}.sl__item:last-child{border-bottom:none}.sl__item:hover{background:#fafafa}.sl__item:active{background:#f5f5f5}.sl__item--checked{background:#fafafa}.sl__item--checked .sl__name{color:#ccc;text-decoration:line-through}.sl__item--checked .sl__amount{color:#ccc}.sl__item--checked .sl__recipe{color:#ddd}.sl__check{background:#fff;border:2px solid #ddd;border-radius:50%;flex-shrink:0;height:24px;position:relative;transition:border-color .2s,background .2s;width:24px}.sl__check--done{background:#b5845e;border-color:#b5845e}.sl__check--done:after{border:2px solid #fff;border-left:none;border-top:none;content:"";display:block;height:10px;left:6px;position:absolute;top:3px;transform:rotate(45deg);width:5px}.sl__text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.sl__name{color:#222;font-family:Lato,sans-serif;font-size:1.06rem;line-height:1.4;transition:color .15s}.sl__amount{color:#111;font-weight:700}.sl__recipe{color:#ccc;font-family:Lato,sans-serif;font-size:.85rem;font-style:italic;transition:color .15s}@media (max-width:600px){.sl__topbar{margin:16px 0 24px}.sl__title{font-size:1.7rem}.sl__item{padding:13px 16px}}.meal-planner{margin:0 auto;max-width:1100px;padding:0 24px 48px}.meal-planner__header{align-items:center;display:flex;gap:16px;margin:32px 0 24px}.meal-planner__back{background:none;border:none;border-radius:6px;color:#555;cursor:pointer;font-size:1.4rem;padding:4px 8px;transition:background .15s}.meal-planner__back:hover{background:#f0f0f0}.meal-planner__title{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.75rem;margin:0}.meal-planner__week-nav{align-items:center;display:flex;gap:20px;justify-content:center;margin-bottom:28px}.meal-planner__week-btn{background:none;border:1px solid #ddd;border-radius:8px;color:#444;cursor:pointer;font-size:1.4rem;height:36px;line-height:1;transition:background .15s,border-color .15s;width:36px}.meal-planner__week-btn:hover{background:#f5f5f5;border-color:#bbb}.meal-planner__week-label{color:#333;font-size:1rem;font-weight:600;min-width:200px;text-align:center}.meal-planner__grid{grid-gap:6px;-webkit-overflow-scrolling:touch;display:grid;gap:6px;grid-template-columns:90px repeat(7,1fr);margin-bottom:28px;overflow-x:auto}.meal-planner__day-header{align-items:center;background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;display:flex;flex-direction:column;padding:8px 4px}.meal-planner__day-name{color:#888;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.meal-planner__day-num{color:#333;font-size:1.1rem;font-weight:600;margin-top:2px}.meal-planner__meal-label{align-items:center;color:#999;display:flex;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:0 8px 0 0;text-transform:uppercase}.meal-planner__cell{align-items:stretch;border:1px solid #e8e8e8;border-radius:8px;display:flex;min-height:80px;overflow:hidden}.meal-planner__cell--empty{background:#fafafa}.meal-planner__cell--filled{background:#fff}.meal-planner__add-btn{background:none;border:none;color:#ccc;cursor:pointer;font-family:inherit;font-size:.7rem;height:100%;line-height:1.3;min-height:80px;padding:8px 4px;text-align:center;transition:background .15s,color .15s;width:100%}.meal-planner__add-btn:hover{background:#f0f4f2;color:#b5845e}.meal-planner__recipe{display:flex;flex-direction:column;position:relative;width:100%}.meal-planner__recipe-img{display:block;flex-shrink:0;height:52px;object-fit:cover;width:100%}.meal-planner__recipe-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#333;cursor:pointer;display:-webkit-box;flex:1 1;font-size:.72rem;font-weight:600;line-height:1.3;overflow:hidden;padding:5px 22px 5px 6px}.meal-planner__recipe-name:hover{color:#b5845e}.meal-planner__remove-btn{align-items:center;background:#ffffffd9;border:1px solid #ddd;border-radius:50%;color:#888;cursor:pointer;display:flex;font-size:.85rem;height:20px;justify-content:center;line-height:1;padding:0;position:absolute;right:4px;top:4px;transition:background .15s,color .15s;width:20px}.meal-planner__remove-btn:hover{background:#fff;border-color:#c0392b;color:#c0392b}.meal-planner__actions{display:flex;justify-content:center;margin-top:4px}.meal-planner__shopping-btn{background:#3a3a3a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;padding:12px 28px;transition:background .15s,opacity .15s}.meal-planner__shopping-btn:hover:not(:disabled){background:#555}.meal-planner__shopping-btn:disabled{cursor:default;opacity:.5}.meal-planner__loading{color:#999;margin:60px 0;text-align:center}.meal-planner__overlay{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.meal-planner__modal{background:#fff;border-radius:14px;box-shadow:0 12px 40px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:440px;overflow:hidden;width:100%}.meal-planner__modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;flex-shrink:0;justify-content:space-between;padding:18px 20px 14px}.meal-planner__modal-title{color:#333;font-size:1rem;font-weight:700}.meal-planner__modal-close{background:none;border:none;color:#999;cursor:pointer;font-size:1.4rem;line-height:1;padding:0 4px}.meal-planner__modal-close:hover{color:#333}.meal-planner__search-input{border:1px solid #ddd;border-radius:8px;flex-shrink:0;font-family:inherit;font-size:.95rem;margin:12px 16px;outline:none;padding:10px 14px}.meal-planner__search-input:focus{border-color:#b5845e}.meal-planner__results{flex:1 1;overflow-y:auto;padding:0 8px 12px}.meal-planner__no-results{color:#aaa;font-size:.9rem;padding:24px;text-align:center}.meal-planner__result-item{align-items:center;background:none;border:none;border-radius:8px;color:#333;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;gap:12px;padding:10px 12px;text-align:left;transition:background .12s;width:100%}.meal-planner__result-item:hover{background:#f5f0eb}.meal-planner__result-item:disabled{cursor:default;opacity:.5}.meal-planner__result-img{border-radius:6px;flex-shrink:0;height:44px;object-fit:cover;width:44px}@media (max-width:700px){.meal-planner__grid{grid-template-columns:60px repeat(7,minmax(80px,1fr));min-width:620px}.meal-planner__add-btn,.meal-planner__meal-label,.meal-planner__recipe-name{font-size:.65rem}.meal-planner__title{font-size:1.4rem}}.ebook-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.ebook-modal{background:#fff;border-radius:12px;box-shadow:0 8px 40px #0000002e;max-width:460px;padding:36px 40px;position:relative;width:calc(100% - 40px)}.ebook-close{background:none;border:none;color:#888;cursor:pointer;font-size:22px;line-height:1;padding:4px 8px;position:absolute;right:16px;top:14px}.ebook-close:hover{color:#333}.ebook-title{color:#2c2c2c;font-family:Playfair Display,Georgia,serif;font-size:22px;margin:0 0 12px}.ebook-desc{color:#555;font-size:14px;line-height:1.6;margin:0 0 24px}.ebook-lang-row{align-items:center;display:flex;gap:14px;margin-bottom:28px}.ebook-lang-label{color:#444;font-size:14px;white-space:nowrap}.ebook-lang-buttons{display:flex;gap:8px}.ebook-lang-btn{background:#fff;border:1.5px solid #ddd;border-radius:20px;color:#555;cursor:pointer;font-size:14px;padding:7px 18px;transition:border-color .15s,color .15s,background .15s}.ebook-lang-btn:hover{border-color:#b5845e;color:#b5845e}.ebook-lang-btn--active{background:#3a3a3a;border-color:#3a3a3a;color:#fff}.ebook-scope-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.ebook-scope-row{align-items:center;color:#444;cursor:pointer;display:flex;font-size:14px;gap:10px}.ebook-collection-select{background:#faf7f3;border:1px solid #d8cfc5;border-radius:6px;color:#1c1410;cursor:pointer;font-size:13px;padding:3px 8px}.ebook-favourites-row{align-items:center;color:#444;cursor:pointer;display:flex;font-size:14px;gap:10px;margin-bottom:16px}.ebook-favourites-checkbox{accent-color:#3a3a3a;cursor:pointer;flex-shrink:0;height:16px;width:16px}.ebook-generate-btn{background:#3a3a3a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;padding:13px;transition:background .15s;width:100%}.ebook-generate-btn:hover{background:#555}.ebook-progress{align-items:center;display:flex;flex-direction:column;gap:16px;padding:20px 0}.ebook-spinner{animation:ebook-spin .8s linear infinite;border:3px solid #e8e8e8;border-radius:50%;border-top-color:#b5845e;height:40px;width:40px}@keyframes ebook-spin{to{transform:rotate(1turn)}}.ebook-progress-text{color:#333;font-size:15px;margin:0;text-align:center}.ebook-progress-sub{color:#888;font-size:13px;margin:0;text-align:center}.ebook-done{flex-direction:column;gap:16px;padding:16px 0 8px}.ebook-done,.ebook-done-icon{align-items:center;display:flex}.ebook-done-icon{background:#e8f5e9;border-radius:50%;color:#2d6a4f;font-size:24px;font-weight:700;height:52px;justify-content:center;width:52px}.ebook-done-text{color:#333;font-size:15px;margin:0;text-align:center}.ebook-error{display:flex;flex-direction:column;gap:12px;padding:8px 0}.ebook-error-text{color:#c0392b;font-size:15px;margin:0}.ebook-error-detail{background:#f8f8f8;border-radius:6px;color:#888;font-size:12px;margin:0;padding:8px 12px;word-break:break-all}.collections-page{padding:28px 0 48px}.collections-page__header{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.collections-page__back{background:none;border:none;color:#888;cursor:pointer;font-size:.85rem;padding:0;width:-webkit-fit-content;width:fit-content}.collections-page__back:hover{color:#333}.collections-page__title-row{align-items:center;display:flex;gap:16px}.collections-page__title{color:#111;font-family:Playfair Display,serif;font-size:1.7rem;font-weight:400;margin:0}.collections-page__new-btn{background:none;border:1px solid #d0d0d0;border-radius:20px;color:#555;cursor:pointer;font-size:.82rem;padding:6px 14px;transition:all .15s}.collections-page__new-btn:hover{border-color:#3a3a3a;color:#3a3a3a}.collections-page__create-form{align-items:center;display:flex;gap:8px}.collections-page__create-input{border:1px solid #d8d8d8;border-radius:8px;font-family:inherit;font-size:.9rem;outline:none;padding:8px 12px;width:260px}.collections-page__create-input:focus{border-color:#3a3a3a}.collections-page__create-submit{background:#3a3a3a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:8px 16px}.collections-page__create-submit:disabled{cursor:default;opacity:.5}.collections-page__empty{color:#999;font-style:italic;margin-top:32px}.collections-page__grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.collection-tile{align-items:center;background:#fff;border:1px solid #e8e8e8;border-radius:10px;cursor:pointer;display:flex;gap:14px;padding:20px 20px 20px 16px;position:relative;transition:box-shadow .2s,transform .2s}.collection-tile:hover{box-shadow:0 4px 20px #00000014;transform:translateY(-2px)}.collection-tile__icon{flex-shrink:0;font-size:1.8rem;opacity:.7}.collection-tile__body{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.collection-tile__name{color:#111;font-family:Playfair Display,serif;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-tile__count{color:#aaa;font-size:.78rem;letter-spacing:.02em}.collection-tile__delete{background:none;border:none;color:#ccc;cursor:pointer;font-size:.85rem;opacity:0;padding:2px 6px;position:absolute;right:10px;top:10px;transition:opacity .15s,color .15s}.collection-tile:hover .collection-tile__delete{opacity:1}.collection-tile__delete:hover{color:#c0392b}.collection-tile__confirm{align-items:center;background:#fffffff7;border-radius:10px;color:#333;display:flex;font-size:.8rem;gap:8px;inset:0;justify-content:center;padding:12px;position:absolute}.collection-tile__confirm-yes{background:#c0392b;color:#fff}.collection-tile__confirm-no,.collection-tile__confirm-yes{border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.8rem;padding:5px 12px}.collection-tile__confirm-no{background:#f0f0f0;color:#555}@media (max-width:600px){.collections-page{padding:16px 0 40px}.collections-page__title{font-size:1.4rem}.collections-page__grid{grid-template-columns:1fr}.collections-page__create-form{align-items:stretch;flex-direction:column}.collections-page__create-input{width:100%}}.swipe-view{flex-direction:column;min-height:80vh;padding:24px 16px 40px;position:relative}.swipe-back-btn,.swipe-view{align-items:center;display:flex}.swipe-back-btn{background:#fff;border:1.5px solid #d4c9bc;border-radius:50%;color:#5a3e28;cursor:pointer;height:36px;justify-content:center;left:20px;position:absolute;top:20px;transition:background .15s,transform .12s;width:36px}.swipe-back-btn:hover{background:#f0ede8;transform:translateX(-2px)}.swipe-heading{color:#5a3e28;font-family:Playfair Display,serif;font-size:1.55rem;font-style:italic;font-weight:400;margin:0 0 6px;text-align:center}.swipe-subheading{color:#9e8e80;font-size:.82rem;letter-spacing:.03em;margin:0 0 28px;text-align:center}.swipe-filters{align-items:center;display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-width:820px;width:100%}.swipe-filters__row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.swipe-filter-pill{background:#fff;border:1.5px solid #d4c9bc;border-radius:20px;color:#7a6a5a;cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:5px 13px;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.swipe-filter-pill:hover{border-color:#b0a090;color:#5a3e28}.swipe-filter-pill--active{background:#3d3530;border-color:#3d3530;color:#fff}.swipe-filter-pill--active:hover{background:#2a2420;border-color:#2a2420;color:#fff}@media (max-width:699px){.swipe-filters{gap:4px;margin-bottom:8px;margin-top:52px;padding:0}.swipe-filters__row{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:5px;justify-content:flex-start;overflow-x:auto;padding:2px 14px;scrollbar-width:none;width:100%}.swipe-filters__row::-webkit-scrollbar{display:none}.swipe-filter-pill{flex-shrink:0;font-size:.68rem;padding:4px 10px}}.swipe-desktop{align-items:center;display:flex;flex-direction:column;gap:24px;max-width:820px;width:100%}.swipe-desktop-card{background:#fff;border:1px solid #e8e0d5;border-radius:20px;box-shadow:0 8px 32px #1c141021;display:grid;grid-template-columns:1fr 1fr;height:440px;overflow:hidden;width:100%}.swipe-desktop-card__img-wrap{background:#ede7de;height:100%;overflow:hidden;position:relative}.swipe-desktop-card__img{display:block;height:100%;object-fit:cover;width:100%}.swipe-desktop-card__no-img{align-items:center;display:flex;font-size:5rem;inset:0;justify-content:center;opacity:.35;position:absolute}.swipe-desktop-card__info{box-sizing:border-box;display:flex;flex-direction:column;gap:12px;height:100%;overflow:hidden;padding:36px 32px}.swipe-desktop-card__category{color:#c25436;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.swipe-desktop-card__title{color:#1c1410;font-family:Playfair Display,serif;font-size:1.5rem;font-style:italic;font-weight:700;line-height:1.25;margin:0}.swipe-desktop-card__meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.swipe-desktop-card__time{color:#7a6a5a;font-size:.82rem}.swipe-desktop-card__diff{border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:2px 10px;text-transform:uppercase}.swipe-desktop-card__diff--easy{background:#d1f5e0;color:#1a5c38}.swipe-desktop-card__diff--medium{background:#fef3cd;color:#7a5a00}.swipe-desktop-card__diff--hard{background:#fde8e8;color:#7a1a1a}.swipe-desktop-card__desc{-webkit-line-clamp:6;-webkit-box-orient:vertical;color:#5a4a3a;display:-webkit-box;font-size:.92rem;line-height:1.6;margin-top:auto;overflow:hidden;text-align:justify}.swipe-desktop-card__actions{display:flex;gap:10px;justify-content:center;margin-top:auto;padding-top:8px}.swipe-desktop-view-btn{align-items:center;background:#fff;border:1.5px solid #c9bfb5;border-radius:50%;color:#9e8e80;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:border-color .18s,color .18s,transform .12s;width:44px}.swipe-desktop-view-btn:hover{border-color:#a89080;color:#5a3e28;transform:scale(1.08)}.swipe-desktop-save-btn{align-items:center;background:#fff;border:1.5px solid #c9bfb5;border-radius:50%;color:#c9bfb5;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:border-color .18s,color .18s,transform .12s;width:44px}.swipe-desktop-save-btn:hover{border-color:#c25436;color:#c25436;transform:scale(1.08)}.swipe-desktop-save-btn--saved{border-color:#c25436;color:#c25436;cursor:default}.swipe-desktop-save-btn--saved:hover{transform:none}.swipe-desktop-nav{align-items:center;display:flex;gap:20px}.swipe-desktop-nav-btn{align-items:center;background:#fff;border:1.5px solid #d4c9bc;border-radius:50%;color:#5a3e28;cursor:pointer;display:flex;height:44px;justify-content:center;transition:background .15s,transform .12s;width:44px}.swipe-desktop-nav-btn:hover:not(:disabled){background:#f0ede8;transform:scale(1.08)}.swipe-desktop-nav-btn:disabled{cursor:default;opacity:.3}@media (max-width:699px){.swipe-view--mobile{align-items:center;background:#f7f3ee;display:flex;flex-direction:column;height:100vh;height:-webkit-fill-available;height:100dvh;inset:0;overflow:hidden;padding:0;position:fixed;z-index:200}.swipe-view--mobile .swipe-back-btn{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#ffffffd1;left:auto;right:10px;top:10px;z-index:10}}.swipe-mobile-lang{display:flex;gap:4px;left:10px;position:absolute;right:auto;top:10px;z-index:10}.swipe-lang-btn{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#ffffffb3;border:1.5px solid #d4c9bccc;border-radius:20px;color:#7a6a5a;cursor:pointer;font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:4px 8px;transition:background .15s,color .15s}.swipe-lang-btn--active{background:#ffffffeb;border-color:#b0a090;color:#5a3e28}.swipe-mobile{align-items:center;box-sizing:border-box;flex-direction:column;overflow:hidden;padding:8px 16px max(env(safe-area-inset-bottom,0px),24px)}.swipe-card,.swipe-mobile{display:flex;flex:1 1;min-height:0;width:100%}.swipe-card{background:#fff;border:1px solid #e8e0d5;border-radius:20px;box-shadow:0 8px 32px #1c14102e;flex-direction:column;max-width:420px;position:relative;user-select:none;-webkit-user-select:none}.swipe-nav-arrow{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#ffffffe0;border:1px solid #d4c9bcb3;border-radius:50%;bottom:10px;box-shadow:0 2px 8px #1c141024;color:#5a3e28;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;transition:background .15s,transform .12s;width:36px;z-index:5}.swipe-nav-arrow:hover:not(:disabled){background:#fffffffa;transform:scale(1.07)}.swipe-nav-arrow:disabled{cursor:default;opacity:.25}.swipe-nav-arrow--left{left:10px}.swipe-nav-arrow--right{right:10px}.swipe-card__image{background-color:#ede7de;background-position:50%;background-size:cover;border-radius:20px 20px 0 0;flex:0 0 34%;overflow:hidden;position:relative}.swipe-card__no-image{align-items:center;display:flex;font-size:5rem;inset:0;justify-content:center;opacity:.35;position:absolute}.swipe-card__info{background:#fff;display:flex;flex:1 1;flex-direction:column;gap:6px;min-height:0;overflow:hidden;padding:14px 18px 8px}.swipe-card__category{color:#c25436;display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.12em;margin-bottom:2px;text-transform:uppercase}.swipe-card__title{color:#1c1410;font-family:Playfair Display,serif;font-size:1.2rem;font-style:italic;font-weight:700;line-height:1.25;margin:0}.swipe-card__meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.swipe-card__time{color:#7a6a5a;font-size:.78rem}.swipe-card__diff{border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:2px 8px;text-transform:uppercase}.swipe-card__diff--easy{background:#d1f5e0;color:#1a5c38}.swipe-card__diff--medium{background:#fef3cd;color:#7a5a00}.swipe-card__diff--hard{background:#fde8e8;color:#7a1a1a}.swipe-card__already-saved{color:#c25436;font-size:.75rem}.swipe-card__desc{-webkit-line-clamp:6;-webkit-box-orient:vertical;color:#5a4a3a;display:-webkit-box;font-size:.86rem;line-height:1.55;margin:0;overflow:hidden;text-align:justify}.swipe-card__actions{background:#fff;border-radius:0 0 20px 20px;border-top:1px solid #f0ebe4;flex-shrink:0;gap:16px;padding:10px 18px 14px}.swipe-btn,.swipe-card__actions{align-items:center;display:flex;justify-content:center}.swipe-btn{border:none;border-radius:50%;box-shadow:0 4px 16px #1c141024;cursor:pointer;font-size:1.3rem;transition:transform .12s,box-shadow .12s}.swipe-btn--info{background:#fff;border:1.5px solid #c9bfb5;color:#9e8e80;height:42px;width:42px}.swipe-btn--info:hover{border-color:#a89080;color:#5a3e28;transform:scale(1.08)}.swipe-btn--save{background:#fff;border:1.5px solid #c9bfb5;color:#c9bfb5;height:52px;width:52px}.swipe-btn--save:hover{border-color:#c25436;color:#c25436;transform:scale(1.08)}.swipe-btn--saved{background:#fff!important;border-color:#c25436!important;color:#c25436!important}.swipe-counter{color:#b0a090;flex-shrink:0;font-size:.78rem;letter-spacing:.04em}.swipe-empty{align-items:center;color:#5a3e28;display:flex;flex-direction:column;font-family:Playfair Display,serif;font-size:1.1rem;font-style:italic;gap:16px;height:100%;justify-content:center}.swipe-reshuffle-btn{background:#c25436;border:none;border-radius:40px;color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-style:normal;padding:10px 24px;transition:background .15s}.swipe-reshuffle-btn:hover{background:#a8432b}.swipe-loading{color:#9e8e80;font-style:italic;margin-top:60px}.about-page{margin:0 auto;max-width:1100px;padding:40px 24px 80px}.about-page__inner{max-width:700px;position:relative}.about-page__back{align-items:center;background:#0000;border:1.5px solid #d4c9bc;border-radius:50%;color:#5c5450;cursor:pointer;display:flex;height:34px;justify-content:center;margin-bottom:32px;transition:background .15s,color .15s,transform .15s;width:34px}.about-page__back:hover{background:#f0ebe4;color:#1c1410;transform:translateX(-3px)}.about-page__title{color:#1c1410;font-family:Playfair Display,serif;font-size:2.4rem;font-style:italic;margin:0 0 8px}.about-page__subtitle{color:#8a7f74;font-size:1rem;letter-spacing:.02em;margin:0 0 40px}.about-page__quote{border-left:3px solid #c25436;color:#c25436;font-family:Playfair Display,serif;font-size:1.25rem;font-style:italic;line-height:1.7;margin:0;padding-left:20px}.about-page__section{margin-bottom:36px}.about-page__heading{color:#1c1410;font-family:Playfair Display,serif;font-size:1.15rem;font-style:italic;margin:0 0 12px}.about-page__section p{color:#3d3530;font-size:1rem;line-height:1.8;margin:0}.about-page__footer{border-top:1px solid #e8e0d6;color:#8a7f74;font-family:Playfair Display,serif;font-size:1rem;font-style:italic;margin-top:48px;padding-top:24px}@media (max-width:600px){.about-page{padding:24px 16px 60px}.about-page__title{font-size:1.9rem}.about-page__quote{font-size:1.1rem}}
/*# sourceMappingURL=main.cdc6b7cf.css.map*/