:root{--bg-0:#f7ebe3;--bg-1:#f0d5c8;--ink:#2a1418;--ink-soft:#6b454c;--brand:#7a2e3a;--accent:#c45c4a;--line:#7a2e3a24;--surface:#fffaf6c7;--shadow:0 18px 40px #4a1c221a;--font-display:"Fraunces", Georgia, serif;--font-body:"Outfit", system-ui, sans-serif;color:var(--ink);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg-0);margin:0}button,a{font:inherit}.page{min-height:100dvh;padding:0 1.1rem 3rem;position:relative;overflow-x:hidden}.atmosphere{z-index:-1;background:radial-gradient(ellipse 80% 50% at 10% -10%, #f3c4b0 0%, transparent 55%), radial-gradient(ellipse 70% 45% at 100% 0%, #e8b8c0 0%, transparent 50%), linear-gradient(180deg, var(--bg-0), var(--bg-1) 55%, #ead3c6);animation:14s ease-in-out infinite alternate drift;position:fixed;inset:0}@keyframes drift{0%{transform:scale(1)}to{transform:scale(1.04)}}.top{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.85rem 0 .4rem;position:sticky;top:0}.address-picker{border:1px solid var(--line);background:var(--surface);max-width:34rem;box-shadow:var(--shadow);touch-action:pan-y;border-radius:1.1rem;grid-template-columns:2.4rem 1fr 2.4rem;align-items:center;gap:.35rem;margin:0 auto;padding:.55rem .35rem;display:grid}.mood-tabs{border:1px solid var(--line);background:var(--surface);max-width:34rem;box-shadow:var(--shadow);border-radius:1.1rem;grid-template-columns:1fr 1fr;gap:.3rem;margin:.45rem auto 0;padding:.28rem;display:grid}.mood-tab{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:.85rem;padding:.55rem .4rem;font-weight:500}.mood-tab.is-on{color:var(--brand);background:#7a2e3a1f;font-weight:600}.address-arrow{color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:.7rem;height:2.4rem;font-size:1.6rem;line-height:1}.address-arrow:disabled{opacity:.28;cursor:default}.address-track{text-align:center;-webkit-user-select:none;user-select:none;cursor:grab;padding:.15rem .25rem}.address-label{font-family:var(--font-display);color:var(--brand);margin:0;font-size:1.2rem;font-weight:700}.address-sublabel{color:var(--ink-soft);margin:.15rem 0 0;font-size:.82rem;line-height:1.35}.main{max-width:42rem;margin:1.4rem auto 0}.brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--brand);margin:0;font-size:clamp(2.4rem,8vw,3.4rem);font-weight:700;line-height:1;animation:.7s both rise}.headline{font-family:var(--font-display);color:var(--ink);margin:.55rem 0 0;font-size:clamp(1.35rem,4.5vw,1.75rem);font-weight:500;animation:.7s 80ms both rise}.lede{max-width:28rem;color:var(--ink-soft);margin:.55rem 0 1.4rem;line-height:1.5;animation:.7s .14s both rise}.live-order{background:var(--surface);box-shadow:var(--shadow);border-radius:1.2rem;margin:1.1rem 0 .4rem;padding:1rem 1.05rem 1.1rem;animation:.7s 80ms both rise}.live-order-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.72rem}.live-order-title{font-family:var(--font-display);margin:.25rem 0 .7rem;font-size:1.45rem;font-weight:600}.live-order-body{grid-template-columns:4.6rem 1fr;align-items:start;gap:.85rem;display:grid}.live-order-img{object-fit:cover;border-radius:.85rem;width:4.6rem;height:4.6rem}.live-order-items{margin:0;font-weight:600}.live-order-meta,.live-order-eta,.live-order-msg{color:var(--ink-soft);margin:.25rem 0 0;font-size:.92rem}.live-order-track{margin-top:.95rem;text-decoration:none;display:inline-flex}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status{color:var(--ink-soft);margin:1rem 0}.status--error{color:#9b1c2c}.treat-grid{grid-template-columns:1fr;gap:.85rem;display:grid}@media (width>=640px){.treat-grid{grid-template-columns:1fr 1fr}}.treat-card{text-align:left;background:var(--surface);width:100%;box-shadow:var(--shadow);cursor:pointer;color:inherit;border:1px solid #0000;border-radius:1.15rem;grid-template-columns:5.5rem 1fr;gap:.85rem;padding:.65rem;transition:border-color .18s,transform .18s;animation:.5s both rise;display:grid}.treat-card:hover{transform:translateY(-2px)}.treat-card.is-selected{border-color:var(--accent)}.treat-photo{object-fit:cover;background:#e8cfc4;border-radius:.9rem;width:5.5rem;height:5.5rem}.treat-photo--empty{color:var(--brand);place-items:center;font-size:1.4rem;display:grid}.treat-body h3{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:600;line-height:1.25}.treat-meta{color:var(--ink-soft);margin:.3rem 0 0;font-size:.78rem;line-height:1.35}.treat-price{color:var(--brand);margin:.45rem 0 0;font-weight:600}.treat-jacks{color:var(--brand);margin:.45rem 0 0;font-size:.82rem;font-weight:600}.sheet-backdrop{z-index:20;background:#2a141859;align-items:end;animation:.18s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{width:min(100%,28rem);padding:1.35rem 1.25rem calc(1.35rem + env(safe-area-inset-bottom));background:#fffaf6;border-radius:1.4rem 1.4rem 0 0;margin:0 auto;animation:.28s slide;box-shadow:0 -20px 50px #2a14182e}@keyframes slide{0%{transform:translateY(24px)}to{transform:translateY(0)}}.sheet-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0;font-size:.72rem;font-weight:600}.sheet h2{font-family:var(--font-display);margin:.35rem 0 0;font-size:1.55rem;line-height:1.2}.sheet-copy,.sheet-order-id{color:var(--ink-soft);margin:.55rem 0 0;line-height:1.45}.sheet-price{color:var(--brand);margin:.9rem 0 0;font-size:1.35rem;font-weight:600}.sheet-error{color:#9b1c2c;margin:.75rem 0 0;font-size:.9rem}.btn{text-align:center;cursor:pointer;border:0;border-radius:999px;width:100%;margin-top:.7rem;padding:.85rem 1rem;text-decoration:none;display:block}.btn:disabled{opacity:.6;cursor:wait}.btn-primary{background:var(--brand);color:#fff8f4;font-weight:600}.btn-ghost{color:var(--ink-soft);background:0 0}.jack-gate{color:#fff8f4;background:#1a0e12;min-height:100dvh;position:relative;overflow:hidden}.jack-gate.is-overlay{z-index:40;position:fixed;inset:0}.jack-stage{position:absolute;inset:0;overflow:hidden}.jack-feed{transform:scale(var(--jack-zoom,1));transform-origin:50%;position:absolute;inset:0}.jack-video,.jack-canvas{object-fit:cover;object-position:center center;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}@media (orientation:landscape) and (width>=700px){.jack-video,.jack-canvas{object-fit:contain}}.jack-zoom{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:#1a0e128c;border-radius:999px;align-items:center;gap:.45rem;width:min(18rem,100% - 1.6rem);padding:.35rem .45rem;display:flex;position:absolute;top:.85rem;left:50%;transform:translate(-50%)}.jack-zoom-btn{color:#fff8f4;cursor:pointer;background:#fff8f429;border:0;border-radius:999px;width:2rem;height:2rem;font-size:1.25rem;line-height:1}.jack-zoom-slider{accent-color:#e8b4a8;flex:1;min-width:0}.jack-canvas{pointer-events:none}.jack-copy{z-index:2;pointer-events:none;background:linear-gradient(#1a0e12b8,#0000 42%,#1a0e12e0);flex-direction:column;justify-content:flex-end;min-height:100dvh;padding:1.2rem 1.2rem 2.4rem;display:flex;position:relative}.jack-copy .brand,.jack-copy .headline,.jack-copy .lede,.jack-copy .status{color:#fff8f4}.jack-copy .lede,.jack-copy .status{color:#fff8f4d1}.jack-count{font-family:var(--font-display);letter-spacing:-.03em;margin:.4rem 0 .2rem;font-size:clamp(2.4rem,10vw,4rem)}.jack-cancel{pointer-events:auto;color:#fff8f4;width:auto;margin-top:.8rem}
