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}[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 .MuiCardContent-root .MuiTypography-body2,.MuiCard-root .MuiCardContent-root .MuiTypography-root,.MuiCard-root .MuiCardHeader-root .MuiCardHeader-content,.MuiCard-root .MuiCardHeader-title .MuiTypography-root,.MuiCardHeader-subheader,.MuiCardHeader-title{text-align:left!important}.MuiButton-outlined,.MuiButton-outlined:focus,.MuiButton-outlined:hover,.MuiButton-outlinedPrimary,.MuiButton-outlinedSecondary,.MuiButton-root[style*="background-color: transparent"],.MuiButton-root[style*="background-color: transparent"]:focus,.MuiButton-root[style*="background-color: transparent"]:hover,.MuiButton-root[style*="background: transparent"],.MuiButton-root[style*="background: transparent"]:focus,.MuiButton-root[style*="background: transparent"]:hover,.MuiButton-text,.MuiButton-text:focus,.MuiButton-text:hover,.MuiButton-textPrimary,.MuiButton-textSecondary,.MuiButtonBase-root:not(.MuiButton-contained),.MuiCardActions-root .MuiButton-root,.MuiChip-root,.MuiDialogActions-root .MuiButton-root,.MuiIconButton-root,.MuiTab-root,.MuiToggleButton-root{box-shadow:none!important}.MuiButton-outlined:hover{background:linear-gradient(135deg,#5dd9c114,#acfcd914)!important}.MuiButton-outlined:not(:hover){background:#0000!important}.MuiButton-root,.MuiCard-root,.MuiIconButton-root,.MuiPaper-root:not(.MuiDrawer-paper){transition:all .3s ease!important}.App{background:linear-gradient(180deg,#f8fcfa,#fff);min-height:100vh;position:relative;text-align:center}.App:before{background:radial-gradient(circle at 20% 80%,#5dd9c114 0,#0000 50%),radial-gradient(circle at 80% 20%,#acfcd914 0,#0000 50%),radial-gradient(circle at 40% 40%,#18057a0d 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:0}.app-content{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}.app-header{align-items:center;background:linear-gradient(135deg,#5dd9c1,#acfcd9 50%,#8ae4d4);box-shadow:0 4px 20px #5dd9c140;color:#000;display:flex;justify-content:space-between;padding:20px}.app-header h1{font-size:24px;font-weight:600;margin:0}.logout-btn{background:linear-gradient(135deg,#18057a,#483a6a);border:none;border-radius:8px;box-shadow:0 2px 8px #18057a4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:all .3s ease;width:auto}.logout-btn:hover{background:linear-gradient(135deg,#7461a0,#5a4880);box-shadow:0 3px 12px #18057a66;transform:translateY(-1px)}main{flex:1 1;margin:0 auto;max-width:1200px;padding:20px;position:relative;width:100%;z-index:1}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:linear-gradient(180deg,#f8fcfa,#eefaf6);border-radius:8px;margin:4px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#5dd9c1,#3bb09a);background-clip:padding-box;border:2px solid #0000;border-radius:8px;-webkit-transition:all .3s ease;transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#6be0c8,#45bfa4);background-clip:padding-box;border:2px solid #0000;border-radius:8px}@keyframes pulse{0%{box-shadow:0 0 0 0 #5dd9c166}70%{box-shadow:0 0 0 10px #5dd9c100}to{box-shadow:0 0 0 0 #5dd9c100}}.pulse-animation{animation:pulse 2s infinite}.recipe-form__section{border-radius:8px;margin-bottom:2rem;transition:all .3s ease}.recipe-form__section:hover{box-shadow:0 2px 12px #19093314}.recipe-form__section-title{align-items:center;color:#5dd9c1;display:flex;font-weight:600}.recipe-form__section-title svg{color:#5dd9c1;margin-right:8px}.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{background-color:#fff;border:none;border-radius:8px;box-shadow:0 1px 3px #1909330d;margin-bottom:1.5rem;padding:16px}.recipe-form__instructions-group:hover{box-shadow:0 2px 6px #5dd9c126}.recipe-form__instructions-step{align-items:flex-start;display:flex;margin-bottom:4px}.recipe-form__submit-button{font-size:1.1rem;font-weight:600;margin-top:2rem;padding:12px 0}.recipe-form__photo-upload,.recipe-form__photo-upload .MuiImageList-root{margin:16px 0}.recipe-form__photo-item{border:2px solid #0000;border-radius:6px;overflow:hidden;transition:transform .2s}.recipe-form__photo-item:hover{transform:scale(1.02)}.recipe-form__photo-item img{height:100%;object-fit:cover;width:100%}.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}}.recipe-card{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.recipe-card:hover{box-shadow:0 8px 24px #0000001f!important;transform:translateY(-4px)}.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 #0000001a;box-shadow:0 2px 6px #00000026;transition:all .2s ease}.recipe-card .author-badge .author-chip:hover{box-shadow:0 3px 8px #0003;transform:translateY(-2px)}.recipe-card .author-badge .author-chip .MuiAvatar-root{border:1px solid #fff9;height:24px;width:24px}.recipe-card .recipe-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-weight:600;height:2.6em;line-height:1.3;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}.recipe-card .recipe-author{align-items:center;display:flex;margin-bottom:12px;margin-top:4px}.recipe-card .recipe-author .author-avatar{border:1px solid #0000001a;height:28px;margin-right:8px;width:28px}.recipe-card .recipe-author .author-name{color:#666;font-size:.85rem;font-weight:500}.recipe-card .recipe-author .author-name:hover{color:#5dd9c1;text-decoration:underline}.recipe-card .recipe-stats{align-items:center;display:flex;justify-content:space-between;margin-top:auto}.recipe-card .recipe-stats .prep-time{align-items:center;background-color:#5dd9c11f;border-radius:4px;display:flex;font-size:.8rem;padding:4px 8px}.recipe-card .recipe-stats .recipe-rating{color:#18057a}.recipe-card .recipe-stats .recipe-rating .MuiRating-iconEmpty{color:#18057a4d}.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{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;scrollbar-width: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}.white-loader{filter:brightness(0) invert(1)}body.recipe-detail-mobile .header__appBar{display:none!important}body.recipe-detail-mobile .App>div>div:not(.bottom-nav):not([class*=bottom-nav]),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 .bottom-nav{padding:8px 12px!important}.recipe-detail-page{position:relative}.recipe-detail-page.mobile{padding-bottom:24px;width:100%}.action-buttons-container{display:flex;gap:4px;justify-content:flex-end;margin-bottom:8px}.print-button{border-color:#18057a;color:#18057a}.print-button:hover{background-color:#18057a0a;border-color:#483a6a}.photo-carousel-wrapper{overflow:hidden;position:relative}.photo-carousel-wrapper.mobile{height:35vh;margin-left:calc(-50vw + 50%);margin-top:-56px;min-height:35vh;width:100vw}.photo-carousel-image{display:block;height:100%;object-fit:cover;width:100%}.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 .gradient-overlay,.photo-carousel-wrapper.mobile .photo-carousel-image{border-bottom-left-radius:24px;border-bottom-right-radius:24px}.slider-actions-bottom-right{align-items:center;bottom:16px;display:flex;gap:4px;position:absolute;right:16px;z-index:10}.back-button-mobile{align-items:center;background-color:#0000;border:2px solid #5dd9c1;border-radius:24px;color:#5dd9c1;display:flex;font-weight:600;gap:4px;justify-content:center;margin:32px auto 24px;max-width:200px;padding:16px 24px;text-transform:none;transition:all .2s ease;width:100%}.back-button-mobile:hover{background-color:#5dd9c1;color:#fff}.gradient-overlay{background:linear-gradient(0deg,#000c 0,#00000080 50%,#0000);bottom:0;left:0;padding:16px 16px 8px;position:absolute;right:0;z-index:1}@media(min-width:600px){.gradient-overlay{padding:24px 24px 16px}}.meta-info-container{align-items:center;display:flex;flex-wrap:wrap;gap:24px;margin-bottom:8px}.meta-info-item{align-items:center;display:flex;gap:4px}.meta-info-text{color:#ffffffe6}.rating-container{align-items:center;display:flex;gap:4px}.rating-icon-filled{color:gold}.rating-icon-empty{color:#ffffff4d}.carousel-nav-button{align-items:center;background-color:#0000004d;border:none;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;margin:0;padding:0;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .2s ease;width:40px;z-index:10}.carousel-nav-button:hover{background-color:#00000080;transform:translateY(-50%)}.carousel-nav-button.prev{left:16px}.carousel-nav-button.next{right:16px}.carousel-nav-button svg{display:block}.mobile-content-wrapper{display:flex;flex-direction:column;gap:32px;padding:24px 16px 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;border-radius:12px;color:#483a6a;font-size:.75rem;font-weight:500}.description{color:#888;line-height:1.7}.section-header{align-items:center;display:flex;gap:8px;margin-bottom:16px}.section-header.servings-control{align-items:flex-start;flex-wrap:wrap;gap:16px;justify-content:space-between}.section-header.servings-control>div:first-child{padding-top:4px}.servings-control-buttons,.servings-control-right{align-items:center;display:flex}.servings-control-buttons{background-color:#fffc;border:1px solid #0000001f;border-radius:24px;gap:8px;padding:4px}.servings-button{color:#5dd9c1;height:32px;padding:0;width:32px}.servings-button:hover{background-color:#5dd9c11a}.servings-display-container{align-items:center;display:flex;gap:4px;justify-content:center;min-width:100px;padding:0 8px}.servings-icon{color:#5dd9c1;font-size:1.2rem}.servings-display{color:#333;font-size:.9rem;font-weight:600;white-space:nowrap}.section-title{font-weight:300}.section-icon{color:#5dd9c1}.ingredient-group,.ingredients-container{display:flex;flex-direction:column;gap:16px}.ingredient-group{background-color:#5dd9c10d;border:1px solid #5dd9c126;border-radius:16px;padding:16px}.ingredient-group-name{color:#18057a;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.ingredients-list{display:flex;flex-direction:column;gap:16px}.ingredient-item{grid-gap:16px;align-items:center;border-bottom:1px solid #0000000f;display:grid;gap:16px;grid-template-columns:90px 1fr;padding:16px 0;width:100%}.ingredient-item:last-child{border-bottom:none;padding-bottom:0}.ingredient-item:first-child{padding-top:0}.ingredient-quantity{color:#47ada7;font-size:1rem;font-weight:800;text-align:right;width:90px}.ingredient-quantity span[style*=inline-flex]{white-space:nowrap}.ingredient-name{color:#333;font-size:.95rem;font-weight:400}.instructions-container{display:flex;flex-direction:column}.instruction-group,.instructions-groups-container{display:flex;flex-direction:column;gap:16px}.instruction-group{background-color:#18057a0a;border:1px solid #18057a1a;border-radius:16px;padding:16px}.instruction-group-name{color:#18057a;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.instructions-list{display:flex;flex-direction:column}.instruction-step{align-items:flex-start;border-bottom:1px solid #0000000d;display:flex;gap:16px;padding:4px 0 8px}.instruction-step:last-child{border-bottom:none;padding-bottom:4px}.instruction-step:first-child{padding-top:4px}.step-number{color:#5dd9c1;flex-shrink:0;font-weight:600;min-width:2rem}.step-description{flex:1 1;line-height:1.7}.author-section{align-items:center;display:flex;gap:12px}.author-avatar{background-color:#18057a;height:40px;width:40px}.author-info-label{color:#18057a;letter-spacing:.6px;text-transform:uppercase}.author-link{color:#5dd9c1;font-weight:600;text-decoration:none}.author-link:hover{text-decoration:underline}.author-section-mobile{align-items:flex-start;display:flex;gap:8px;margin-bottom:8px;margin-top:4px}.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{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.author-avatar-mobile{background-color:#18057a;flex-shrink:0;height:32px;width:32px}.author-link-mobile{color:#333;font-size:.9rem;font-weight:500;line-height:1.3;text-decoration:none}.author-link-mobile:hover{color:#5dd9c1;text-decoration:underline}.recipe-date-mobile{color:#666;font-size:.75rem;line-height:1.2}.footer-container{border-top:1px solid #e0e0e0;display:flex;gap:8px;justify-content:center;margin-top:24px;padding-top:24px}.source-button{background-color:#18057a;color:#fff}.source-button:hover{background-color:#483a6a}.desktop-content-wrapper{display:flex;flex-direction:column;gap:16px;padding:16px}@media(min-width:600px){.desktop-content-wrapper{padding:24px}}@media(min-width:900px){.desktop-content-wrapper{padding:32px}}.user-profile-page{background:#f5f5f5;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 .MuiButton-contained.message-button,.user-profile-page .MuiButton-root.message-button,.user-profile-page .MuiButtonBase-root.message-button,.user-profile-page button.message-button{background-color:#d0d0d0!important;background:#d0d0d0!important;border:none!important;box-shadow:none!important;color:#555!important}.user-profile-page .MuiButton-contained.message-button:after,.user-profile-page .MuiButton-contained.message-button:before,.user-profile-page .MuiButton-root.message-button:after,.user-profile-page .MuiButton-root.message-button:before,.user-profile-page .MuiButtonBase-root.message-button:after,.user-profile-page .MuiButtonBase-root.message-button:before,.user-profile-page button.message-button:after,.user-profile-page button.message-button:before{display:none!important}.user-profile-page .MuiButton-contained.message-button.Mui-focusVisible,.user-profile-page .MuiButton-contained.message-button:active,.user-profile-page .MuiButton-contained.message-button:focus,.user-profile-page .MuiButton-contained.message-button:focus-visible,.user-profile-page .MuiButton-contained.message-button:hover,.user-profile-page .MuiButton-root.message-button.Mui-focusVisible,.user-profile-page .MuiButton-root.message-button:active,.user-profile-page .MuiButton-root.message-button:focus,.user-profile-page .MuiButton-root.message-button:focus-visible,.user-profile-page .MuiButton-root.message-button:hover,.user-profile-page .MuiButtonBase-root.message-button.Mui-focusVisible,.user-profile-page .MuiButtonBase-root.message-button:active,.user-profile-page .MuiButtonBase-root.message-button:focus,.user-profile-page .MuiButtonBase-root.message-button:focus-visible,.user-profile-page .MuiButtonBase-root.message-button:hover,.user-profile-page button.message-button.Mui-focusVisible,.user-profile-page button.message-button:active,.user-profile-page button.message-button:focus,.user-profile-page button.message-button:focus-visible,.user-profile-page button.message-button:hover{background-color:silver!important;background:silver!important;border:none!important;box-shadow:none!important;color:#555!important;outline:none!important}.user-profile-page .MuiButton-contained.message-button.Mui-disabled,.user-profile-page .MuiButton-root.message-button.Mui-disabled,.user-profile-page .MuiButtonBase-root.message-button.Mui-disabled,.user-profile-page button.message-button.Mui-disabled{background-color:#d0d0d0!important;background:#d0d0d0!important;color:#555!important}.header,.header__appBar{position:relative}.header__appBar{background:#5dd9c1!important;background-color:#5dd9c1!important;overflow:visible}.header__appBar:after,.header__appBar:before{display:none!important}.header__toolbar{min-height:64px;padding:12px 24px}.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{background:linear-gradient(135deg,#5dd9c126,#18057a26);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.header__navButton:hover:before{opacity:1}.header__iconsContainer{align-items:center;display:flex;gap:12px}.header__iconButton{transition:all .3s ease}.header__iconButton:hover{background:#fff3;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)}.header-container{margin-bottom:20px}.auth-container{align-items:center;background-color:#f8fcfa;background-image:linear-gradient(120deg,#acfcd94d,#5dd9c133);display:flex;justify-content:center;min-height:100vh;padding:16px}.auth-card{background:#fff;border-radius:12px;border-top:4px solid #5dd9c1;box-shadow:0 4px 20px #1909331a;max-width:420px;padding:40px;width:100%}.login-form h2,.register-form h2{color:#190933;font-size:28px;font-weight:600;margin-bottom:24px;text-align:center}.form-group{margin-bottom:16px}.form-group label{color:#18057a;display:block;font-size:15px;font-weight:500;margin-bottom:8px}.form-group input{border:1px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#5dd9c1;box-shadow:0 0 0 3px #5dd9c133;outline:none}button{background-color:#5dd9c1;border:none;border-radius:8px;box-shadow:0 2px 6px #5dd9c166;color:#190933;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:all .3s ease}button:hover{background-color:#3bb09a;box-shadow:0 4px 12px #5dd9c180;transform:translateY(-1px)}button:disabled{background-color:#acfcd9;box-shadow:none;color:#555;cursor:not-allowed;opacity:.7;transform:none}.error-message{background-color:#f443361a;border-left:3px solid #f44336;border-radius:8px;color:#f44336;font-size:14px;margin-bottom:16px;padding:12px;text-align:center}.auth-toggle{color:#18057a;font-size:15px;margin-top:24px;text-align:center}.link-button{border:none;color:#5dd9c1;cursor:pointer;display:inline;font:inherit;font-weight:600;padding:0;width:auto}.link-button,.link-button:hover{background:none;box-shadow:none;text-decoration:underline}.link-button:hover{color:#3bb09a;transform:none}.rbd-dragging{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@media (max-width:768px){.rbd-draggable{-webkit-touch-callout:none;touch-action:pan-y;-webkit-user-select:none;user-select:none}.rbd-drag-handle{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:none}.book-page-card-mobile{min-height:60px;touch-action:pan-y}.book-page-card-mobile .MuiIconButton-root{min-height:48px;min-width:48px;touch-action:manipulation}.book-page-card-mobile:active{background-color:#0000000d;transform:scale(.98);transition:transform .1s ease}.book-page-card-mobile.dragging{background-color:#fff;box-shadow:0 8px 24px #0000004d;touch-action:none;transform:scale(1.02) rotate(2deg);z-index:1000}.book-page-list{gap:8px;padding:8px}.book-page-list *{-webkit-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{box-shadow:0 12px 24px #0003;transform:rotate(2deg) scale(1.05);z-index:1000}.book-pages-grid{align-content:flex-start;display:flex;flex-wrap:wrap;gap:24px;padding:16px;position:relative}.book-pages-grid>div{flex-basis:calc(25% - 18px);flex-grow:0;flex-shrink:0;max-width:calc(25% - 18px);min-width:180px;position:relative}@media (max-width:1200px){.book-pages-grid>div{flex-basis:calc(33.333% - 16px);flex-grow:0;flex-shrink:0;max-width:calc(33.333% - 16px)}}@media (max-width:900px){.book-pages-grid>div{flex-basis:calc(50% - 12px);flex-grow:0;flex-shrink:0;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{border:2px dashed #0000;border-radius:8px;transition:all .2s ease}.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{pointer-events:none;position:fixed;z-index:9999}.book-page-list{display:flex;flex-direction:column;gap:12px;min-height:200px;padding:16px}@media (max-width:768px){.book-page-list [data-rbd-draggable-id]{margin-bottom:8px;position:relative;will-change:transform}.book-page-list [data-rbd-draggable-id].react-beautiful-dnd-dragging{pointer-events:none;position:absolute;transform:rotate(2deg) scale(1.05);width:calc(100% - 32px);z-index:9999}.book-page-list [data-rbd-droppable-placeholder]{align-items:center;background-color:#1976d21a;border:2px dashed #1976d2;border-radius:8px;display:flex;justify-content:center;margin-bottom:8px;min-height:80px}.book-page-list{min-height:200px;position:relative}}.empty-book-state{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6;border-radius:12px;transition:all .3s ease}.empty-book-state:hover{background:linear-gradient(135deg,#f0f7ff,#e3f2fd);border-color:#1976d2}@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{margin-top:16px;width:100%}.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}}:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:ease;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.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{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.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{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{-ms-overflow-style:none;overflow:auto;scrollbar-width:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid #007aff;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-theme-color);color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:44px;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:44px;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}svg{fill:currentColor;height:100%;object-fit:contain;pointer-events:none;transform-origin:center;width:100%}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:-22px;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:50%;top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:4px;left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon{transform:rotate(180deg)}}.swiper-button-next{left:auto;right:4px;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:-22px;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:50%;top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:4px;left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:4px;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon{transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon{transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:50%;left:var(--swiper-navigation-top-offset,50%);margin-left:-22px;margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:4px;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon{transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:4px;bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon{transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:8px;bottom:var(--swiper-pagination-bottom,8px);left:0;top:auto;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:#000;background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:50%;border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:8px;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:.2;opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:8px;width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{-webkit-appearance:none;appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-theme-color);background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:1;opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:auto;left:var(--swiper-pagination-left,auto);right:8px;right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:6px 0;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 4px;margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:inherit;color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:#00000040;background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-theme-color);background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:4px;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:4px;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.cookbook-view-container{background-color:#f5f5f5;height:100vh;overflow:hidden;width:100%}.cookbook-swiper{height:100%;width:100%}.cookbook-swiper .swiper-slide{align-items:flex-start;display:flex;justify-content:center}.swiper-button-next-custom,.swiper-button-prev-custom{transition:all .3s ease}.swiper-button-next-custom:disabled,.swiper-button-prev-custom:disabled{cursor:not-allowed;opacity:.3}.swiper-pagination-custom .swiper-pagination-progressbar-fill{background-color:#1976d2}@media (max-width:768px){.cookbook-view-container{height:100dvh}.swiper-button-next-custom,.swiper-button-prev-custom{display:none}}
/*# sourceMappingURL=main.81b8d219.css.map*/