
:root{
  --bg:#120e0b;
  --surface:#1c1713;
  --elevated:#2a231d;
  --fg:#f4ebe0;
  --muted:#9d8e7c;
  --line:rgb(244 235 224 / .14);
  --accent:#e36a2e;
  --accent-ink:#1a100c;
  --r:18px;
  --r-sm:12px;
  --ease:cubic-bezier(.22,1,.36,1);
  --font-display:Fraunces,Georgia,"Times New Roman",serif;
  --font-body:Outfit,ui-sans-serif,system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-weight:400;-webkit-font-smoothing:antialiased}
body{background:
  radial-gradient(900px 420px at 50% -8%,#3a2418 0%,#120e0b 62%),
  var(--bg);
}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;transition:scale 150ms ease-out,background-color 150ms ease,color 150ms ease,box-shadow 150ms ease}
button:active:not(:disabled){scale:.96}
button:disabled{cursor:not-allowed}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
a{color:inherit;text-decoration:none}
.wrap{max-width:480px;margin:0 auto;min-height:100dvh;padding:10px 14px 16px;display:flex;flex-direction:column;gap:10px}
.panel{background:var(--surface);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line);padding:14px}
.top{display:flex;align-items:baseline;justify-content:space-between;height:36px;padding:0 4px}
.logo{margin:0;font-family:var(--font-display);font-style:italic;font-optical-sizing:auto;font-weight:600;font-size:22px;letter-spacing:-.03em}
.place,.eyebrow,.kicker,.status,.combo-kicker,.addr,.clear{margin:0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.combo-kicker{color:var(--accent);font-weight:600;letter-spacing:.18em}
.combos{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;animation:rise .55s var(--ease) both}
.combo-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:82px;padding:10px 6px;border-radius:var(--r);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.combo-btn.is-on{background:var(--elevated);box-shadow:inset 0 0 0 1.5px var(--accent)}
.combo-name{font-size:14px;letter-spacing:.02em;font-weight:600}
.flag-svg{display:block;width:36px;height:24px;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px rgb(255 255 255 / .18),0 6px 14px rgb(0 0 0 / .35)}
.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;animation:rise .65s var(--ease) .08s both}
.eyebrow{margin:0}
.hero{margin:4px 0 8px;font-family:var(--font-display);font-style:italic;font-optical-sizing:auto;font-weight:600;font-size:clamp(30px,7.6vw,40px);letter-spacing:-.04em;line-height:.95;text-align:center;white-space:nowrap}
.papa{position:relative;width:min(100%,340px);aspect-ratio:380/280;animation:bake 1.2s var(--ease) both,idle 4.4s ease-in-out 1.2s infinite}
.papa-heat{position:absolute;inset:8% 6% 18%;border-radius:46%;background:radial-gradient(circle,rgb(227 106 46 / .4),transparent 70%);filter:blur(22px);z-index:-1;animation:glow 2.8s ease-in-out infinite}
.papa-svg{width:100%;height:100%;overflow:visible;display:block}
.papa-sauce{position:absolute;inset:0;z-index:5;pointer-events:none}
.sauce-svg{width:100%;height:100%;overflow:visible;display:block;filter:drop-shadow(0 4px 3px rgb(0 0 0 / .35))}
.sauce-pool{mix-blend-mode:multiply}
.sauce-ribbon{stroke-dasharray:480;stroke-dashoffset:0}
.papa.is-pour .sauce-ribbon{animation:ribbonDraw 1.15s linear both}
.sauce-speck{opacity:1}
.papa.is-pour .sauce-speck{opacity:0;animation:dropPop .28s ease both}
.papa.is-pour .sauce-speck.s1{animation-delay:.85s}
.papa.is-pour .sauce-speck.s2{animation-delay:.95s}
.papa.is-pour .sauce-speck.s3{animation-delay:1.05s}
.papa-bit img{width:100%;height:auto;display:block;pointer-events:none}
.papa-well{position:absolute;inset:36% 20% 32% 20%;border-radius:40%;overflow:visible;z-index:3}
.papa-flesh,.papa-flap{transform-box:fill-box;transform-origin:center}
.papa-flesh{animation:mound .95s cubic-bezier(.22,1.18,.36,1) .18s both}
.papa-flap-l{animation:flapL .8s var(--ease) .1s both}
.papa-flap-r{animation:flapR .8s var(--ease) .16s both}
.steam-p{fill:none;stroke:rgb(255 255 255 / .28);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:3 14;animation:steamDraw 3.2s linear infinite}
.steam-p.s2{animation-delay:.45s;opacity:.75}
.steam-p.s3{animation-delay:.95s;opacity:.55}
.papa.is-hot .steam-p{stroke:rgb(255 255 255 / .62)}
.papa-boat{position:absolute;left:10%;top:4%;width:18%;z-index:6;transform-origin:80% 70%;opacity:0;pointer-events:none}
.papa-boat > svg{width:100%;height:auto;overflow:visible;display:block;filter:drop-shadow(0 6px 4px rgb(0 0 0 / .3))}
.boat-stream{position:absolute;left:62%;top:48%;width:22px;height:58px;opacity:0;transform-origin:top center}
.boat-stream svg{width:100%;height:100%;overflow:visible}
.boat-stream path{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:18 10}
.papa.is-pour .papa-boat{animation:boatZig 1.25s linear both}
.papa.is-pour .boat-stream{animation:stream 1.25s linear both}
.papa.is-pour .boat-stream path{animation:streamFall .28s linear infinite}
.papa[data-sauce-kind=bbq] .boat-stream{color:#c44a16}
.papa[data-sauce-kind=salsa] .boat-stream{color:#e85a1c}
.papa[data-sauce-kind=cheddar] .boat-stream{color:#f0b430}
.papa[data-sauce-kind=picante] .boat-stream{color:#e03018}
.papa-glaze{display:none}
.sauce-zig{display:none}
.glaze-bbq{background:radial-gradient(ellipse at 50% 38%,#6a2a0c 0%,#4a1806 48%,rgb(48 16 4 / .15) 78%)}
.glaze-salsa{background:radial-gradient(ellipse at 50% 38%,#c45a22 0%,#8a3810 50%,rgb(90 36 8 / .12) 78%)}
.glaze-cheddar{background:radial-gradient(ellipse at 50% 38%,#f0b430 0%,#d48618 52%,rgb(180 90 16 / .12) 78%)}
.glaze-picante{background:radial-gradient(ellipse at 50% 38%,#d43018 0%,#8a180c 50%,rgb(90 16 8 / .12) 78%)}
.papa-bit{position:absolute;pointer-events:none;transform-origin:center;filter:drop-shadow(0 8px 6px rgb(0 0 0 / .35));animation:drop .55s cubic-bezier(.22,1,.36,1) both;rotate:var(--rest,0deg)}
.papa-bit svg{width:100%;height:auto;overflow:visible;display:block}
.papa.is-catch .papa-svg{animation:catch .42s var(--ease)}
.chips{margin-top:8px;min-height:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.papa-chip{border-radius:999px;background:var(--elevated);padding:5px 11px;font-size:12px;font-weight:500;box-shadow:inset 0 0 0 1px var(--line)}
.papa-chip-sauce{background:var(--accent);color:var(--accent-ink);box-shadow:none;font-weight:600}
.status{margin:8px 0 0}
.builder{flex-shrink:0;animation:rise .6s var(--ease) .16s both}
.builder-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.clear:hover{color:var(--fg)}
.ings{display:flex;flex-wrap:wrap;gap:6px}
.sauce-kicker{margin:12px 0 8px}
.ing-btn{height:36px;padding:0 12px;border-radius:999px;background:var(--elevated);color:var(--fg);font-size:13px;font-weight:500;box-shadow:inset 0 0 0 1px var(--line)}
.ing-btn.is-on{background:var(--fg);color:var(--accent-ink);box-shadow:none}
.ing-btn:disabled{opacity:.38}
.sauce-btn{padding-left:10px}
.sauce-btn::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;translate:0 1px}
.sauce-salsa::before{background:#e85a1c}
.sauce-bbq::before{background:#c44a16}
.sauce-cheddar::before{background:#f0b430}
.sauce-picante::before{background:#e03018}
.dock{flex-shrink:0;padding-top:12px;animation:rise .6s var(--ease) .22s both;display:flex;flex-direction:column;gap:8px}
.order-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pedir{display:flex;align-items:center;justify-content:center;height:48px;border-radius:var(--r-sm);font-weight:600;font-size:14px;letter-spacing:.01em}
.pedir:active{scale:.96}
.pedir-py{background:#c81e45;color:#fff;box-shadow:inset 0 0 0 1px rgb(255 255 255 / .12)}
.pedir-rappi{background:#e24a18;color:#fff;box-shadow:inset 0 0 0 1px rgb(255 255 255 / .12)}
.deal{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);width:100%;text-align:left;background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
.deal:active{scale:.98}
.deal-off{flex-shrink:0;font-family:var(--font-display);font-style:italic;font-optical-sizing:auto;font-weight:600;font-size:26px;letter-spacing:-.04em;color:var(--accent);line-height:1}
.deal-copy{display:flex;flex-direction:column;gap:2px;font-size:12px;letter-spacing:0;text-transform:none;font-weight:400;color:var(--muted);line-height:1.3}
.deal-copy strong{color:var(--fg);font-size:13.5px;font-weight:600;letter-spacing:-.01em;text-transform:none;font-family:var(--font-body);font-style:normal}
.addr{display:block;text-align:center;padding-top:2px;text-decoration:underline;text-underline-offset:3px}
.ticket{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px}
.ticket[hidden]{display:none}
.ticket-bg{position:absolute;inset:0;background:rgb(8 6 4 / .78);border:0;padding:0;cursor:pointer}
.ticket-card{position:relative;width:min(100%,340px);padding:28px 22px 20px;border-radius:var(--r);background:#f4ebe0;color:var(--accent-ink);text-align:center;box-shadow:inset 0 0 0 1px rgb(26 16 12 / .08),0 30px 60px rgb(0 0 0 / .5)}
.ticket-card::before{content:"";display:block;position:absolute;left:14px;right:14px;top:10px;height:8px;background:repeating-linear-gradient(90deg,var(--accent) 0 10px,transparent 10px 16px)}
.ticket-brand{margin:10px 0 0;font-family:var(--font-display);font-style:italic;font-optical-sizing:auto;font-size:18px;font-weight:600}
.ticket-off{margin:4px 0 0;font-family:var(--font-display);font-style:italic;font-optical-sizing:auto;font-weight:600;font-size:64px;letter-spacing:-.05em;line-height:.9;color:#c44a16}
.ticket-what{margin:4px 0 0;font-size:15px;font-weight:600}
.ticket-code{margin:16px auto 0;display:inline-block;padding:8px 16px;border-radius:8px;border:1.5px dashed #1a100c;letter-spacing:.28em;font-weight:700;font-size:18px;font-family:var(--font-body)}
.ticket-how{margin:16px 0 0;font-size:14px;font-weight:600}
.ticket-rules{margin:12px 0 0;padding:0;list-style:none;font-size:12px;color:#6a5646;line-height:1.55}
.ticket-close{margin-top:18px;width:100%;height:46px;border-radius:var(--r-sm);background:#1a100c;color:#f4ebe0;font-weight:600}
@media (max-height:740px){
  .papa{width:min(100%,280px)}
  .hero{font-size:clamp(24px,6.5vw,32px)}
  .combo-btn{min-height:70px}
}
@media (min-width:720px){
  .wrap{
    width:480px;
    min-height:auto;
    margin:12px auto 20px;
    padding:16px;
    background:rgb(22 16 13 / .94);
    border-radius:28px;
    box-shadow:inset 0 0 0 1px var(--line),0 40px 90px rgb(0 0 0 / .5);
  }
  .stage{flex:none;padding:4px 0 8px}
  .papa{width:320px}
  .combo-btn{min-height:84px}
}
@media (prefers-reduced-motion:reduce){
  .papa,.papa-bit,.papa-heat,.papa-flesh,.papa-flap,.steam-p,.papa.is-catch .papa-svg,.papa.is-pour .papa-boat,.papa.is-pour .boat-stream,.papa.is-pour .boat-stream path,.papa.is-pour .sauce-ribbon,.papa.is-pour .sauce-speck{animation:none}
}
@keyframes rise{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes bake{0%{opacity:0;scale:.82 .9;filter:brightness(.35)}45%{filter:brightness(1.22)}100%{opacity:1;scale:1;filter:brightness(1)}}
@keyframes idle{0%,100%{translate:0 0}50%{translate:0 -2px}}
@keyframes mound{0%{scale:.18 .06;opacity:0}60%{scale:1.05 1.07;opacity:1}100%{scale:1;opacity:1}}
@keyframes flapL{0%{rotate:38deg;translate:12px 16px}100%{rotate:0;translate:0}}
@keyframes flapR{0%{rotate:-34deg;translate:-10px 14px}100%{rotate:0;translate:0}}
@keyframes steamDraw{to{stroke-dashoffset:-72}}
@keyframes drop{
  0%{opacity:0;translate:0 -40px}
  100%{opacity:1;translate:0 0}
}
@keyframes pour{0%{opacity:0}100%{opacity:1}}
@keyframes boatZig{
  0%{opacity:0;left:6%;top:2%;rotate:-18deg}
  8%{opacity:1}
  18%{left:18%;top:16%;rotate:14deg}
  34%{left:32%;top:0;rotate:-18deg}
  50%{left:46%;top:16%;rotate:14deg}
  66%{left:58%;top:0;rotate:-18deg}
  82%{left:70%;top:14%;rotate:10deg}
  92%{opacity:1}
  100%{opacity:0;left:74%;top:4%;rotate:0}
}
@keyframes stream{0%,8%{opacity:0}12%,88%{opacity:1}100%{opacity:0}}
@keyframes streamFall{to{stroke-dashoffset:-28}}
@keyframes ribbonDraw{from{stroke-dashoffset:480}to{stroke-dashoffset:0}}
@keyframes dropPop{0%{opacity:0;scale:0}70%{opacity:1;scale:1.15}100%{opacity:1;scale:1}}
@keyframes catch{0%{scale:1 1}38%{scale:1.04 .95}100%{scale:1 1}}
@keyframes glow{0%,100%{opacity:.7}50%{opacity:1}}
