@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--steam:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.hidden{display:none}.rounded{border-radius:.25rem}}@property --steam{syntax:"<number>";inherits:false;initial-value:0}:root{color-scheme:light;--paper:#fbf2e2;--paper-2:#f3e3c9;--surface:#fffdf8;--surface-warm:#fff5e7;--ink:#38220f;--muted:#8a6f5c;--faint:#b29a82;--line:#5a3a2324;--line-strong:#5a3a2347;--achiote:#d9531e;--achiote-dark:#b23f12;--platano:#f2a93b;--aji:#5b8c3e;--cacao:#5a3a23;--font-display:"Georgia", "Iowan Old Style", "Times New Roman", serif;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-num:"SF Mono", ui-monospace, "Cascadia Code", "JetBrains Mono", monospace;--radius:18px;--radius-sm:12px;--shadow:0 22px 48px -28px #5a2d128c;--shadow-sm:0 10px 24px -18px #5a2d1280}*{box-sizing:border-box}body{min-block-size:100dvh;color:var(--ink);font-family:var(--font-sans);background:radial-gradient(900px 460px at 88% -6%,#f2a93b47,transparent 60%),radial-gradient(760px 420px at 4% 4%,#d9531e29,transparent 58%),linear-gradient(180deg,var(--paper),var(--paper-2) 92%);background-attachment:fixed;margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{gap:clamp(1rem,2.4vw,1.6rem);inline-size:min(100% - 2rem,1180px);margin-inline:auto;padding-block:clamp(1.1rem,3vw,2rem);display:grid}:focus-visible{outline:3px solid var(--achiote);outline-offset:2px;border-radius:6px}.topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.topbar__brand{align-items:center;gap:.85rem;display:flex}.topbar__mark{background:linear-gradient(135deg,var(--achiote),var(--platano));border-radius:15px;place-items:center;block-size:3rem;inline-size:3rem;font-size:1.5rem;display:grid;box-shadow:inset 0 0 0 1px #ffffff59,0 10px 22px -10px #d9531eb3}.topbar__title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--cacao);margin:0;font-size:1.65rem;font-weight:700}.topbar__sub{color:var(--muted);letter-spacing:.01em;margin:0;font-size:.78rem}.topbar__cart{cursor:pointer;font:inherit;color:var(--cacao);border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:.5rem;padding:.55rem .95rem;font-size:.9rem;font-weight:650;transition:transform .15s,background .15s;display:inline-flex}.topbar__cart:hover{background:var(--surface-warm);transform:translateY(-1px)}.topbar__badge{block-size:1.5rem;min-inline-size:1.5rem;font-family:var(--font-num);color:#fff;background:var(--achiote);border-radius:999px;place-items:center;padding-inline:.4rem;font-size:.78rem;font-weight:700;display:inline-grid}.topbar__badge.is-empty{background:var(--faint)}.layout{grid-template-columns:minmax(240px,320px) 1fr;align-items:start;gap:clamp(1rem,2.4vw,1.6rem);display:grid}.sidebar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:1rem;padding:1.1rem 1rem;display:grid;position:sticky;top:1rem}.sidebar__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--achiote);margin:0;font-size:.7rem;font-weight:700}.sidebar__title{font-family:var(--font-display);color:var(--cacao);margin:.15rem 0 0;font-size:1.3rem}.recipe-list,.recipe-list__items{margin:0;padding:0;list-style:none}.recipe-list{gap:1.1rem;max-block-size:min(70dvh,640px);display:grid;overflow-y:auto}.recipe-list__heading{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.72rem;font-weight:700}.recipe-list__items{gap:.55rem;display:grid}.recipe-card{cursor:pointer;text-align:start;inline-size:100%;font:inherit;color:var(--ink);background:var(--surface-warm);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:.75rem;padding:.5rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.recipe-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.recipe-card.is-active{border-color:var(--achiote);box-shadow:0 0 0 1px var(--achiote),var(--shadow-sm);background:#fff}.recipe-card__thumb{object-fit:cover;background:var(--paper-2);border-radius:9px;flex:none;block-size:3rem;inline-size:4.5rem}.recipe-card__body{gap:.15rem;min-inline-size:0;display:grid}.recipe-card__title{font-size:.92rem;font-weight:650;line-height:1.2}.recipe-card__meta{color:var(--muted);font-size:.74rem}.detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:clamp(1rem,2.2vw,1.5rem);padding:clamp(1rem,2.4vw,1.6rem);display:grid}.hero{border-radius:var(--radius);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.hero__art{aspect-ratio:11/6;object-fit:cover;inline-size:100%;display:block}.hero__badge{letter-spacing:.06em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#38220fc7;border-radius:999px;padding:.3rem .7rem;font-size:.72rem;font-weight:700;position:absolute;inset-block-start:.85rem;inset-inline-start:.85rem}.detail__head{gap:.45rem;display:grid}.detail__title{font-family:var(--font-display);color:var(--cacao);margin:0;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.1}.detail__subtitle{color:var(--muted);max-inline-size:56ch;margin:0;font-size:.98rem}.meta{flex-wrap:wrap;gap:.5rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.meta__item{color:var(--cacao);background:var(--surface-warm);border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;font-size:.76rem;font-weight:600}.servings{background:linear-gradient(135deg,var(--surface-warm),#fff);border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.9rem 1.1rem;display:flex}.servings__label{gap:.1rem;display:grid}.servings__title{font-family:var(--font-display);color:var(--cacao);font-size:1.1rem;font-weight:700}.servings__base{color:var(--muted);font-size:.76rem}.servings__stepper{align-items:center;gap:.85rem;display:inline-flex}.servings__btn{cursor:pointer;color:#fff;background:var(--achiote);border:0;border-radius:50%;place-items:center;block-size:2.6rem;inline-size:2.6rem;font-size:1.4rem;font-weight:700;transition:transform .12s,background .15s,opacity .15s;display:grid;box-shadow:0 8px 18px -10px #d9531ecc}.servings__btn:hover:not(:disabled){background:var(--achiote-dark);transform:translateY(-1px)}.servings__btn:disabled{opacity:.35;cursor:not-allowed}.servings__value{text-align:center;min-inline-size:2.5rem;font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--cacao);font-size:1.7rem;font-weight:700}.panels{grid-template-columns:1fr 1.25fr;align-items:start;gap:clamp(.9rem,2vw,1.4rem);display:grid}.panel{gap:.85rem;display:grid}.panel__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.panel__title{font-family:var(--font-display);color:var(--cacao);margin:0;font-size:1.2rem}.ingredients{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.ingredients__section{letter-spacing:.08em;text-transform:uppercase;color:var(--achiote);margin-block-start:.5rem;font-size:.72rem;font-weight:700}.ingredients__section:first-child{margin-block-start:0}.ingredient{background:var(--surface-warm);border-radius:9px;align-items:baseline;gap:.6rem;padding:.4rem .55rem;display:flex}.ingredient__amount{min-inline-size:5rem;font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--achiote-dark);flex:none;font-weight:650}.ingredient__name{color:var(--ink);font-size:.92rem}.steps{counter-reset:step;gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.step{counter-increment:step;background:var(--surface-warm);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.9rem 1rem .9rem 2.9rem;position:relative}.step:before{content:counter(step);block-size:1.6rem;inline-size:1.6rem;font-family:var(--font-num);color:#fff;background:var(--cacao);border-radius:50%;place-items:center;font-size:.82rem;font-weight:700;display:grid;position:absolute;inset-block-start:.85rem;inset-inline-start:.85rem}.step__text{margin:0;font-size:.94rem;line-height:1.45}.timer{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem .9rem;margin-block-start:.75rem;padding:.6rem .75rem;display:flex}.timer__clock{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--cacao);letter-spacing:.02em;font-size:1.45rem;font-weight:700}.timer__status{color:var(--muted);flex:auto;font-size:.78rem}.timer__controls{gap:.45rem;display:inline-flex}.timer__btn{cursor:pointer;font:inherit;border:1px solid var(--line-strong);background:var(--surface-warm);color:var(--cacao);border-radius:8px;padding:.4rem .85rem;font-size:.8rem;font-weight:650;transition:background .15s,transform .12s}.timer__btn:hover{transform:translateY(-1px)}.timer__btn--toggle{background:var(--aji);border-color:var(--aji);color:#fff}.timer.is-running{border-color:var(--achiote);box-shadow:inset 0 0 0 1px var(--achiote)}.timer.is-running .timer__clock{color:var(--achiote-dark)}.timer.is-running .timer__btn--toggle{background:var(--platano);border-color:var(--platano);color:var(--cacao)}.timer.is-done{border-color:var(--aji);background:var(--aji)}@supports (color:color-mix(in lab,red,red)){.timer.is-done{background:color-mix(in oklab,var(--aji) 12%,#fff)}}.timer.is-done .timer__clock{color:var(--aji)}.btn{cursor:pointer;font:inherit;border:1px solid #0000;border-radius:10px;padding:.5rem 1rem;font-size:.84rem;font-weight:650;transition:background .15s,transform .12s,opacity .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--accent{background:var(--achiote);color:#fff}.btn--accent:hover:not(:disabled){background:var(--achiote-dark)}.btn--ghost{background:var(--surface-warm);border-color:var(--line-strong);color:var(--cacao)}.btn--danger{background:var(--achiote)}@supports (color:color-mix(in lab,red,red)){.btn--danger{background:color-mix(in oklab,var(--achiote) 16%,#fff)}}.btn--danger{border-color:var(--achiote);color:var(--achiote-dark)}.shopping{border-radius:var(--radius);background:var(--surface);inline-size:min(92vw,460px);color:var(--ink);border:0;padding:0;overflow:hidden;box-shadow:0 30px 70px -30px #281406b3}.shopping::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#28160873}.shopping[open]{animation:.22s dialog-in}@starting-style{.shopping[open]{opacity:0;transform:translateY(8px)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)}}.shopping__head{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.2rem .6rem;display:flex}.shopping__heading{font-family:var(--font-display);color:var(--cacao);margin:0;font-size:1.3rem}.shopping__summary{color:var(--muted);margin:.2rem 0 0;font-size:.8rem}.shopping__close{cursor:pointer;block-size:2rem;inline-size:2rem;color:var(--muted);background:var(--surface-warm);border:1px solid var(--line);border-radius:8px;flex:none;place-items:center;font-size:1rem;display:grid}.shopping__empty{color:var(--muted);margin:0;padding:.4rem 1.2rem .8rem;font-size:.86rem}.shopping__empty[hidden]{display:none}.shopping__items{gap:.3rem;max-block-size:46dvh;margin:0;padding:0 1.2rem;list-style:none;display:grid;overflow-y:auto}.shopping__item{background:var(--surface-warm);border-radius:9px;align-items:baseline;gap:.6rem;padding:.45rem .6rem;display:flex}.shopping__amount{min-inline-size:5rem;font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--achiote-dark);flex:none;font-weight:650}.shopping__name{font-size:.92rem}.shopping__actions{justify-content:flex-end;gap:.55rem;padding:.9rem 1.2rem 1.1rem;display:flex}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:static}.recipe-list{max-block-size:none}.recipe-list__items{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.panels{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}
