.recipe-detail-page{padding-bottom:120px;background-color:#fcfcfc;min-height:100vh;max-width:800px;margin:0 auto;box-shadow:0 0 40px rgba(0,0,0,.05)}@media (min-width:1024px){.recipe-detail-page{margin-top:40px;margin-bottom:40px;border-radius:32px;overflow:hidden}}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:16px;position:sticky;top:0;z-index:50;background:hsla(0,0%,100%,.9);backdrop-filter:blur(8px)}.action-btn,.back-button{width:40px;height:40px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.08);color:#475569;transition:all .2s}.action-btn:active,.back-button:active{transform:scale(.95)}.header-actions{display:flex;gap:8px}.action-btn.active{color:#f97316;background-color:#fff7ed}.recipe-hero{position:relative;width:100%;background-color:#f1f5f9}.hero-image{width:100%;height:auto;display:block}.hero-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#fed7aa,#fdba74 50%,#fb923c);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff}.hero-placeholder svg{opacity:.9}.hero-placeholder span{font-size:14px;font-weight:600;opacity:.85}.hero-badges{position:absolute;bottom:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap;z-index:20}.safe-badge{background:hsla(0,0%,100%,.95);color:#ea580c;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;align-items:center;gap:4px}.recipe-info{padding:24px 20px;background:#fff;border-radius:24px 24px 0 0;margin-top:-12px;position:relative;z-index:30;box-shadow:0 -10px 20px rgba(0,0,0,.05)}.detail-title{font-size:24px;font-weight:800;color:#1e293b;margin-bottom:16px;line-height:1.5;letter-spacing:-.02em}.recipe-meta{justify-content:space-between;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #f1f5f9}.author-info,.recipe-meta{display:flex;align-items:center}.author-info{gap:8px}.author-avatar-placeholder.small,.author-avatar-small{width:32px;height:32px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.author-avatar-placeholder.small{background:#e2e8f0;display:flex;align-items:center;justify-content:center;color:#94a3b8}.author-name{font-size:13px;color:#64748b;font-weight:500;display:flex;align-items:center;gap:6px}.pro-author-badge{display:inline-flex;align-items:center;gap:3px;background:linear-gradient(135deg,gold,orange);color:#fff;padding:2px 6px;border-radius:9999px;font-size:9px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.date-info{font-size:12px;color:#94a3b8;display:flex;align-items:center;gap:4px}.thanks-section{margin-bottom:20px}.source-link-btn,.thanks-section{display:flex;justify-content:center}.source-link-btn{align-items:center;gap:10px;width:100%;padding:16px 20px;background:linear-gradient(135deg,#fb923c,#f97316);color:#fff;font-weight:700;font-size:16px;border-radius:14px;margin-bottom:24px;transition:all .3s ease;box-shadow:0 4px 14px rgba(249,115,22,.35)}.source-link-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(249,115,22,.45)}.source-link-btn:active{transform:translateY(0)}.collection-action-section{margin-bottom:20px}.detail-section{margin-bottom:32px}.detail-section h3{font-size:15px;font-weight:700;color:#334155;margin-bottom:12px}.allergen-list,.ingredient-tags,.scenes-list,.tags-list{display:flex;flex-wrap:wrap;gap:8px}.allergen-chip{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600}.allergen-chip.free-from{background:#ecfdf5;color:#059669;border:1px solid #d1fae5}.ingredient-tag{padding:6px 12px;border-radius:20px;background:#f1f5f9;color:#475569;font-size:13px}.recipe-description{font-size:1rem;line-height:1.8;color:#4a5568;white-space:pre-wrap}.recipe-additional-images{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.additional-image-wrapper{flex:1 1 200px;max-width:100%;border-radius:12px;overflow:hidden;background:#f7fafc;border:1px border-slate-100}.additional-image{width:100%;height:auto;display:block;-o-object-fit:contain;object-fit:contain}.scene-chip,.tag-chip{padding:4px 12px;border-radius:16px;font-size:12px;background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.tried-reports-section{margin-top:16px;padding-top:24px;border-top:1px solid #f1f5f9}.section-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px}.section-header-with-action h3{margin:0;font-size:16px}.add-report-btn{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#f97316;background:#fff7ed;padding:8px 16px;border-radius:24px;border:1px solid #fed7aa;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.add-report-btn:hover{background:#ffedd5;transform:translateY(-1px)}.recommendations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.recommendation-card img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border-radius:12px;margin-bottom:8px}.rec-title{font-size:12px;font-weight:700;color:#334155;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.empty-state{text-align:center;color:#94a3b8;font-size:13px;padding:20px}.empty-state-with-cta{text-align:center;padding:24px 16px;background:#f8fafc;border-radius:12px;border:1px dashed #e2e8f0}.empty-state-with-cta p{color:#94a3b8;font-size:14px;margin-bottom:12px}.cta-first-report{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:linear-gradient(135deg,#fb923c,#f97316);color:#fff;font-size:14px;font-weight:600;border-radius:24px;transition:all .3s;box-shadow:0 4px 12px rgba(249,115,22,.3)}.cta-first-report:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(249,115,22,.4)}.empty-recommendation-points{text-align:center;padding:20px 16px;background:#fffbeb;border-radius:12px;border:1px dashed #fcd34d}.empty-recommendation-points .text-muted{color:#d97706;font-size:14px;margin-bottom:12px}.add-points-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fef3c7;color:#92400e;font-size:13px;font-weight:600;border-radius:20px;transition:all .2s}.add-points-btn:hover{background:#fde68a}.floating-action-bar{position:fixed;bottom:112px;left:50%;transform:translateX(-50%);display:flex;gap:12px;padding:12px 20px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);border-radius:50px;box-shadow:0 12px 40px rgba(0,0,0,.2);border:1px solid var(--glass-border);z-index:100}.fab-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#f8fafc;border-radius:24px;font-size:13px;font-weight:600;color:#64748b;transition:all .2s ease;white-space:nowrap}.fab-btn:hover{background:#f1f5f9;transform:translateY(-1px)}.fab-btn:active{transform:scale(.97)}.fab-btn.active{background:#fff1f2;color:#f43f5e}.fab-btn.active:nth-child(2){background:#fff7ed;color:#f97316}.fab-label{font-weight:600}.fab-count{background:#e2e8f0;color:#475569;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;min-width:24px;text-align:center}.fab-btn.active .fab-count{background:#fecdd3;color:#be123c}.fab-btn.active:nth-child(2) .fab-count{background:#fed7aa;color:#c2410c}@media (max-width:400px){.floating-action-bar{padding:8px 12px;gap:6px}.fab-btn{padding:8px 10px;font-size:11px}.fab-label{display:none}}.allergen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;width:100%}.allergen-grid-item{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ecfdf5;border:1px solid #d1fae5;border-radius:12px;padding:10px 4px;text-align:center;transition:all .2s}.allergen-grid-item.active{background:#fff;border-color:#e2e8f0;opacity:.5}.allergen-icon-text{font-size:11px;font-weight:700;color:#059669;margin-top:4px;line-height:1.2}.allergen-icon-check{width:20px;height:20px;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:4px}