:root{--bg: #14100d;--bg-2: #1c1611;--surface: #211a14;--surface-2: #2a211a;--line: rgba(246, 238, 225, .1);--line-strong: rgba(246, 238, 225, .18);--text: #f6eee1;--text-dim: #b6a695;--text-faint: #7c6e60;--ember: #ff4e2b;--ember-deep: #c9331a;--gold: #ffc24b;--silver: #d8d8de;--bronze: #e08a4f;--diet-veg: #4fb477;--diet-non-veg: #e23b3b;--diet-egg: #f3b33d;--display: "Fraunces", Georgia, "Times New Roman", serif;--body: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--mono: "DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--r-lg: 22px;--r-md: 16px;--r-sm: 10px}*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(95% 55% at 50% -8%,rgba(255,78,43,.2),transparent 60%),radial-gradient(75% 45% at 50% 112%,rgba(255,194,75,.08),transparent 60%),var(--bg)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:var(--ember);color:#fff}.app{position:relative;z-index:1;max-width:520px;margin:0 auto;min-height:100dvh;padding-bottom:1px;background:linear-gradient(180deg,rgba(42,33,26,.45),transparent 260px)}.app-header{position:relative;padding:4.3rem 1.25rem 1.2rem;text-align:center;animation:fadeUp .7s ease both}.prayer-flags{position:absolute;top:0;left:-4px;right:-4px;height:56px;pointer-events:none}.prayer-flags-string{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:30px}.prayer-flag{position:absolute;top:calc(2px + var(--sag));width:17px;height:22px;margin-left:-8px;background:var(--flag-color);opacity:.9;clip-path:polygon(0 0,100% 0,92% 100%,8% 100%);transform-origin:top center;animation:flagSway 3.4s ease-in-out var(--sway-delay) infinite alternate;box-shadow:inset 0 -8px 10px -6px #00000059}.prayer-flag:after{content:"";position:absolute;top:3px;right:2px;bottom:3px;left:2px;background:repeating-linear-gradient(180deg,rgba(0,0,0,.16) 0 1px,transparent 1px 4px);opacity:.5}.steam{position:absolute;top:2.1rem;left:50%;width:140px;height:74px;transform:translate(-50%);pointer-events:none;opacity:.6}.steam span{position:absolute;bottom:0;width:12px;height:44px;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,rgba(246,238,225,.5),transparent 70%);filter:blur(5px);animation:steamRise 3.6s ease-in-out infinite}.steam span:nth-child(1){left:28%;animation-delay:0s}.steam span:nth-child(2){left:48%;animation-delay:1.2s;height:54px}.steam span:nth-child(3){left:66%;animation-delay:2.3s}.app-header h1{margin:0;font-family:var(--display);font-weight:900;font-size:clamp(2.15rem,9vw,3.05rem);line-height:.95;letter-spacing:-.025em;background:linear-gradient(118deg,var(--text) 30%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.app-subtitle{margin:.85rem 0 0;display:inline-flex;align-items:center;gap:.55rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim)}.app-subtitle:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ember);box-shadow:0 0 #ff4e2b99;animation:pulse 2.2s infinite}.app-date{margin:.55rem 0 0;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.ticker{margin-top:1.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,#ff4e2b1a,#ffc24b0d);overflow:hidden;animation:fadeUp .7s .1s ease both;-webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.ticker-track{list-style:none;margin:0;padding:0;display:flex;width:max-content;animation:marquee 42s linear infinite}.ticker-item{display:inline-flex;align-items:center;gap:.45rem;padding:.72rem 0 .72rem 1.5rem;white-space:nowrap;font-family:var(--mono);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text)}.ticker-item:after{content:"◆";margin-left:1.5rem;font-size:.5rem;color:var(--ember);opacity:.55;transform:translateY(-1px)}main{padding:0 1.15rem}section{margin-top:2.6rem}section>h2{margin:0 0 1.05rem;font-family:var(--display);font-weight:800;font-size:1.62rem;letter-spacing:-.01em;color:var(--text)}section>h2:before{display:block;margin-bottom:.4rem;font-family:var(--mono);font-weight:500;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ember)}.todays-special>h2:before{content:"Star of the Day"}.featured>h2:before{content:"Don't Miss"}.leaderboard>h2:before{content:"The Chart · Live"}.chefs-picks>h2:before{content:"Hand-picked"}.new-arrivals>h2:before{content:"Just Landed"}.combos>h2:before{content:"Better Together"}.todays-special{animation:fadeUp .7s .15s ease both}.featured{animation:fadeUp .7s .2s ease both}.leaderboard{animation:fadeUp .7s .25s ease both}.chefs-picks{animation:fadeUp .7s .35s ease both}.new-arrivals{animation:fadeUp .7s .45s ease both}.combos{animation:fadeUp .7s .55s ease both}.featured-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:.8rem}.featured .item-card{background:radial-gradient(120% 100% at 100% 0,rgba(255,194,75,.14),transparent 55%),linear-gradient(165deg,var(--surface-2),var(--surface));border-color:#ffc24b6b;animation:featuredGlow 2.8s ease-in-out infinite alternate}.featured .item-badge{color:var(--gold);background:none;border:none;font-size:1.15rem;text-shadow:0 2px 12px rgba(255,194,75,.55);animation:starTwinkle 2.6s ease-in-out infinite}.featured .item-tagline{font-size:1.05rem}.todays-special{margin-top:2.1rem}.todays-special .item-card{padding:1.5rem 1.35rem 1.3rem;background:radial-gradient(130% 130% at 85% -10%,rgba(255,78,43,.22),transparent 55%),linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid transparent;background-clip:padding-box;box-shadow:0 20px 50px -22px #ff642899}.todays-special .item-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.5px;background:linear-gradient(115deg,#ffc24bd9,#ff4e2b59 30%,#ffc24b26 50%,#ff4e2bb3 75%,#ffc24bd9);background-size:250% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:borderFlow 5s linear infinite;pointer-events:none}.todays-special .item-name{font-size:1.42rem}.todays-special .item-price{font-size:1.2rem;color:var(--gold)}.todays-special .item-badge{font-size:1.5rem;color:var(--gold);background:none;border:none;text-shadow:0 2px 16px rgba(255,194,75,.6);animation:starTwinkle 2.6s ease-in-out infinite}.todays-special .item-desc{-webkit-line-clamp:3}.item-card{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.15rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.item-card:active{transform:scale(.98)}.item-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.item-card.expanded .item-desc{-webkit-line-clamp:unset;display:block}.item-card.expanded{border-color:#ffc24b73;box-shadow:0 14px 34px -16px #ffa03c73}.item-badge{position:absolute;top:.75rem;right:.85rem;font-family:var(--mono);font-size:.78rem;font-weight:500;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--line);padding:.15rem .5rem;border-radius:100px;letter-spacing:.02em}.item-name{margin:0;font-family:var(--display);font-weight:600;font-size:1.06rem;line-height:1.28;color:var(--text);padding-right:2.5rem}.item-desc{margin:0;font-size:.83rem;line-height:1.42;color:var(--text-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-tagline{margin:0;font-family:var(--display);font-style:italic;font-weight:500;font-size:1.02rem;line-height:1.3;color:var(--gold)}.item-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.15rem}.item-price{margin:0;font-family:var(--mono);font-weight:500;font-size:1rem;color:var(--ember)}.item-trend{display:inline-flex;align-items:center;gap:.45rem}.sparkline{display:block;width:64px;height:20px}.trend-delta{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.04em;padding:.14rem .45rem;border-radius:100px;background:#ffffff0d;border:1px solid rgba(255,255,255,.09)}.trend-up{color:#53c07f}.trend-down{color:#ff6555}.trend-flat{color:var(--text-faint)}@media(hover:hover){.item-card:hover{transform:translateY(-3px);border-color:#ff4e2b66;box-shadow:0 16px 36px -18px #ff4e2b8c}}.diet-dot{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;border:1.5px solid currentColor;border-radius:3px;font-size:.7em;line-height:1;vertical-align:-.05em;margin-right:.25em}.diet-veg{color:var(--diet-veg)}.diet-non-veg{color:var(--diet-non-veg)}.diet-egg{color:var(--diet-egg)}.leaderboard-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.leaderboard-list>li:nth-child(1) .item-card{padding:1.6rem 1.4rem 1.35rem;background:radial-gradient(130% 120% at 100% 0,rgba(255,194,75,.18),transparent 55%),linear-gradient(160deg,var(--surface-2),var(--surface));border-color:#ffc24b61;box-shadow:0 18px 48px -20px #ff8c2d8c}.leaderboard-list>li:nth-child(1) .item-name{font-size:1.5rem;padding-right:3.2rem}.leaderboard-list>li:nth-child(1) .item-price{font-size:1.2rem;color:var(--gold)}.leaderboard-list>li:nth-child(1) .item-badge{top:.85rem;right:1.1rem;font-family:var(--display);font-size:2.6rem;font-weight:900;color:var(--gold);background:none;border:none;padding:0;line-height:1;text-shadow:0 3px 22px rgba(255,194,75,.5)}.leaderboard-list>li:nth-child(2) .item-card{border-color:#d8d8de47}.leaderboard-list>li:nth-child(3) .item-card{border-color:#e08a4f4d}.leaderboard-list>li:nth-child(2) .item-badge{color:var(--silver);font-size:.95rem}.leaderboard-list>li:nth-child(3) .item-badge{color:var(--bronze);font-size:.95rem}.leaderboard-list>li:nth-child(n+4) .item-card{display:grid;grid-template-columns:2.2rem 1fr auto;grid-template-areas:"rank name  foot" "rank desc  foot";align-items:center;column-gap:.9rem;padding:.8rem 1rem}.leaderboard-list>li:nth-child(n+4) .item-badge{position:static;grid-area:rank;align-self:center;justify-self:start;background:none;border:none;padding:0;font-size:1.05rem;color:var(--text-faint)}.leaderboard-list>li:nth-child(n+4) .item-name{grid-area:name;padding-right:.5rem;font-size:.98rem}.leaderboard-list>li:nth-child(n+4) .item-desc{grid-area:desc;-webkit-line-clamp:1}.leaderboard-list>li:nth-child(n+4) .item-foot{grid-area:foot;align-self:center;flex-direction:column;align-items:flex-end;gap:.25rem;margin:0}.leaderboard-list>li:nth-child(n+4) .sparkline{width:48px;height:15px}.leaderboard-list>li:nth-child(n+4) .item-tagline{display:none}.leaderboard-list>li:nth-child(1) .sparkline{width:96px;height:26px}.leaderboard-list>li:nth-child(1) .item-foot{margin-top:.4rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.section-head h2{margin-bottom:1.05rem}.swipe-hint{flex-shrink:0;font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}.swipe-arrow{display:inline-block;color:var(--ember);animation:nudge 1.6s ease-in-out infinite}.chefs-picks-list{list-style:none;margin:0 -1.15rem;padding:.3rem 1.15rem 1rem;display:flex;gap:.85rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.chefs-picks-list::-webkit-scrollbar{display:none}.chefs-picks-list>li{scroll-snap-align:center;flex:0 0 70%;max-width:290px}.scroll-dots{display:flex;justify-content:center;gap:.45rem;margin-top:.1rem}.scroll-dot{width:6px;height:6px;border-radius:100px;background:var(--text-faint);opacity:.5;transition:all .3s ease}.scroll-dot.active{width:20px;background:var(--ember);opacity:1;box-shadow:0 0 10px #ff4e2b80}.chefs-picks .item-card{height:100%;background:radial-gradient(120% 90% at 0 0,rgba(255,78,43,.14),transparent 60%),linear-gradient(165deg,var(--surface-2),var(--surface));border-color:#ff4e2b42}.chefs-picks .item-tagline{font-size:1.2rem}.chefs-picks .item-name{padding-right:.5rem}.new-arrivals-list,.combos-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:.8rem}.new-arrivals .item-badge{background:linear-gradient(135deg,var(--diet-veg),#2f9c66);color:#06120b;font-family:var(--body);font-weight:700;font-size:.62rem;letter-spacing:.12em;border:none;padding:.22rem .5rem}.combos .item-card{border-style:dashed;border-color:var(--line-strong)}.combos .item-price{font-size:1.05rem;color:var(--gold)}.app-footer{margin-top:2.6rem;padding:2rem 1.25rem 3rem;text-align:center;animation:fadeUp .7s .6s ease both}.app-footer p{margin:0;font-family:var(--mono);font-size:.74rem;letter-spacing:.03em;color:var(--text-faint)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes flagSway{0%{transform:rotate(-7deg)}to{transform:rotate(9deg) skew(3deg)}}@keyframes steamRise{0%{transform:translateY(8px) scaleX(1);opacity:0}30%{opacity:.7}to{transform:translateY(-46px) scaleX(1.7);opacity:0}}@keyframes borderFlow{0%{background-position:0% 50%}to{background-position:250% 50%}}@keyframes starTwinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.88)}}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(5px)}}@keyframes featuredGlow{0%{box-shadow:0 6px 22px -12px #ffc24b59}to{box-shadow:0 10px 34px -10px #ffc24b99}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes pulse{0%{box-shadow:0 0 #ff4e2b8c}70%{box-shadow:0 0 0 9px #ff4e2b00}to{box-shadow:0 0 #ff4e2b00}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
