.app-root{box-sizing:border-box;width:100%;max-width:1200px;min-height:100vh;margin:0 auto;position:relative;overflow-x:hidden}body{background-color:#000;justify-content:center;margin:0;padding:0}@font-face{font-family:Chinese Shangai;src:url(/chinese-village/fonts/ChineseShangai-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:HEDYMOSIA;src:url(/chinese-village/fonts/HEDYMOSIA.ttf)format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:HATTEN;src:url(/chinese-village/fonts/HATTEN.ttf)format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:AbrilFatface-Regular;src:url(/chinese-village/fonts/AbrilFatface-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Satoshi-Variable;src:url(/chinese-village/fonts/Satoshi-Variable.ttf)format("truetype");font-weight:400;font-style:normal;font-display:block}:root{--font-chinese:"Chinese Shangai", sans-serif;--font-hedymosia:"HEDYMOSIA", sans-serif;--font-HATTEN:"HATTEN", sans-serif;--font-AbrilFatface-Regular:"AbrilFatface-Regular", sans-serif;--font-Satoshi-Variable:"Satoshi-Variable", sans-serif}.banner-title,.cat-card-name,.section-title,.listing-category-heading{font-family:var(--font-chinese)!important}.banner-subtitle,.subcat-pill-btn{font-family:var(--font-hedymosia)!important}.food-card-price-wrap span{font-family:var(--font-HATTEN)!important}.food-card-title-wrap span{font-family:var(--font-AbrilFatface-Regular)!important}.home-page-container{background-color:#000}.app-header{box-sizing:border-box;z-index:100;-webkit-user-select:none;user-select:none;background-color:#000;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:140px;padding:0 1.25rem;display:grid;position:sticky;top:0;left:0}.header-slot{align-items:center;display:flex}.header-left{justify-content:flex-start}.header-center{justify-content:center}.header-right{justify-content:flex-end}.logo-box{align-items:center;display:flex}.header-logo{object-fit:contain;filter:drop-shadow(0 2px 6px #0009);width:auto;height:100px}.back-btn{color:#fff;cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:8px;transition:transform .15s,opacity .15s;display:flex}.back-btn:active{opacity:.8;transform:scale(.9)}.back-icon{width:28px;height:28px}.menu-btn{cursor:pointer;background:0 0;border:none;outline:none;flex-direction:column;justify-content:space-between;width:55px;height:35px;padding:0;transition:opacity .15s;display:flex}.menu-btn:active{opacity:.7}.menu-bar{background-color:#fff;border-radius:2px;width:100%;height:5px;box-shadow:0 1px 3px #0006}@media (width<=742px){.header-logo{height:86px}}@media (width<=640px){.app-header{height:90px;padding:0 1rem}.header-logo{height:70px}.back-icon{width:24px;height:24px}.menu-btn{width:34px;height:22px}.menu-bar{height:3px}}.splash-container{-webkit-user-select:none;user-select:none;z-index:9999;opacity:1;background-color:#7b0110;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .6s ease-out;display:flex;position:fixed;inset:0;overflow:hidden}.splash-container.splash-exit{opacity:0;pointer-events:none}.brand-lockup{justify-content:center;align-items:center;width:100%;max-width:900px;display:flex;position:relative}.text-wrapper{z-index:2;opacity:0;justify-content:center;align-items:center;animation:.8s cubic-bezier(.22,1,.36,1) 1s forwards textSlideUpFromBottom;display:flex;position:relative;transform:translateY(140px)}.brand-text-img{object-fit:contain;width:clamp(240px,45vw,420px);height:auto;display:block}@keyframes textSlideUpFromBottom{0%{opacity:0;transform:translateY(140px)}to{opacity:1;transform:translateY(0)}}.dragon-wrapper{pointer-events:none;z-index:1;width:clamp(80px,16vw,150px);position:absolute;top:50%}.dragon-img{object-fit:contain;width:100%;height:auto;display:block}.dragon-left{animation:3.6s cubic-bezier(.25,1,.5,1) forwards leftDragonSequence}@keyframes leftDragonSequence{0%{right:calc(50% + 17px);transform:translateY(-50%)scale(.9)}28%{right:calc(50% + clamp(165px,28vw,285px));transform:translateY(-50%)scale(1)}78%{right:calc(50% + clamp(165px,28vw,285px));transform:translateY(-50%)scale(1)}to{right:calc(50% + clamp(125px,21vw,205px));transform:translateY(-50%)scale(1)}}.dragon-right{animation:3.6s cubic-bezier(.25,1,.5,1) forwards rightDragonSequence}@keyframes rightDragonSequence{0%{left:calc(50% + 17px);transform:translateY(-50%)scaleX(-1)scale(.9)}28%{left:calc(50% + clamp(165px,28vw,285px));transform:translateY(-50%)scaleX(-1)scale(1)}78%{left:calc(50% + clamp(165px,28vw,285px));transform:translateY(-50%)scaleX(-1)scale(1)}to{left:calc(50% + clamp(125px,21vw,205px));transform:translateY(-50%)scaleX(-1)scale(1)}}@media (width<=640px){.dragon-left,.dragon-right{object-fit:contain;width:clamp(50px,20px + 10vw,70px)!important;height:auto!important}.dragon-left{top:50%!important;left:auto!important;right:50%!important}.dragon-right{top:50%!important;left:50%!important;right:auto!important}@keyframes leftDragonSequence{0%{transform:translate(-2px,-50%)scale(.85)}28%{transform:translate(calc(-1*clamp(85px,28vw,150px)),-50%)scale(.95)}78%{transform:translate(calc(-1*clamp(85px,28vw,150px)),-50%)scale(.95)}to{transform:translate(calc(-1*clamp(70px,22vw,120px)),-50%)scale(.95)}}@keyframes rightDragonSequence{0%{transform:translate(2px,-50%)scaleX(-1)scale(.85)}28%{transform:translate(clamp(85px,28vw,150px),-50%)scaleX(-1)scale(.95)}78%{transform:translate(clamp(85px,28vw,150px),-50%)scaleX(-1)scale(.95)}to{transform:translate(clamp(70px,22vw,120px),-50%)scaleX(-1)scale(.95)}}.brand-text-img,.splash-bottom-logo{object-fit:contain;z-index:10;will-change:transform, opacity;width:clamp(140px,42vw,210px);height:auto;position:absolute;left:50%;transform:translate(-50%)}@keyframes logoRiseFromBottom{0%{opacity:0;transform:translate(-50%,clamp(60px,18vh,120px))scale(.85)}40%{opacity:1}to{opacity:1;transform:translate(-50%)scale(1)}}.anim-logo-bottom{animation:1.1s cubic-bezier(.16,1,.3,1) .35s forwards logoRiseFromBottom}}.home-page-container{box-sizing:border-box;-webkit-user-select:none;user-select:none;flex-direction:column;gap:2.2rem;width:100%;max-width:1240px;min-height:calc(100vh - 80px);margin:0 auto;padding:1rem 1.5rem 3rem;display:flex}.app-root{color:#fff;background-color:#080808;background-size:24px 24px;width:100%;min-height:100vh}.hero-banner-wrap{aspect-ratio:1024/280;border-radius:18px;align-items:center;width:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 35px #000000b3}.hero-banner-bg{object-fit:cover;object-position:center right;z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-banner-overlay{z-index:2;box-sizing:border-box;background-color:none;flex-direction:column;justify-content:center;width:52%;padding:0 clamp(1.2rem,3.2vw,2.5rem);display:flex;position:relative}.banner-title{color:#fff;letter-spacing:.05em;text-transform:uppercase;margin:0;font-family:inherit;font-size:clamp(1.375rem,3.2vw - .025rem,2.375rem);font-weight:900;line-height:1.15}.banner-subtitle{color:#fff;opacity:.95;margin:clamp(.4rem,1vw,.75rem) 0 0;font-family:inherit;font-size:clamp(18px,.857px + 2.679vw,33px);font-weight:400;line-height:1.3}.bimg-phn{display:none}@media screen and (width<=640px){.hero-banner-wrap{border-radius:7px}.hero-banner-overlay{width:56%;padding:0 1rem}.banner-title{font-size:.92rem}.banner-subtitle{margin-top:.3rem;font-size:.65rem}}@media screen and (width<=500px){.bimg-tab{display:none}.bimg-phn{display:block}.banner-title{font-size:clamp(11px,5vw - 4px,21px)}.banner-subtitle{font-size:clamp(9px,3.5vw - 1.5px,16px)}}.section-title-wrap{text-align:center;margin-top:.25rem}.section-title{color:#fff;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:clamp(1.25rem,2.6vw,2.1rem);font-weight:900}@media screen and (width<=500px){.section-title{font-size:clamp(15px,7.5px + 2.5vw,20px)}}.categories-section{width:100%}.categories-grid{grid-template-columns:repeat(4,1fr);align-items:stretch;gap:clamp(.85rem,1.8vw,1.5rem);display:grid}.category-card-overlay{box-sizing:border-box;z-index:2;pointer-events:none;justify-content:center;align-items:flex-end;padding:1.25rem .75rem;display:flex;position:absolute;inset:0}.cat-card-name{color:#fff;letter-spacing:.05em;text-align:center;text-transform:capitalize;font-size:clamp(1rem,1.6vw,1.35rem);font-weight:700}@media screen and (width<=640px){.categories-grid{grid-template-columns:repeat(2,1fr);gap:.85rem}.category-card{aspect-ratio:1/1.1;border-radius:18px}.cat-card-name{font-size:.95rem}}.category-card{aspect-ratio:1/1.15;cursor:pointer;background:0 0;border:none;border-radius:24px;outline:none;width:100%;padding:0;transition:transform .22s,box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 8px 24px #0009}.category-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px #000c}.category-card:active{transform:scale(.97)}.category-card-bg{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .3s;display:block;position:absolute;inset:0}.category-card:hover .category-card-bg{transform:scale(1.05)}.category-card-overlay{box-sizing:border-box;z-index:2;pointer-events:none;-webkit-backdrop-filter:blur(8px);background:linear-gradient(#0003 0%,#000000a6 100%);justify-content:center;align-items:center;width:100%;height:30%;padding:0 .75rem;display:flex;position:absolute;inset:auto 0 0}.cat-card-name{color:#fff;letter-spacing:.05em;text-align:center;text-transform:capitalize;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.95rem,1.5vw,1.3rem);font-weight:700;overflow:hidden}.cat-card-img{object-fit:contain;filter:drop-shadow(0 10px 18px #000c);width:82%;height:82%;transition:transform .25s}.category-card:hover .cat-card-img{transform:scale(1.06)}@media screen and (width<=640px){.home-page-container{gap:1.6rem;padding:.85rem 1rem 2.5rem}.hero-banner{border-radius:18px;height:155px}.banner-content{flex:1.2;padding:.85rem 1rem}.banner-heading{font-size:.92rem}.banner-subtext{margin-top:.4rem;font-size:.65rem}.categories-grid{grid-template-columns:repeat(2,1fr);gap:.85rem}.cat-image-container{height:135px}.cat-card-name{font-size:13px}}@media screen and (width>=641px) and (width<=1024px){.home-page-container{padding:1.25rem 1.8rem 3rem}.hero-banner{height:200px}.categories-grid{grid-template-columns:repeat(4,1fr);gap:1rem}.cat-image-container{height:170px}}.listing-page-container{box-sizing:border-box;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;width:100%;max-width:1200px;min-height:calc(100vh - 90px);margin:0 auto;padding:1rem 1.5rem 3rem;display:flex}.listing-category-heading{color:#fff;letter-spacing:.12em;text-align:center;text-transform:uppercase;margin:.5rem 0 1.5rem;font-size:clamp(2rem,3.8vw,3.2rem);font-family:var(--font-chinese)!important}.subcategories-nav{box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth;width:100%;max-width:1200px;margin:.5rem auto 1.5rem;padding:0 1rem;overflow-x:auto}.subcategories-nav::-webkit-scrollbar{display:none}.subcategories-track{box-sizing:border-box;align-items:center;gap:clamp(.5rem,1.5vw,1rem);width:max-content;min-width:100%;margin-inline:auto;padding:4px .5rem;display:flex}.listing-page-container,.view-listing-enter,.screen-stage{background-color:#000!important}.subcat-pill-btn{color:#fff;letter-spacing:.05em;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:999px;outline:none;padding:.45rem 1rem;font-size:clamp(15px,2.435vw - .217px,29px);font-weight:400;transition:all .2s}.subcat-pill-btn.active{color:#fff;background-color:#ff0013;box-shadow:0 4px 14px #ff001573}.subcat-pill-btn:not(.active):hover{color:#ff0013}.listing-showcase-card{border-radius:32px;align-items:center;width:100%;min-height:clamp(340px,42vw,480px);margin:0 auto 2.5rem;display:flex;position:relative}.food-card-media{box-sizing:border-box;flex:1.15;justify-content:center;align-items:center;height:100%;min-height:clamp(340px,42vw,480px);padding:1.5rem;display:flex;position:relative}.food-card-pod-bg{object-fit:contain;z-index:1;pointer-events:none;width:100%;height:auto;position:relative}.listing-showcase-card.pos-side-overflow{overflow:visible!important}.listing-showcase-card.pos-side-overflow .food-card-media{overflow:visible}.listing-showcase-card.pos-side-overflow .food-card-dish-img{object-fit:contain;z-index:5;pointer-events:none;width:89%;max-width:none;position:absolute;top:50%;left:43%;transform:translateY(-50%)}.food-card-subtitle{color:#d1d5db;gap:4px;margin:14px 0 0;font-size:clamp(22px,11px + 1.833vw,33px);line-height:1;flex-direction:column!important;display:flex!important;overflow:visible!important}.food-card-subtitle-line{width:100%;white-space:normal!important;display:block!important}.view-listing-enter .listing-showcase-card.has-subtitle .food-card-info{gap:0}.listing-showcase-card.pos-centered,.listing-showcase-card.pos-centered .food-card-media{overflow:hidden}.listing-showcase-card.pos-centered .food-card-dish-img{object-fit:contain;z-index:5;pointer-events:none;max-width:85%;height:84%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.food-card-info{box-sizing:border-box;z-index:2;flex-direction:column;flex:1;justify-content:center;gap:clamp(1.5rem,2.5vw,2.5rem);padding:2rem clamp(1.5rem,3.5vw,3rem);display:flex}.food-card-title-wrap{flex-direction:column;line-height:1.05;display:flex}.food-card-title-primary,.food-card-title-word-red{color:#fff;letter-spacing:-.01em;font-size:43px;font-weight:700;font-family:var(--font-hedymosia)!important}.food-card-title-highlight{color:#ff0013;letter-spacing:-.01em;font-size:52px;font-weight:900;font-family:var(--font-hedymosia)!important}.food-card-price-wrap{align-items:baseline;gap:.65rem;display:flex;font-family:var(--font-hedymosia)!important}.food-card-currency{color:#fff;letter-spacing:.04em;font-size:37px;font-weight:800}.food-card-amount{color:#ff0013;font-size:43px;font-weight:900}.no-items-message{color:#888;text-align:center;padding:4rem 2rem;font-family:var(--font-hedymosia)!important}@media screen and (width<=1200px){.food-card-title-primary,.food-card-title-word-red{font-size:clamp(1.5rem,3.6vw,3.4rem)!important}.food-card-title-highlight{font-size:clamp(1.6rem,4.4vw,4rem)}.food-card-currency{font-size:clamp(1.6rem,3vw,2.8rem)}.food-card-amount{font-size:clamp(1.7rem,3.8vw,3.6rem)}}.listing-pagination-controls{justify-content:center;align-items:center;gap:1.5rem;display:flex}.nav-arrow-btn{color:#fff;cursor:pointer;background-color:#2b2b2b;border:none;border-radius:12px;outline:none;justify-content:center;align-items:center;width:58px;height:58px;transition:background-color .2s,transform .15s;display:flex;box-shadow:0 6px 16px #0009}.nav-arrow-btn:hover{background-color:#3b3b3b;transform:translateY(-2px)}.nav-arrow-btn:active{transform:scale(.95)}@media screen and (width<=624px){.food-card-title-primary,.food-card-title-word-red,.food-card-title-highlight{font-size:clamp(18px,9px + 3vw,24px)}.food-card-currency,.food-card-amount{font-size:clamp(15px,6.667px + 2.778vw,24px)}.food-card-info{gap:1.2rem;padding-right:0}.food-card-media{padding:0}.food-card-subtitle{margin-top:8px;font-size:.9rem}.listing-showcase-card.pos-side-overflow .food-card-dish-img{width:108%;left:40%}.food-card-subtitle-line{margin-bottom:6px}.subcat-pill-btn{padding:.25rem .6rem}}.food-card-info{overflow:hidden}.food-card-info.anim-info-next{will-change:transform, opacity;animation:.72s cubic-bezier(.16,1,.3,1) forwards textGlideFromFarRight}.food-card-info.anim-info-next .food-card-title-wrap{animation:.65s cubic-bezier(.16,1,.3,1) forwards subGlideIn}.food-card-info.anim-info-next .food-card-price-wrap{animation:.8s cubic-bezier(.16,1,.3,1) forwards subGlideIn}@keyframes textGlideFromFarRight{0%{opacity:0;transform:translate(110px)}35%{opacity:.45}to{opacity:1;transform:translate(0)}}.food-card-info.anim-info-prev{will-change:transform, opacity;animation:.72s cubic-bezier(.16,1,.3,1) forwards textGlideFromFarLeft}.food-card-info.anim-info-prev .food-card-title-wrap{animation:.65s cubic-bezier(.16,1,.3,1) forwards subGlideInLeft}.food-card-info.anim-info-prev .food-card-price-wrap{animation:.8s cubic-bezier(.16,1,.3,1) forwards subGlideInLeft}@keyframes textGlideFromFarLeft{0%{opacity:0;transform:translate(-110px)}35%{opacity:.45}to{opacity:1;transform:translate(0)}}@keyframes subGlideIn{0%{opacity:0;transform:translate(35px)}to{opacity:1;transform:translate(0)}}@keyframes subGlideInLeft{0%{opacity:0;transform:translate(-35px)}to{opacity:1;transform:translate(0)}}.food-card-dish-img{will-change:transform, opacity;position:absolute;top:50%;left:50%}.listing-showcase-card.pos-side-overflow .food-card-dish-img.anim-dish-next{animation:.75s cubic-bezier(.16,1,.3,1) forwards dishSideGlideNext}.listing-showcase-card.pos-side-overflow .food-card-dish-img.anim-dish-prev{animation:.75s cubic-bezier(.16,1,.3,1) forwards dishSideGlidePrev}@keyframes dishSideGlideNext{0%{opacity:0;transform:translate(-25%,-50%)scale(.92)}to{opacity:1;transform:translate(-38%,-50%)scale(1)}}@keyframes dishSideGlidePrev{0%{opacity:0;transform:translate(-50%,-50%)scale(.92)}to{opacity:1;transform:translate(-38%,-50%)scale(1)}}.listing-showcase-card.pos-centered .food-card-dish-img.anim-dish-next{animation:.75s cubic-bezier(.16,1,.3,1) forwards dishCenterGlideNext}.listing-showcase-card.pos-centered .food-card-dish-img.anim-dish-prev{animation:.75s cubic-bezier(.16,1,.3,1) forwards dishCenterGlidePrev}@keyframes dishCenterGlideNext{0%{opacity:0;transform:translate(-36%,-50%)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes dishCenterGlidePrev{0%{opacity:0;transform:translate(-64%,-50%)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.screen-stage{width:100%;transition:opacity .28s,transform .28s cubic-bezier(.16,1,.3,1),filter .28s;position:relative}.screen-stage.screen-exit{opacity:0;filter:blur(4px);pointer-events:none;transform:scale(.975)translateY(8px)}.view-listing-enter{width:100%;animation:.65s cubic-bezier(.16,1,.3,1) forwards listingViewFadeIn}.view-listing-enter .listing-category-heading{animation:.6s cubic-bezier(.16,1,.3,1) forwards headingGlideDown}.view-listing-enter .subcategories-nav{animation:.65s cubic-bezier(.16,1,.3,1) 80ms backwards pillsStaggerFade}.view-listing-enter .listing-showcase-card{animation:.72s cubic-bezier(.16,1,.3,1) .14s backwards cardMorphRise}.view-listing-enter .listing-pagination-controls{animation:.7s cubic-bezier(.16,1,.3,1) .2s backwards navControlsFade}@keyframes listingViewFadeIn{0%{opacity:0}to{opacity:1}}@keyframes headingGlideDown{0%{opacity:0;letter-spacing:.22em;transform:translateY(-24px)scale(.96)}to{opacity:1;letter-spacing:.12em;transform:translateY(0)scale(1)}}@keyframes pillsStaggerFade{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes cardMorphRise{0%{opacity:0;transform:translateY(40px)scale(.95);box-shadow:0 4px 15px #0000004d}to{opacity:1;transform:translateY(0)scale(1);box-shadow:0 16px 45px #000000d9}}@keyframes navControlsFade{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.listing-showcase-card{touch-action:pan-y;cursor:grab}.listing-showcase-card:active{cursor:grabbing}.view-home-enter{width:100%;animation:.55s cubic-bezier(.16,1,.3,1) forwards homeViewFadeIn}@keyframes homeViewFadeIn{0%{opacity:0;transform:scale(.975)}to{opacity:1;transform:scale(1)}}@media screen and (width<=500px){.listing-page-container{padding:1rem .8rem 3rem}.subcategories-nav,.subcategories-track{padding-left:0;padding-right:0}.back-btn{padding-left:5px}.listing-showcase-card.pos-centered .food-card-dish-img{max-width:100%}}.food-card-title-word-red{color:#ff0013}
