:root{font-family:"DM Sans","Noto Sans TC",sans-serif;color:#252925;background:#e8e9e3;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #155d49;outline-offset:3px}
.stage{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:26px 20px;background:radial-gradient(circle at 15% 12%,#fff7ec 0,transparent 34%),radial-gradient(circle at 85% 85%,#d4e1d8 0,transparent 35%),#e8e9e3}
.phone{width:390px;height:844px;flex:none;background:#f9f8f3;border:8px solid #202621;border-radius:48px;box-shadow:0 30px 70px #19291e35,0 4px 12px #19291e30;position:relative;overflow:hidden}
.status-bar{height:35px;padding:8px 25px 0;display:flex;justify-content:space-between;align-items:flex-start;font-size:12px;font-weight:800;letter-spacing:.02em;position:relative;z-index:5;background:#f9f8f3}.status-icons{display:flex;gap:6px;align-items:center;font-size:11px}.signal{letter-spacing:-2px}.battery{width:17px;height:9px;border:1.4px solid currentColor;border-radius:3px;padding:1px;display:inline-flex}.battery i{width:11px;background:currentColor;border-radius:1px}.app{height:calc(100% - 59px);position:relative;overflow:hidden}.home-indicator{height:24px;background:#f9f8f3;display:flex;align-items:flex-start;justify-content:center;padding-top:10px}.home-indicator:after{content:"";width:116px;height:4px;border-radius:10px;background:#202621}.stage-caption{font-size:12px;letter-spacing:.16em;color:#596960;margin:15px 0 0;text-transform:uppercase;font-weight:700}
.screen{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;background:#f9f8f3}.screen::-webkit-scrollbar{display:none}.screen.has-nav{padding-bottom:84px}
.top{padding:14px 23px 0}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:800;color:#db6d42;text-transform:uppercase}.location-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:8px}.location-label{display:flex;align-items:center;gap:5px;font-weight:900;font-size:18px;line-height:1.25}.pin{color:#e17a51;font-size:19px}.address{color:#7a827c;font-size:11px;line-height:1.5;margin:4px 0 0 22px;max-width:278px}.avatar{border:0;width:38px;height:38px;border-radius:14px;background:#dcece1;display:grid;place-items:center;font-size:18px;flex:none}.intro{display:flex;align-items:end;justify-content:space-between;padding:22px 23px 0}.intro h1{font-size:30px;line-height:1.22;letter-spacing:-.06em;margin:0;font-weight:900}.intro h1 em{color:#df754e;font-style:normal}.intro-mark{font-size:34px;transform:rotate(-9deg);filter:drop-shadow(0 5px 3px #b9673835)}
.search-wrap{margin:21px 23px 0;position:relative}.search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:18px;color:#65746b;line-height:1}.search{width:100%;height:49px;background:#fff;border:1px solid #e8ece7;border-radius:15px;padding:0 16px 0 43px;color:#252925;font-size:13px;box-shadow:0 5px 14px #263d2d06}.search::placeholder{color:#9ca59f}.clear-search{position:absolute;right:13px;top:13px;border:0;background:#eef2ee;border-radius:50%;width:23px;height:23px;color:#607068;line-height:23px;padding:0}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin:0 23px}.section-head h2{font-size:19px;line-height:1.3;margin:0;letter-spacing:-.04em;font-weight:900}.section-head small{font-size:11px;color:#89918a}.category-wrap{margin-top:25px}.chips{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;padding:13px 23px 3px}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid #e6e8e2;background:#fff;border-radius:12px;min-width:max-content;height:38px;padding:0 14px;display:flex;align-items:center;gap:7px;color:#68736b;font-size:12px;font-weight:700}.chip.active{background:#1f604c;color:#fff;border-color:#1f604c;box-shadow:0 5px 10px #1f604c2a}.chip span{font-size:15px}
.promo{height:131px;margin:23px 23px 25px;background:#1f604c;border-radius:20px;overflow:hidden;position:relative;color:#fff;padding:19px 19px;display:flex;align-items:center}.promo:before,.promo:after{content:"";position:absolute;border:1px solid #ffffff28;border-radius:50%;width:160px;height:160px;right:-46px;top:-58px}.promo:after{width:110px;height:110px;right:-21px;top:-34px}.promo-copy{position:relative;z-index:1}.promo small{display:inline-block;color:#d7e6d6;font-size:10px;font-weight:700;letter-spacing:.14em}.promo strong{display:block;font-size:19px;line-height:1.3;margin:7px 0 6px;letter-spacing:-.04em}.promo p{font-size:10px;color:#d4e4d7;margin:0}.promo-food{font-size:77px;position:absolute;right:11px;bottom:-10px;transform:rotate(-14deg);filter:drop-shadow(0 10px 8px #082e2355)}
.merchant-section{padding-bottom:22px}.merchant-list{display:grid;gap:12px;margin:14px 23px 0}.merchant-card{width:100%;padding:0;border:1px solid #edf0eb;background:#fff;text-align:left;border-radius:18px;overflow:hidden;box-shadow:0 7px 18px #29423308}.merchant-card:active{transform:scale(.99)}.card-art{height:114px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.card-art:before,.card-art:after{content:"";position:absolute;width:150px;height:150px;border:1px solid #ffffff66;border-radius:50%;right:-31px;top:-62px}.card-art:after{width:102px;height:102px;right:-9px;top:-38px}.card-art .food-emoji{font-size:78px;line-height:1;z-index:1;filter:drop-shadow(0 9px 6px #2529252b);transform:rotate(-8deg)}.card-art .spark{position:absolute;font-size:22px;color:#ffffff9e;z-index:0;left:33px;top:25px}.card-art .spark.s2{left:auto;right:48px;top:78px;font-size:15px}.badge{position:absolute;top:12px;left:12px;padding:6px 9px;border-radius:8px;background:#fff;color:#315343;font-size:10px;font-weight:800;z-index:2}.favorite-btn{position:absolute;right:12px;top:12px;width:29px;height:29px;border-radius:50%;border:0;background:#ffffffed;z-index:2;font-size:17px;color:#68776b;display:grid;place-items:center}.favorite-btn.saved{color:#e77964}.card-info{padding:13px 14px 15px}.card-title-row{display:flex;justify-content:space-between;gap:10px;align-items:start}.card-info h3{font-size:16px;letter-spacing:-.04em;line-height:1.25;margin:0;font-weight:900}.rating{font-size:11px;font-weight:800;white-space:nowrap}.rating b{color:#eda43f;font-size:13px}.card-info p{font-size:11px;color:#89918a;margin:6px 0 12px}.card-meta{display:flex;gap:8px;align-items:center;color:#53665c;font-size:10px;font-weight:800}.card-meta span{background:#f3f6f0;border-radius:7px;padding:5px 8px}.card-meta .fee{background:#fff2e9;color:#dc7047}
.merchant-card{position:relative}.card-open{position:absolute;inset:0;z-index:3;border:0;background:transparent;padding:0;border-radius:18px}.favorite-btn{z-index:4}.card-meta .status-pill{background:#fff2e9;color:#c16b49}.store-address{font-size:10px;color:#9aa49b;margin-top:10px;line-height:1.5}.detail-address{font-size:11px;color:#657568;margin:12px 0 0}.source-links{display:flex;gap:8px;margin-top:20px}.source-links a{flex:1;text-align:center;text-decoration:none;font-size:11px;font-weight:800;color:#1f604c;background:#e8f0e8;border-radius:10px;padding:11px 5px}.source-links a:focus-visible{outline:3px solid #155d49;outline-offset:2px}.loading{height:100%;display:grid;place-items:center;padding:25px;text-align:center;color:#5b6a60;font-size:13px}
.bottom-nav{position:absolute;bottom:0;left:0;right:0;height:68px;background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid #edf0eb;display:flex;z-index:10;padding:5px 15px 0}.nav-btn{flex:1;border:0;background:transparent;color:#9aa49c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:800}.nav-btn .nav-icon{font-size:21px;line-height:1}.nav-btn.active{color:#1f604c}.nav-btn.active .nav-icon{transform:translateY(-1px)}
.detail-top{height:215px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.detail-top:before,.detail-top:after{content:"";position:absolute;border-radius:50%;border:1px solid #ffffff63;width:330px;height:330px;right:-110px;top:-160px}.detail-top:after{width:230px;height:230px;right:-62px;top:-112px}.detail-emoji{font-size:133px;transform:rotate(-7deg);filter:drop-shadow(0 13px 9px #28332635);position:relative;z-index:1}.detail-back,.detail-fav{position:absolute;z-index:3;top:17px;border:0;background:#fff;width:35px;height:35px;border-radius:12px;color:#2c4439;display:grid;place-items:center;font-size:22px;box-shadow:0 4px 12px #1e342a16}.detail-back{left:20px}.detail-fav{right:20px;font-size:18px}.detail-fav.saved{color:#e77964}.detail-content{background:#f9f8f3;border-radius:25px 25px 0 0;margin-top:-20px;position:relative;padding:22px 23px 30px;min-height:calc(100% - 195px)}.detail-kicker{color:#dc764f;font-size:10px;letter-spacing:.13em;font-weight:900}.detail-content h1{font-size:25px;letter-spacing:-.05em;margin:6px 0 6px}.detail-description{font-size:12px;color:#78837a;line-height:1.6;margin:0}.detail-facts{display:flex;gap:7px;margin:17px 0 20px}.detail-facts span{font-size:10px;font-weight:800;background:#fff;padding:8px 9px;border:1px solid #edf0e9;border-radius:9px;color:#52675a}.detail-facts b{color:#e5a642}.detail-divider{height:1px;background:#e8ebe5;margin-bottom:20px}.menu-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.menu-heading h2{font-size:19px;letter-spacing:-.04em;margin:0}.menu-heading small{font-size:10px;color:#929b93}.menu-tabs{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;margin:0 -23px 18px;padding:0 23px 3px}.menu-tabs::-webkit-scrollbar{display:none}.menu-tab{border:0;background:#e9eee8;border-radius:9px;padding:8px 14px;color:#708074;white-space:nowrap;font-size:11px;font-weight:800}.menu-tab.active{color:#fff;background:#1f604c}.menu-items{display:grid;gap:10px}.menu-item{display:flex;gap:12px;background:#fff;border:1px solid #ecefe9;border-radius:15px;padding:11px;min-height:88px}.dish-art{width:70px;height:70px;border-radius:12px;display:grid;place-items:center;font-size:39px;flex:none}.dish-info{min-width:0;flex:1}.dish-info h3{font-size:13px;margin:2px 0 4px;letter-spacing:-.02em}.dish-info p{color:#98a099;font-size:10px;line-height:1.4;margin:0}.dish-info strong{font-size:12px;color:#1f604c;display:block;margin-top:7px}.detail-note{font-size:10px;line-height:1.5;color:#929b93;margin:19px 0 4px;text-align:center}
.empty{margin:18px 23px;background:#fff;border:1px dashed #d8dfd5;border-radius:18px;text-align:center;padding:42px 16px;color:#819086}.empty .empty-icon{font-size:37px;display:block;margin-bottom:8px}.empty strong{display:block;color:#34483c;font-size:15px;margin-bottom:6px}.empty p{font-size:11px;margin:0;line-height:1.6}.view-head{padding:27px 23px 9px}.view-head h1{font-size:29px;letter-spacing:-.05em;margin:4px 0 4px}.view-head p{font-size:12px;color:#89918a;margin:0}.disclaimer{font-size:10px;line-height:1.5;color:#9ba49c;text-align:center;padding:0 28px 20px}
@media(max-width:430px){.stage{align-items:flex-start;justify-content:flex-start;min-width:390px;min-height:844px;padding:0;background:#f9f8f3}.phone{border:0;border-radius:0;box-shadow:none;width:390px;height:844px}.stage-caption{display:none}}
@media(prefers-reduced-motion:no-preference){.merchant-card,.chip,.nav-btn .nav-icon{transition:transform .16s ease,background .16s ease,color .16s ease}}
