html{touch-action:pan-x pan-y}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:pan-x pan-y}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}[data-rbd-drag-handle-draggable-id],[data-rbd-drag-handle-draggable-id]:hover{cursor:grab}[data-rbd-drag-handle-draggable-id]:active{cursor:grabbing}[data-rbd-drag-handle-draggable-id] *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}[data-rbd-draggable-id]{box-sizing:border-box}body.rbd-dragging{overflow-x:hidden}.MuiCard-root .MuiCardHeader-root .MuiCardHeader-content,.MuiCard-root .MuiCardContent-root .MuiTypography-root,.MuiCardHeader-title,.MuiCardHeader-subheader,.MuiCard-root .MuiCardHeader-title .MuiTypography-root,.MuiCard-root .MuiCardContent-root .MuiTypography-body2{text-align:left!important}.MuiButton-root[style*="background: transparent"],.MuiButton-root[style*="background-color: transparent"],.MuiButton-text,.MuiButton-outlined{box-shadow:none!important}.MuiButton-root[style*="background: transparent"]:hover,.MuiButton-root[style*="background-color: transparent"]:hover,.MuiButton-text:hover,.MuiButton-outlined:hover,.MuiButton-root[style*="background: transparent"]:focus,.MuiButton-root[style*="background-color: transparent"]:focus,.MuiButton-text:focus,.MuiButton-outlined:focus{box-shadow:none!important}.MuiButtonBase-root:not(.MuiButton-contained){box-shadow:none!important}.MuiIconButton-root,.MuiTab-root,.MuiButton-textPrimary,.MuiButton-textSecondary,.MuiButton-outlinedPrimary,.MuiButton-outlinedSecondary,.MuiChip-root,.MuiToggleButton-root,.MuiDialogActions-root .MuiButton-root,.MuiCardActions-root .MuiButton-root{box-shadow:none!important}.MuiButton-outlined:hover{background:linear-gradient(135deg,#5dd9c114,#acfcd914)!important}.MuiButton-outlined:not(:hover){background:transparent!important}.MuiCard-root,.MuiPaper-root:not(.MuiDrawer-paper),.MuiButton-root,.MuiIconButton-root{transition:all .3s ease!important}:root{--app-bg-start: #F7F5FC;--app-bg-end: #EBE4F6;--app-orb-primary: rgba(124, 108, 246, .07);--app-orb-secondary: rgba(93, 217, 193, .06);--app-orb-accent: rgba(108, 92, 231, .05);--scrollbar-track-start: #F5F4FB;--scrollbar-track-end: #EFEBF8;--scrollbar-thumb-start: #8E80F0;--scrollbar-thumb-end: #6C5CE7;--scrollbar-thumb-hover-start: #9C8FF4;--scrollbar-thumb-hover-end: #7A6BEC}[data-theme=dark]{--app-bg-start: #121212;--app-bg-end: #1a1a1a;--app-orb-primary: rgba(93, 217, 193, .04);--app-orb-secondary: rgba(59, 176, 154, .04);--app-orb-accent: rgba(255, 255, 255, .02);--scrollbar-track-start: #121212;--scrollbar-track-end: #1e1e1e;--scrollbar-thumb-start: #5DD9C1;--scrollbar-thumb-end: #3BB09A;--scrollbar-thumb-hover-start: #6BE0C8;--scrollbar-thumb-hover-end: #45BFA4}.App{text-align:center;min-height:100vh;background:linear-gradient(170deg,var(--app-bg-start) 0%,var(--app-bg-end) 100%);background-attachment:fixed;position:relative;transition:background .3s ease}.app-content{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}.app-header{background:linear-gradient(135deg,#5dd9c1,#acfcd9,#8ae4d4);padding:20px;color:#000;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #5dd9c140}.app-header h1{margin:0;font-size:24px;font-weight:600}.logout-btn{background:linear-gradient(135deg,#18057a,#483a6a);border:none;color:#fff;padding:8px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;width:auto;transition:all .3s ease;box-shadow:0 2px 8px #18057a4d}.logout-btn:hover{background:linear-gradient(135deg,#7461a0,#5a4880);transform:translateY(-1px);box-shadow:0 3px 12px #18057a66}main{flex:1;padding:20px;max-width:1200px;margin:0 auto;width:100%;position:relative;z-index:1}.App-logo{height:40vmin;pointer-events:none}@media(prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin infinite 20s linear}}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*,*:before,*:after{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,fill .3s ease}.App-logo,[class*=animate],[class*=Skeleton],.MuiSkeleton-root{transition:none!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:linear-gradient(180deg,var(--scrollbar-track-start) 0%,var(--scrollbar-track-end) 100%);border-radius:8px;margin:4px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--scrollbar-thumb-start) 0%,var(--scrollbar-thumb-end) 100%);border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--scrollbar-thumb-hover-start) 0%,var(--scrollbar-thumb-hover-end) 100%);border-radius:8px;border:2px solid transparent;background-clip:padding-box}@keyframes pulse{0%{box-shadow:0 0 #5dd9c166}70%{box-shadow:0 0 0 10px #5dd9c100}to{box-shadow:0 0 #5dd9c100}}.pulse-animation{animation:pulse 2s infinite}[data-theme=dark] .MuiButton-outlined:hover{background:linear-gradient(135deg,#5dd9c11a,#3bb09a1a)!important}.recipe-form__section{margin-bottom:2rem;border-radius:8px;transition:all .3s ease}.recipe-form__section:hover{box-shadow:0 2px 12px #19093314}.recipe-form__section-title{display:flex;align-items:center;font-weight:600;color:#5dd9c1}.recipe-form__section-title svg{margin-right:8px;color:#5dd9c1}.recipe-form__ingredients-container{background-color:#5dd9c10d}.recipe-form__ingredients-group{margin-bottom:16px;padding:8px}.recipe-form__instructions-container{background-color:#5dd9c10d}.recipe-form__instructions-group{margin-bottom:1.5rem;padding:16px;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #1909330d;border:none}.recipe-form__instructions-group:hover{box-shadow:0 2px 6px #5dd9c126}.recipe-form__instructions-step{margin-bottom:4px;display:flex;align-items:flex-start}.recipe-form__submit-button{margin-top:2rem;padding:12px 0;font-weight:600;font-size:1.1rem}.recipe-form__photo-upload,.recipe-form__photo-upload .MuiImageList-root{margin:16px 0}.recipe-form__photo-item{border-radius:6px;overflow:hidden;transition:transform .2s;border:2px solid transparent}.recipe-form__photo-item:hover{transform:scale(1.02)}.recipe-form__photo-item img{width:100%;height:100%;object-fit:cover}.recipe-form__photo-item[data-primary=true]{border-color:#5dd9c1}.MuiStepLabel-root .MuiStepLabel-active{color:#5dd9c1;font-weight:600}.MuiStepLabel-root .MuiStepIcon-active{color:#5dd9c1}.MuiStepLabel-root .MuiStepIcon-completed{color:#4caf50}@media(max-width:600px){.recipe-form__section{margin-bottom:1.5rem}.recipe-form__section-title{font-size:1.1rem}.recipe-form__section-title svg{margin-right:4px}.recipe-form__ingredients-group{padding:4px}.recipe-form__instructions-group{margin-bottom:1rem;padding:8px}.recipe-form__photo-upload,.recipe-form__photo-upload .MuiImageList-root{margin:8px 0}.recipe-form__submit-button{margin-top:1.5rem;padding:10px 0}}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.recipe-comments-sheet-drawer .MuiBackdrop-root{background-color:#00000080}.recipe-comments-sheet-paper{text-align:left}.recipe-comments-sheet-drag-handle{width:36px;height:4px;border-radius:999px;background-color:#0000002e;margin:8px auto 4px;flex-shrink:0}@media(prefers-color-scheme:dark){.recipe-comments-sheet-drag-handle{background-color:#ffffff3d}}.white-loader{filter:brightness(0) invert(1)}body.recipe-detail-mobile .header__appBar{display:none!important}body.recipe-detail-mobile .App>div>div[style*=padding-top]:not(.bottom-nav):not([class*=bottom-nav]){padding-top:0!important}body.recipe-detail-mobile .App>div>div:not(.bottom-nav):not([class*=bottom-nav]){padding-top:0!important}body.recipe-detail-mobile .bottom-nav{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px)) 12px!important}.recipe-detail-page{position:relative}.recipe-detail-page.mobile{width:100%;padding-bottom:24px}.action-buttons-container{margin-bottom:8px;display:flex;justify-content:flex-end;gap:4px}.print-button{border-color:#18057a;color:#18057a}.print-button:hover{border-color:#483a6a;background-color:#18057a0a}.photo-carousel-wrapper{position:relative;overflow:hidden}.photo-carousel-wrapper.mobile{width:100%;margin-top:-56px;height:38vh;min-height:max(38vh,300px)}.photo-carousel-image{width:100%;height:100%;object-fit:cover;display:block}.photo-carousel-wrapper.mobile .photo-carousel-image{height:100%;min-height:100%}@media(min-width:600px){.photo-carousel-image{height:350px;min-height:350px}}@media(min-width:900px){.photo-carousel-image{height:450px;min-height:450px}}.photo-carousel-wrapper.mobile .photo-carousel-image,.photo-carousel-wrapper.mobile .gradient-overlay{border-bottom-left-radius:24px;border-bottom-right-radius:24px}.back-button-mobile{display:flex;align-items:center;justify-content:center;gap:4px;padding:16px 24px;background-color:transparent;border:2px solid #5DD9C1;border-radius:24px;color:#5dd9c1;font-weight:600;text-transform:none;width:100%;max-width:200px;margin:32px auto 24px;transition:all .2s ease}.back-button-mobile:hover{background-color:#5dd9c1;color:#fff}.gradient-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#000c,#00000080,#0000);padding:16px 16px 8px;z-index:1}@media(min-width:600px){.gradient-overlay{padding:24px 24px 16px}}.meta-info-container{display:flex;align-items:center;gap:24px;margin-bottom:8px;flex-wrap:wrap}.meta-info-item{display:flex;align-items:center;gap:4px}.meta-info-text{color:#ffffffe6}.rating-icon-filled{color:gold}.rating-icon-empty{color:#ffffff4d}.carousel-nav-button{position:absolute;top:50%;transform:translateY(-50%);background-color:#0000004d;color:#fff;transition:background-color .2s ease;z-index:10;width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;margin:0;border:none;cursor:pointer}.carousel-nav-button:hover{background-color:#00000080;transform:translateY(-50%)}.carousel-nav-button.prev{left:16px}.carousel-nav-button.next{right:80px}.carousel-nav-button svg{display:block}.mobile-content-wrapper{padding:24px 16px 32px;display:flex;flex-direction:column;gap:32px}.title-section{display:flex;flex-direction:column;gap:16px;margin-bottom:4px}.title{font-weight:700;line-height:1.2}.tags-container{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{background-color:#5dd9c11f;color:#483a6a;font-weight:500;font-size:.75rem;border-radius:12px}.description{line-height:1.7;color:#333;text-align:center}.section-header{display:flex;align-items:center;gap:8px;margin-bottom:24px}.section-header.servings-control{justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.section-header.servings-control>div:first-child{padding-top:4px}.servings-control-right{display:flex;align-items:center}.servings-control-buttons{display:flex;align-items:center;gap:8px;border:1px solid rgba(0,0,0,.12);border-radius:24px;padding:4px;background-color:#fffc}.servings-button{width:32px;height:32px;padding:0;color:#5dd9c1}.servings-button:hover{background-color:#5dd9c11a}.servings-display-container{display:flex;align-items:center;gap:4px;padding:0 8px;min-width:100px;justify-content:center}.servings-icon{color:#5dd9c1;font-size:1.2rem}.servings-display{font-weight:600;color:#333;font-size:.9rem;white-space:nowrap}.section-title{font-weight:300}.section-icon{color:#5dd9c1}.ingredients-container{display:flex;flex-direction:column;gap:16px}.ingredient-group{display:flex;flex-direction:column;gap:8px;padding:8px 8px 8px 16px;background-color:#6c5ce708;border-radius:16px;border:1px solid rgba(108,92,231,.08)}.ingredient-group-name{font-weight:600;color:#6c5ce7;letter-spacing:.01em;font-size:.85rem;padding:4px 8px 0}.ingredients-list{display:flex;flex-direction:column;gap:2px}.ingredient-item{display:grid;grid-template-columns:22px minmax(0,1fr) max-content;align-items:center;width:100%;gap:12px;padding:8px;border:none;border-radius:12px;background:transparent;cursor:pointer;color:inherit;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.ingredient-item:hover{background-color:#6c5ce70f}.ingredient-item:focus-visible{outline:2px solid rgba(108,92,231,.45);outline-offset:1px;background-color:#6c5ce70f}.ingredient-check{width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(108,92,231,.35);background:transparent;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,border-color .15s ease}.ingredient-amount-pill{display:inline-flex;align-items:center;justify-content:center;min-width:3.5rem;max-width:100%;padding:5px 11px;border-radius:999px;background-color:#6c5ce71a;white-space:nowrap;line-height:1.2;transition:opacity .15s ease,background-color .15s ease}.ingredient-quantity{color:#6c5ce7;font-weight:700;font-size:.9rem;text-align:center;line-height:1.2}.ingredient-quantity span[style*=inline-flex]{white-space:nowrap}.ingredient-quantity-icon{color:#6c5ce7;font-size:1.05rem;vertical-align:middle;display:block}.ingredient-name{font-weight:500;color:#333;font-size:1.05rem;line-height:1.45;min-width:0}.ingredient-item--checked .ingredient-check{background-color:#6c5ce7;border-color:#6c5ce7}.ingredient-item--checked .ingredient-check:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}.ingredient-item--checked .ingredient-amount-pill{opacity:.45}.ingredient-item--checked .ingredient-name{text-decoration:line-through;text-decoration-thickness:1.5px;color:#3333336b}@media print{.ingredient-check{display:none}.ingredient-item{grid-template-columns:minmax(0,1fr) max-content;cursor:default}.ingredient-item:hover,.ingredient-item:focus-visible{background:transparent;outline:none}}.instructions-container,.macros-container{display:flex;flex-direction:column}.macros-container .macros-header{justify-content:space-between;margin-bottom:0}.macros-view-button{display:flex;align-items:center;gap:8px;border:1px solid rgba(0,0,0,.12);border-radius:28px;padding:8px 24px;background-color:#fffc;color:#6c5ce7;cursor:pointer;transition:background-color .2s ease}.macros-view-button:hover{background-color:#6c5ce714}.macros-view-button .MuiSvgIcon-root{font-size:1rem}.macros-view-text{font-weight:600;font-size:1rem;color:#333}.source-link-mobile{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid rgba(108,92,231,.18);border-radius:16px;background-color:#6c5ce70f;text-decoration:none;transition:background-color .2s ease}.source-link-mobile:active{background-color:#6c5ce71f}.source-link-mobile-text{display:flex;flex-direction:column;gap:2px;min-width:0}.source-link-mobile-label{color:#18057a}.source-link-mobile-domain{font-weight:600;color:#6c5ce7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-link-mobile-icon{color:#6c5ce7;flex-shrink:0;font-size:1.3rem}.instructions-container .section-header{margin-bottom:32px}.instructions-groups-container{display:flex;flex-direction:column;gap:16px}.instruction-group{display:flex;flex-direction:column;gap:8px;padding:0}.instruction-group-name{font-weight:600;color:#18057a;text-transform:uppercase;letter-spacing:.5px}.instructions-list{display:flex;flex-direction:column;gap:0}.instruction-step{display:flex;align-items:stretch;gap:16px;padding:0}.step-timeline{position:relative;width:26px;min-width:26px;display:flex;justify-content:center;align-self:stretch}.step-timeline:before{content:"";position:absolute;left:50%;top:32px;bottom:6px;width:2px;transform:translate(-50%);background-color:#c5c7d3;z-index:0}.step-badge{position:relative;width:26px;height:26px;border-radius:50%;background-color:#e9e7fb;border:1px solid #d8d9e0;color:#6c5ce7;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;flex-shrink:0;z-index:1}.instruction-step--last .step-timeline:before{content:none}.step-content{flex:1;display:flex;flex-direction:column}.instruction-step:not(:last-child) .step-content{padding-bottom:24px}.step-description{line-height:1.5;flex:1}.author-section{display:flex;align-items:center;gap:12px}.author-avatar{width:40px;height:40px;background-color:#18057a}.author-info-label{color:#18057a;text-transform:uppercase;letter-spacing:.6px}.author-link{font-weight:600;color:#5dd9c1;text-decoration:none}.author-link:hover{text-decoration:underline}.author-section-mobile{display:flex;align-items:flex-start;gap:8px;margin-top:4px;margin-bottom:8px}.author-section-mobile>.MuiAvatar-root,.author-section-mobile>div:first-of-type{flex-shrink:0;margin-top:2px}.author-section-mobile>div:last-of-type{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}.author-avatar-mobile{width:32px;height:32px;background-color:#18057a;flex-shrink:0}.author-link-mobile{font-weight:500;color:#333;text-decoration:none;font-size:.9rem;line-height:1.3}.author-link-mobile:hover{color:#5dd9c1;text-decoration:underline}.recipe-date-mobile{color:#666;font-size:.75rem;line-height:1.2}.footer-container{display:flex;justify-content:center;gap:8px;margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}.source-button{background-color:#18057a;color:#fff}.source-button:hover{background-color:#483a6a}.desktop-content-wrapper{padding:16px;display:flex;flex-direction:column;gap:16px}@media(min-width:600px){.desktop-content-wrapper{padding:24px}}@media(min-width:900px){.desktop-content-wrapper{padding:32px}}[data-theme=dark] .ingredient-group-name{color:#a89ce0}[data-theme=dark] .ingredient-name{color:#e8e8e8}[data-theme=dark] .ingredient-quantity,[data-theme=dark] .ingredient-quantity-icon{color:#a89ce0}[data-theme=dark] .ingredient-group{background-color:#6c5ce714;border-color:#6c5ce729}[data-theme=dark] .ingredient-item:hover,[data-theme=dark] .ingredient-item:focus-visible{background-color:#6c5ce724}[data-theme=dark] .ingredient-check{border-color:#a89ce073}[data-theme=dark] .ingredient-amount-pill{background-color:#6c5ce738}[data-theme=dark] .ingredient-item--checked .ingredient-check{background-color:#a89ce0;border-color:#a89ce0}[data-theme=dark] .ingredient-item--checked .ingredient-name{color:#e8e8e866}[data-theme=dark] .instruction-group-name{color:#8ae4d4}[data-theme=dark] .instruction-group{background-color:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .instruction-step{border-bottom-color:#ffffff0f}[data-theme=dark] .step-description{color:#e8e8e8}[data-theme=dark] .step-badge{background-color:#3a3553;border-color:#b4b1c0;color:#b8aee8}[data-theme=dark] .servings-control-buttons{background-color:#ffffff0f;border-color:#ffffff1f}[data-theme=dark] .macros-view-button{background-color:#ffffff0f;border-color:#ffffff1f;color:#a89ce0}[data-theme=dark] .macros-view-button:hover{background-color:#6c5ce72e}[data-theme=dark] .macros-view-text,[data-theme=dark] .servings-display,[data-theme=dark] .description{color:#e8e8e8}[data-theme=dark] .tag-chip{color:#8ae4d4;background-color:#5dd9c11f}[data-theme=dark] .author-link-mobile{color:#e8e8e8}[data-theme=dark] .recipe-date-mobile{color:#909090}[data-theme=dark] .footer-container{border-top-color:#ffffff1a}[data-theme=dark] .section-title{color:#e8e8e8}[data-theme=dark] .author-info-label{color:#8ae4d4}.recipe-card{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;overflow:hidden;height:100%;display:flex;flex-direction:column;position:relative}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f!important}.recipe-card:hover .recipe-title{color:#5dd9c1}.recipe-card .recipe-image{height:180px;object-fit:cover;transition:transform .3s ease}.recipe-card .recipe-image:hover{transform:scale(1.05)}.recipe-card.recipe-list-card .recipe-image{height:220px}@media(max-width:600px){.recipe-card.recipe-list-card .recipe-image{height:180px}}.recipe-card .author-badge .author-chip{border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 6px #00000026;transition:all .2s ease}.recipe-card .author-badge .author-chip:hover{transform:translateY(-2px);box-shadow:0 3px 8px #0003}.recipe-card .author-badge .author-chip .MuiAvatar-root{width:24px;height:24px;border:1px solid rgba(255,255,255,.6)}.recipe-card .recipe-title{font-weight:600;margin-bottom:8px;transition:color .2s ease;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;height:2.6em}.recipe-card .recipe-author{display:flex;align-items:center;margin-bottom:12px;margin-top:4px}.recipe-card .recipe-author .author-avatar{width:28px;height:28px;border:1px solid rgba(0,0,0,.1);margin-right:8px}.recipe-card .recipe-author .author-name{font-weight:500;color:#666;font-size:.85rem}.recipe-card .recipe-author .author-name:hover{text-decoration:underline;color:#5dd9c1}.recipe-card .recipe-stats{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.recipe-card .recipe-stats .prep-time{display:flex;align-items:center;font-size:.8rem;background-color:#5dd9c11f;border-radius:4px;padding:4px 8px}.recipe-card.profile-recipe-card .profile-recipe-content{padding:10px 12px 8px!important}.recipe-card.profile-recipe-card .profile-recipe-title{font-size:.875rem!important;line-height:1.25!important}.recipe-card.profile-recipe-card .profile-recipe-tags{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.recipe-card.profile-recipe-card .profile-recipe-tags::-webkit-scrollbar{display:none}.recipe-card.profile-recipe-card .profile-recipe-tags>*{flex-shrink:0;white-space:nowrap}.user-profile-page{background:transparent;min-height:100vh}.user-profile-page button{transition:all .2s ease-in-out}.user-profile-page .MuiAvatar-root{box-shadow:0 4px 12px #0000001a}.user-profile-page .stats-card{transition:transform .2s ease-in-out}.user-profile-page .stats-card:hover{transform:translateY(-2px)}.user-profile-page .tab-button{transition:all .2s ease-in-out}.user-profile-page .tab-button:active{transform:scale(.98)}.user-profile-page button.message-button,.user-profile-page .MuiButton-root.message-button,.user-profile-page .MuiButton-contained.message-button,.user-profile-page .MuiButtonBase-root.message-button{background-color:#d0d0d0!important;background:#d0d0d0!important;color:#555!important;border:none!important;box-shadow:none!important}.user-profile-page button.message-button:before,.user-profile-page button.message-button:after,.user-profile-page .MuiButton-root.message-button:before,.user-profile-page .MuiButton-root.message-button:after,.user-profile-page .MuiButton-contained.message-button:before,.user-profile-page .MuiButton-contained.message-button:after,.user-profile-page .MuiButtonBase-root.message-button:before,.user-profile-page .MuiButtonBase-root.message-button:after{display:none!important}.user-profile-page button.message-button:hover,.user-profile-page button.message-button:focus,.user-profile-page button.message-button:active,.user-profile-page button.message-button:focus-visible,.user-profile-page button.message-button.Mui-focusVisible,.user-profile-page .MuiButton-root.message-button:hover,.user-profile-page .MuiButton-root.message-button:focus,.user-profile-page .MuiButton-root.message-button:active,.user-profile-page .MuiButton-root.message-button:focus-visible,.user-profile-page .MuiButton-root.message-button.Mui-focusVisible,.user-profile-page .MuiButton-contained.message-button:hover,.user-profile-page .MuiButton-contained.message-button:focus,.user-profile-page .MuiButton-contained.message-button:active,.user-profile-page .MuiButton-contained.message-button:focus-visible,.user-profile-page .MuiButton-contained.message-button.Mui-focusVisible,.user-profile-page .MuiButtonBase-root.message-button:hover,.user-profile-page .MuiButtonBase-root.message-button:focus,.user-profile-page .MuiButtonBase-root.message-button:active,.user-profile-page .MuiButtonBase-root.message-button:focus-visible,.user-profile-page .MuiButtonBase-root.message-button.Mui-focusVisible{background-color:silver!important;background:silver!important;color:#555!important;border:none!important;box-shadow:none!important;outline:none!important}.user-profile-page button.message-button.Mui-disabled,.user-profile-page .MuiButton-root.message-button.Mui-disabled,.user-profile-page .MuiButton-contained.message-button.Mui-disabled,.user-profile-page .MuiButtonBase-root.message-button.Mui-disabled{background-color:#d0d0d0!important;background:#d0d0d0!important;color:#555!important}[data-theme=dark] .user-profile-page{background:transparent}[data-theme=dark] .user-profile-page button.message-button,[data-theme=dark] .user-profile-page .MuiButton-root.message-button,[data-theme=dark] .user-profile-page .MuiButton-contained.message-button,[data-theme=dark] .user-profile-page .MuiButtonBase-root.message-button{background-color:#3a3a3a!important;background:#3a3a3a!important;color:#c8c8c8!important}[data-theme=dark] .user-profile-page button.message-button:hover,[data-theme=dark] .user-profile-page button.message-button:focus,[data-theme=dark] .user-profile-page button.message-button:active,[data-theme=dark] .user-profile-page button.message-button:focus-visible,[data-theme=dark] .user-profile-page button.message-button.Mui-focusVisible,[data-theme=dark] .user-profile-page .MuiButton-root.message-button:hover,[data-theme=dark] .user-profile-page .MuiButton-root.message-button:focus,[data-theme=dark] .user-profile-page .MuiButton-root.message-button:active,[data-theme=dark] .user-profile-page .MuiButton-root.message-button:focus-visible,[data-theme=dark] .user-profile-page .MuiButton-root.message-button.Mui-focusVisible,[data-theme=dark] .user-profile-page .MuiButton-contained.message-button:hover,[data-theme=dark] .user-profile-page .MuiButton-contained.message-button:focus,[data-theme=dark] .user-profile-page .MuiButton-contained.message-button:active,[data-theme=dark] .user-profile-page .MuiButton-contained.message-button:focus-visible,[data-theme=dark] .user-profile-page .MuiButton-contained.message-button.Mui-focusVisible,[data-theme=dark] .user-profile-page .MuiButtonBase-root.message-button:hover,[data-theme=dark] .user-profile-page .MuiButtonBase-root.message-button:focus,[data-theme=dark] .user-profile-page .MuiButtonBase-root.message-button:active,[data-theme=dark] .user-profile-page .MuiButtonBase-root.message-button:focus-visible,[data-theme=dark] .user-profile-page .MuiButtonBase-root.message-button.Mui-focusVisible{background-color:#444!important;background:#444!important;color:#e8e8e8!important}.header{position:relative}.header__appBar{position:relative;overflow:visible;background:#f5f4fb!important;background-color:#f5f4fb!important;box-shadow:none!important}.header__appBar:before,.header__appBar:after{display:none!important}.header__toolbar{padding:12px 24px;min-height:64px}.header__logo{transition:transform .3s ease}.header__logo:hover{transform:scale(1.05)}.header__navContainer{display:flex;gap:8px}.header__navButton{position:relative;transition:all .3s ease}.header__navButton:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#5dd9c126,#18057a26);opacity:0;transition:opacity .3s ease}.header__navButton:hover:before{opacity:1}.header__iconsContainer{display:flex;gap:12px;align-items:center}.header__iconButton{transition:all .3s ease}.header__iconButton:hover{background:#5dd9c11f;transform:translateY(-1px)}.header__badge .MuiBadge-badge{background:linear-gradient(135deg,#18057a,#483a6a);box-shadow:0 2px 8px #18057a66}.header__menuItem{border-radius:8px;transition:all .2s ease}.header__menuItem:hover{background:linear-gradient(135deg,#5dd9c11a,#acfcd91a)}[data-theme=dark] .header__appBar{background:#242424!important;background-color:#242424!important;box-shadow:0 2px 8px #0009!important}[data-theme=dark] .header__appBar .MuiIconButton-root{color:#e8e8e8}[data-theme=dark] .header__appBar .MuiIconButton-root:hover{background:#ffffff14}[data-theme=dark] .header__appBar .MuiBadge-badge{background:linear-gradient(135deg,#7b6fce,#5a4eaf);box-shadow:0 2px 8px #0006}.header-container{margin-bottom:20px}:root{--color-bg-default: #F5F4FB;--color-bg-paper: #FFFFFF;--color-text-primary: #333333;--color-text-secondary:#18057a;--color-primary: #5DD9C1;--color-primary-dark: #3BB09A;--color-shadow-card: 0 2px 12px rgba(25, 9, 51, .08)}[data-theme=dark]{--color-bg-default: #121212;--color-bg-paper: #1e1e1e;--color-bg-surface: #242424;--color-bg-elevated: #2d2d2d;--color-text-primary: #e8e8e8;--color-text-secondary: #8AE4D4;--color-primary: #5DD9C1;--color-primary-dark: #3BB09A;--color-shadow-card: 0 3px 12px rgba(0, 0, 0, .4)}.auth-screen{position:relative;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 15% 12%,#ffffff 0%,transparent 45%),radial-gradient(circle at 85% 88%,rgba(172,252,217,.35) 0%,transparent 50%),linear-gradient(160deg,#f3f0fc,#ece8f9 45%,#e7e3f6);padding:32px;box-sizing:border-box}.auth-stage{position:relative;width:100%;max-width:400px;margin:auto}.auth-bg{position:absolute;top:-36px;right:-16px;bottom:-36px;left:-16px;z-index:0;pointer-events:none;opacity:0;animation:authBgFade 1.2s ease .1s forwards}@keyframes authBgFade{to{opacity:1}}.auth-content{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;align-items:center}.auth-wordmark{display:inline-flex;align-items:baseline;justify-content:center;line-height:1;margin:0}.auth-wordmark__name{font-family:Pacifico,cursive;font-size:clamp(2.9rem,12.5vw,3.7rem);color:#10053d;letter-spacing:.5px}.auth-wordmark__tld{font-weight:600;font-size:clamp(2rem,8.5vw,2.5rem);color:#7066db;letter-spacing:-.5px;margin-left:4px}.auth-divider{display:flex;align-items:center;text-align:center;margin:24px 0;color:#8b84ad;font-size:.9rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(108,92,231,.22),transparent)}.auth-divider span{padding:0 16px}.login-form,.register-form{width:100%}.auth-screen input:-webkit-autofill,.auth-screen input:-webkit-autofill:hover,.auth-screen input:-webkit-autofill:focus,.auth-screen input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px #ffffff inset!important;box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#190933!important;caret-color:#190933;border-radius:16px;transition:background-color 9999s ease-in-out 0s!important}.error-message{color:#f44336;margin-bottom:16px;text-align:center;padding:12px;background-color:#f4433614;border-radius:12px;border-left:3px solid #F44336;font-size:14px}.auth-toggle{margin-top:16px;text-align:center;color:#4a4365;font-size:15px}.link-button{background:none;color:#6c5ce7;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-decoration:none;display:inline;width:auto;font-weight:600;box-shadow:none}.link-button:hover{background:none;color:#5341d6;transform:none;box-shadow:none;text-decoration:underline}.auth-consent{display:flex;align-items:flex-start;gap:10px;margin-top:24px;padding:14px 16px;background:#fff9;border:1px solid rgba(108,92,231,.14);border-radius:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.82rem;line-height:1.45;color:#4a4365}.auth-consent__icon{flex-shrink:0;color:#6c5ce7;font-size:1.25rem!important;margin-top:1px}.auth-consent .link-button{text-decoration:underline}.auth-footer-nav{display:flex;justify-content:space-between;gap:4px;width:100%;margin-top:24px}.auth-footer-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;box-shadow:none;padding:6px 2px;cursor:pointer;color:#6e6890;font-size:.72rem;font-weight:500;line-height:1.2;text-align:center;transition:color .2s ease,transform .2s ease}.auth-footer-nav__item svg{color:#6c5ce7}.auth-footer-nav__item:hover{background:none;box-shadow:none;transform:translateY(-2px);color:#190933}@keyframes authFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-fade{opacity:0;animation:authFadeUp .6s cubic-bezier(.22,1,.36,1) forwards}.auth-fade-1{animation-delay:.05s}.auth-fade-2{animation-delay:.14s}.auth-fade-3{animation-delay:.23s}.auth-fade-4{animation-delay:.32s}.auth-fade-5{animation-delay:.42s}@media(prefers-reduced-motion:reduce){.auth-fade,.auth-bg{animation:none;opacity:1}}.rbd-dragging{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@media(max-width:768px){.rbd-draggable{touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rbd-drag-handle{touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.book-page-card-mobile{min-height:60px;touch-action:pan-y}.book-page-card-mobile .MuiIconButton-root{min-width:48px;min-height:48px;touch-action:manipulation}.book-page-card-mobile:active{transform:scale(.98);transition:transform .1s ease;background-color:#0000000d}.book-page-card-mobile.dragging{transform:scale(1.02) rotate(2deg);box-shadow:0 8px 24px #0000004d;z-index:1000;background-color:#fff;touch-action:none}.book-page-list{padding:8px;gap:8px}.book-page-list *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}}.book-page-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.book-page-card:hover{transform:translateY(-4px) scale(1.02)}.book-page-card.dragging{transform:rotate(2deg) scale(1.05);z-index:1000;box-shadow:0 12px 24px #0003}.book-pages-grid{display:flex;flex-wrap:wrap;gap:24px;padding:16px;position:relative;align-content:flex-start}.book-pages-grid>div{position:relative;flex:0 0 calc(25% - 18px);min-width:180px;max-width:calc(25% - 18px)}@media(max-width:1200px){.book-pages-grid>div{flex:0 0 calc(33.333% - 16px);max-width:calc(33.333% - 16px)}}@media(max-width:900px){.book-pages-grid>div{flex:0 0 calc(50% - 12px);max-width:calc(50% - 12px)}}@media(max-width:600px){.book-pages-grid{flex-direction:column;gap:16px;padding:8px}.book-pages-grid>div{flex:0 0 100%;max-width:100%}}.drag-drop-zone{transition:all .2s ease;border:2px dashed transparent;border-radius:8px}.drag-drop-zone.drag-over{background-color:#1976d20a;border-color:#1976d2}.book-pages-grid [data-rbd-draggable-id]{position:relative}.book-pages-grid [data-rbd-draggable-id].react-beautiful-dnd-dragging{position:fixed;z-index:9999;pointer-events:none}.book-page-list{display:flex;flex-direction:column;gap:12px;padding:16px;min-height:200px}@media(max-width:768px){.book-page-list [data-rbd-draggable-id]{position:relative;margin-bottom:8px;will-change:transform}.book-page-list [data-rbd-draggable-id].react-beautiful-dnd-dragging{position:absolute;z-index:9999;pointer-events:none;transform:rotate(2deg) scale(1.05);width:calc(100% - 32px)}.book-page-list [data-rbd-droppable-placeholder]{background-color:#1976d21a;border:2px dashed #1976d2;border-radius:8px;min-height:80px;margin-bottom:8px;display:flex;align-items:center;justify-content:center}.book-page-list{position:relative;min-height:200px}}.empty-book-state{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6;border-radius:12px;transition:all .3s ease}.empty-book-state:hover{border-color:#1976d2;background:linear-gradient(135deg,#f0f7ff,#e3f2fd)}@keyframes pageAppear{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.book-page-card{animation:pageAppear .3s ease-out}@media(max-width:768px){.add-page-menu-mobile{width:100%;margin-top:16px}.book-page-list{padding:8px}.book-page-list .MuiCard-root{margin-bottom:12px}}.touch-feedback:active{transform:scale(.95);transition:transform .1s ease}.book-page-card:focus-within{outline:2px solid #1976d2;outline-offset:2px}.book-page-loading{opacity:.6;pointer-events:none}@media(max-width:600px){.book-page-title{font-size:.875rem;line-height:1.2}.book-page-type{font-size:.75rem}}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.cookbook-reader{height:100vh;height:100dvh}.cookbook-reader .swiper,.cookbook-reader .swiper-slide{height:100%}.cookbook-reader .swiper-slide:focus{outline:none}.cookbook-reader .swiper-slide>div::-webkit-scrollbar{width:6px}.cookbook-reader .swiper-slide>div::-webkit-scrollbar-thumb{background:#0000002e;border-radius:6px}[data-theme=dark] .cookbook-reader .swiper-slide>div::-webkit-scrollbar-thumb{background:#ffffff2e}
