/* Saved recipes: one gesture back to the food, zero regeneration. */
[hidden] {display:none!important}
.topbar {height:auto!important; min-height:90px; padding-top:16px!important; padding-bottom:16px!important; gap:18px; flex-wrap:wrap}
.top-actions {flex-wrap:wrap; justify-content:flex-end; gap:8px!important}
#openLibraryButton {min-height:44px; background:#cfff45!important; color:#11110e!important; font-size:.9375rem!important; border:2px solid #11110e!important; gap:7px}
#openLibraryButton b {font-size:.875rem; white-space:nowrap}
#openLibraryButton>span {color:#11110e!important; font-size:1.125rem}
#libraryCount {display:inline-grid; place-items:center; min-width:24px; min-height:24px; padding:1px 5px; border-radius:50%; background:#11110e; color:#fff4e6; font-style:normal; font-size:.8125rem; font-weight:800}
.recent-recipes {display:flex; align-items:center; justify-content:space-between; gap:26px; padding:26px; margin:0 0 28px; border:2px solid #11110e; border-radius:22px; background:#11110e; color:#fff4e6; box-shadow:5px 6px 0 #ff5a18}
.recent-recipes>div:first-child {flex:1; min-width:0}
.recent-kicker {display:block; color:#cfff45; font-size:.875rem; font-weight:800; letter-spacing:.08em}
.recent-recipes h2 {font-size:clamp(1.4rem,2.5vw,1.8rem); line-height:1.25; margin:10px 0 12px; font-family:'Arial Black',Impact,sans-serif; letter-spacing:-.035em; color:#fff4e6}
.recent-recipes p {margin:8px 0 0; font-size:1rem; line-height:1.65; color:#f5ddc9; max-width:52rem}
.recent-recipes .recent-titles {font-size:1.0625rem; color:#fff4e6; overflow-wrap:anywhere}
.recent-actions {display:grid; gap:10px; min-width:180px}
.recent-actions button {border:2px solid #11110e; border-radius:12px; padding:14px 18px; font:inherit; font-size:1rem; font-weight:800; line-height:1.45; cursor:pointer; background:#ff7a3c; color:#11110e}
.recent-actions button+button {background:#fff4e6}
.results-saved-note {margin:0 0 22px; border-left:5px solid #ff5a18; padding:14px 18px; background:#fff4e6; color:#21180f; font-size:1rem; line-height:1.65; font-weight:650; border-radius:0 12px 12px 0}
.library-dialog {width:min(820px,calc(100% - 28px))!important; padding:34px!important; max-height:calc(100dvh - 28px)!important; overflow-y:auto; overscroll-behavior:contain; border:2px solid #11110e!important; border-radius:26px!important; background:#fff0dc!important; color:#11110e; box-shadow:8px 9px 0 #ff5a18!important}
.library-dialog::backdrop {background:rgba(17,17,14,.74)}
.library-dialog .library-kicker {margin:4px 48px 18px 0; font-size:.9375rem; color:#a92f00; font-weight:850; letter-spacing:.08em}
.library-dialog h2 {font-family:'Arial Black',Impact,sans-serif; font-size:clamp(2rem,5vw,3.25rem)!important; line-height:1.12!important; margin:0 0 20px!important; letter-spacing:-.04em}
.library-dialog h2 em {color:#a92f00!important; font-style:normal; -webkit-text-stroke:0}
.library-lead {font-size:1.125rem!important; line-height:1.7!important; margin:0 0 26px!important; color:#352b22!important}
.library-items {display:grid; gap:26px}
.library-batch {overflow:hidden; border:2px solid #11110e; border-radius:18px; background:#fffaf2; box-shadow:4px 5px 0 #11110e}
.library-batch-head {display:flex; justify-content:space-between; align-items:center; padding:10px 16px; gap:12px; background:#11110e; color:#fff4e6}
.library-batch-head>span {font-size:.9375rem; line-height:1.5}
.library-batch-head button {border:1px solid #eaa984; color:#fff4e6; background:transparent; border-radius:8px; min-height:44px; padding:8px 12px; font-size:.8125rem; font-weight:800; cursor:pointer}
.library-recipes {display:grid}
.library-recipes button {display:grid; grid-template-columns:42px minmax(0,1fr) 18px; align-items:center; gap:14px; padding:18px; border:0; border-bottom:1px solid #dfc4aa; background:transparent; text-align:left; color:#11110e; cursor:pointer; font-family:inherit}
.library-recipes button:hover {background:#ffe0c2}
.library-recipes .library-emoji {font-size:2rem}
.library-recipes b {display:block; font-size:1.125rem; line-height:1.4; overflow-wrap:anywhere}
.library-recipes small {display:block; font-size:1rem; line-height:1.55; margin-top:6px; color:#5b4735}
.library-open-three {display:flex; justify-content:space-between; gap:16px; width:100%; padding:18px; min-height:56px; border:0; background:#cfff45; color:#11110e; font-size:1rem; font-weight:850; line-height:1.5; cursor:pointer; text-align:left}
.library-empty {padding:28px; border:2px dashed #bd6539; border-radius:18px; text-align:center}
.library-empty>span {font-size:3rem}
.library-empty h3 {font-size:1.4rem; margin:16px 0 10px}
.library-empty p {font-size:1.0625rem; line-height:1.7}
.library-storage-note {font-size:1rem!important; line-height:1.7!important; color:#57412f!important; margin:28px 0 16px!important}
.library-clear {min-height:48px; border:2px solid #a92f00; border-radius:10px; padding:12px 16px; background:transparent; color:#922900; font:inherit; font-size:1rem; font-weight:700; cursor:pointer}
.recipe-overview {margin-top:26px; padding:30px!important}
.recipe-overview-head {display:flex; align-items:start; justify-content:space-between; gap:20px}
.recipe-overview-head .eyebrow {font-size:.875rem; line-height:1.5; margin-bottom:12px}
.recipe-overview-head h3 {font-size:1.6rem; line-height:1.35; margin:0}
.saved-label {display:inline-block; border:1px solid #11110e; background:#cfff45; color:#11110e; padding:8px 10px; border-radius:8px; font-size:.875rem; font-weight:850; line-height:1.5}
.recipe-overview ol {list-style:none; counter-reset:recipe-step; margin:24px 0 0; padding:0; display:grid; gap:14px}
.recipe-overview li {position:relative; counter-increment:recipe-step; padding:22px 22px 22px 76px; border:1px solid #b89a7f; border-radius:16px; background:#fff9ef; color:#21180f}
.recipe-overview li::before {content:counter(recipe-step,decimal-leading-zero); position:absolute; top:22px; left:18px; width:38px; height:38px; display:grid; place-items:center; border:2px solid #11110e; background:#ff7a3c; border-radius:12px; font-size:1rem; font-weight:900}
.recipe-overview h4 {font-size:1.1875rem; line-height:1.5; margin:0 0 10px}
.recipe-overview p {font-size:1.0625rem; line-height:1.75; margin:0}
.step-duration {display:block; margin-top:12px; font-size:.9375rem; color:#6b442d}
.ingredient-row-icon {display:inline-block; min-width:1.8em; font-size:1.4em; vertical-align:middle}
.done-card h1 {font-size:clamp(3.1rem,9vw,5.8rem)!important; line-height:1.08!important; margin:14px 0 22px!important; letter-spacing:-.045em}
.done-card h1 em {font-style:normal; color:#a92f00; -webkit-text-stroke:0}
.done-revisit {display:grid; gap:22px; margin:30px 0; padding:28px; background:#11110e; color:#fff4e6; border:2px solid #11110e; border-radius:22px; text-align:left}
.done-revisit h2 {font-family:'Arial Black',Impact,sans-serif; font-size:clamp(1.6rem,3vw,2rem); line-height:1.25; margin:20px 0 12px; letter-spacing:-.04em}
.done-revisit p {font-size:1.125rem!important; line-height:1.7!important; margin:0!important; color:#fff4e6!important; max-width:unset!important}
.done-revisit-actions {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px}
.done-revisit-actions button {margin:0; width:100%; min-height:62px; padding:16px; font-size:1rem; line-height:1.5; white-space:normal; text-align:left}
.done-revisit-actions .primary-button {color:#11110e!important; background:#ff7a3c!important; border-color:#fff4e6!important}
.done-revisit-actions .primary-button span {color:#11110e!important}
.done-revisit-actions .secondary-button {color:#11110e!important; background:#fff4e6!important}
.done-actions {flex-wrap:wrap; gap:16px}
.done-actions button {font-size:1rem; min-height:48px; line-height:1.5}
.library-dialog button:focus-visible,.recent-recipes button:focus-visible,.recipe-card:focus-visible {outline:3px solid #b73100; outline-offset:5px}
.library-dialog .dialog-close {width:46px!important; height:46px!important; min-width:46px; font-size:1.7rem!important; display:grid; place-items:center}
@media(max-width:800px) {
  .topbar {justify-content:center!important}
  .top-actions {justify-content:center; width:100%}
  .recent-recipes {flex-direction:column; align-items:stretch}
  .recent-actions {grid-template-columns:1fr 1fr; min-width:0}
  .done-revisit-actions {grid-template-columns:1fr}
}
@media(max-width:520px) {
  .recent-recipes {padding:22px; gap:20px}
  .recent-actions {grid-template-columns:1fr}
  .library-dialog {padding:26px 18px!important}
  .library-recipes button {padding:16px 12px; grid-template-columns:34px minmax(0,1fr) 16px; gap:12px}
  .library-recipes b {font-size:1.0625rem}
  .recipe-overview {padding:22px 18px!important}
  .recipe-overview-head {flex-direction:column}
  .recipe-overview li {padding:66px 18px 22px}
  .recipe-overview li::before {top:16px}
  .done-revisit {padding:22px 18px}
  .topbar .top-tool {padding:9px!important; min-height:44px!important}
  .topbar #aboutButton {width:44px; height:44px}
}
@media(prefers-reduced-motion:reduce){.recent-recipes *,.library-dialog *{scroll-behavior:auto; transition:none!important}}
.done-stats span {font-size:.875rem!important; line-height:1.5!important; color:#554333!important}
.done-card>p:not(.eyebrow) {font-size:1.125rem; line-height:1.7}

/* v0.9.7 · MIS PLATOS entra por fin en el universo SacaPlato */
.library-dialog {
  width:min(980px,calc(100% - 24px))!important;
  padding:0!important;
  border:3px solid #11110e!important;
  border-radius:28px!important;
  background:#ff5a18!important;
  color:#11110e!important;
  box-shadow:10px 12px 0 #11110e!important;
  overflow:auto;
}
.library-dialog::backdrop{background:rgba(17,17,14,.82);backdrop-filter:blur(5px)}
.library-dialog .dialog-close{
  position:sticky!important;float:right;top:16px;right:16px;z-index:8;
  margin:16px 16px -62px 0!important;background:#cfff45!important;color:#11110e!important;
  border:3px solid #11110e!important;box-shadow:3px 3px 0 #11110e!important;border-radius:14px!important;
}
.library-riot-head{
  position:relative;display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center;
  min-height:270px;padding:38px 78px 34px 36px;overflow:hidden;background:#ff5a18;
  border-bottom:3px solid #11110e;
}
.library-riot-head::before{
  content:"";position:absolute;right:-40px;bottom:-88px;width:250px;height:250px;border-radius:50%;
  background:#cfff45;border:3px solid #11110e;opacity:.96;
}
.library-riot-head::after{
  content:"TU ALIJO SIGUE AQUÍ";position:absolute;right:-28px;top:34px;transform:rotate(7deg);
  background:#11110e;color:#fff4e6;border:2px solid #11110e;padding:10px 38px;font-size:.8rem;font-weight:950;letter-spacing:.1em;
}
.library-mascot-sticker{
  position:relative;z-index:2;width:136px;height:136px;display:grid;place-items:center;
  background:#fff4e6;border:3px solid #11110e;border-radius:34px;transform:rotate(-7deg);box-shadow:7px 8px 0 #11110e;
}
.library-mascot-sticker img{width:104px;height:104px;display:block}
.library-riot-head>div:last-child{position:relative;z-index:2;min-width:0}
.library-dialog .library-kicker{margin:0 0 12px!important;color:#11110e!important;font-size:.92rem!important;font-weight:950;letter-spacing:.13em}
.library-dialog h2{margin:0 0 14px!important;font-family:'Arial Black',Impact,sans-serif;font-size:clamp(2.65rem,6vw,5.4rem)!important;line-height:.88!important;letter-spacing:-.07em!important;text-transform:uppercase}
.library-dialog h2 em{display:inline-block;color:#fff4e6!important;font-style:normal!important;-webkit-text-stroke:0!important;text-shadow:3px 3px 0 #11110e}
.library-lead{max-width:680px;margin:0!important;color:#11110e!important;font-size:1.12rem!important;line-height:1.6!important;font-weight:650}
.library-lead strong{font-weight:950}
.library-items{display:grid;gap:30px;padding:34px;background:#fff0dc}
.library-batch{
  overflow:hidden;border:3px solid #11110e!important;border-radius:22px!important;background:#fffaf2!important;
  box-shadow:7px 8px 0 #11110e!important;transform:rotate(var(--batch-tilt,0deg));transition:transform .18s ease,box-shadow .18s ease;
}
.library-batch:hover{transform:rotate(0deg) translateY(-3px);box-shadow:9px 11px 0 #11110e!important}
.library-batch-head{
  display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 16px!important;
  background:#11110e!important;color:#fff4e6!important;border-bottom:3px solid #11110e;
}
.library-batch-head>span{font-size:.88rem!important;line-height:1.45!important;letter-spacing:.035em}
.library-batch-head>span b{color:#ff7a3c;font-weight:950}
.library-batch-head button{min-height:42px!important;padding:8px 12px!important;border:2px solid #ff7a3c!important;background:#11110e!important;color:#fff4e6!important;border-radius:10px!important;font-size:.78rem!important;font-weight:950!important;cursor:pointer}
.library-batch-head button:hover{background:#ff5a18!important;color:#11110e!important}
.library-recipes{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#fff4e6}
.library-recipe-card{
  position:relative!important;display:grid!important;grid-template-columns:1fr!important;align-content:start!important;gap:12px!important;
  min-height:235px;padding:22px 18px 20px!important;border:0!important;border-right:3px solid #11110e!important;border-bottom:0!important;
  background:#fff4e6!important;color:#11110e!important;text-align:left!important;cursor:pointer;transition:transform .16s ease,background .16s ease!important;
}
.library-recipe-card:last-child{border-right:0!important}
.library-recipe-card:nth-child(2){background:#ff7a3c!important}
.library-recipe-card:nth-child(3){background:#cfff45!important}
.library-recipe-card:hover{transform:translateY(-5px);z-index:2;box-shadow:0 7px 0 #11110e!important}
.library-index{position:absolute;right:14px;top:12px;font-family:'Arial Black',Impact,sans-serif;font-size:2.1rem;line-height:1;color:rgba(17,17,14,.18)}
.library-emoji{font-size:3.3rem!important;line-height:1!important;margin-top:8px}
.library-recipe-copy b{display:block;font-family:'Arial Black',Impact,sans-serif;font-size:1.35rem!important;line-height:1.05!important;letter-spacing:-.045em;text-transform:uppercase;overflow-wrap:anywhere}
.library-recipe-copy small{display:block;margin-top:10px!important;color:#2c231b!important;font-size:.94rem!important;line-height:1.5!important;font-weight:750}
.library-arrow{align-self:end;justify-self:end;display:grid;place-items:center;width:38px;height:38px;border:2px solid #11110e;border-radius:50%;font-size:1.25rem;font-weight:950;background:#11110e;color:#fff4e6}
.library-open-three{
  display:flex!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;width:100%;min-height:64px!important;
  padding:16px 18px!important;border:0!important;border-top:3px solid #11110e!important;background:#ff5a18!important;color:#11110e!important;
  font-size:.98rem!important;font-weight:950!important;line-height:1.3!important;cursor:pointer;text-align:left!important;
}
.library-open-three b{font-size:.78rem;letter-spacing:.06em}
.library-open-three:hover{background:#11110e!important;color:#fff4e6!important}
.library-empty{
  display:grid;justify-items:center;padding:46px 24px!important;border:3px dashed #11110e!important;border-radius:22px!important;background:#ff7a3c!important;text-align:center;box-shadow:6px 7px 0 #11110e
}
.library-empty img{width:94px;height:94px;margin-bottom:14px;transform:rotate(-8deg)}
.library-empty>span{font-size:.85rem!important;font-weight:950;letter-spacing:.13em}
.library-empty h3{font-family:'Arial Black',Impact,sans-serif;font-size:clamp(1.7rem,4vw,2.6rem)!important;line-height:1!important;letter-spacing:-.045em;margin:12px 0!important;text-transform:uppercase}
.library-empty p{max-width:560px;margin:0!important;font-size:1.05rem!important;line-height:1.65!important;font-weight:650}
.library-storage-note{margin:0!important;padding:0 34px 26px!important;background:#fff0dc;color:#4c3828!important;font-size:.92rem!important;line-height:1.6!important}
.library-clear{margin:0 34px 34px!important;min-height:48px!important;padding:11px 16px!important;border:3px solid #11110e!important;border-radius:12px!important;background:#11110e!important;color:#fff4e6!important;font-size:.88rem!important;font-weight:950!important;box-shadow:4px 4px 0 #ff5a18!important}
.library-clear:hover{background:#ff5a18!important;color:#11110e!important;box-shadow:4px 4px 0 #11110e!important}

/* Mascota en faena mientras la IA saca las recetas */
.recipe-loader[hidden]{display:none!important}
.recipe-loader{
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(17,17,14,.88);backdrop-filter:blur(8px);
}
.recipe-loader-card{
  position:relative;width:min(560px,100%);min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:42px 28px 38px;overflow:hidden;background:#ff5a18;border:4px solid #11110e;border-radius:34px;box-shadow:11px 12px 0 #cfff45;
}
.recipe-loader-burst{position:absolute;inset:-35%;background:repeating-conic-gradient(from 0deg,#ff7a3c 0 10deg,#ff5a18 10deg 20deg);animation:spBurst 8s linear infinite;opacity:.55}
.recipe-loader-card::after{content:"NO INVENTO. SACO PLATO.";position:absolute;top:22px;right:-38px;transform:rotate(8deg);background:#11110e;color:#cfff45;padding:9px 52px;font-size:.72rem;font-weight:950;letter-spacing:.11em}
.recipe-loader-mascot{position:relative;z-index:2;width:180px;height:180px;margin-bottom:20px;filter:drop-shadow(6px 7px 0 rgba(17,17,14,.3));animation:spMascot .68s ease-in-out infinite alternate}
.recipe-loader-kicker{position:relative;z-index:2;margin:0 0 10px!important;font-size:.8rem!important;font-weight:950;letter-spacing:.16em;color:#11110e!important}
.recipe-loader h2{position:relative;z-index:2;margin:0!important;font-family:'Arial Black',Impact,sans-serif;font-size:clamp(3.4rem,10vw,6.4rem)!important;line-height:.84!important;letter-spacing:-.075em!important;color:#fff4e6!important;text-shadow:4px 4px 0 #11110e;text-transform:uppercase}
.recipe-loader #recipeLoaderCopy{position:relative;z-index:2;max-width:420px;margin:20px auto 0!important;font-size:1.12rem!important;line-height:1.55!important;font-weight:800;color:#11110e!important}
.recipe-loader-dots{position:relative;z-index:2;display:flex;gap:8px;margin-top:24px}
.recipe-loader-dots span{width:13px;height:13px;border:3px solid #11110e;border-radius:50%;background:#cfff45;animation:spDot .9s ease-in-out infinite alternate}
.recipe-loader-dots span:nth-child(2){animation-delay:.16s}.recipe-loader-dots span:nth-child(3){animation-delay:.32s}
body.is-recipe-loading{overflow:hidden}
@keyframes spMascot{from{transform:rotate(-8deg) translateY(2px) scale(.98)}to{transform:rotate(7deg) translateY(-8px) scale(1.04)}}
@keyframes spBurst{to{transform:rotate(360deg)}}
@keyframes spDot{from{transform:translateY(0);background:#cfff45}to{transform:translateY(-9px);background:#fff4e6}}

@media(max-width:760px){
  .library-riot-head{grid-template-columns:86px 1fr;gap:18px;min-height:230px;padding:30px 22px 26px}
  .library-mascot-sticker{width:82px;height:82px;border-radius:22px;box-shadow:5px 6px 0 #11110e}
  .library-mascot-sticker img{width:64px;height:64px}
  .library-riot-head::after{display:none}
  .library-dialog h2{font-size:clamp(2.35rem,12vw,4rem)!important}
  .library-lead{grid-column:1/-1;font-size:1.02rem!important}
  .library-items{padding:22px 14px;gap:24px}
  .library-recipes{grid-template-columns:1fr!important}
  .library-recipe-card{min-height:0!important;grid-template-columns:54px 1fr 38px!important;align-items:center!important;border-right:0!important;border-bottom:3px solid #11110e!important;padding:17px 14px!important}
  .library-recipe-card:last-child{border-bottom:0!important}
  .library-index{position:static!important;grid-column:1;grid-row:1;font-size:1.7rem}
  .library-emoji{display:none}
  .library-recipe-copy{grid-column:2;grid-row:1}
  .library-recipe-copy b{font-size:1.14rem!important}
  .library-arrow{grid-column:3;grid-row:1}
  .library-open-three{flex-direction:column;align-items:flex-start!important}
  .library-storage-note{padding:0 16px 22px!important}
  .library-clear{margin:0 16px 26px!important}
  .recipe-loader-card{min-height:440px;border-radius:26px;padding:34px 20px}
  .recipe-loader-mascot{width:140px;height:140px}
  .recipe-loader #recipeLoaderCopy{font-size:1rem!important}
}
@media(prefers-reduced-motion:reduce){.recipe-loader-burst,.recipe-loader-mascot,.recipe-loader-dots span{animation:none!important}}
#openLibraryButton{background:#11110e!important;color:#fff4e6!important;border:2px solid #ff5a18!important;box-shadow:3px 4px 0 #ff5a18!important;transform:rotate(-1deg)}
#openLibraryButton>span{color:#ff7a3c!important}#openLibraryButton b{color:#fff4e6!important}#openLibraryButton:hover{background:#ff5a18!important;color:#11110e!important;box-shadow:3px 4px 0 #11110e!important;transform:rotate(1deg) translateY(-2px)}
#openLibraryButton:hover>span,#openLibraryButton:hover b{color:#11110e!important}#libraryCount{background:#cfff45!important;color:#11110e!important;border:1px solid #11110e}


/* v0.9.7 · saved trio note: a sticker, not a paragraph crashing into the title */
.results-saved-note{display:inline-flex;align-items:center;max-width:760px;margin:26px 0 30px!important;padding:11px 14px!important;border:2px solid #11110e!important;border-left:6px solid #ff5a18!important;border-radius:12px!important;background:#fff0dc!important;color:#11110e!important;box-shadow:4px 5px 0 #11110e!important;font-size:.95rem!important;line-height:1.45!important;font-weight:850!important;transform:rotate(-.2deg)}
