:root{font-family:Poppins,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;background-color:#2a1f15;color:#fff8f0f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-primary: #2a1f15;--bg-secondary: rgba(255, 245, 230, .08);--bg-tertiary: rgba(255, 240, 215, .06);--text-primary: rgba(255, 248, 240, .95);--text-secondary: rgba(255, 235, 210, .85);--text-tertiary: rgba(255, 225, 190, .75);--text-quaternary: rgba(255, 215, 175, .65);--border-color: rgba(200, 160, 120, .35);--border-light: rgba(220, 180, 140, .45);--border-lighter: rgba(200, 160, 120, .2);--accent-color: #d9773f;--accent-hover: #e8956b;--accent-bg-light: rgba(217, 119, 63, .15);--accent-bg-medium: rgba(217, 119, 63, .25);--accent-bg-dark: rgba(217, 119, 63, .35);--accent-border-light: rgba(217, 119, 63, .45);--error-color: #c85a3f;--error-bg: rgba(200, 90, 63, .15);--error-border: rgba(200, 90, 63, .35);--search-input-bg: rgba(255, 252, 248, .98);--search-input-text: #4a3a2a;--button-bg-selected: #d9773f;--button-text-selected: #ffffff;--white: #ffffff;--modal-overlay-bg: rgba(42, 31, 21, .75)}a{font-weight:500;color:#d9773f;text-decoration:inherit}a:hover{color:#e8956b}body{margin:0;min-width:320px;min-height:100vh;width:100%}h1{font-size:3.2em;line-height:1.1}#root{width:100%;min-height:100vh}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#3d2f20;cursor:pointer;transition:border-color .25s}button:hover{border-color:#d9773f}button:focus,button:focus-visible{outline:none}@media(prefers-color-scheme:light){:root{color:#4a3a2a;background-color:#faf8f3;--bg-primary: #faf8f3;--bg-secondary: rgba(200, 175, 150, .08);--bg-tertiary: rgba(200, 175, 150, .12);--text-primary: #4a3a2a;--text-secondary: rgba(74, 58, 42, .85);--text-tertiary: rgba(74, 58, 42, .75);--text-quaternary: rgba(74, 58, 42, .65);--border-color: rgba(160, 130, 100, .3);--border-light: rgba(180, 150, 120, .4);--border-lighter: rgba(160, 130, 100, .2);--accent-color: #d9773f;--accent-hover: #e8956b;--accent-bg-light: rgba(217, 119, 63, .15);--accent-bg-medium: rgba(217, 119, 63, .25);--accent-bg-dark: rgba(217, 119, 63, .35);--accent-border-light: rgba(217, 119, 63, .45);--error-color: #c85a3f;--error-bg: rgba(200, 90, 63, .15);--error-border: rgba(200, 90, 63, .35);--search-input-bg: rgba(255, 252, 248, .98);--search-input-text: #4a3a2a;--button-bg-selected: #d9773f;--button-text-selected: #ffffff;--white: #ffffff;--modal-overlay-bg: rgba(42, 31, 21, .75)}a:hover{color:#f5a854}button{background-color:#f5ede0}}.navbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background-color:#2a1f15;border-bottom:1px solid rgba(160,130,100,.4);position:sticky;top:0;z-index:100;width:100%;box-sizing:border-box}.navbar-left{display:flex;align-items:center;flex:0 0 auto}.navbar-right{display:flex;align-items:center;gap:1rem;flex:0 0 auto}.navbar-back-button:after,.navbar-back-button:before{display:none}.burger-menu-container{position:relative}.burger-icon{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;color:#fff8f0f2;transition:opacity .2s}.burger-icon:hover{opacity:.7}.navbar-title-link{flex:1;text-align:center;text-decoration:none;display:flex;justify-content:center}.navbar-title{font-size:1.5rem;font-weight:600;margin:0;color:#fff8f0f2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:opacity .2s}.navbar-title:hover{opacity:.7}.navbar-actions{display:flex;gap:1rem;align-items:center}.user-email{color:#fff8f0f2;font-size:.9em;padding:0 .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.btn-logout{padding:.6em 1.2em;font-size:.9em;font-weight:500;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:all .25s;font-family:inherit;background-color:transparent;color:#fff8f0f2;border-color:#dcb48c73}.btn-logout:hover{border-color:#c85a3f;background-color:#c85a3f26;color:#c85a3f}.content{width:100%;padding:2rem;text-align:center;box-sizing:border-box}.content h1{font-size:2.5rem;margin-bottom:2rem;color:#fff8f0f2}.recipes-loading,.recipes-empty{text-align:center;padding:3rem 1rem;color:#ffe1bebf;font-size:1.1rem}@keyframes skeleton-shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.recipe-card-skeleton{pointer-events:none;cursor:default}.recipe-card-skeleton:hover{transform:none;box-shadow:none}.skeleton-image{background:linear-gradient(90deg,#fff0d70f,#fff0d71f,#fff0d70f);background-size:1000px 100%;animation:skeleton-shimmer 2s infinite}.skeleton-text{background:linear-gradient(90deg,#fff0d70f,#fff0d71f,#fff0d70f);background-size:1000px 100%;animation:skeleton-shimmer 2s infinite;border-radius:4px;height:1em}.skeleton-title{height:1.5rem;width:70%;margin-bottom:.75rem}.skeleton-description{width:100%;margin-bottom:.5rem}.skeleton-description-short{width:80%;margin-bottom:1rem}.skeleton-author{width:40%;height:.9rem;margin-bottom:.75rem}.skeleton-like-button{width:60px;height:32px;border-radius:6px;background:linear-gradient(90deg,#fff0d70f,#fff0d71f,#fff0d70f);background-size:1000px 100%;animation:skeleton-shimmer 2s infinite}.skeleton-badge{width:70px;height:28px;border-radius:6px;background:linear-gradient(90deg,#fff0d70f,#fff0d71f,#fff0d70f);background-size:1000px 100%;animation:skeleton-shimmer 2s infinite}.skeleton-meta-item{width:80px;height:20px;border-radius:4px;background:linear-gradient(90deg,#fff0d70f,#fff0d71f,#fff0d70f);background-size:1000px 100%;animation:skeleton-shimmer 2s infinite}.skeleton-tag{width:60px;height:24px;border-radius:12px;background:linear-gradient(90deg,#fff0d70f,#fff0d71f,#fff0d70f);background-size:1000px 100%;animation:skeleton-shimmer 2s infinite}.skeleton-back-button,.skeleton-recipe-title,.skeleton-description-line,.skeleton-section-title,.skeleton-instruction-number,.skeleton-profile-picture,.skeleton-profile-title,.skeleton-bio-line,.skeleton-name,.skeleton-button,.recipe-ingredient-item .skeleton-text,.recipe-instruction-item .skeleton-text{background:linear-gradient(90deg,#fff0d70f,#fff0d71f,#fff0d70f);background-size:1000px 100%;animation:skeleton-shimmer 2s infinite}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.recipe-detail-page{max-width:600px;margin:0 auto;width:100%}.recipe-detail-loading,.recipe-detail-error{text-align:center;padding:2rem;color:#ffe1bebf}.recipe-detail-image{width:100%;max-height:400px;overflow:hidden;border-radius:12px;margin-bottom:2rem;background-color:#fff0d70f;display:flex;align-items:center;justify-content:center}.recipe-detail-image img{width:100%;height:auto;max-height:400px;object-fit:cover;display:block}.user-menu-content{display:flex;flex-direction:column}.user-menu-title{font-size:1.25rem;font-weight:600;margin:0;color:#fff8f0f2;text-align:left;padding-bottom:.75rem;border-bottom:1px solid rgba(200,160,120,.2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-info{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background-color:#fff5e614;border-radius:8px;border:1px solid rgba(200,160,120,.2)}.user-menu-email-label{font-size:.8rem;color:#ffe1bebf;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.user-menu-email{font-size:.95rem;color:#fff8f0f2;word-break:break-all}.user-menu-actions{display:flex;flex-direction:column;gap:0;margin-top:.5rem}.user-menu-link{width:100%;padding:.5rem 1rem;font-size:1rem;font-weight:500;border-radius:0;border:none;border-bottom:1px solid rgba(200,160,120,.2);background-color:transparent;color:#fff8f0f2;cursor:pointer;transition:all .2s;font-family:inherit;text-align:left;box-sizing:border-box;display:flex;align-items:center;gap:.75rem;text-decoration:none;min-width:0}.user-menu-link svg{flex-shrink:0;width:20px;height:20px}.user-menu-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.user-menu-link:last-of-type{border-bottom:none}.user-menu-link:hover{background-color:#d9773f40;color:#d9773f;box-shadow:0 2px 8px #00000026}.user-menu-button{width:100%;padding:.5rem 1rem;font-size:1rem;font-weight:500;border-radius:0;border:none;border-bottom:1px solid rgba(200,160,120,.2);background-color:transparent;color:#fff8f0f2;cursor:pointer;transition:all .2s;font-family:inherit;text-align:left;box-sizing:border-box;display:flex;align-items:center;gap:.75rem;text-decoration:none}.user-menu-button svg{flex-shrink:0;width:20px;height:20px}.user-menu-button:last-of-type{border-bottom:none}.user-menu-button:hover{background-color:#d9773f40;color:#d9773f;box-shadow:0 2px 8px #00000026}.user-menu-logout{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:.75rem;text-align:left;padding:.5rem 1rem;justify-content:flex-start;border:none;border-top:1px solid rgba(200,160,120,.2);border-radius:0;background-color:transparent}.user-menu-logout svg{flex-shrink:0;width:20px;height:20px}.card{padding:2em;width:100%;box-sizing:border-box}.read-the-docs{color:#a08264b3}@media(max-width:768px){.navbar{padding:.75rem 1rem}.navbar-title{font-size:1.2rem;padding:0 .5rem}.navbar-actions{gap:.5rem}.btn-signup,.btn-login,.btn-logout{padding:.5em .9em;font-size:.85em}.user-email{font-size:.85em;max-width:150px}.content{padding:1rem}.content h1{font-size:2rem;margin-bottom:1.5rem}.btn-add-recipe{padding:.75rem 1.5rem;font-size:.9rem}.create-recipe-modal{max-width:100%;padding:1.5rem}.ingredient-row{grid-template-columns:auto 1fr;gap:.5rem}.ingredient-row input,.ingredient-row .btn-remove{grid-column:2}.ingredient-row input{width:100%}.card{padding:1.5em}}@media(max-width:480px){.navbar{padding:.75rem}.navbar-title{font-size:1rem}.btn-signup,.btn-login,.btn-logout{padding:.5em .75em;font-size:.8em}.user-email{font-size:.8em;max-width:120px;padding:0 .25rem}.content{padding:.75rem}.content h1{font-size:1.75rem;margin-bottom:1.25rem}.btn-add-recipe{padding:.7rem 1.25rem;font-size:.85rem}.recipes-grid{grid-template-columns:1fr;gap:1rem}.card{padding:1em}}@media(prefers-color-scheme:light){.navbar{background-color:#faf8f3;border-bottom-color:#a0826440}.burger-icon,.navbar-title{color:#4a3a2a}.btn-signup{color:#4a3a2a;border-color:#b4967866}.btn-signup:hover{background-color:#22d3ee1a}.user-email{color:#4a3a2a}.btn-logout{color:#4a3a2a;border-color:#b4967866}.btn-logout:hover{border-color:#f44;background-color:#ff44441a;color:#f44}.user-menu-dropdown{background-color:#fff!important;border-color:#a0826433!important;box-shadow:0 8px 24px #4a3a2a40!important}.user-menu-content{background-color:transparent}.user-menu-title{color:#213547!important;border-bottom-color:#21354726!important}.user-menu-info{background-color:#c8af9614!important;border-color:#a0826433!important}.user-menu-link{background-color:transparent;border:none;color:#4a3a2a}.user-menu-link{border-bottom-color:#a0826433}.user-menu-logout{color:#4a3a2a;border:none;border-top:1px solid rgba(160,130,100,.2)}.content h1{color:#4a3a2a}.recipes-loading,.recipes-empty{color:#4a3a2aa6}.recipe-card{background-color:#21354708;border-color:#2135471a}.recipe-card:hover{border-color:#22d3ee4d;box-shadow:0 8px 24px #0000001a}.recipe-card-image{background-color:#c8af961f}.recipe-card-title{color:#4a3a2a}.recipe-card-description{color:#4a3a2abf}.recipe-meta-item{color:#4a3a2aa6}.recipe-card-tags{border-top-color:#a0826433}.skeleton-image,.skeleton-text,.skeleton-like-button,.skeleton-badge,.skeleton-meta-item,.skeleton-tag,.skeleton-back-button,.skeleton-recipe-title,.skeleton-description-line,.skeleton-section-title,.skeleton-instruction-number,.skeleton-profile-picture,.skeleton-profile-title,.skeleton-bio-line,.skeleton-name,.skeleton-button,.recipe-ingredient-item .skeleton-text,.recipe-instruction-item .skeleton-text{background:linear-gradient(90deg,#c8af961f,#c8af962e,#c8af961f);background-size:1000px 100%}.recipe-detail-loading,.recipe-detail-error{color:#4a3a2aa6}.recipe-detail-image{background-color:#c8af961f}.recipe-detail-title{color:#4a3a2a}.recipe-detail-description{color:#4a3a2abf}.recipe-detail-meta{border-bottom-color:#2135471a}.recipe-ingredient-item{background-color:#21354708;border-left-color:#d9773f}.ingredient-name{color:#4a3a2a}.ingredient-amount{color:#4a3a2abf}.ingredient-notes{color:#4a3a2aa6}.recipe-instruction-item{background-color:#21354708;color:#4a3a2a}.user-menu-dropdown{background-color:#faf9f6;border-color:#2135471a;box-shadow:0 8px 24px #00000026}.user-menu-title{color:#4a3a2a;border-bottom-color:#2135471a}.user-menu-info{background-color:#21354708;border-color:#2135471a}.user-menu-email-label{color:#4a3a2aa6}.user-menu-email{color:#4a3a2a}.user-menu-link{border:none;border-bottom:1px solid rgba(160,130,100,.2);background-color:transparent;color:#4a3a2a}.user-menu-link:hover{background-color:#22d3ee1a;color:#d9773f;box-shadow:0 2px 8px #0000001a}.user-menu-button{border-bottom-color:#a0826433;color:#4a3a2a}.user-menu-button:hover{background-color:#22d3ee1a;color:#d9773f;box-shadow:0 2px 8px #0000001a}.user-menu-logout{border:none;border-top:1px solid rgba(160,130,100,.2)}.user-menu-logout:hover{background-color:#ff44441a;color:#f44;box-shadow:0 2px 8px #0000001a}}.modal-overlay{position:fixed;inset:0;background-color:#2a1f15bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background-color:#3d2f20;border-radius:16px;padding:2.5rem;width:100%;max-width:450px;max-height:calc(100vh - 60px);position:relative;box-shadow:0 20px 60px #2a1f1599;animation:slideUp .3s ease-out;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;margin:auto}.create-recipe-modal{max-width:700px;max-height:calc(100vh - 60px);overflow-y:auto}.signup-modal-content{max-width:500px;max-height:calc(100vh - 60px);overflow-y:auto}.user-menu-overlay{position:fixed;inset:0;z-index:999;background-color:transparent}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background-color:#3d2f20;border-radius:12px;padding:1.5rem;width:280px;max-width:calc(100vw - 2rem);box-sizing:border-box;box-shadow:0 8px 24px #0006;z-index:1000;animation:slideDown .2s ease-out;border:1px solid rgba(200,160,120,.2)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.recipe-detail-modal{max-width:800px;max-height:calc(100vh - 60px);overflow-y:auto;position:relative}.edit-profile-modal{max-width:600px;max-height:calc(100vh - 60px);overflow-y:auto}.close-icon,.close-icon.btn-action-delete{background:#ff4444d9;border:2px solid white;cursor:pointer;padding:0;width:32px;height:32px;color:#fff;transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #ff444480}.close-icon:focus,.close-icon:focus-visible,.close-icon.btn-action-delete:focus,.close-icon.btn-action-delete:focus-visible{outline:none}.close-icon svg,.close-icon.btn-action-delete svg{width:16px;height:16px;stroke-width:2.5;flex-shrink:0}.close-icon:hover:not(:disabled),.close-icon.btn-action-delete:hover:not(:disabled){background:#f44!important;transform:scale(1.08)!important;box-shadow:0 0 0 2px #fff,0 0 0 4px #ff4444b3!important}.close-icon:active:not(:disabled),.close-icon.btn-action-delete:active:not(:disabled){transform:scale(1)!important;outline:none}.close-icon:disabled,.close-icon.btn-action-delete:disabled{opacity:.6;cursor:not-allowed}.ingredient-row{display:grid;grid-template-columns:auto 40px 2fr .8fr 1.2fr auto;gap:.25rem;margin-bottom:.5rem;align-items:center;padding:.35rem .5rem .35rem .05rem;border-radius:8px;border:1px solid transparent;transition:all .2s ease;width:100%;box-sizing:border-box}.ingredient-row:hover{background-color:#fff5e614;box-shadow:0 2px 8px #00000026}.ingredient-row input{padding:.625rem .4rem;font-size:.9rem;text-align:left;box-sizing:border-box;line-height:1.5;height:2.5rem;display:block;width:100%;min-width:0}.ingredient-quantity{width:100%;max-width:40px;padding:.625rem .25rem;text-align:center;font-size:.85rem}.ingredient-row .close-icon{display:flex;align-items:center;justify-content:center;align-self:center;margin-left:.25rem;flex-shrink:0}.instructions-list{margin-bottom:1rem}.instruction-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;margin-bottom:.5rem;background-color:#fff0d70f;border-radius:8px;border:1px solid rgba(200,160,120,.2);transition:all .2s ease}.instruction-item:hover{border-color:#dcb48c73}.instruction-item.dragging{opacity:.5;border:2px dashed #d9773f}.instruction-number{font-weight:600;color:#d9773f;min-width:1.5rem;display:flex;align-items:center}.instruction-text{flex:1;color:#fff8f0f2;text-align:left;display:flex;align-items:center}.instruction-input{position:relative;width:100%}.instruction-input-field{width:100%;padding:.875rem 1rem;padding-right:100px;font-size:1rem;border:1px solid rgba(200,160,120,.35);border-radius:8px;background-color:#fff5e61a;color:#fff8f0f2;font-family:inherit;transition:all .2s;box-sizing:border-box}.instruction-input-field:focus{outline:none;border-color:#22d3ee;background-color:#ffffff14;box-shadow:0 0 0 3px #22d3ee1a}.instruction-input-field::placeholder{color:#ffd7afa6}.instruction-add-button{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);margin:0;padding:.5rem 1rem;height:auto}.btn-add,.btn-remove{padding:.5rem 1rem;font-size:.9rem;font-weight:500;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:all .2s;font-family:inherit;background-color:#d9773f40;color:#d9773f;border-color:#d9773f73}.btn-add:hover{background-color:#d9773f59;border-color:#d9773f}.btn-remove{padding:.25rem .5rem;min-width:2rem;background-color:#ff4444d9;color:#fff;border:2px solid white;font-size:1.2rem;line-height:1;font-weight:700;box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #ff444480;transition:all .2s ease}.btn-remove:hover{background-color:#c85a3f;border-color:#fff;transform:scale(1.08);box-shadow:0 0 0 2px #fff,0 0 0 4px #ff4444b3}.form-group input.input-error{border-color:#c85a3f;background-color:#c85a3f26}.form-group input.input-error:focus{border-color:#f44;box-shadow:0 0 0 3px #f443}.error-message{color:#f44;font-size:.85rem;margin-top:.25rem;text-align:left;animation:fadeIn .2s ease-out}.form-error{margin-top:.5rem}@media(prefers-color-scheme:light){.modal-content{background-color:#faf8f3;box-shadow:0 20px 60px #4a3a2a40}.modal-close,.close-icon{background:#ff4444d9;border:2px solid white;color:#fff;box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #ff444480}.modal-close:hover:not(:disabled),.close-icon:hover:not(:disabled){background:#f44;transform:scale(1.08);box-shadow:0 0 0 2px #fff,0 0 0 4px #ff4444b3}.modal-title,.form-group label{color:#4a3a2a}.form-group input{border-color:#a082644d;background-color:#21354708;color:#4a3a2a}.form-group input:focus{border-color:#22d3ee;background-color:#d9773f26}.form-group input::placeholder{color:#4a3a2aa6}.form-group textarea,.form-group select{border-color:#a082644d;background-color:#21354708;color:#4a3a2a}.form-group textarea:focus,.form-group select:focus{border-color:#22d3ee;background-color:#d9773f26}.form-group textarea::placeholder{color:#4a3a2aa6}.instruction-item{background-color:#21354708;border-color:#2135471a}.ingredient-row:hover{background-color:#c8af9614;box-shadow:0 2px 8px #0000001a}.instruction-text{color:#4a3a2a}.instruction-input-field{border-color:#a082644d;background-color:#21354708;color:#4a3a2a}.instruction-input-field:focus{border-color:#22d3ee;background-color:#d9773f26}.instruction-input-field::placeholder{color:#4a3a2aa6}.form-group input.input-error{border-color:#f44;background-color:#ff44440d}.form-group input.input-error:focus{border-color:#f44;box-shadow:0 0 0 3px #ff444426}.password-toggle{color:#4a3a2aa6}.password-toggle:hover{color:#4a3a2a;background-color:#c8af961f}.error-message{color:#f44}}@media(max-width:768px){.modal-content{padding:2rem 1.5rem;max-width:100%;width:100%;box-sizing:border-box}.modal-title{font-size:1.75rem;margin-bottom:1.5rem}.signup-form{gap:1.25rem}.edit-profile-modal{padding:1.5rem 1rem;max-width:100%;width:calc(100% - 2rem);margin:1rem}.edit-profile-name-row{grid-template-columns:1fr!important}.edit-profile-modal input,.edit-profile-modal textarea{max-width:100%;box-sizing:border-box}.edit-profile-modal>div{max-width:100%;overflow-x:hidden}}@media(max-width:480px){.modal-overlay{padding:.5rem}.modal-content{padding:1.5rem 1rem;border-radius:12px;width:calc(100% - 1rem);max-width:100%;box-sizing:border-box;margin:.5rem}.modal-title{font-size:1.5rem;margin-bottom:1.25rem}.modal-close{top:.75rem;right:.75rem;padding:.4rem}.edit-profile-modal{padding:1.25rem .75rem;width:calc(100% - 1rem)}.edit-profile-name-row{grid-template-columns:1fr!important;gap:.75rem!important}.edit-profile-modal input,.edit-profile-modal textarea{max-width:100%;box-sizing:border-box;font-size:16px}.edit-profile-modal form{max-width:100%;overflow-x:hidden}.edit-profile-modal>div{max-width:100%;overflow-x:hidden}}@media(prefers-color-scheme:light){.search-results-header h2,.tag-filter-label{color:var(--text-primary)!important}.search-clear-btn,.tag-filter-clear-btn{background-color:transparent!important;border-color:var(--border-light)!important;color:var(--text-primary)!important}.search-clear-btn:hover,.tag-filter-clear-btn:hover{background-color:var(--bg-secondary)!important}.tag-filter-btn{background-color:var(--bg-secondary)!important;border-color:var(--border-light)!important;color:var(--text-primary)!important}.tag-filter-btn.selected{background-color:var(--button-bg-selected)!important;border-color:var(--button-bg-selected)!important;color:var(--button-text-selected)!important}.fork-history-section{background-color:var(--bg-secondary)!important}.fork-history-section .recipe-detail-section-title{background-color:transparent!important;background:transparent!important}.fork-history-item{background-color:var(--bg-tertiary)!important}.fork-history-item.current{background-color:#22d3ee26!important}.fork-history-item.current .fork-history-text{font-weight:700}.fork-history-text{color:var(--text-primary)!important}.fork-history-text-secondary{color:var(--text-tertiary)!important}.image-upload-label{color:var(--text-primary)!important}.image-upload-input{background-color:var(--bg-secondary)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.image-upload-dropzone{background-color:var(--bg-secondary)!important;border-color:var(--border-light)!important}.image-upload-dropzone.dragging{background-color:#d9773f26!important;border-color:var(--accent-color)!important}.image-upload-text{color:var(--text-primary)!important}.image-upload-text-secondary{color:var(--text-tertiary)!important}.edit-profile-label{color:var(--text-primary)!important}.edit-profile-input{background-color:var(--bg-secondary)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.search-hero-input{background-color:var(--search-input-bg)!important;color:var(--search-input-text)!important}.fork-history-item:not(.current):hover{background-color:var(--bg-secondary)!important}}.modal-overlay{position:fixed;inset:0;background-color:#2a1f15bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;box-sizing:border-box;animation:fadeIn .2s ease-out}.modal-content{background-color:#3d2f20;border-radius:12px;padding:2.5rem;max-width:500px;width:100%;max-height:calc(100vh - 4rem);overflow-y:auto;position:relative;box-shadow:0 20px 60px #2a1f1599;animation:slideUp .2s ease-out;box-sizing:border-box}.modal-close-wrapper{position:sticky;top:0;z-index:10;display:flex;justify-content:flex-end;margin-bottom:-3rem;pointer-events:none}.modal-close-wrapper .modal-close{position:relative;pointer-events:auto;margin-bottom:1rem}.modal-title{font-size:2rem;font-weight:600;margin:0 0 2rem;color:#fff8f0f2;text-align:center}.modal-overlay-transitioning{pointer-events:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-color-scheme:light){.modal-content{background-color:#faf8f3;box-shadow:0 20px 60px #4a3a2a40}.modal-title{color:#4a3a2a}}@media(max-width:768px){.modal-content{padding:2rem 1.5rem;max-width:100%;width:100%;box-sizing:border-box}.modal-title{font-size:1.75rem;margin-bottom:1.5rem}}@media(max-width:480px){.modal-overlay{padding:.5rem}}.signup-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:#fff8f0f2;text-align:left}.form-group input{padding:.875rem 1rem;font-size:1rem;border:1px solid rgba(200,160,120,.35);border-radius:8px;background-color:#fff5e61a;color:#fff8f0f2;font-family:inherit;transition:all .2s;box-sizing:border-box}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:3rem;width:100%}.password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;padding:.25rem;color:#ffe1bebf;transition:color .2s;display:flex;align-items:center;justify-content:center;border-radius:4px}.password-toggle:hover{color:#ffffffe6;background-color:#ffffff1a}.password-toggle:focus{outline:none;color:#ffffffe6}.form-group input:focus{outline:none;border-color:#22d3ee;background-color:#ffffff14;box-shadow:0 0 0 3px #22d3ee1a}.form-group input::placeholder{color:#ffd7afa6}.form-group textarea,.form-group select{padding:.875rem 1rem;font-size:1rem;border:1px solid rgba(200,160,120,.35);border-radius:8px;background-color:#fff5e61a;color:#fff8f0f2;font-family:inherit;transition:all .2s;box-sizing:border-box;width:100%}.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#22d3ee;background-color:#ffffff14;box-shadow:0 0 0 3px #22d3ee1a}.form-group textarea::placeholder{color:#ffd7afa6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-error{margin-top:.5rem;color:#c85a3f;font-size:.875rem}.btn-submit{padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;border:none;background-color:#d9773f;color:#fff;cursor:pointer;transition:all .25s;font-family:inherit;margin-top:.5rem}.btn-submit:hover{background-color:#06b6d4;transform:translateY(-1px);box-shadow:0 4px 12px #d9773f66}.btn-submit:active{transform:translateY(0)}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-submit:disabled:hover{transform:none;box-shadow:none}@media(prefers-color-scheme:light){.form-group label{color:#4a3a2a}.form-group input{border-color:#a082644d;background-color:#21354708;color:#4a3a2a}.form-group input:focus{border-color:#22d3ee;background-color:#d9773f26}.form-group input::placeholder{color:#4a3a2aa6}.form-group textarea,.form-group select{border-color:#a082644d;background-color:#21354708;color:#4a3a2a}.form-group textarea:focus,.form-group select:focus{border-color:#22d3ee;background-color:#d9773f26}.form-group textarea::placeholder{color:#4a3a2aa6}.password-toggle{color:#4a3a2aa6}.password-toggle:hover{color:#4a3a2a;background-color:#c8af961f}.form-group input.input-error{border-color:#f44;background-color:#ff44440d}.form-group input.input-error:focus{border-color:#f44;box-shadow:0 0 0 3px #ff444426}.error-message{color:#f44}}.icon-button{background-color:var(--accent-color);color:var(--white);border:2px solid white;cursor:pointer;padding:0;width:32px;height:32px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #a0522d66;position:relative}.icon-button:focus,.icon-button:focus-visible{outline:none}.icon-button svg{width:16px;height:16px;stroke-width:2;flex-shrink:0}.icon-button:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background-color:#000000d9;color:#fff;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;transform:translate(-50%) translateY(-4px);z-index:1000}.icon-button:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,0,0,.85);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}.icon-button:hover:not(:disabled){background-color:var(--accent-hover);transform:scale(1.08);box-shadow:0 0 0 2px #fff,0 0 0 4px #a0522d99}.icon-button:hover:not(:disabled):after,.icon-button:hover:not(:disabled):before{opacity:1;transform:translate(-50%) translateY(0)}.icon-button:hover:not(:disabled):before{transform:translate(-50%)}.icon-button:active:not(:disabled){transform:scale(1);outline:none}.icon-button:disabled{opacity:.6;cursor:not-allowed}.icon-button-edit{background-color:var(--accent-color);box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #a0522d66}.icon-button-edit:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:0 0 0 2px #fff,0 0 0 4px #a0522d99}.icon-button-delete{background-color:#ff4444d9;box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #ff444480}.icon-button-delete:hover:not(:disabled){background-color:#f44;box-shadow:0 0 0 2px #fff,0 0 0 4px #ff4444b3}.icon-button-fork{background-color:transparent;color:var(--text-primary);border-color:var(--border-light);box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #a0522d33}.icon-button-fork:hover:not(:disabled){background-color:var(--accent-bg-light);border-color:var(--accent-color);color:var(--accent-color);box-shadow:0 0 0 2px #fff,0 0 0 4px #a0522d4d}.icon-button-add-to-cookbook{background-color:transparent;color:var(--text-primary);border-color:var(--border-light);box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #a0522d33}.icon-button-add-to-cookbook:hover:not(:disabled){background-color:var(--accent-bg-light);border-color:var(--accent-color);color:var(--accent-color);box-shadow:0 0 0 2px #fff,0 0 0 4px #a0522d4d}@media(prefers-color-scheme:light){.icon-button{background-color:var(--accent-color);color:var(--white);box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #a0522d66}.icon-button:hover:not(:disabled){background-color:var(--accent-hover);transform:scale(1.08);box-shadow:0 0 0 2px #fff,0 0 0 4px #a0522d99}.icon-button-edit{background-color:var(--accent-color);box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #a0522d66}.icon-button-edit:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:0 0 0 2px #fff,0 0 0 4px #a0522d99}.icon-button-delete{background-color:#ff4444d9;box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #ff444480}.icon-button-delete:hover:not(:disabled){background-color:#f44;box-shadow:0 0 0 2px #fff,0 0 0 4px #ff4444b3}.icon-button-fork,.icon-button-add-to-cookbook{background-color:transparent;color:var(--text-primary);border-color:var(--border-light);box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #a0522d33}.icon-button-fork:hover:not(:disabled),.icon-button-add-to-cookbook:hover:not(:disabled){background-color:var(--accent-bg-light);border-color:var(--accent-color);color:var(--accent-color);box-shadow:0 0 0 2px #fff,0 0 0 4px #a0522d4d}}.like-button{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;gap:.5rem;color:#ffe1bebf;transition:all .2s;border-radius:8px;flex-shrink:0}.like-button:hover:not(.disabled){color:#c85a3f;background-color:#c85a3f26}.like-button.liked{color:#f44}.like-button.disabled{cursor:not-allowed;opacity:.5}.like-count{font-size:.9rem;font-weight:500;color:inherit}@media(prefers-color-scheme:light){.like-button{color:#4a3a2abf}}.recipe-card{background-color:#fff5e61a;border:1px solid rgba(200,160,120,.25);border-radius:12px;overflow:hidden;transition:all .3s ease;cursor:pointer}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #2a1f1599;border-color:#d9773f73}.recipe-card-image{width:100%;height:200px;overflow:hidden;background-color:#fff0d70f}.recipe-card-image img{width:100%;height:100%;object-fit:cover}.recipe-card-content{padding:1.5rem;text-align:left}.recipe-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.recipe-card-title{font-size:1.5rem;font-weight:600;margin:0;color:#fff8f0f2;flex:1}.recipe-card-description{font-size:.95rem;color:#ffebd2d9;margin:0 0 1rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card-author{margin-bottom:.75rem}.recipe-author-link{color:#d9773fe6;text-decoration:none;font-size:.9rem;font-weight:500;display:inline-flex;align-items:center;gap:.25rem;transition:color .2s,opacity .2s}.recipe-author-link:hover{color:#d9773f;opacity:.8;text-decoration:underline}.recipe-card-meta{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.recipe-badge{padding:.375rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500}.recipe-badge.recipe-badge-clickable{transition:all .2s ease;cursor:pointer}.recipe-badge.recipe-badge-clickable:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026;opacity:.9}.recipe-badge.recipe-badge-clickable:active{transform:translateY(0)}.recipe-badge.difficulty{background-color:#f5be5440;color:#f5b854;border:1px solid rgba(245,190,84,.4)}.recipe-badge.difficulty[data-difficulty=Easy]{background-color:#78a06433;color:#6fa85a;border-color:#78a06459}.recipe-badge.difficulty[data-difficulty=Medium]{background-color:#f5be5440;color:#f5b854;border-color:#f5be5466}.recipe-badge.difficulty[data-difficulty=Hard]{background-color:#c85a4640;color:#c85a46;border-color:#c85a4666}.recipe-badge.dietary{background-color:#a08c7833;color:#a08c78;border:1px solid rgba(160,140,120,.35)}.recipe-meta-item{font-size:.9rem;color:#ffe1bebf;display:flex;align-items:center;gap:.25rem}.recipe-card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(200,160,120,.2)}.recipe-tag{padding:.25rem .625rem;border-radius:12px;font-size:.8rem;border:1px solid transparent;background-color:#d9773f33;color:#d9773f;border-color:#d9773f59}.recipe-tag:nth-child(6n+1){background-color:#d9773f33;color:#d9773f;border-color:#d9773f59}.recipe-tag:nth-child(6n+2){background-color:#f5a85433;color:#f5a854;border-color:#f5a85459}.recipe-tag:nth-child(6n+3){background-color:#c8967833;color:#c89678;border-color:#c8967859}.recipe-tag:nth-child(6n+4){background-color:#a08c6433;color:#a08c64;border-color:#a08c6459}.recipe-tag:nth-child(6n+5){background-color:#b48c8233;color:#b48c82;border-color:#b48c8259}.recipe-tag:nth-child(6n+6){background-color:#c8aa6433;color:#c8aa64;border-color:#c8aa6459}.recipe-tag.recipe-tag-clickable{transition:all .2s ease;cursor:pointer}.recipe-tag.recipe-tag-clickable:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026;opacity:.9}.recipe-tag.recipe-tag-clickable:active{transform:translateY(0)}@media(prefers-color-scheme:light){.recipe-card{background-color:#21354708;border-color:#2135471a}.recipe-card:hover{border-color:#22d3ee4d;box-shadow:0 8px 24px #0000001a}.recipe-card-image{background-color:#c8af961f}.recipe-card-title{color:#4a3a2a}.recipe-card-description{color:#4a3a2abf}.recipe-meta-item{color:#4a3a2aa6}.recipe-card-tags{border-top-color:#a0826433}}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:3rem;padding:2rem 0}.pagination-btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;border-radius:8px;border:1px solid rgba(200,160,120,.35);background-color:#fff5e61a;color:#fff8f0f2;cursor:pointer;transition:all .2s;font-family:inherit}.pagination-btn:hover:not(:disabled){background-color:#d9773f40;border-color:#d9773f;color:#d9773f}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:1rem;color:#ffebd2d9;font-weight:500}@media(prefers-color-scheme:light){.pagination-btn{border-color:#a082644d;background-color:#21354708;color:#4a3a2a}.pagination-btn:hover:not(:disabled){background-color:#d9773f40;border-color:#d9773f;color:#d9773f}.pagination-info{color:#4a3a2ad9}}.edit-icon{background-color:var(--accent-color);color:var(--white);border:2px solid white;cursor:pointer;padding:0;width:32px;height:32px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #a0522d66}.edit-icon:focus,.edit-icon:focus-visible{outline:none}.edit-icon svg{width:16px;height:16px;stroke-width:2;flex-shrink:0}.edit-icon:hover:not(:disabled){background-color:var(--accent-hover);transform:scale(1.08);box-shadow:0 0 0 2px #fff,0 0 0 4px #a0522d99}.edit-icon:active:not(:disabled){transform:scale(1);outline:none}.edit-icon:disabled{opacity:.6;cursor:not-allowed}@media(prefers-color-scheme:light){.edit-icon{background-color:var(--accent-color);color:var(--white);box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #a0522d66}.edit-icon:hover:not(:disabled){background-color:var(--accent-hover);transform:scale(1.08);box-shadow:0 0 0 2px #fff,0 0 0 4px #a0522d99}}.plus-icon{background-color:#4caf50d9;color:var(--white);border:2px solid white;cursor:pointer;padding:0;width:32px;height:32px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #1b5e2066}.plus-icon:focus,.plus-icon:focus-visible{outline:none}.plus-icon svg{width:16px;height:16px;stroke-width:2;flex-shrink:0}.plus-icon:hover:not(:disabled){background-color:#4caf50;transform:scale(1.08);box-shadow:0 0 0 2px #fff,0 0 0 4px #1b5e2099}.plus-icon:active:not(:disabled){transform:scale(1);outline:none}.plus-icon:disabled{opacity:.6;cursor:not-allowed}@media(prefers-color-scheme:light){.plus-icon{background-color:#4caf50d9;color:var(--white);box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #1b5e2066}.plus-icon:hover:not(:disabled){background-color:#4caf50;transform:scale(1.08);box-shadow:0 0 0 2px #fff,0 0 0 4px #1b5e2099}}.user-profile-section{margin-bottom:2rem;padding:2rem;background-color:#fff5e614;border-radius:12px;border:1px solid rgba(200,160,120,.2);position:relative;display:flex;flex-direction:row;align-items:center;gap:2rem}.user-profile-bio{color:#ffebd2d9;font-size:1rem;line-height:1.6;margin:0}.user-profile-name{color:#ffe1bebf;font-size:.9rem;margin-top:.5rem;text-align:left}@media(prefers-color-scheme:light){.user-profile-section{background-color:var(--bg-secondary)}.user-profile-bio{color:var(--text-secondary)}.user-profile-name{color:var(--text-tertiary)}}.profile-picture-upload-button:hover{background-color:var(--bg-secondary)!important;transform:scale(1.05);border-color:var(--accent-color)!important}.profile-picture-upload-button:hover svg{transform:scale(1.2);color:var(--accent-color)!important}.profile-picture-upload-button:active{transform:scale(1)}.recipe-detail-header{margin-bottom:1.5rem}.recipe-detail-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1rem}.recipe-detail-title{font-size:2.5rem;font-weight:700;margin:0;color:#fff8f0f2;flex:1}.recipe-detail-description{font-size:1.1rem;line-height:1.6;color:#ffebd2d9;margin:0}.recipe-detail-meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;margin-bottom:2rem}.recipe-detail-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}.recipe-detail-section{margin-bottom:2.5rem}.recipe-detail-section-title{margin:0 0 1.25rem;font-size:1.5rem;font-weight:600;color:#fff8f0f2}.recipe-ingredients-list{list-style:none;padding:0;margin:0}.recipe-ingredient-item{padding:.875rem 1rem;margin-bottom:.5rem;background-color:#fff0d70f;border-radius:8px;border-left:3px solid #d9773f;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;text-align:left}.ingredient-amount{color:#ffebd2d9;font-size:.95rem;text-align:left}.ingredient-name{font-weight:500;color:#fff8f0f2;text-align:left}.ingredient-notes{color:#ffd7afa6;font-size:.9rem;font-style:italic;text-align:left}.recipe-instructions-list{list-style:none;padding:0;margin:0;counter-reset:instruction-counter}.recipe-instruction-item{counter-increment:instruction-counter;padding:1.25rem 1.25rem 1.25rem 4rem;margin-bottom:1rem;background-color:#fff0d70f;border-radius:8px;position:relative;line-height:1.6;color:#fff8f0f2;text-align:left}.recipe-instruction-item:before{content:counter(instruction-counter);position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;background-color:#d9773f;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}@media(prefers-color-scheme:light){.recipe-detail-title{color:#4a3a2a}.recipe-detail-description{color:#4a3a2ad9}.recipe-ingredient-item{background-color:#c8af961f;border-left-color:#d9773f}.ingredient-name{color:#4a3a2a}.ingredient-amount{color:#4a3a2ad9}.ingredient-notes{color:#4a3a2aa6}.recipe-instruction-item{background-color:#c8af961f;color:#4a3a2a}.recipe-detail-section-title{color:#4a3a2a}}
