.swack-recipes-overlay{position:fixed;inset:0;z-index:18000;background:rgba(16,12,28,.36);display:flex;align-items:flex-end;justify-content:center;color:var(--text,#191721)}
.swack-recipe-sheet{width:min(100%,600px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 12px);background:var(--bg,#fbfaff);border-radius:24px 24px 0 0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -8px 40px #17102618}.swack-recipe-enter{animation:swack-recipe-enter .28s cubic-bezier(.2,.8,.2,1)}
.swack-recipe-sheet header{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border,#e5e1ea);flex:none}.swack-recipe-sheet header h2{font-size:20px;line-height:1.25;flex:1;margin:0}.swack-recipe-sheet header button{border:0;background:none;font-size:28px;width:44px;min-height:44px;color:inherit;padding:0}
.swack-recipe-content{overflow-y:auto;overscroll-behavior:contain;padding:20px 20px calc(22px + env(safe-area-inset-bottom,0px));scrollbar-gutter:stable;display:flex;flex-direction:column;gap:16px}.swack-recipe-content button{font:inherit;min-height:44px;touch-action:manipulation;cursor:pointer}.swack-recipe-content label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}.swack-recipe-content input,.swack-recipe-content textarea{width:100%;box-sizing:border-box;min-width:0;font:inherit;font-size:16px;color:inherit;border:1px solid var(--border,#e5e1ea);background:var(--surface,#f5f3fa);border-radius:12px;padding:12px;min-height:44px}.swack-recipe-content textarea{resize:vertical;min-height:120px}.swack-recipe-content p,.swack-recipe-content h3{margin:0}.swack-recipe-content h3{font-size:24px}
.swack-recipe-actions{display:flex;gap:12px}.swack-recipe-actions button,.swack-recipe-link{color:var(--accent,#7045eb);background:none;border:0;padding:4px 0;text-align:left;font-weight:600}.swack-recipe-primary{border:0;color:#fff;background:#7045eb;border-radius:12px;padding:12px 20px;align-self:flex-start;font-weight:700!important}.swack-recipe-primary:disabled{opacity:.65}.swack-recipe-list{display:flex;flex-direction:column}.swack-recipe-row{display:flex;border-bottom:1px solid var(--border,#e5e1ea);gap:8px;padding:12px 0}.swack-recipe-row>button:first-child{flex:1;text-align:left;background:none;border:0;color:inherit;padding:0;display:flex;flex-direction:column;justify-content:center;gap:6px}.swack-recipe-row strong{font-size:17px}.swack-recipe-row span,.swack-recipe-muted,.swack-recipe-empty{font-size:14px;line-height:1.5;color:var(--muted,#696270)}.swack-recipe-star{width:44px;background:none;border:0;color:var(--accent,#7045eb);font-size:27px!important;flex:none}
.swack-recipe-nutrition{display:flex;flex-direction:column;gap:5px}.swack-recipe-nutrition strong{font-size:28px}.swack-recipe-nutrition span{font-size:14px;color:var(--muted,#696270)}.swack-recipe-yield{flex-direction:row!important;align-items:center;flex-wrap:wrap}.swack-recipe-yield input{width:90px}.swack-recipe-source{color:var(--accent,#7045eb);font-size:14px;line-height:1.5;min-height:44px;display:flex;align-items:center}.swack-recipe-ingredients{border-top:1px solid var(--border,#e5e1ea)}.swack-recipe-ingredient{display:grid;grid-template-columns:minmax(0,1fr) 100px 36px;gap:8px;padding:12px 0;border-bottom:1px solid var(--border,#e5e1ea);align-items:center}.swack-recipe-ingredient>div{display:flex;flex-direction:column;align-items:flex-start}.swack-recipe-ingredient strong{font-size:15px}.swack-recipe-ingredient label{flex-direction:row;align-items:center;gap:5px}.swack-recipe-ingredient input{padding:8px;width:64px}.swack-recipe-ingredient .swack-recipe-link{font-size:13px;min-height:30px}.swack-recipe-remove{border:0;background:none;color:var(--muted,#696270);font-size:23px!important;padding:0}.swack-recipe-ingredient .swack-recipe-ingredient-line{grid-column:1/-1;flex-direction:column;align-items:stretch}.swack-recipe-ingredient-line input{width:100%}.swack-recipe-portion-options{display:flex;gap:8px}.swack-recipe-portion-options button{flex:1;background:none;color:inherit;border:1px solid var(--border,#e5e1ea);border-radius:10px}.swack-recipe-portion-options [aria-pressed=true]{background:#7045eb;color:#fff;border-color:#7045eb}.swack-recipe-error{color:#a73443;font-size:14px;line-height:1.5}.swack-recipe-import-failure{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.swack-recipe-import-failure button{background:none;border:0;color:var(--accent,#7045eb);padding:6px 0}.swack-recipe-paste{display:flex;flex-direction:column;gap:16px}.swack-recipe-content :focus-visible,.swack-recipe-sheet header :focus-visible{outline:3px solid #a78aff;outline-offset:3px}
@keyframes swack-recipe-enter{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
.swack-recipe-inspiration-entry{border-top:1px solid var(--border,#e5e1ea);padding-top:16px;margin-top:8px}.swack-recipe-steps{padding-left:22px;display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.55}.swack-recipe-content ul{padding-left:20px;line-height:1.7;font-size:15px}
.swack-recipes-overlay{--recipe-link:#6840d7}.swack-recipe-link,.swack-recipe-star,.swack-recipe-source,.swack-recipe-actions button,.swack-recipe-import-failure button{color:var(--recipe-link)}html[data-theme="dark"] .swack-recipes-overlay{--recipe-link:#bca6ff}
@media(prefers-color-scheme:dark){html:not([data-theme]) .swack-recipes-overlay{--recipe-link:#bca6ff}}
@media(prefers-reduced-motion:reduce){.swack-recipe-sheet{animation:none}}
.swack-recipe-previews .swack-recipe-retry{position:static;font-size:13px;border-radius:8px;width:100%;margin-top:4px;padding:6px 3px;min-height:44px;color:var(--recipe-link)}
@media(max-width:374px){.swack-recipe-content{padding-left:14px;padding-right:14px}.swack-recipe-ingredient{grid-template-columns:minmax(0,1fr) 92px 30px}}
.swack-recipe-import-alternatives,.swack-recipe-screenshots{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.swack-recipe-screenshots>p{font-size:14px;line-height:1.5}.swack-recipe-previews{display:flex;flex-wrap:wrap;gap:12px;width:100%}.swack-recipe-previews figure{position:relative;margin:0;width:calc((100% - 24px)/3);min-width:0}.swack-recipe-previews img{display:block;width:100%;height:128px;object-fit:contain;background:var(--surface,#f5f3fa);border:1px solid var(--border,#e5e1ea);border-radius:10px}.swack-recipe-previews figcaption{font-size:12px;text-align:center;padding-top:5px;color:var(--muted,#696270)}.swack-recipe-previews button{position:absolute;right:-4px;top:-4px;min-width:44px;min-height:44px;font-size:24px;border-radius:50%;background:var(--bg,#fff);color:var(--text,#191721);border:1px solid var(--border,#e5e1ea)}.swack-recipe-content button:disabled{cursor:default;opacity:.6}.swack-recipe-scan-progress{width:100%;display:flex;flex-direction:column;gap:10px;font-size:14px}.swack-recipe-scan-progress>span{height:5px;border-radius:5px;background:linear-gradient(90deg,#7045eb,#b9a1ff,#7045eb);background-size:200% 100%;animation:swack-recipe-scan 1.5s ease-in-out infinite}.swack-recipe-section{font-size:16px;margin:20px 0 0}.swack-recipe-ingredient .swack-recipe-remove{min-width:44px;min-height:44px}.swack-recipe-ingredient{grid-template-columns:minmax(0,1fr) 100px 44px}.swack-recipe-ingredient label{font-size:13px}.swack-recipe-ingredient-line input{width:100%}@keyframes swack-recipe-scan{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.swack-recipe-scan-progress>span{animation:none}}@media(max-width:374px){.swack-recipe-ingredient{grid-template-columns:minmax(0,1fr) 88px 44px}}
/* Allergy/intolerance observations stay visible for imported and saved meals. */
.swack-recipe-content .swack-food-avoidance{padding:12px 14px;border-left:3px solid var(--recipe-link);background:var(--bp-card,#fff);font-size:14px;line-height:1.5}
.swack-recipe-content .swack-food-avoidance p{font-size:14px;line-height:1.5;margin-top:6px}

/* Enter only once; resolving or editing an existing sheet must stay opaque. */
.swack-recipe-draft{padding:14px;border:1px solid var(--border,#e5e1ea);border-radius:12px;background:var(--surface,#f5f3fa);display:grid;gap:8px}.swack-recipe-draft>div{display:flex;gap:20px;flex-wrap:wrap}.swack-recipe-method summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}
