:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-primary: #fff;--bg-secondary: #f8f9fa;--bg-tertiary: #f3f4f6;--text-primary: #2d2d2d;--text-secondary: #5a5a5a;--text-muted: #8a8a8a;--accent-color: #2d5016;--accent-hover: #3a5f1e;--accent-light: #4a7c59;--border-color: #e0e0e0;--border-hover: #2d5016;--shadow-light: 0 2px 8px rgba(45, 80, 22, .07);--shadow-medium: 0 4px 16px rgba(45, 80, 22, .12);--shadow-heavy: 0 8px 32px rgba(45, 80, 22, .18);--success-color: #28a745;--warning-color: #ffc107;--error-color: #dc3545;--overlay-bg: rgba(0, 0, 0, .85);--serif-heading: "Merriweather", "Georgia", serif;--sans-body: "Inter", "Segoe UI", "Roboto", Arial, sans-serif}.dark-mode{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #404040;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-muted: #808080;--accent-color: #4a7c59;--accent-hover: #5a8c69;--accent-light: #6a9c79;--border-color: #404040;--border-hover: #4a7c59;--shadow-light: rgba(74, 124, 89, .1);--shadow-medium: rgba(74, 124, 89, .15);--shadow-heavy: rgba(74, 124, 89, .25);--overlay-bg: rgba(0, 0, 0, .9)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;overflow-x:hidden;overflow-y:hidden}body{font-family:var(--sans-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}#root{height:100vh;width:100vw;display:flex;flex-direction:column}.App{min-height:100vh;width:100vw;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden;transition:background-color .3s ease}.top-nav{display:flex;justify-content:space-between;align-items:center;padding:.75rem 2.5vw;background:var(--bg-secondary);border-bottom:1.5px solid var(--border-color);box-shadow:var(--shadow-light);position:sticky;top:0;z-index:1000;flex-shrink:0;height:clamp(60px,8vh,80px);transition:background-color .3s ease,border-color .3s ease}.nav-left .logo{font-family:var(--serif-heading);font-size:2rem;color:var(--accent-color);text-decoration:none;letter-spacing:.03em;cursor:pointer;transition:color .2s ease}.nav-left .logo:hover{color:var(--accent-color)}.nav-right{display:flex;align-items:center;gap:1.5rem}.nav-item{font-family:var(--sans-body);font-size:1.1rem;color:var(--text-secondary);text-decoration:none;padding:.2rem .7rem;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.nav-item:hover,.nav-item.active{color:var(--accent-color);border-bottom:2.5px solid var(--accent-color)}.dark-mode-toggle{background:none;border:none;font-size:1.3rem;color:var(--accent-color);cursor:pointer;margin-left:1rem;transition:color .2s}.dark-mode-toggle:hover{color:var(--accent-hover)}.main-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100vw;background:var(--bg-primary)}.page-container{flex:1;padding:clamp(1rem,3vw,2rem);max-width:min(1200px,95vw);margin:0 auto;width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.page-content{background:var(--bg-primary);border-radius:6px;padding:clamp(1.5rem,4vh,2.5rem);box-shadow:var(--shadow-light);min-height:calc(100vh - clamp(140px,15vh,200px));width:100%;overflow-y:auto;overflow-x:hidden;border:1.5px solid var(--border-color)}.page-content h2{color:var(--accent-color);font-family:var(--serif-heading);margin-bottom:1.2rem;font-size:2rem;font-weight:700;line-height:1.2}.page-content p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.6}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,90vw),1fr));gap:1.5rem;margin-top:2rem;width:100%}.recipe-card-modern{background:var(--bg-secondary);border-radius:6px;padding:1.5rem 1.2rem 1.2rem;border:1.5px solid var(--border-color);box-shadow:var(--shadow-light);transition:box-shadow .2s,border-color .2s,transform .2s;height:fit-content;display:flex;flex-direction:column;gap:.7rem}.recipe-card-modern:hover{box-shadow:var(--shadow-medium);border-color:var(--accent-color);transform:translateY(-2px) scale(1.01)}.recipe-card-title h3{font-family:var(--serif-heading);color:var(--accent-color);font-size:1.25rem;margin-bottom:.2rem}.draft-badge-modern{background:var(--warning-color);color:#fff;font-size:.85rem;padding:.1rem .6rem;border-radius:4px;margin-left:.5rem}.recipe-card-actions{display:flex;gap:.5rem}.action-btn{background:none;border:none;color:var(--accent-color);font-size:1.1rem;cursor:pointer;padding:.2rem .5rem;border-radius:3px;transition:background .15s,color .15s}.action-btn:hover{background:var(--accent-light);color:#fff}.btn-primary{background:var(--accent-color);color:#fff;border:none;border-radius:4px;padding:.7rem 1.3rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s;box-shadow:var(--shadow-light)}.btn-primary:hover{background:var(--accent-hover)}.btn-view-recipe,.btn-quick-edit{background:none;border:1.5px solid var(--accent-color);color:var(--accent-color);border-radius:4px;padding:.5rem 1.1rem;font-size:1rem;font-weight:500;cursor:pointer;margin-right:.5rem;transition:background .2s,color .2s}.btn-view-recipe:hover,.btn-quick-edit:hover{background:var(--accent-color);color:#fff}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1.1em;pointer-events:none;z-index:2}.search-input{width:100%;padding:clamp(.6rem,1.8vh,.8rem) clamp(1rem,2.5vw,1.2rem) clamp(.6rem,1.8vh,.8rem) 2.8em;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:clamp(.8rem,2.2vw,.9rem);box-shadow:0 2px 8px var(--shadow-light);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--shadow-light)}.search-input::placeholder{color:var(--text-muted);opacity:1}.empty-state{text-align:center;padding:clamp(3rem,8vh,5rem);color:var(--text-secondary)}.empty-illustration{font-size:clamp(3rem,8vw,5rem);margin-bottom:clamp(1rem,3vh,2rem)}.empty-state h3{color:var(--text-primary);margin-bottom:clamp(.8rem,2vh,1.2rem);font-size:clamp(1.3rem,4vw,1.8rem)}.empty-state p{margin-bottom:clamp(2rem,5vh,3rem);font-size:clamp(1rem,3vw,1.2rem)}.empty-actions{display:flex;gap:clamp(1rem,3vw,1.5rem);justify-content:center;flex-wrap:wrap}.btn-primary{background:var(--accent-color);color:#fff;border:none;padding:clamp(.8rem,2.5vh,1.2rem) clamp(1.5rem,4vw,2rem);border-radius:8px;font-size:clamp(.9rem,2.5vw,1rem);font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:clamp(.4rem,1vw,.6rem)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-medium)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:clamp(.8rem,2.5vh,1.2rem) clamp(1.5rem,4vw,2rem);border-radius:8px;font-size:clamp(.9rem,2.5vw,1rem);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--accent-color);transform:translateY(-1px)}.btn-icon{font-size:clamp(1rem,2.5vw,1.2rem)}.recipes-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:clamp(2rem,5vh,3rem);flex-wrap:wrap;gap:clamp(1rem,3vw,1.5rem)}.recipes-header-left h2{color:var(--text-primary);margin-bottom:clamp(.5rem,1.5vh,.8rem);font-size:clamp(1.8rem,5vw,2.5rem);font-weight:700}.recipes-subtitle{color:var(--text-secondary);font-size:clamp(1rem,3vw,1.2rem);line-height:1.5}.recipes-header-actions{display:flex;align-items:center;gap:1rem}.recipe-stats-bar{display:flex;gap:clamp(1rem,3vw,2rem);margin-bottom:clamp(1.5rem,4vh,2.5rem);padding:clamp(1rem,2.5vh,1.5rem);background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:clamp(.3rem,1vh,.5rem)}.stat-number{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:var(--accent-color)}.stat-label{font-size:clamp(.7rem,2vw,.85rem);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.recipe-filters{display:flex;gap:clamp(.8rem,2vw,1.2rem);margin-bottom:clamp(1.5rem,4vh,2.5rem);flex-wrap:wrap}.filter-group{display:flex;gap:clamp(.4rem,1vw,.6rem);align-items:center}.filter-btn{background:var(--bg-secondary);border:1px solid var(--border-color);padding:clamp(.4rem,1.2vh,.6rem) clamp(.8rem,2vw,1.2rem);border-radius:8px;cursor:pointer;font-size:clamp(.8rem,2.2vw,.9rem);color:var(--text-secondary);transition:all .2s ease}.filter-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.filter-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.recipe-search{position:relative;flex:1;max-width:clamp(300px,40vw,500px);display:flex;align-items:center}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1.1em;pointer-events:none}.search-input{width:100%;padding:clamp(.6rem,1.5vh,.8rem) clamp(.8rem,2vw,1.2rem) clamp(.6rem,1.5vh,.8rem) clamp(2.5rem,4vw,3rem);border:1px solid var(--border-color);border-radius:8px;font-size:clamp(.9rem,2.2vw,1rem);background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #2d50161a}.search-input::placeholder{color:var(--text-muted)}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(350px,90vw),1fr));gap:clamp(1.5rem,4vw,2rem);margin-top:clamp(1.5rem,4vh,2.5rem)}.recipe-card-modern{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;padding:clamp(1.5rem,4vh,2rem);transition:all .3s ease;box-shadow:0 2px 8px var(--shadow-light)}.recipe-card-modern:hover{transform:translateY(-4px);box-shadow:0 8px 25px var(--shadow-medium);border-color:var(--accent-color)}.recipe-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:clamp(1rem,3vh,1.5rem)}.recipe-card-title{flex:1}.recipe-card-title h3{color:var(--text-primary);margin-bottom:clamp(.3rem,1vh,.5rem);font-size:clamp(1.2rem,3.5vw,1.5rem);font-weight:600;line-height:1.3}.draft-badge-modern{background:var(--warning-color);color:#212529;padding:clamp(.2rem,.8vh,.4rem) clamp(.6rem,1.5vw,.8rem);border-radius:12px;font-size:clamp(.7rem,2vw,.8rem);font-weight:500;display:inline-block;margin-top:clamp(.3rem,1vh,.5rem)}.recipe-card-actions{display:flex;gap:clamp(.4rem,1vw,.6rem);flex-shrink:0}.action-btn{background:none;border:none;padding:clamp(.4rem,1.2vh,.6rem);border-radius:6px;cursor:pointer;font-size:clamp(1rem,2.5vw,1.2rem);transition:all .2s ease;color:var(--text-secondary)}.action-btn:hover{background:var(--bg-secondary);color:var(--text-primary);transform:scale(1.1)}.recipe-card-description{color:var(--text-secondary);margin-bottom:clamp(1rem,3vh,1.5rem);font-size:clamp(.9rem,2.5vw,1rem);line-height:1.5}.recipe-card-meta{margin-bottom:clamp(1rem,3vh,1.5rem)}.meta-row{display:flex;gap:clamp(1rem,3vw,1.5rem);margin-bottom:clamp(.5rem,1.5vh,.8rem);flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:clamp(.3rem,1vw,.5rem);font-size:clamp(.8rem,2.2vw,.9rem);color:var(--text-secondary)}.meta-icon{font-size:clamp(.9rem,2.5vw,1rem)}.recipe-card-ingredients{margin-bottom:clamp(1rem,3vh,1.5rem)}.ingredients-label{display:block;font-size:clamp(.8rem,2.2vw,.9rem);font-weight:600;color:var(--text-primary);margin-bottom:clamp(.5rem,1.5vh,.8rem)}.ingredients-preview{display:flex;flex-wrap:wrap;gap:clamp(.3rem,1vw,.5rem)}.ingredient-preview{background:var(--bg-secondary);color:var(--text-secondary);padding:clamp(.2rem,.8vh,.4rem) clamp(.6rem,1.5vw,.8rem);border-radius:12px;font-size:clamp(.7rem,2vw,.8rem);border:1px solid var(--border-color)}.more-ingredients{color:var(--text-muted);font-size:clamp(.7rem,2vw,.8rem);font-style:italic}.recipe-card-tags{display:flex;flex-wrap:wrap;gap:clamp(.3rem,1vw,.5rem);margin-bottom:clamp(1rem,3vh,1.5rem)}.recipe-tag-modern{background:var(--accent-color);color:#fff;padding:clamp(.2rem,.8vh,.4rem) clamp(.6rem,1.5vw,.8rem);border-radius:12px;font-size:clamp(.7rem,2vw,.8rem);font-weight:500}.recipe-card-footer{display:flex;gap:clamp(.8rem,2vw,1.2rem);margin-top:auto}.btn-view-recipe,.btn-quick-edit{flex:1;padding:clamp(.6rem,1.8vh,.8rem) clamp(1rem,2.5vw,1.2rem);border-radius:8px;font-size:clamp(.8rem,2.2vw,.9rem);font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-view-recipe{background:var(--accent-color);color:#fff}.btn-view-recipe:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-quick-edit{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-quick-edit:hover{background:var(--bg-tertiary);border-color:var(--accent-color);transform:translateY(-1px)}.recipe-editor-overlay{position:fixed;inset:0;background:var(--overlay-bg);z-index:1000;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2rem)}.recipe-editor-modern{background:var(--bg-primary);border-radius:20px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px var(--shadow-heavy);border:1px solid var(--border-color)}.recipe-editor-header-modern{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:clamp(1.5rem,4vh,2rem);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.header-content h1{color:var(--text-primary);margin-bottom:clamp(.3rem,1vh,.5rem);font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.header-content p{color:var(--text-secondary);font-size:clamp(.9rem,2.5vw,1rem);margin:0}.header-actions{display:flex;gap:clamp(.8rem,2vw,1.2rem);align-items:center}.btn-save-recipe{background:var(--accent-color);color:#fff;border:none;padding:clamp(.8rem,2.5vh,1.2rem) clamp(1.5rem,4vw,2rem);border-radius:8px;font-size:clamp(.9rem,2.5vw,1rem);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-save-recipe:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.btn-save-recipe:disabled{opacity:.6;cursor:not-allowed}.btn-close-creator{background:none;border:none;color:var(--text-secondary);font-size:clamp(1.2rem,3vw,1.5rem);cursor:pointer;padding:clamp(.4rem,1.2vh,.6rem);border-radius:8px;transition:all .2s ease}.btn-close-creator:hover{background:var(--bg-tertiary);color:var(--text-primary)}.recipe-editor-content-modern{display:flex;flex:1;overflow:hidden}.editor-sidebar-modern{width:240px;background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:clamp(1.5rem,4vh,2rem) 0}.sidebar-nav{display:flex;flex-direction:column;gap:clamp(.3rem,1vh,.5rem);padding:0 clamp(1rem,3vw,1.5rem)}.sidebar-nav .nav-item{display:flex;align-items:center;gap:clamp(.8rem,2vw,1rem);padding:clamp(.8rem,2vh,1rem) clamp(1rem,2.5vw,1.2rem);background:none;border:none;border-radius:8px;color:var(--text-secondary);font-size:clamp(.9rem,2.5vw,1rem);font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.sidebar-nav .nav-item:hover{background:var(--bg-primary);color:var(--text-primary)}.sidebar-nav .nav-item.active{background:var(--accent-color);color:#fff}.editor-main-modern{flex:1;padding:clamp(1.5rem,4vh,2rem);overflow-y:auto}.form-section{margin-bottom:clamp(2rem,5vh,3rem)}.form-section h3{color:var(--text-primary);margin-bottom:clamp(1rem,3vh,1.5rem);font-size:clamp(1.2rem,3.5vw,1.5rem);font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(1rem,3vh,1.5rem)}.form-row{display:grid;grid-template-columns:1fr;gap:clamp(1rem,3vw,1.5rem);margin-bottom:clamp(1rem,3vh,1.5rem)}.form-group{display:flex;flex-direction:column;gap:clamp(.5rem,1.5vh,.8rem)}.form-group label{color:var(--text-primary);font-size:clamp(.9rem,2.5vw,1rem);font-weight:500}.form-input,.form-textarea,.form-select{padding:clamp(.8rem,2vh,1rem);border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:clamp(.9rem,2.5vw,1rem);transition:all .2s ease;width:100%;height:auto;min-height:44px}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--shadow-light)}.form-textarea{resize:vertical;min-height:80px}.btn-add-ingredient{background:var(--accent-color);color:#fff;border:none;padding:clamp(.6rem,1.8vh,.8rem) clamp(1rem,2.5vw,1.2rem);border-radius:8px;font-size:clamp(.8rem,2.2vw,.9rem);font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:clamp(.3rem,1vw,.5rem)}.btn-add-ingredient:hover{background:var(--accent-hover);transform:translateY(-1px)}.ingredients-list{display:flex;flex-direction:column;gap:clamp(.8rem,2vh,1rem)}.ingredient-item-modern{display:flex;gap:clamp(.8rem,2vw,1rem);align-items:flex-start;background:var(--bg-secondary);padding:clamp(1rem,2.5vh,1.2rem);border-radius:8px;border:1px solid var(--border-color)}.ingredient-inputs-modern{display:grid;grid-template-columns:80px 100px 1fr 120px;gap:clamp(.5rem,1.5vw,.8rem);flex:1}.amount-input,.unit-select,.name-input,.notes-input{padding:clamp(.6rem,1.5vh,.8rem);border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:clamp(.8rem,2.2vw,.9rem);transition:all .2s ease}.amount-input:focus,.unit-select:focus,.name-input:focus,.notes-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--shadow-light)}.amount-input{text-align:center}.unit-select{min-width:80px}.name-input{flex:1}.notes-input{font-size:clamp(.7rem,2vw,.8rem)}.btn-remove-ingredient{background:none;border:none;color:var(--text-secondary);font-size:clamp(1rem,2.5vw,1.2rem);cursor:pointer;padding:clamp(.4rem,1.2vh,.6rem);border-radius:6px;transition:all .2s ease;flex-shrink:0}.btn-remove-ingredient:hover{background:var(--bg-tertiary);color:var(--error-color)}.instructions-list{display:flex;flex-direction:column;gap:clamp(.8rem,2vh,1rem)}.instruction-block-modern{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:all .2s ease}.instruction-block-modern.dragging{transform:rotate(2deg);box-shadow:0 8px 25px var(--shadow-medium)}.block-header{display:flex;align-items:center;gap:clamp(.8rem,2vw,1rem);padding:clamp(.8rem,2vh,1rem);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.rounded-header{border-radius:8px 8px 0 0}.drag-handle{cursor:grab;color:var(--text-muted);font-size:clamp(1rem,2.5vw,1.2rem)}.drag-handle:active{cursor:grabbing}.step-number-modern{background:var(--accent-color);color:#fff;width:clamp(24px,6vw,28px);height:clamp(24px,6vw,28px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(.8rem,2.2vw,.9rem);font-weight:600;flex-shrink:0}.block-actions{display:flex;gap:clamp(.3rem,1vw,.5rem)}.instruction-textarea{width:100%;min-height:80px;padding:clamp(1rem,2.5vh,1.2rem);border:none;background:var(--bg-primary);color:var(--text-primary);font-size:clamp(.9rem,2.5vw,1rem);line-height:1.5;resize:vertical;outline:none}.instruction-textarea:focus{background:var(--bg-primary)}.details-grid-modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(1rem,3vw,1.5rem)}.template-selector-overlay{position:fixed;inset:0;background:var(--overlay-bg);z-index:1000;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2rem)}.template-selector{background:var(--bg-primary);border-radius:16px;max-width:800px;width:100%;max-height:80vh;overflow:hidden;box-shadow:0 20px 60px var(--shadow-heavy);border:1px solid var(--border-color)}.template-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:clamp(1.5rem,4vh,2rem);display:flex;justify-content:space-between;align-items:center}.template-header h2{color:var(--text-primary);font-size:clamp(1.3rem,4vw,1.8rem);font-weight:700;margin:0}.btn-close{background:none;border:none;color:var(--text-secondary);font-size:clamp(1.2rem,3vw,1.5rem);cursor:pointer;padding:clamp(.4rem,1.2vh,.6rem);border-radius:8px;transition:all .2s ease}.btn-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.template-grid{padding:clamp(1.5rem,4vh,2rem);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(1.5rem,4vw,2rem)}.template-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:clamp(1.5rem,4vh,2rem);cursor:pointer;transition:all .3s ease}.template-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px var(--shadow-medium);border-color:var(--accent-color)}.template-card h3{color:var(--text-primary);margin-bottom:clamp(.5rem,1.5vh,.8rem);font-size:clamp(1.1rem,3vw,1.3rem);font-weight:600}.template-card p{color:var(--text-secondary);margin-bottom:clamp(1rem,3vh,1.5rem);font-size:clamp(.9rem,2.5vw,1rem);line-height:1.5}.template-sections{display:flex;flex-wrap:wrap;gap:clamp(.3rem,1vw,.5rem)}.template-section{background:var(--accent-color);color:#fff;padding:clamp(.2rem,.8vh,.4rem) clamp(.6rem,1.5vw,.8rem);border-radius:12px;font-size:clamp(.7rem,2vw,.8rem);font-weight:500}.btn-generate-ai{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:clamp(.6rem,1.8vh,.8rem) clamp(1rem,2.5vw,1.2rem);border-radius:8px;font-size:clamp(.8rem,2.2vw,.9rem);font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:clamp(.3rem,1vw,.5rem);box-shadow:0 4px 12px #667eea4d;position:relative;overflow:hidden;white-space:nowrap}.btn-generate-ai:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-generate-ai:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-1px);box-shadow:0 6px 16px #667eea66}.btn-generate-ai:hover:not(:disabled):before{left:100%}.btn-generate-ai:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.ai-icon{font-size:clamp(1rem,2.5vw,1.2rem)}.toggle-label-animated{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:clamp(.5rem,1.5vh,.8rem) 0;font-size:clamp(.8rem,2.2vw,.9rem);color:var(--text-secondary);font-weight:500;transition:color .2s ease}.toggle-label-animated:hover{color:var(--text-primary)}.toggle-switch{position:relative;display:inline-block;width:clamp(40px,8vw,50px);height:clamp(20px,4vw,24px)}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-color);transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;top:50%;transform:translateY(-50%);background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px) translateY(-50%)}.toggle-slider:active:before{width:22px}@media (max-width: 768px){.nav-right{gap:clamp(.3rem,1.5vw,.6rem)}.nav-item{padding:clamp(.3rem,1.2vh,.6rem) clamp(.6rem,1.8vw,1rem);font-size:clamp(.7rem,2.2vw,.85rem)}.page-container{padding:clamp(.8rem,2.5vw,1.5rem)}.page-content{padding:clamp(1.2rem,3vh,2rem)}.recipes-header{flex-direction:column;align-items:stretch}.recipes-header-actions{justify-content:center}.recipe-filters{flex-direction:column;align-items:stretch}.recipe-search{max-width:100%}.recipe-editor-content-modern{flex-direction:column}.editor-sidebar-modern{width:100%;border-right:none;border-bottom:1px solid var(--border-color)}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:clamp(1rem,3vw,1.5rem)}.ingredient-inputs-modern{grid-template-columns:1fr;gap:clamp(.8rem,2vh,1rem)}.ingredient-item-modern{flex-direction:column}.details-grid-modern,.template-grid{grid-template-columns:1fr}}.basic-recipe-creator .recipe-editor-modern{max-width:800px}.recipe-editor-modern .editor-main-modern{width:100%;max-width:none}.basic-recipe-creator .editor-main-modern{padding:clamp(2rem,5vh,3rem)}.basic-recipe-creator .form-section{margin-bottom:clamp(2rem,5vh,3rem)}.basic-recipe-creator .form-section h3{font-size:clamp(1.3rem,3.5vw,1.6rem);margin-bottom:clamp(1rem,3vh,1.5rem);color:var(--text-primary);font-weight:600}.basic-recipe-creator .form-input{font-size:clamp(1rem,2.5vw,1.1rem);padding:clamp(.8rem,2vh,1rem)}.basic-recipe-creator .ingredient-item-modern{background:var(--bg-secondary);border-radius:12px;padding:clamp(1rem,2.5vh,1.5rem);margin-bottom:clamp(.8rem,2vh,1rem);border:1px solid var(--border-color)}.basic-recipe-creator .instruction-block-modern{background:var(--bg-secondary);border-radius:12px;margin-bottom:clamp(1rem,2.5vh,1.5rem);border:1px solid var(--border-color);overflow:hidden}.basic-recipe-creator .instruction-textarea{min-height:80px;font-size:clamp(.9rem,2.2vw,1rem)}.basic-recipe-creator .btn-add-ingredient{background:var(--accent-color);color:#fff;border:none;padding:clamp(.6rem,1.8vh,.8rem) clamp(1rem,2.5vw,1.2rem);border-radius:8px;font-size:clamp(.8rem,2.2vw,.9rem);font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:clamp(.3rem,1vw,.5rem)}.basic-recipe-creator .btn-add-ingredient:hover{background:var(--accent-hover);transform:translateY(-1px)}.nav-item:focus,.btn-primary:focus,.btn-secondary:focus,.recipe-search input:focus,.dark-mode-toggle:focus{outline:2px solid var(--accent-color);outline-offset:2px}.landing-page *{scrollbar-width:none!important;-ms-overflow-style:none!important}.landing-page *::-webkit-scrollbar{display:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.recipe-view-overlay{position:fixed;inset:0;background:var(--overlay-bg, rgba(0,0,0,.5));z-index:1100;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2rem)}.recipe-view-modal{background:var(--bg-primary);border-radius:18px;box-shadow:0 6px 32px var(--shadow-light);max-width:min(600px,95vw);width:100%;padding:clamp(2rem,5vw,2.5rem);position:relative;display:flex;flex-direction:column;gap:clamp(1.2rem,3vh,2rem)}.recipe-view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(1rem,2vh,1.5rem)}.recipe-view-header h1{font-size:clamp(1.5rem,4vw,2.2rem);color:var(--text-primary);margin:0;font-weight:700}.btn-close-view{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:.3em .7em;transition:background .2s}.recipe-view-content{display:flex;flex-direction:column;gap:clamp(1rem,2vh,1.5rem)}.recipe-image-placeholder{width:100%;height:180px;background:var(--bg-secondary);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.1rem;margin-bottom:clamp(1rem,2vh,1.5rem);border:1px dashed var(--border-color)}.recipe-view-section{margin-bottom:clamp(.8rem,2vh,1.2rem)}.recipe-view-section h3{color:var(--text-primary);font-size:1.1rem;margin-bottom:.4em;font-weight:600}.recipe-view-section p,.recipe-view-section ul,.recipe-view-section ol,.recipe-view-section .details{color:var(--text-secondary);font-size:1rem;margin:0}.recipe-view-section.details{display:flex;flex-wrap:wrap;gap:1.2em 2em;margin-top:.7em}@media (max-width: 600px){.recipe-view-modal{padding:1rem}.recipe-image-placeholder{height:120px}}.page-content .recipe-view-modal{margin:0 auto;max-width:none;width:100%;background:var(--bg-primary);border-radius:20px;box-shadow:0 8px 32px var(--shadow-light);padding:clamp(2.5rem,6vw,3.5rem) clamp(4vw,10vw,8vw);display:flex;flex-direction:column;gap:clamp(1.5rem,4vh,2.5rem);position:relative;min-height:70vh;margin-top:clamp(2rem,8vh,4rem);margin-bottom:clamp(2rem,8vh,4rem)}.recipe-view-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:clamp(1.5rem,4vh,2.5rem);border-bottom:1px solid var(--border-color);padding-bottom:1rem}.recipe-view-header h1{font-size:clamp(2.2rem,6vw,3.2rem);color:var(--text-primary);margin:0;font-weight:800;letter-spacing:-1px}.btn-close-view{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:.3em .7em;transition:background .2s;margin-left:1rem}.btn-close-view:hover{background:var(--bg-secondary);color:var(--text-primary)}.recipe-view-content{display:flex;flex-direction:column;gap:clamp(1.5rem,4vh,2.5rem)}.recipe-image-placeholder{width:100%;height:260px;background:var(--bg-secondary);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.3rem;margin-bottom:clamp(1.5rem,4vh,2.5rem);border:2px dashed var(--border-color);font-style:italic;box-shadow:0 2px 8px var(--shadow-light)}.recipe-view-section{margin-bottom:clamp(1.2rem,3vh,2rem);background:var(--bg-secondary);border-radius:12px;padding:clamp(1.5rem,3vw,2.5rem);box-shadow:0 1px 4px var(--shadow-light)}.recipe-view-section h3{color:var(--accent-color);font-size:1.4rem;margin-bottom:.5em;font-weight:700;letter-spacing:.5px}.recipe-view-section p,.recipe-view-section ul,.recipe-view-section ol,.recipe-view-section .details{color:var(--text-secondary);font-size:1.15rem;margin:0}.recipe-view-section.details{display:flex;flex-wrap:wrap;gap:1.2em 2em;margin-top:.7em;background:none;box-shadow:none;padding:0}@media (max-width: 800px){.page-content .recipe-view-modal{max-width:100vw;padding:1rem;margin-top:1rem;margin-bottom:1rem}.recipe-image-placeholder{height:140px}}.page-content.recipe-view-page{padding:0 0 4rem;background:var(--bg-primary);min-height:100vh;width:100%;box-shadow:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow-x:hidden;font-family:Georgia,Times New Roman,Times,serif}.page-content,.recipe-view-page{background:#fff!important;box-shadow:0 2px 16px #2c3e500a;border:1px solid #f0f0f0;border-radius:0}.dark-mode .page-content,.dark-mode .recipe-view-page{background:var(--bg-primary)!important;box-shadow:0 2px 16px #0000002e;border:1px solid var(--border-color)}.dark-mode .page-content.recipe-view-page{background:#fff!important;border:1px solid #f0f0f0}.dark-mode .hero-image,.dark-mode .thumbnail-gallery-item .gallery-image{background:var(--bg-tertiary);border:1px solid var(--border-color)}.dark-mode .hero-caption,.dark-mode .thumbnail-gallery-item .gallery-caption{background:var(--bg-secondary);color:var(--text-secondary)}.cookbook-header{width:100%;max-width:900px;margin:0 auto 2.5rem;padding:clamp(2rem,6vw,2.5rem) clamp(1rem,3vw,1.5rem) 1.2rem clamp(1rem,3vw,1.5rem);display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:2.5rem;position:relative}.cookbook-header-content{flex:2;display:flex;flex-direction:column;align-items:flex-start}.cookbook-title{font-family:var(--serif-heading);font-size:clamp(2.5rem,6vw,3.5rem);color:#2d5016;font-weight:700;letter-spacing:.01em;text-align:left;margin:2.2rem 0 1.2rem;margin-left:auto;margin-right:auto;max-width:1000px;line-height:1.1;text-shadow:0 2px 8px rgba(45,80,22,.08);word-break:break-word}.cookbook-meta{display:flex;flex-wrap:wrap;gap:1.2em 2em;color:var(--text-muted);font-size:1.05rem;margin-bottom:1.2em;font-family:inherit}.cookbook-image{flex:1;min-width:120px;max-width:180px;height:120px;background:var(--bg-tertiary);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.1rem;margin-top:.5em;border:1.5px solid var(--accent-color);font-style:italic;box-shadow:0 1px 4px var(--shadow-light);object-fit:cover}.cookbook-columns{width:100%;max-width:900px;margin:0 auto;display:flex;flex-direction:row;gap:3rem;align-items:flex-start;justify-content:space-between}.cookbook-ingredients,.cookbook-directions{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.cookbook-section-title{color:var(--accent-color);font-size:1.15rem;font-weight:700;margin-bottom:.5em;border-bottom:1.5px solid var(--accent-color);padding-bottom:.2em;width:100%;background:none;letter-spacing:.5px;font-family:inherit}.cookbook-ingredients ul,.cookbook-directions ol{color:var(--text-secondary);font-size:1.08rem;margin:0 0 1.5em;line-height:1.7;background:none;width:100%;padding-left:1.5em}.cookbook-description{color:var(--text-secondary);font-size:1.13rem;margin-bottom:2em;line-height:1.7;background:none;width:100%;max-width:900px;margin-left:auto;margin-right:auto;padding-left:clamp(1rem,3vw,1.5rem);padding-right:clamp(1rem,3vw,1.5rem)}@media (max-width: 900px){.cookbook-header,.cookbook-columns{flex-direction:column;gap:1.5rem;max-width:98vw;padding-left:1vw;padding-right:1vw}.cookbook-image{width:100%;max-width:100vw;height:80px;margin-top:.5em}}.btn-close-view{position:fixed;top:1.5rem;left:1.5rem;background:none;border:none;font-size:2.2rem;color:var(--accent-color);cursor:pointer;border-radius:0;padding:0;transition:color .2s;z-index:100;box-shadow:none}.btn-close-view:hover{color:var(--accent-hover)}.cookbook-ingredients .cookbook-section-title:not(:first-child){margin-top:2rem}.thumbnails-gallery{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.thumbnail-item{display:flex;flex-direction:column;align-items:center;width:120px}.thumbnail-preview{position:relative;width:120px;height:120px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-light);margin-bottom:4px}.thumbnail-preview img{width:100%;height:100%;object-fit:cover;border-radius:8px}.thumbnail-preview .btn-remove-image{position:absolute;top:4px;right:4px;background:var(--error-color);color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;opacity:.85;transition:background .2s,opacity .2s}.thumbnail-preview .btn-remove-image:hover{background:#b71c1c;opacity:1}.cookbook-gallery{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0 0}.cookbook-gallery .gallery-image{width:120px;height:120px;object-fit:cover;border-radius:8px;box-shadow:0 2px 8px var(--shadow-light)}.cookbook-gallery .gallery-caption{text-align:center;font-size:.9rem;color:var(--text-secondary);margin-top:4px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cookbook-image{display:none!important}.cookbook-hero-gallery{display:flex;flex-direction:column;align-items:center;margin:3rem 0 2.5rem;width:100%;max-width:none}.hero-image-wrapper{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem;width:100%}.hero-image{width:100%;max-width:1000px;height:auto;aspect-ratio:5/2;object-fit:cover;border-radius:0;box-shadow:0 8px 32px #0000001f;background:#fff;margin-bottom:1rem;border:1px solid #f0f0f0;display:block}.hero-caption{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;color:var(--text-secondary);text-align:center;max-width:1000px;line-height:1.5;font-style:italic;border-radius:0}.cookbook-thumbnails-row{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-top:1rem;width:100%}.thumbnail-gallery-item{display:flex;flex-direction:column;align-items:center;width:200px}.thumbnail-gallery-item .gallery-image{width:100%;height:140px;object-fit:cover;border-radius:0;box-shadow:0 4px 16px #00000014;background:#fff;border:1px solid #f0f0f0;display:block}.thumbnail-gallery-item .gallery-caption{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.9rem;color:var(--text-muted);text-align:center;margin-top:.5rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4;border-radius:0}.profile-page{display:block;padding:2rem 0;max-width:800px;margin:0 auto;width:100%}.profile-info-card{background:var(--bg-secondary);border:1.5px solid var(--border-color);box-shadow:var(--shadow-light);border-radius:10px;padding:2.5rem;margin-bottom:2rem;width:100%;box-sizing:border-box;display:block;text-align:left}.profile-info-card h2{text-align:left;margin-bottom:2rem;color:var(--accent-color);font-family:var(--serif-heading);font-size:2.2rem}.profile-info-card button{background:var(--accent-color);color:#fff;border:none;border-radius:6px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-right:1rem;margin-bottom:1rem}.profile-info-card button:hover{background:var(--accent-hover)}.profile-info-card button[style*="background: var(--error-color)"]{background:var(--error-color)!important}.profile-info-card button[style*="background: var(--error-color)"]:hover{background:#c82333!important}.profile-field{font-size:1.1rem;color:var(--text-primary);margin-bottom:1rem;display:flex;gap:.5rem;align-items:center}.profile-field span:first-child{font-weight:600;color:var(--accent-color);min-width:80px}@media (max-width: 700px){.profile-page{padding:1rem;max-width:100%}.profile-info-card{padding:1.5rem}}.profile-page-full{padding:0!important;background:var(--bg-primary);min-height:100vh;display:flex;flex-direction:column}.profile-auth-container{max-width:1200px;margin:0 auto;padding:4rem 2rem;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 80px)}.profile-auth-header{text-align:center;margin-bottom:3rem;max-width:600px}.profile-auth-header h1{font-family:var(--serif-heading);font-size:3rem;font-weight:700;color:var(--accent-color);margin-bottom:1rem;line-height:1.2}.profile-auth-header p{font-size:1.2rem;color:var(--text-secondary);line-height:1.6}.profile-auth-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;width:100%;max-width:1000px;align-items:start}.auth-section{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:12px;padding:2.5rem;box-shadow:var(--shadow-light)}.auth-section h2{font-family:var(--serif-heading);font-size:1.8rem;color:var(--accent-color);margin-bottom:1.5rem;text-align:center}.btn-google-auth{width:100%;background:#fff;border:1.5px solid var(--border-color);border-radius:8px;padding:1rem 1.5rem;font-size:1rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.btn-google-auth:hover{background:var(--bg-tertiary);border-color:var(--accent-color);box-shadow:var(--shadow-light)}.btn-google-auth svg{flex-shrink:0}.auth-divider{text-align:center;margin:1.5rem 0;position:relative}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-color)}.auth-divider span{background:var(--bg-secondary);padding:0 1rem;color:var(--text-muted);font-size:.9rem;position:relative;z-index:1}.auth-form{width:100%}.auth-mode-header{display:flex;gap:1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.auth-mode-title{font-family:var(--serif-heading);font-size:1.1rem;color:var(--text-muted);cursor:pointer;padding:.5rem 0;border-bottom:2px solid transparent;transition:all .2s ease;background:none;border:none;margin:0}.auth-mode-title:hover{color:var(--text-secondary)}.auth-mode-title.active{color:var(--accent-color);border-bottom-color:var(--accent-color)}.auth-form-content{display:flex;flex-direction:column;gap:1rem}.form-group{width:100%}.auth-label{display:block;font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.auth-input{width:100%;padding:1rem 1.25rem;border:1.5px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease}.auth-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #2d50161a}.auth-input::placeholder{color:var(--text-muted)}.btn-auth-submit{width:100%;background:var(--accent-color);color:#fff;border:none;border-radius:8px;padding:1rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.btn-auth-submit:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-medium)}.btn-auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-switch{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.auth-switch p{color:var(--text-secondary);font-size:.95rem}.auth-switch-link{background:none;border:none;color:var(--accent-color);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.auth-switch-link:hover{color:var(--accent-hover)}.auth-success-message{background:#28a7451a;border:1px solid rgba(40,167,69,.3);border-radius:6px;padding:.75rem 1rem;color:var(--success-color);font-size:.9rem;text-align:center}.auth-error{background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:6px;padding:.75rem 1rem;color:var(--error-color);font-size:.9rem;text-align:center;margin-top:1rem}.auth-features{display:flex;flex-direction:column;gap:2rem}.feature-item{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:12px;padding:2rem;text-align:center;transition:all .2s ease}.feature-item:hover{border-color:var(--accent-color);box-shadow:var(--shadow-light);transform:translateY(-2px)}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-item h3{font-family:var(--serif-heading);font-size:1.3rem;color:var(--accent-color);margin-bottom:.75rem}.feature-item p{color:var(--text-secondary);line-height:1.6;font-size:.95rem}.profile-container{max-width:1200px;margin:0 auto;padding:3rem 2rem;width:100%}.profile-header{text-align:center;margin-bottom:3rem}.profile-header h1{font-family:var(--serif-heading);font-size:2.5rem;font-weight:700;color:var(--accent-color);margin-bottom:.5rem}.profile-header p{font-size:1.1rem;color:var(--text-secondary)}.profile-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:start}.profile-card{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:12px;padding:2.5rem;box-shadow:var(--shadow-light)}.profile-avatar{text-align:center;margin-bottom:2rem}.profile-avatar img{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid var(--accent-color)}.avatar-placeholder{width:100px;height:100px;border-radius:50%;background:var(--accent-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:600;margin:0 auto;border:3px solid var(--accent-color)}.profile-info{text-align:center;margin-bottom:2rem}.profile-info h2{font-family:var(--serif-heading);font-size:1.8rem;color:var(--accent-color);margin-bottom:.5rem}.profile-email{color:var(--text-secondary);font-size:1.1rem;margin-bottom:.25rem}.profile-provider{color:var(--text-muted);font-size:.9rem;font-style:italic}.email-verification-warning{background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:8px;padding:1rem;margin-top:1rem;display:flex;align-items:flex-start;gap:.75rem}.email-verification-warning.critical{background:#dc35451a;border:1px solid rgba(220,53,69,.3)}.email-verification-warning.critical .warning-content h4,.email-verification-warning.critical .warning-content p{color:#721c24}.email-verification-warning.critical .btn-verify-email{background:#721c24}.email-verification-warning.critical .btn-verify-email:hover{background:#5a1a1e}.warning-icon{font-size:1.2rem;flex-shrink:0;margin-top:.1rem}.warning-content h4{color:#856404;font-size:.95rem;font-weight:600;margin-bottom:.25rem}.warning-content p{color:#856404;font-size:.85rem;margin-bottom:.75rem;line-height:1.4}.btn-verify-email{background:#856404;color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-verify-email:hover{background:#6d5204;transform:translateY(-1px);box-shadow:var(--shadow-light)}.email-verification-success{background:#28a7451a;border:1px solid rgba(40,167,69,.3);border-radius:8px;padding:.75rem 1rem;margin-top:1rem;display:flex;align-items:center;gap:.5rem}.success-icon{font-size:1rem;flex-shrink:0}.email-verification-success span{color:var(--success-color);font-size:.9rem;font-weight:600}.profile-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-profile-action{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-logout{background:var(--accent-color);color:#fff}.btn-logout:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-light)}.btn-delete{background:var(--error-color);color:#fff}.btn-delete:hover{background:#c82333;transform:translateY(-1px);box-shadow:var(--shadow-light)}.profile-sidebar{display:flex;flex-direction:column;gap:1.5rem}.sidebar-card{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-light)}.sidebar-card h3{font-family:var(--serif-heading);font-size:1.3rem;color:var(--accent-color);margin-bottom:1rem}.stats-grid{display:grid;grid-template-columns:1fr;gap:1rem}.stat-item{text-align:center;padding:1rem;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color)}.stat-number{display:block;font-size:2rem;font-weight:700;color:var(--accent-color);margin-bottom:.25rem}.stat-label{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.btn-quick-action{width:100%;background:var(--bg-primary);border:1.5px solid var(--border-color);border-radius:6px;padding:.75rem 1rem;font-size:.95rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;margin-bottom:.75rem;text-align:left}.btn-quick-action:hover{border-color:var(--accent-color);background:var(--bg-tertiary);transform:translateY(-1px);box-shadow:var(--shadow-light)}.btn-quick-action:last-child{margin-bottom:0}@media (max-width: 900px){.profile-auth-content{grid-template-columns:1fr;gap:2rem}.profile-content{grid-template-columns:1fr;gap:1.5rem}.profile-auth-header h1{font-size:2.5rem}.profile-header h1{font-size:2rem}}@media (max-width: 600px){.profile-auth-container,.profile-container{padding:2rem 1rem}.auth-section,.profile-card{padding:2rem 1.5rem}.profile-actions{flex-direction:column}.btn-profile-action{width:100%}.profile-auth-header h1{font-size:2rem}.profile-header h1{font-size:1.8rem}}.verification-sent-container{text-align:center;padding:2rem 0}.verification-icon{font-size:3rem;margin-bottom:1rem}.verification-sent-container h3{font-family:var(--serif-heading);font-size:1.5rem;color:var(--accent-color);margin-bottom:1rem}.verification-sent-container p{color:var(--text-secondary);margin-bottom:.75rem;line-height:1.6}.verification-instructions{font-size:.9rem;color:var(--text-muted);margin-bottom:2rem}.verification-note{font-size:.85rem;color:var(--text-muted);margin-top:1.5rem;padding:.75rem;background:var(--bg-tertiary);border-radius:6px;border-left:3px solid var(--accent-color)}.registration-notice{background:#2d50160d;border:1px solid rgba(45,80,22,.2);border-radius:6px;padding:.75rem;margin-bottom:1rem}.registration-notice p{font-size:.85rem;color:var(--text-secondary);margin:0;text-align:center}.verification-actions{display:flex;flex-direction:column;gap:1rem;align-items:center}.btn-resend-verification{background:var(--accent-color);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:150px}.btn-resend-verification:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-light)}.btn-resend-verification:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-back-to-login{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:150px}.btn-back-to-login:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent-color)}.landing-page{min-height:100vh;width:100%;max-width:100vw;background:var(--bg-primary);font-family:var(--sans-body);overflow-x:hidden;overflow-y:hidden;box-sizing:border-box}.landing-page,.landing-page *{scrollbar-width:none!important;-ms-overflow-style:none!important}.landing-page::-webkit-scrollbar,.landing-page *::-webkit-scrollbar{display:none!important;width:0!important;background:transparent!important}.landing-nav{position:fixed;top:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:1000;padding:1rem 0}.nav-container{width:100%;max-width:none;margin:0;padding:0 4rem;display:flex;justify-content:space-between;align-items:center}.nav-logo .logo-text{font-family:var(--serif-heading);font-size:1.8rem;font-weight:700;color:var(--accent-color)}.nav-actions{display:flex;gap:1rem;align-items:center}.hero-section{padding:8rem 0 6rem;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);min-height:100vh;width:100%;display:flex;align-items:center;box-sizing:border-box;overflow-x:hidden}.hero-container{width:100%;max-width:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;box-sizing:border-box}.hero-content{max-width:none;width:100%}.hero-title{font-family:var(--serif-heading);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.1;color:var(--text-primary);margin-bottom:1.5rem}.title-accent{color:var(--accent-color);display:block}.hero-subtitle{font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.6;color:var(--text-secondary);margin-bottom:2.5rem}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-hero{padding:1rem 2rem;font-size:1.1rem;font-weight:600}.btn-outline{background:transparent;color:var(--accent-color);border:2px solid var(--accent-color);border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-outline:hover{background:var(--accent-color);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-medium)}.btn-large{padding:1.25rem 2.5rem;font-size:1.2rem}.hero-visual{display:flex;justify-content:center;align-items:center;width:100%}.hero-image-placeholder{width:100%;max-width:none;aspect-ratio:4/3;background:var(--bg-secondary);border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-heavy);border:1px solid var(--border-color)}.recipe-card-preview{background:#fff;border-radius:12px;padding:2rem;margin:2rem;box-shadow:var(--shadow-medium);border:1px solid var(--border-color);width:100%;overflow:hidden}.preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.preview-header h3{font-family:var(--serif-heading);font-size:1.3rem;color:var(--accent-color);margin:0}.preview-badge{background:var(--accent-color);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.preview-content p{color:var(--text-secondary);font-style:italic;margin:0}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.landing-page .container{max-width:100vw;width:100%;margin:0;padding:0 2rem;box-sizing:border-box;overflow-x:hidden}.features-section{padding:6rem 0;background:var(--bg-primary);width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{font-family:var(--serif-heading);font-size:clamp(2rem,4vw,3rem);color:var(--accent-color);margin-bottom:1rem}.section-header p{font-size:1.2rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.feature-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem;text-align:center;transition:all .3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium);border-color:var(--accent-color)}.feature-card .feature-icon{font-size:3rem;margin-bottom:1.5rem;display:block}.feature-card h3{font-family:var(--serif-heading);font-size:1.4rem;color:var(--accent-color);margin-bottom:1rem}.feature-card p{color:var(--text-secondary);line-height:1.6;margin:0}.stats-section{padding:4rem 0;background:var(--accent-color);color:#fff;width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;text-align:center}.stat-card{padding:2rem 1rem}.stat-number{font-family:var(--serif-heading);font-size:clamp(2rem,4vw,3rem);font-weight:700;margin-bottom:.5rem;display:block}.stat-label{font-size:1.1rem;opacity:.9;text-transform:uppercase;letter-spacing:1px}.cta-section{padding:6rem 0;background:var(--bg-secondary);text-align:center;width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.cta-content h2{font-family:var(--serif-heading);font-size:clamp(2rem,4vw,3rem);color:var(--accent-color);margin-bottom:1rem}.cta-content p{font-size:1.2rem;color:var(--text-secondary);margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto}.landing-footer{background:var(--text-primary);color:#fff;padding:3rem 0 1rem;width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:2rem}.footer-brand .logo-text{font-family:var(--serif-heading);font-size:1.5rem;font-weight:700;color:#fff;display:block;margin-bottom:.5rem}.footer-brand p{color:#ffffffb3;margin:0}.footer-links{display:flex;gap:2rem;flex-wrap:wrap}.footer-link{color:#ffffffb3;text-decoration:none}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1rem;text-align:center}.footer-bottom p{color:#ffffff80;margin:0;font-size:.9rem}@media (max-width: 768px){.hero-container{grid-template-columns:1fr;gap:2rem;text-align:center}.hero-actions{justify-content:center}.features-grid,.stats-grid{grid-template-columns:1fr}.footer-content{flex-direction:column;text-align:center}.footer-links{justify-content:center}.nav-container,.container,.landing-page .container{padding:0 1rem}}@media (max-width: 480px){.hero-section{padding:6rem 0 4rem}.hero-actions{flex-direction:column;align-items:center}.btn-hero{width:100%;max-width:300px}.feature-card{padding:2rem 1.5rem}}.landing-page .container,.hero-container{max-width:1200px;margin:0 auto;width:100%;padding:0 .5rem;box-sizing:border-box}.landing-page .page-container{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;box-sizing:border-box!important}.btn-tab{background:none;border:2px solid var(--accent-color);color:var(--accent-color);border-radius:8px;padding:.6rem 1.3rem;font-size:1rem;font-weight:600;cursor:pointer;margin-right:.5rem;transition:background .2s,color .2s,border-color .2s}.btn-tab:hover,.btn-tab:focus{background:var(--accent-color);color:#fff;border-color:var(--accent-hover)}
