.recipe-display{background:var(--bg-secondary);border-radius:20px;padding:2.5rem;border:2px solid var(--border-color);animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.recipe-title{font-size:2rem;font-weight:700;color:var(--green-primary);margin-bottom:2rem;text-align:center;line-height:1.2}.recipe-section{margin-bottom:2.5rem}.recipe-section:last-of-type{margin-bottom:2rem}.section-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.icon{font-size:1.75rem}.recipe-list{list-style:none;display:flex;flex-direction:column;gap:1rem}.recipe-item{color:var(--text-primary);font-size:1.05rem;line-height:1.6;display:flex;align-items:flex-start;gap:1rem;padding:.75rem;background:var(--bg-tertiary);border-radius:10px;border-left:3px solid var(--green-primary);transition:all .2s ease}.recipe-item:hover{background:var(--bg-primary);transform:translate(4px)}.bullet{width:8px;height:8px;background:var(--green-primary);border-radius:50%;margin-top:.5rem;flex-shrink:0}.step-number{width:28px;height:28px;background:var(--green-primary);color:var(--bg-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.save-pdf-button{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--green-dark) 0%,var(--green-secondary) 100%);color:#fff;padding:.75rem 1.5rem;border-radius:50px;font-weight:600;font-size:.95rem;box-shadow:0 4px 12px #4ade8040;border:none;cursor:pointer;transition:all .3s ease}.save-pdf-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4ade8059;background:linear-gradient(135deg,var(--green-secondary) 0%,var(--green-dark) 100%)}.save-pdf-button:active{transform:translateY(0);box-shadow:0 2px 8px #4ade8033}.pdf-icon{font-size:1.2rem}@media(max-width:640px){.recipe-display{padding:1.5rem;border-radius:16px}.recipe-title{font-size:1.5rem;margin-bottom:1.5rem}.recipe-section{margin-bottom:2rem}.section-title{font-size:1.25rem;margin-bottom:1.25rem;gap:.5rem;padding-bottom:.5rem}.icon{font-size:1.5rem}.recipe-list{gap:.75rem}.recipe-item{font-size:1rem;padding:.625rem;gap:.75rem}.recipe-item:hover{transform:none}.step-number{width:26px;height:26px;font-size:.85rem}.save-pdf-button{padding:.625rem 1.25rem;font-size:.9rem;justify-content:center;width:100%}.pdf-icon{font-size:1.1rem}}@media(max-width:400px){.recipe-display{padding:1rem;border-radius:12px}.recipe-title{font-size:1.35rem}.section-title{font-size:1.15rem;gap:.4rem}.icon{font-size:1.35rem}.recipe-item{font-size:.95rem;padding:.5rem;gap:.5rem}.step-number{width:24px;height:24px;font-size:.8rem}.bullet{width:7px;height:7px}.save-pdf-button{padding:.5rem 1rem;font-size:.85rem}}.markdown-text{display:inline}.markdown-text strong{font-weight:700;color:var(--green-primary)}.markdown-text em{font-style:italic;opacity:.9}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0e0fd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeInOverlay .2s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-secondary);border-radius:20px;padding:2rem;max-width:500px;width:100%;border:2px solid var(--border-color);box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;text-align:center}.modal-description{color:var(--text-secondary);text-align:center;margin-bottom:2rem;line-height:1.5}.modal-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.modal-button{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:1rem;text-align:left;min-height:60px;-webkit-tap-highlight-color:transparent}.modal-button:hover{border-color:var(--green-primary);background:var(--bg-primary);transform:translateY(-2px);box-shadow:0 4px 12px #4ade8026}.modal-button:active{transform:translateY(0)}.modify-button:hover,.new-button:hover,.quick-button:hover,.standard-button:hover{border-color:var(--green-primary)}.button-icon{font-size:2rem;flex-shrink:0}.button-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.button-label{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.button-hint{font-size:.9rem;color:var(--text-secondary)}.modal-close{width:100%;background:transparent;border:1px solid var(--border-color);border-radius:10px;padding:.75rem;color:var(--text-secondary);font-size:1rem;cursor:pointer;transition:all .2s ease;min-height:44px;-webkit-tap-highlight-color:transparent}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary)}@media(hover:none)and (pointer:coarse){.modal-button:hover{border-color:var(--border-color);background:var(--bg-tertiary);transform:none;box-shadow:none}.modal-close:hover{background:transparent;color:var(--text-secondary);border-color:var(--border-color)}}@media(max-width:640px){.modal-overlay{padding:.75rem}.modal-content{padding:1.5rem;border-radius:16px}.modal-title{font-size:1.5rem;margin-bottom:.625rem}.modal-description{font-size:.95rem;margin-bottom:1.5rem}.modal-buttons{gap:.875rem;margin-bottom:1.25rem}.modal-button{padding:1rem;gap:.875rem}.button-icon{font-size:1.75rem}.button-label{font-size:1.1rem}.button-hint{font-size:.85rem}.modal-close{padding:.625rem;font-size:.95rem}}@media(max-width:400px){.modal-overlay{padding:.5rem}.modal-content{padding:1.25rem}.modal-title{font-size:1.35rem}.modal-description{font-size:.9rem}.modal-button{padding:.875rem;gap:.75rem}.button-icon{font-size:1.5rem}.button-label{font-size:1rem}.button-hint{font-size:.8rem}.modal-close{font-size:.9rem}}.app{min-height:100vh;padding:2rem 1rem}.container{max-width:800px;margin:0 auto}.header{text-align:center;margin-bottom:3rem}.logo{font-size:3.5rem;font-weight:700;background:linear-gradient(135deg,var(--green-primary) 0%,var(--green-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;letter-spacing:-.02em}.tagline{color:var(--text-secondary);font-size:1rem;font-weight:400}.search-section{margin-bottom:3rem}.input-wrapper{display:flex;gap:1rem;background:var(--bg-secondary);padding:1rem;border-radius:16px;border:2px solid var(--border-color);transition:border-color .3s ease}.input-wrapper:focus-within{border-color:var(--green-primary)}.search-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:1.1rem;outline:none;padding:.5rem}.search-input::placeholder{color:var(--text-secondary)}.search-input:disabled{opacity:.5;cursor:not-allowed}.go-button{background:linear-gradient(135deg,var(--green-primary) 0%,var(--green-secondary) 100%);color:var(--bg-primary);border:none;padding:.75rem 2.5rem;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4ade8033;min-height:44px;-webkit-tap-highlight-color:transparent}.go-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4ade804d}.go-button:active:not(:disabled){transform:translateY(0)}.go-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading{text-align:center;padding:4rem 2rem}.spinner{width:50px;height:50px;margin:0 auto 1.5rem;border:4px solid var(--bg-tertiary);border-top:4px solid var(--green-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading p{color:var(--text-secondary);font-size:1.1rem}.error{text-align:center;padding:2rem;background:#ef44441a;border:2px solid rgba(239,68,68,.3);border-radius:12px;margin-bottom:2rem}.error p{color:#ef4444;font-size:1rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(hover:none)and (pointer:coarse){.go-button:hover:not(:disabled){transform:none;box-shadow:0 4px 12px #4ade8033}}@media(max-width:640px){.app{padding:1.5rem 1rem}.header{margin-bottom:2rem}.logo{font-size:2.5rem}.tagline{font-size:.95rem}.search-section{margin-bottom:2rem}.input-wrapper{flex-direction:column;padding:.75rem;gap:.75rem}.search-input{font-size:1rem;padding:.25rem}.go-button{width:100%;padding:.875rem 2rem}.loading{padding:3rem 1rem}.loading p{font-size:1rem}.error{padding:1.5rem;margin-bottom:1.5rem}.error p{font-size:.95rem}}@media(max-width:400px){.app{padding:1rem .75rem}.logo{font-size:2rem}.tagline{font-size:.9rem}.search-input{font-size:.95rem}.go-button{font-size:1rem;padding:.75rem 1.5rem}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary)}.error-boundary-content{max-width:600px;text-align:center;background:var(--bg-secondary);padding:3rem 2rem;border-radius:16px;border:2px solid var(--border-color)}.error-boundary-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.error-boundary-message{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.error-boundary-details{text-align:left;margin:2rem 0;padding:1rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.error-boundary-details summary{cursor:pointer;color:var(--text-secondary);font-weight:600;-webkit-user-select:none;user-select:none}.error-boundary-details summary:hover{color:var(--text-primary)}.error-boundary-stack{margin-top:1rem;padding:1rem;background:var(--bg-primary);border-radius:6px;overflow-x:auto;color:#ef4444;font-size:.875rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;white-space:pre-wrap;word-break:break-word}.error-boundary-button{background:linear-gradient(135deg,var(--green-primary) 0%,var(--green-secondary) 100%);color:var(--bg-primary);border:none;padding:1rem 2.5rem;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4ade8033}.error-boundary-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ade804d}.error-boundary-button:active{transform:translateY(0)}@media(max-width:640px){.error-boundary-content{padding:2rem 1.5rem}.error-boundary-title{font-size:1.5rem}.error-boundary-message{font-size:1rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0e0f;--bg-secondary: #131a1c;--bg-tertiary: #1a2426;--text-primary: #e8f0f2;--text-secondary: #a8b8ba;--green-primary: #4ade80;--green-secondary: #22c55e;--green-dark: #16a34a;--border-color: #1f2d30;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}#root{min-height:100vh}
