:root{--brand:#0f766e;--brand-deep:#0b5550;--pop:#f59e0b;--pop2:#ec4899;--on-brand:#fff;--bg:color-mix(in srgb, var(--brand) 5%, #fffaf3);--card:#fff;--ink:#1f1a17;--muted:#6b625b;--line:color-mix(in srgb, var(--brand) 12%, #ebe5de);--soft:color-mix(in srgb, var(--brand) 10%, #fff);--shadow:0 10px 30px color-mix(in srgb, var(--brand-deep) 16%, transparent);--radius:22px;--top:60px;color:var(--ink);background:var(--bg);font-family:"Baloo Bhaijaan 2",Segoe UI,Tahoma,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:color-mix(in srgb, var(--brand) 8%, #12100e);--card:color-mix(in srgb, var(--brand) 6%, #1d1916);--ink:#f6f1ea;--muted:#b8aea4;--line:color-mix(in srgb, var(--brand) 18%, #2f2925);--soft:color-mix(in srgb, var(--brand) 20%, #1d1916);--shadow:0 10px 30px #0008}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;overflow-x:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled{opacity:.55;cursor:default}input,textarea{border:2px solid var(--line);background:var(--card);border-radius:14px;outline:none;width:100%;padding:11px 13px;font-size:16px;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 18%, transparent)}img{display:block}.btn-main{background:linear-gradient(135deg, var(--brand), var(--brand-deep));width:100%;min-height:54px;color:var(--on-brand);box-shadow:0 8px 20px color-mix(in srgb, var(--brand) 35%, transparent);border-radius:18px;font-size:18px;font-weight:800;transition:transform .15s;display:block}.btn-main:active:not(:disabled){transform:scale(.97)}.btn-soft{border:2px solid var(--brand);min-height:40px;color:var(--brand);background:var(--card);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:800;text-decoration:none;display:inline-flex}.icon-btn{background:var(--soft);border-radius:14px;place-items:center;width:42px;height:42px;font-size:19px;transition:transform .2s,background .2s;display:inline-grid;position:relative}.icon-btn:hover{transform:translateY(-2px)rotate(-6deg)}.icon-btn.is-on{background:var(--brand);color:var(--on-brand)}.dot-count{top:-4px;background:var(--pop2);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;font-size:11px;font-style:normal;display:grid;position:absolute;inset-inline-end:-4px}.dot-live{top:6px;background:#22c55e;border-radius:50%;width:10px;height:10px;animation:1.6s infinite ping;position:absolute;inset-inline-end:6px;box-shadow:0 0 #22c55e}@keyframes ping{0%{box-shadow:0 0 #22c55e99}to{box-shadow:0 0 0 10px #22c55e00}}.splash{z-index:200;background:radial-gradient(circle at 50% 42%, var(--brand) 0%, var(--brand-deep) 75%);color:var(--on-brand);clip-path:circle(150% at 50% 42%);place-items:center;transition:clip-path .72s cubic-bezier(.7,0,.3,1);display:grid;position:fixed;inset:0;overflow:hidden}.splash.is-waiting{background:var(--bg);color:var(--ink)}.splash.is-leaving{clip-path:circle(0% at 50% 42%)}.splash-center{text-align:center;justify-items:center;gap:12px;padding:16px;display:grid;position:relative}.splash-logo{z-index:2;background:#fff;border-radius:36px;place-items:center;width:132px;height:132px;animation:1.1s cubic-bezier(.3,1.4,.5,1) both drop;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 50px #0005}.splash-logo img{object-fit:contain;width:100%;height:100%}.splash-logo span{color:var(--brand);font-size:64px;font-weight:800}@keyframes drop{0%{transform:translateY(-70vh)scale(.6)rotate(-25deg)}55%{transform:translateY(0)scale(1.12)rotate(8deg)}70%{transform:scale(.92,1.08)rotate(-3deg)}85%{transform:scale(1.04,.96)}to{transform:none}}.splash-rings{width:132px;height:132px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.splash-rings i{border:3px solid var(--on-brand);opacity:0;border-radius:40px;animation:2.2s ease-out .7s infinite ring;position:absolute;inset:0}.splash-rings i:nth-child(2){border-color:var(--pop);animation-delay:1.1s}.splash-rings i:nth-child(3){border-color:var(--pop2);animation-delay:1.5s}@keyframes ring{0%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(2.6)}}.splash-name{flex-wrap:wrap;justify-content:center;gap:0 .3em;margin:8px 0 0;font-size:clamp(26px,7vw,42px);display:flex}.splash-name span{animation:.6s cubic-bezier(.2,1.4,.4,1) both word-up;display:inline-block}@keyframes word-up{0%{opacity:0;transform:translateY(24px)scale(.8)}to{opacity:1;transform:none}}.splash-hi{opacity:0;margin:0;font-size:18px;animation:.6s 1.2s both word-up}.splash-blob{filter:blur(60px);opacity:.45;border-radius:50%;width:60vmax;height:60vmax;position:absolute}.splash-blob-a{background:var(--pop);animation:7s ease-in-out infinite alternate float;top:-25vmax;right:-20vmax}.splash-blob-b{background:var(--pop2);animation:8s ease-in-out infinite alternate-reverse float;bottom:-30vmax;left:-20vmax}.splash-dots{gap:8px;display:flex}.splash-dots i{background:var(--brand);border-radius:50%;width:12px;height:12px;animation:1s ease-in-out infinite dots}.splash-dots i:nth-child(2){animation-delay:.15s}.splash-dots i:nth-child(3){animation-delay:.3s}@keyframes dots{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-10px)}}.splash-error{text-align:center;justify-items:center;gap:10px;padding:16px;display:grid}.splash-error button{background:var(--brand);color:var(--on-brand);border-radius:999px;padding:10px 18px;font-weight:800}@keyframes float{0%{transform:translate(0)scale(1)}to{transform:translate(4vmax,3vmax)scale(1.12)}}.app{min-height:100vh;padding-bottom:120px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.topbar{z-index:30;height:var(--top);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:0 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand img,.brand-letter{object-fit:contain;background:#fff;border-radius:12px;flex:none;width:40px;height:40px;box-shadow:0 3px 10px #0002}.brand-letter{color:var(--brand);place-items:center;font-weight:800;display:grid}.brand b{white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.top-actions{gap:6px;display:flex}.search-bar{top:var(--top);z-index:29;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 14px;animation:.3s both slide-down;position:sticky}@keyframes slide-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.hero{background:linear-gradient(135deg, var(--brand), var(--brand-deep));color:var(--on-brand);box-shadow:var(--shadow);border-radius:30px;margin:12px 12px 0;padding:30px 20px 34px;position:relative;overflow:hidden}.hero-blob{filter:blur(34px);opacity:.55;border-radius:50%;position:absolute}.hero-blob-a{background:var(--pop);width:240px;height:240px;animation:6s ease-in-out infinite alternate float;top:-90px;left:-60px}.hero-blob-b{background:var(--pop2);width:200px;height:200px;animation:7s ease-in-out infinite alternate-reverse float;bottom:-110px;right:12%}.hero-content{justify-items:start;gap:10px;max-width:720px;display:grid;position:relative}.hero h1{margin:0;font-size:clamp(26px,5.6vw,44px);line-height:1.2}.app.is-ready .hero h1{animation:.7s .1s both word-up}.app.is-ready .status-pill{animation:.5s cubic-bezier(.3,1.8,.5,1) both pop}.app:not(.is-ready) .mascot,.app:not(.is-ready) .cartbar{visibility:hidden}.hero-sub{opacity:.92;margin:0;font-size:17px}.status-pill{background:#0003;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:14px;font-weight:700;display:inline-flex}.status-pill.is-open{background:#ffffff2b}.browse-note{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.browse-note p{margin:0}.browse-note .btn-soft{color:var(--brand-deep);background:#fff;border-color:#fff}.layout{align-items:flex-start;gap:18px;max-width:1480px;margin:0 auto;padding:18px 14px 0;display:flex}.catalog{flex:1;gap:26px;min-width:0;display:grid}.cat-rail{top:calc(var(--top) + 12px);width:190px;max-height:calc(100vh - var(--top) - 24px);border-radius:var(--radius);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);scrollbar-width:none;flex:none;gap:6px;padding:8px;display:grid;position:sticky;overflow-y:auto}.cat-rail::-webkit-scrollbar{display:none}.cat-rail button{text-align:start;border-radius:16px;align-items:center;gap:10px;min-height:48px;padding:6px 10px;font-weight:700;transition:background .25s,color .25s,transform .25s;display:flex}.cat-rail button:hover{background:var(--soft)}.cat-rail button.is-on{background:linear-gradient(135deg, var(--brand), var(--brand-deep));color:var(--on-brand);transform:translate(-4px)}.cat-icon{font-size:24px;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}.cat-rail button.is-on .cat-icon{transform:scale(1.25)rotate(-10deg)}.cat-name{line-height:1.2}.cat-section{scroll-margin-top:calc(var(--top) + 14px)}.section-title{align-items:center;gap:10px;margin:0 0 12px;font-size:24px;display:flex}.section-title span{font-size:28px;animation:2.6s ease-in-out infinite bob;display:inline-block}@keyframes bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-4px)rotate(-8deg)}}.empty{text-align:center;color:var(--muted);padding:30px 0;font-size:18px}.type-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.type-card{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out,box-shadow .25s,opacity .3s;position:relative;box-shadow:0 4px 14px #0000000d}.type-card[data-reveal]:not(.is-in){opacity:0}.type-card.is-in{animation:card-in .65s cubic-bezier(.2,1.3,.4,1) calc(var(--i,0) * 70ms) backwards}@keyframes card-in{0%{opacity:0;transform:translateY(30px)scale(.9)rotate(-2deg)}to{opacity:1;transform:none}}.type-card:hover{box-shadow:var(--shadow)}.type-card.is-warned{opacity:.55}.type-open{text-align:start;border-radius:var(--radius);gap:8px;width:100%;padding:8px;display:grid}.type-photo{aspect-ratio:1;background:linear-gradient(135deg, var(--soft), color-mix(in srgb, var(--pop) 20%, var(--card)));border-radius:17px;place-items:center;display:grid;position:relative;overflow:hidden}.type-photo img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,1,.3,1)}.type-card:hover .type-photo img{transform:scale(1.09)rotate(-1.5deg)}.type-letter{color:var(--brand);font-size:56px;font-weight:800}.type-shine{background:radial-gradient(circle at var(--gx,50%) var(--gy,0%), #fff6, transparent 55%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.type-card:hover .type-shine{opacity:1}.type-card.is-soon .type-photo img{filter:grayscale(.7)brightness(.95)}.ribbon{top:10px;white-space:nowrap;color:#fff;background:#1f1a17d9;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700;animation:3s infinite wiggle;position:absolute;inset-inline-start:10px}@keyframes wiggle{0%,90%,to{transform:rotate(0)}93%{transform:rotate(-6deg)}96%{transform:rotate(6deg)}}.type-count{top:10px;background:var(--brand);min-width:30px;height:30px;color:var(--on-brand);border-radius:999px;place-items:center;padding:0 6px;font-weight:800;animation:.45s cubic-bezier(.3,1.8,.5,1) pop;display:grid;position:absolute;inset-inline-end:10px;box-shadow:0 4px 10px #0003}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.type-body{gap:4px;padding:0 4px 4px;display:grid}.type-body h3{margin:0;font-size:18px;line-height:1.3}.type-meta{flex-wrap:wrap;align-items:center;gap:6px;padding-inline-end:44px;display:flex}.type-meta strong{color:var(--brand);font-size:16px}.chip{background:var(--soft);color:var(--brand-deep);border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700}@media (prefers-color-scheme:dark){.chip{color:var(--ink)}}.warn-chip{color:#b45309;font-size:12px;font-weight:700}.quick-add{bottom:10px;background:linear-gradient(135deg, var(--brand), var(--brand-deep));width:42px;height:42px;color:var(--on-brand);box-shadow:0 6px 14px color-mix(in srgb, var(--brand) 40%, transparent);border-radius:14px;font-size:26px;font-weight:800;line-height:1;transition:transform .2s cubic-bezier(.3,1.8,.5,1);position:absolute;inset-inline-end:10px}.quick-add:hover{transform:scale(1.12)rotate(90deg)}.quick-add:active{transform:scale(.9)}.posts-rail{flex-direction:column;gap:12px;display:flex}.posts-rail.is-rail{top:calc(var(--top) + 12px);width:300px;height:calc(100vh - var(--top) - 24px);flex:none;position:sticky}.rail-title{margin:0;font-size:20px}.posts-window{flex:1;min-height:0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 8% 92%,#0000);mask-image:linear-gradient(#0000,#000 8% 92%,#0000)}.posts-window:not(.is-moving){overflow-y:auto}.posts-track{gap:14px;padding:10px 2px;display:grid}.posts-window.is-moving .posts-track{animation:rise calc(var(--count) * 7s) linear infinite}.posts-window.is-moving:hover .posts-track{animation-play-state:paused}@keyframes rise{0%{transform:translateY(0)}to{transform:translateY(calc(-50% - 7px))}}.post-card{perspective:1000px;height:230px}.post-inner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.post-card.is-flipping .post-inner{animation:flip 12s var(--delay,0s) infinite cubic-bezier(.6,0,.3,1)}@keyframes flip{0%,40%{transform:rotateY(0)}50%,90%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}.post-face{border-radius:var(--radius);backface-visibility:hidden;box-shadow:var(--shadow);position:absolute;inset:0;overflow:hidden}.post-front{background:var(--card)}.post-front img{object-fit:cover;width:100%;height:100%}.post-art{background:linear-gradient(135deg, var(--pop), var(--pop2));place-items:center;height:100%;font-size:60px;display:grid}.post-front h3{inset-inline:0;color:#fff;background:linear-gradient(#0000,#000b);margin:0;padding:30px 14px 12px;font-size:18px;position:absolute;bottom:0}.post-back{color:var(--on-brand);background:linear-gradient(145deg, var(--brand), var(--brand-deep));flex-direction:column;gap:6px;padding:16px;display:flex;transform:rotateY(180deg)}.post-back h3{margin:0;font-size:18px}.post-back p{-webkit-line-clamp:6;white-space:pre-line;-webkit-box-orient:vertical;flex:1;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.post-back time{opacity:.8;font-size:12px}.posts-empty{text-align:center;border:2px dashed var(--line);border-radius:var(--radius);color:var(--muted);flex:1;place-items:center;padding:20px;display:grid}.contact-card{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);flex:none;gap:8px;padding:14px;display:grid}.contact-head{align-items:center;gap:10px;display:flex}.contact-head img{object-fit:contain;background:#fff;border-radius:12px;width:42px;height:42px}.contact-about{color:var(--muted);white-space:pre-line;margin:0;font-size:14px;line-height:1.5}.contact-line{align-items:center;gap:6px;margin:0;font-size:14px;display:flex}.contact-line svg{width:18px;height:18px;fill:var(--brand);flex:none}.contact-line a{color:inherit}.contact-phones{flex-wrap:wrap;gap:6px;display:flex}.contact-phones a{background:var(--soft);color:var(--ink);border-radius:999px;padding:4px 10px;font-size:14px;font-weight:700;text-decoration:none}.contact-socials{gap:8px;display:flex}.social{color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;transition:transform .25s cubic-bezier(.3,1.8,.5,1);display:grid}.social:hover{transform:translateY(-3px)rotate(-10deg)scale(1.08)}.social svg{fill:currentColor;width:21px;height:21px}.social.is-whatsapp{background:#25d366}.social.is-instagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.social.is-facebook{background:#1877f2}.social.is-tiktok{background:#111}.only-narrow{display:none}.sheet-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);background:#140c0673;justify-content:center;align-items:flex-end;animation:.25s both fade-in;display:flex;position:fixed;inset:0}.sheet-backdrop.is-top{z-index:60}.sheet-backdrop.is-center{align-items:center;padding:16px}.sheet-backdrop.is-side{justify-content:flex-end;align-items:stretch}.sheet,.product-sheet,.map-sheet{background:var(--card);width:min(620px,100%);max-height:92vh;padding:16px 16px max(18px, env(safe-area-inset-bottom));overscroll-behavior:contain;border-radius:28px 28px 0 0;gap:12px;animation:.42s cubic-bezier(.2,1.15,.3,1) both sheet-up;display:grid;position:relative;overflow:auto}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.sheet-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.sheet-head h2{margin:0;font-size:22px}.sheet-close{background:var(--soft);border-radius:50%;flex:none;width:40px;height:40px;font-size:24px;line-height:1;transition:transform .25s}.sheet-close:hover{transform:rotate(90deg)}.sheet-close.is-floating{top:14px;z-index:3;color:#111;background:#fffc;position:absolute;inset-inline-end:14px;box-shadow:0 4px 12px #0003}.sheet-note{color:var(--muted);text-align:center;margin:0;font-size:14px}.form-error{color:#dc2626;text-align:center;margin:0;font-weight:800;animation:.4s shake}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.field{gap:5px;display:grid}.field>span,.field-label{font-weight:800}.product-sheet{padding:0 0 max(18px, env(safe-area-inset-bottom));gap:0}.product-hero{background:linear-gradient(160deg, var(--soft), color-mix(in srgb, var(--pop) 25%, var(--card)));perspective:900px;place-items:center;height:min(46vh,380px);display:grid;position:relative;overflow:hidden}.product-hero-glow{aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--brand) 45%, transparent), transparent 70%);border-radius:50%;width:70%;animation:4s ease-in-out infinite alternate glow;position:absolute}@keyframes glow{0%{opacity:.6;transform:scale(.9)}to{opacity:1;transform:scale(1.15)}}.product-hero img{object-fit:cover;width:100%;height:100%;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(1.02);transition:transform .2s ease-out;animation:.7s cubic-bezier(.2,1.3,.4,1) backwards hero-in;position:relative}@keyframes hero-in{0%{opacity:0;transform:scale(.7)rotate(-6deg)}to{opacity:1;transform:scale(1.02)}}.product-hero-letter{color:var(--brand);font-size:110px;font-weight:800;animation:.7s both hero-in;position:relative}.product-body{gap:14px;padding:16px;display:grid}.product-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.product-title h2{margin:0;font-size:26px}.product-desc{color:var(--muted);margin:0;line-height:1.6}.size-chips{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.size-chip{border:2px solid var(--line);background:var(--card);border-radius:999px;flex:none;min-height:42px;padding:0 16px;font-weight:800;transition:all .25s cubic-bezier(.3,1.6,.5,1)}.size-chip.is-on{background:var(--brand);border-color:var(--brand);color:var(--on-brand);transform:scale(1.06)}.size-chip.is-soon{border-style:dashed}.carton-list{gap:10px;display:grid}.carton-row{background:var(--soft);border-radius:18px;justify-content:space-between;align-items:center;gap:10px;padding:12px;animation:.45s both word-up;display:flex}.carton-row:nth-child(2){animation-delay:60ms}.carton-row:nth-child(3){animation-delay:.12s}.carton-row.is-soon{background:repeating-linear-gradient(-45deg, var(--soft) 0 12px, color-mix(in srgb, var(--soft) 60%, var(--card)) 12px 24px)}.carton-info{gap:0;min-width:0;display:grid}.carton-info span{color:var(--muted);font-size:13px}.carton-info strong{color:var(--brand);font-size:18px}.carton-soon{justify-items:end;gap:6px;display:grid}.soon-tag{color:var(--muted);font-size:14px;font-weight:800}.btn-add{background:linear-gradient(135deg, var(--brand), var(--brand-deep));min-height:46px;color:var(--on-brand);box-shadow:0 6px 14px color-mix(in srgb, var(--brand) 35%, transparent);border-radius:16px;padding:0 20px;font-size:17px;font-weight:800;transition:transform .2s cubic-bezier(.3,1.8,.5,1)}.btn-add:active{transform:scale(.9)}.stepper{align-items:center;gap:6px;display:flex}.stepper button{background:var(--card);width:42px;height:42px;color:var(--brand);border-radius:14px;font-size:22px;font-weight:800;transition:transform .15s;box-shadow:0 2px 8px #0001}.stepper button:active{transform:scale(.85)}.stepper span{text-align:center;min-width:28px;font-size:18px;font-weight:800;animation:.35s cubic-bezier(.3,1.8,.5,1) pop}.stepper.is-small button{background:var(--soft);border-radius:11px;width:34px;height:34px;font-size:18px}.allergy-alert{color:#92400e;background:#fef3c7;border-radius:14px;padding:10px 12px;font-weight:800;animation:.5s shake}.product-block h3{margin:0 0 6px;font-size:17px}.product-block p{color:var(--muted);margin:0;line-height:1.6}.allergen-chips{flex-wrap:wrap;gap:6px;display:flex}.allergen-chips span{background:var(--soft);border-radius:999px;padding:4px 11px;font-size:14px;font-weight:700}.allergen-chips span.is-mine{color:#92400e;background:#fde68a}.cart-lines{gap:10px;margin:0;padding:0;list-style:none;display:grid}.cart-lines li,.reserve-item{align-items:center;gap:10px;display:flex}.cart-thumb{background:var(--soft);width:54px;height:54px;color:var(--brand);border-radius:14px;flex:none;place-items:center;font-weight:800;display:grid;overflow:hidden}.cart-thumb img{object-fit:cover;width:100%;height:100%}.cart-name{flex:1;min-width:0;display:grid}.cart-name small{color:var(--muted)}.cart-total{border-top:2px dashed var(--line);justify-content:space-between;padding-top:10px;font-size:20px;display:flex}.cart-total b{color:var(--brand)}.choice{background:var(--soft);border-radius:18px;grid-template-columns:1fr 1fr;gap:6px;padding:5px;display:grid}.choice button{border-radius:14px;min-height:48px;font-weight:800;transition:all .25s}.choice button.is-on{background:var(--card);color:var(--brand);transform:scale(1.02);box-shadow:0 4px 12px #0001}.location-field{gap:8px;display:grid}.location-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.location-btn{border:2px dashed color-mix(in srgb, var(--brand) 45%, var(--line));border-radius:18px;justify-items:center;gap:2px;padding:12px 8px;font-size:14px;font-weight:800;transition:transform .2s,background .2s;display:grid}.location-btn span{font-size:26px;transition:transform .3s cubic-bezier(.3,1.8,.5,1)}.location-btn:hover{background:var(--soft)}.location-btn:hover span{transform:scale(1.25)rotate(-10deg)}.location-chosen{color:#14532d;background:#dcfce7;border-radius:16px;align-items:center;gap:10px;padding:10px 12px;animation:.4s cubic-bezier(.3,1.6,.5,1) pop;display:flex}.location-chosen>div{flex:1;min-width:0;display:grid}.location-chosen small{text-overflow:ellipsis;white-space:nowrap;opacity:.8;overflow:hidden}.location-ok{color:#fff;background:#16a34a;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.location-chosen .btn-soft{color:#15803d;border-color:#16a34a;min-height:34px}.location-chosen .icon-btn{background:#fff8;width:34px;height:34px}.location-paste{gap:8px;display:flex}.map-sheet{width:min(760px,100%)}.map-box{background:var(--soft);border-radius:20px;height:min(58vh,520px);position:relative;overflow:hidden}.map-canvas{position:absolute;inset:0}.map-pin{z-index:500;pointer-events:none;width:40px;height:52px;transition:transform .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.map-pin svg{width:100%;height:100%;fill:var(--brand);filter:drop-shadow(0 4px 6px #0005)}.map-pin i{background:#0005;border-radius:50%;width:14px;height:6px;margin-left:-7px;transition:transform .2s;position:absolute;bottom:-4px;left:50%}.map-pin.is-moving{transform:translate(-50%,calc(-100% - 12px))}.map-pin.is-moving i{transform:translateY(12px)scale(.6)}.map-locate{top:12px;z-index:500;background:var(--card);border-radius:999px;padding:8px 14px;font-weight:800;position:absolute;inset-inline-start:12px;box-shadow:0 4px 12px #0003}.map-locate.is-busy{align-items:center;gap:8px;display:inline-flex}.map-spinner{border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.map-help{border-radius:14px;gap:4px;margin:0;padding:10px 12px;font-size:14px;line-height:1.55;animation:.35s cubic-bezier(.3,1.6,.5,1) pop;display:grid}.map-help.is-ok{color:#14532d;background:#dcfce7}.map-help.is-warn{color:#78350f;background:#fef3c7}.map-loading{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.leaflet-container{font:inherit}.allergy-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.allergy-grid button{border:2px solid var(--line);border-radius:16px;align-items:center;gap:8px;min-height:50px;padding:0 12px;font-weight:800;transition:all .25s cubic-bezier(.3,1.6,.5,1);display:flex}.allergy-grid button span{font-size:22px}.allergy-grid button.is-on{color:#92400e;background:#fef3c7;border-color:#f59e0b;transform:scale(1.03)}.track-card{background:var(--soft);border-radius:18px;gap:8px;padding:12px;display:grid}.track-card header{justify-content:space-between;display:flex}.track-card ul{color:var(--muted);margin:0;padding-inline-start:18px;font-size:14px}.progress{text-align:center;grid-template-columns:repeat(3,1fr);margin:6px 0;padding:0;font-size:13px;font-weight:700;list-style:none;display:grid;position:relative}.progress:before,.progress:after{content:"";top:20px;border-radius:4px;height:4px;position:absolute;inset-inline-start:16.6%}.progress:before{background:var(--line);inset-inline-end:16.6%}.progress:after{width:calc(var(--at) * 33.3%);background:linear-gradient(90deg, var(--brand), var(--pop));transition:width .8s cubic-bezier(.3,1.3,.5,1)}.progress li{z-index:1;color:var(--muted);justify-items:center;gap:4px;display:grid;position:relative}.progress-dot{background:var(--card);border:3px solid var(--line);filter:grayscale();border-radius:50%;place-items:center;width:42px;height:42px;font-size:20px;transition:all .4s;display:grid}.progress li.is-done,.progress li.is-now{color:var(--ink)}.progress li.is-done .progress-dot,.progress li.is-now .progress-dot{filter:none;border-color:var(--brand)}.progress li.is-now .progress-dot{animation:1.6s infinite now}@keyframes now{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand) 50%, transparent)}50%{transform:scale(1.08);box-shadow:0 0 0 9px #0000}}.progress.is-cancelled{color:#991b1b;background:#fee2e2;border-radius:14px;padding:10px;display:block}.done-card{text-align:center;background:var(--card);width:min(460px,100%);box-shadow:var(--shadow);border-radius:30px;justify-items:center;gap:12px;padding:20px;animation:.6s cubic-bezier(.2,1.4,.4,1) both done-in;display:grid}@keyframes done-in{0%{opacity:0;transform:scale(.6)rotate(-4deg)}to{opacity:1;transform:none}}.done-card h2{margin:0;font-size:28px}.done-card p{margin:0}.done-card .progress{width:100%}.done-scene{background:linear-gradient(180deg, color-mix(in srgb, var(--brand) 14%, var(--card)), var(--soft));border-radius:22px;width:100%;height:110px;position:relative;overflow:hidden}.done-road{inset-inline:0;background:repeating-linear-gradient(90deg, var(--muted) 0 18px, transparent 18px 34px);opacity:.5;height:4px;animation:.5s linear infinite road;position:absolute;bottom:18px}@keyframes road{to{background-position:-34px 0}}.done-actor{font-size:56px;line-height:1;position:absolute;bottom:20px;left:50%}.done-scene.is-delivery .done-actor{animation:2.6s cubic-bezier(.5,0,.5,1) infinite drive}@keyframes drive{0%{transform:translate(260%)scaleX(-1)}45%,55%{transform:translate(-50%)translateY(-3px)scaleX(-1)}to{transform:translate(-360%)scaleX(-1)}}.done-scene.is-pickup .done-actor{animation:.9s cubic-bezier(.3,1.6,.5,1) infinite hop;transform:translate(-50%)}@keyframes hop{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-22px)rotate(-8deg)}}.done-scene.is-reserve .done-actor{transform-origin:50% 10%;margin-left:-28px;animation:1.2s infinite ring-bell}@keyframes ring-bell{0%,to{transform:rotate(0)}15%{transform:rotate(18deg)}30%{transform:rotate(-16deg)}45%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}}.suggest{background:var(--card);width:min(400px,100%);box-shadow:var(--shadow);border-radius:30px;justify-items:center;gap:12px;padding:20px;animation:.5s cubic-bezier(.2,1.4,.4,1) both done-in;display:grid}.suggest h2{margin:0}.reel-window{background:var(--soft);border:3px solid var(--brand);border-radius:22px;width:100%;height:132px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 10% 90%,#0000);mask-image:linear-gradient(#0000,#000 10% 90%,#0000)}.reel-slot{align-content:center;justify-items:center;gap:4px;height:132px;display:grid}.reel-slot img,.reel-letter{object-fit:cover;border-radius:20px;width:76px;height:76px}.reel-letter{background:var(--card);color:var(--brand);place-items:center;font-size:40px;font-weight:800;display:grid}.suggest-result{min-height:28px;margin:0;font-size:18px}.suggest-result.is-on{animation:.5s cubic-bezier(.3,1.8,.5,1) pop}.suggest-actions{grid-template-columns:1fr auto;gap:8px;width:100%;display:grid}.cartbar{z-index:40;inset-inline:14px;bottom:max(14px, env(safe-area-inset-bottom));background:linear-gradient(135deg, var(--brand), var(--brand-deep));max-width:560px;min-height:62px;color:var(--on-brand);box-shadow:0 14px 34px color-mix(in srgb, var(--brand-deep) 45%, transparent);border-radius:22px;align-items:center;gap:12px;margin:0 auto;padding:0 12px 0 18px;font-size:18px;font-weight:800;animation:.5s cubic-bezier(.2,1.3,.4,1) both sheet-up;display:flex;position:fixed}.cartbar b{background:#ffffff26;border-radius:14px;margin-inline-start:auto;padding:6px 12px}.cartbar-count{min-width:34px;height:34px;color:var(--brand);background:#fff;border-radius:12px;place-items:center;display:grid}.cartbar.is-hint{animation:.8s cubic-bezier(.3,1.6,.5,1) 3 cart-hint}@keyframes cart-hint{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-10px)scale(1.04)}}.cart-hint{text-align:center;background:var(--card);width:max-content;max-width:calc(100% - 16px);color:var(--ink);box-shadow:var(--shadow);border:2px solid var(--brand);border-radius:14px;margin:0 auto;padding:8px 14px;font-size:15px;animation:.45s cubic-bezier(.3,1.7,.5,1) both bubble;position:absolute;bottom:calc(100% + 10px);left:0;right:0}.cart-hint:after{content:"";border:8px solid #0000;border-top-color:var(--brand);margin-left:-8px;position:absolute;top:100%;left:50%}.cart-anchor{width:1px;height:1px;position:fixed;bottom:40px;left:50%}.is-bump{animation:.6s cubic-bezier(.3,1.8,.5,1) bump}@keyframes bump{0%{transform:scale(1)}30%{transform:scale(1.45)rotate(-10deg)}60%{transform:scale(.9)}to{transform:scale(1)}}.fly{z-index:100;background:var(--brand);width:64px;height:64px;color:var(--on-brand);pointer-events:none;border-radius:18px;place-items:center;font-size:30px;font-weight:800;display:grid;position:fixed;overflow:hidden;box-shadow:0 10px 24px #0005}.fly img{object-fit:cover;width:100%;height:100%}.confetti{z-index:120;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.icon-btn.is-dice{animation:5s infinite dice-idle}@keyframes dice-idle{0%,88%,to{transform:rotate(0)}91%{transform:rotate(-20deg)scale(1.15)}94%{transform:rotate(16deg)}97%{transform:rotate(-8deg)}}.mascot{z-index:36;bottom:86px;width:82px;position:fixed;inset-inline-end:10px}.mascot-body{width:82px;height:82px;padding:0;animation:.7s cubic-bezier(.3,1.5,.5,1) jump;display:block}.mascot-body svg{transform-origin:50% 100%;width:100%;height:100%;animation:2.6s ease-in-out infinite breathe;overflow:visible}.mascot.is-sleep .mascot-body svg{animation-duration:4.5s}.mascot.is-sad .mascot-body svg{animation:1s both droop}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03,.97)translateY(1px)}}@keyframes jump{0%{transform:translateY(0)scale(1)}20%{transform:translateY(4px)scale(1.1,.88)}50%{transform:translateY(-26px)scale(.95,1.06)rotate(-6deg)}80%{transform:translateY(0)scale(1.06,.94)}to{transform:none}}@keyframes droop{to{transform:scale(1.04,.9)rotate(4deg)}}.mascot-shadow{fill:#0002}.mascot-foot{fill:#a06a38}.mascot-flap{fill:#c98d52}.mascot-box{fill:#dba46b;stroke:#b07a44;stroke-width:2px}.mascot-tape{fill:var(--brand);opacity:.9}.mascot-cheek{fill:#ff8fa3;opacity:.55}.mascot-eye{fill:#fff;stroke:#3b2a1a;stroke-width:2px}.mascot-pupil{fill:#2b1d12;transition:cx .12s,cy .12s}.mascot-line{fill:none;stroke:#3b2a1a;stroke-width:3px;stroke-linecap:round}.mascot-mouth{fill:#7f1d1d;stroke:#3b2a1a;stroke-width:2px}.mascot-heart path{fill:#ff4d6d;transform-origin:50%;transform-box:fill-box;animation:.6s infinite alternate beat}@keyframes beat{to{transform:scale(1.2)}}.mascot-tear{fill:#60a5fa;animation:1s infinite tear}@keyframes tear{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.mascot-bubble{bottom:calc(100% + 8px);background:var(--card);width:max-content;max-width:230px;color:var(--ink);box-shadow:var(--shadow);border:2px solid var(--brand);transform-origin:10% 100%;border-radius:18px 18px 18px 6px;padding:9px 13px;font-size:15px;font-weight:700;line-height:1.4;animation:.45s cubic-bezier(.3,1.7,.5,1) both bubble;position:absolute;inset-inline-end:0}@keyframes bubble{0%{opacity:0;transform:scale(0)rotate(-8deg)}to{opacity:1;transform:none}}.mascot-z{top:-8px;color:var(--brand);pointer-events:none;font-weight:800;position:absolute;inset-inline-start:-4px}.mascot-z span{opacity:0;animation:3s infinite zz;position:absolute}.mascot-z span:nth-child(2){font-size:18px;animation-delay:1s}.mascot-z span:nth-child(3){font-size:22px;animation-delay:2s}@keyframes zz{0%{opacity:0;transform:translate(0)}30%{opacity:1}to{opacity:0;transform:translate(18px,-40px)}}.drawer{background:var(--bg);width:min(360px,90vw);height:100%;padding:14px;animation:.4s cubic-bezier(.2,1.1,.3,1) both drawer-in;overflow:hidden}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:none}}.posts-rail.is-drawer{height:100%}@media (width>=760px){.sheet-backdrop:not(.is-side){align-items:center;padding:20px}.sheet,.product-sheet,.map-sheet{border-radius:30px;animation-name:done-in}.product-sheet{grid-template-columns:1fr 1fr;width:min(900px,100%);padding:0;display:grid}.product-hero{height:auto;min-height:100%}.product-body{align-content:start;max-height:88vh;overflow:auto}}@media (width<=1099px){.posts-rail.is-rail{display:none}.only-narrow{display:inline-grid}}@media (width>=1100px){.app.has-rail .mascot{inset-inline-end:330px}}@media (width<=759px){:root{--top:56px}.hero{border-radius:24px;margin:10px 10px 0;padding:22px 16px 26px}.layout{gap:10px;padding:14px 10px 0}.cat-rail{border-radius:20px;gap:4px;width:72px;padding:6px 4px}.cat-rail button{text-align:center;border-radius:16px;flex-direction:column;justify-content:center;gap:2px;min-height:64px;padding:6px 2px}.cat-rail button.is-on{transform:scale(1.04)}.cat-icon{font-size:26px}.cat-name{word-break:break-word;font-size:11px;font-weight:700}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.type-open{gap:6px;padding:6px}.type-body h3{font-size:15px}.type-meta strong{font-size:14px}.type-meta{padding-inline-end:38px}.ribbon{top:6px;padding:2px 8px;font-size:11px;inset-inline-start:6px}.quick-add{bottom:8px;border-radius:12px;width:36px;height:36px;font-size:22px;inset-inline-end:8px}.section-title{font-size:20px}.mascot,.mascot-body{width:66px}.mascot-body{height:66px}.mascot{bottom:84px}.top-actions{gap:4px}.icon-btn{width:38px;height:38px;font-size:17px}.location-actions{grid-template-columns:1fr}}@media (width<=380px){.cat-rail{width:64px}.type-grid{gap:8px}.type-body h3{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.type-card[data-reveal]:not(.is-in){opacity:1}}::view-transition-group(product-photo){animation-duration:.45s;animation-timing-function:cubic-bezier(.2,1,.3,1)}
