.product-card .product-art,.menu-art,.detail-art,.cart-line .thumb{background:radial-gradient(circle at 50% 25%,#fffdf8 0,#f3eadb 62%,#e9ddca 100%);overflow:hidden}
.product-card .product-art img,.menu-art img,.detail-art img,.cart-line .thumb img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 8px 9px rgba(65,45,26,.16))}
.product-card .product-art img{padding:5px 5px 1px}.menu-art img{padding:5px}.detail-art{height:235px}.detail-art img{padding:5px 20px}.cart-line .thumb img{padding:3px}
.product-card .badge{z-index:2;background:#183f31;color:#f2c879;box-shadow:0 4px 10px rgba(16,49,36,.18)}
.product-card strong,.menu-product h3{font-family:'Songti SC','STSong',serif;letter-spacing:.02em}.product-card strong{font-size:12px}.menu-product h3{font-size:13px}
.category-list button span{width:27px;height:27px;border:1px solid rgba(31,91,69,.18);border-radius:50%;display:grid;place-items:center;margin:0 auto 5px;font:700 11px 'Songti SC','STSong',serif}
.category-list button.active span{background:#1f5b45;color:#fff;border-color:#1f5b45}
.add{position:relative;display:inline-block;float:right;width:27px;height:27px;border-radius:10px;background:linear-gradient(145deg,#2d7358,#174b39);box-shadow:0 5px 12px rgba(31,91,69,.24);font-size:0;line-height:0;transform:translateY(-1px)}
.add:before,.add:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;border-radius:2px;background:#fff;transform:translate(-50%,-50%)}
.add:after{transform:translate(-50%,-50%) rotate(90deg)}
.menu-product .add{border-radius:9px}
.detail-title .detail-subtitle{margin:4px 0 0;color:#a0835c;font-size:9px;letter-spacing:.03em}
.food-story{display:grid;gap:10px;margin:17px 0}.food-story section{position:relative;padding:15px 16px 15px 18px;border-radius:17px;background:linear-gradient(135deg,#f4efe4,#fffdf8);border:1px solid rgba(163,128,75,.13);overflow:hidden}.food-story section:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:#c9a66b}.food-story small{font-size:7px;letter-spacing:.2em;color:#b38952}.food-story h4{margin:4px 0 7px;font:700 13px 'Noto Serif SC',serif}.food-story p{margin:0;color:#6f7a74;font-size:9px;line-height:1.75}
.flavor-block{padding-top:27px}.flavor-guide{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:repeat(2,91px);gap:9px}.flavor-card{position:relative;overflow:hidden;border-radius:17px;background:#e9e3d6;text-align:left;padding:0;color:white}.flavor-card:first-child{grid-row:1/3}.flavor-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(17,35,27,.78) 100%)}.flavor-card img{width:100%;height:100%;object-fit:cover}.flavor-card span,.flavor-card strong,.flavor-card small{position:absolute;left:12px;z-index:2}.flavor-card span{top:11px;padding:4px 7px;border-radius:10px;background:rgba(255,253,248,.86);color:#315545;font-size:7px}.flavor-card strong{bottom:24px;font:700 11px 'Noto Serif SC',serif}.flavor-card small{bottom:10px;max-width:88%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e6eee9;font-size:7px}.flavor-card:first-child strong{font-size:13px}.ranking-block{padding-top:28px}.section-note{font-size:8px;color:#9a8b75}.home-ranking{background:var(--surface);border-radius:18px;padding:2px 13px;box-shadow:0 8px 24px rgba(45,62,52,.05)}.ranking-item{display:grid;grid-template-columns:26px 48px 1fr auto;gap:9px;align-items:center;width:100%;padding:10px 0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:var(--ink)}.ranking-item:last-child{border:0}.rank-no{font:700 12px Georgia,serif;color:#c5a470}.ranking-item img{width:48px;height:48px;border-radius:13px;object-fit:contain;background:#f3ecdf}.ranking-item span strong,.ranking-item span small{display:block}.ranking-item span strong{font:700 10px 'Noto Serif SC',serif}.ranking-item span small{margin-top:4px;font-size:7px;color:#89938d}.ranking-item em{font-size:9px;font-style:normal;font-weight:700;color:var(--accent)}
.craft-card{position:relative;margin:26px 16px 0;padding:19px;border:1px solid rgba(111,86,48,.13);border-radius:21px;background:linear-gradient(145deg,#fffdf8 0%,#f4efe4 100%);box-shadow:0 14px 34px rgba(52,61,47,.08);overflow:hidden}.craft-card:after{content:"茶";position:absolute;right:-3px;top:-30px;color:rgba(40,82,62,.035);font:700 105px 'Noto Serif SC',serif;transform:rotate(8deg)}.craft-heading{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.craft-heading>div{min-width:0}.craft-card small{font-size:7px;letter-spacing:.17em;color:#9c794b}.craft-card h3{margin:5px 0 4px;color:#1b3f31;font:700 16px 'Noto Serif SC',serif}.craft-card p{margin:0;color:#80877f;font-size:8px}.fresh-chip{display:flex;align-items:center;gap:5px;flex:none;padding:6px 8px;border:1px solid rgba(31,91,69,.12);border-radius:14px;background:rgba(255,255,255,.72);color:#426854;font-size:7px}.fresh-chip i{width:5px;height:5px;border-radius:50%;background:#4f8668;box-shadow:0 0 0 3px rgba(79,134,104,.1)}.craft-trace{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}.craft-trace span{position:relative;min-width:0;padding:11px 8px 10px;border-radius:14px;background:rgba(255,255,255,.78);box-shadow:inset 0 0 0 1px rgba(111,86,48,.07)}.craft-trace em{display:block;color:#c09a60;font:600 7px Georgia,serif;letter-spacing:.12em}.craft-trace b{display:block;margin:6px 0 4px;color:#254c3b;font:700 9px 'Noto Serif SC',serif}.craft-trace small{display:block;color:#92958e;font-size:6px;line-height:1.45;letter-spacing:0}.craft-trace span:not(:last-child):after{content:"";position:absolute;right:-6px;top:50%;z-index:2;width:5px;height:1px;background:#c9ae83}
.member-card{position:relative;display:block;margin:14px 16px 17px;padding:18px;border:0;border-radius:21px;background:radial-gradient(circle at 100% 0,rgba(217,181,108,.16),transparent 32%),linear-gradient(135deg,#102f25 0%,#1c4b39 100%);box-shadow:0 16px 32px rgba(18,54,40,.18);color:#fff;overflow:hidden;text-align:left}.member-card:before{content:"";position:absolute;width:155px;height:155px;right:-83px;bottom:-90px;border:1px solid rgba(232,198,130,.18);border-radius:50%;box-shadow:0 0 0 17px rgba(232,198,130,.025)}.member-card:after{content:"MEMBER";position:absolute;right:14px;top:11px;color:rgba(255,255,255,.035);font:700 25px Georgia,serif;letter-spacing:.08em}.member-top{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.member-mark{flex:none;width:38px;height:38px;border:1px solid rgba(238,204,137,.42);border-radius:50%;background:rgba(238,204,137,.1);color:#eccb89;font:700 18px 'Noto Serif SC',serif;box-shadow:inset 0 0 0 4px rgba(255,255,255,.025)}.member-copy{min-width:0}.member-copy small{display:block;color:#bda675;font:600 6px Georgia,serif;letter-spacing:.16em}.member-copy h3{margin:3px 0 0;font:700 12px 'Noto Serif SC',serif}.member-level{position:relative;z-index:2;margin-left:auto;padding:5px 8px;border:1px solid rgba(238,204,137,.25);border-radius:12px;color:#ead09c;font-size:7px}.member-reward{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;margin:16px 0 11px}.member-reward small{display:block;color:#9fb4aa;font-size:7px;letter-spacing:.08em}.member-reward strong{display:block;margin-top:4px;font:700 14px 'Noto Serif SC',serif}.member-reward>b{color:#efcf8d;font:700 27px Georgia,serif}.member-reward>b em{font-size:11px;font-style:normal;color:#9fb4aa}.stamp-track{position:relative;z-index:1;display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.stamp-track i{display:grid;place-items:center;aspect-ratio:1;border:1px dashed rgba(222,231,226,.27);border-radius:50%;color:#6f8a7d;font:600 6px Georgia,serif;font-style:normal}.stamp-track i.done{border-style:solid;border-color:#d6af64;background:linear-gradient(145deg,#f2d597,#caa154);color:#214b39;font:700 6px 'Noto Serif SC',serif;box-shadow:0 3px 8px rgba(5,20,14,.2)}.member-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.09)}.member-foot span{color:#91a69c;font-size:6px}.member-foot b{color:#e9ce98;font-size:7px;white-space:nowrap}
.hero{height:264px;background:linear-gradient(128deg,#123e30 0%,#205e46 54%,#2f7659 100%);box-shadow:0 15px 35px rgba(25,66,49,.16)}.hero:after{content:attr(data-brand);position:absolute;right:-5px;top:76px;color:rgba(255,255,255,.035);font:700 48px 'Noto Serif SC',serif;writing-mode:vertical-rl;letter-spacing:.12em}.hero-copy{padding:26px 0 0 21px;max-width:58%}.hero-season{display:inline-block;margin-bottom:8px;padding:4px 8px;border:1px solid rgba(239,203,139,.4);border-radius:10px;color:#f0d8a9;font-size:7px;letter-spacing:.08em}.hero h2{font-size:22px;line-height:1.42}.hero p{max-width:185px;font-size:8px;line-height:1.6;color:#d7e4dc}.hero button{padding:10px 14px;background:linear-gradient(135deg,#f0c46f,#e7aa49);box-shadow:0 7px 18px rgba(10,32,23,.2)}.hero-art{right:-4px;width:49%;z-index:1}.hero-art img{position:absolute;right:-22px;bottom:7px;width:192px;height:226px;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(10,30,20,.3));z-index:2}.hero-halo{position:absolute;width:168px;height:168px;right:-9px;bottom:38px;border-radius:50%;border:1px solid rgba(244,205,132,.25);box-shadow:0 0 0 18px rgba(255,255,255,.025),0 0 0 38px rgba(255,255,255,.018)}.hero-signature{position:absolute;right:12px;bottom:12px;z-index:3;text-align:right;font:600 6px/1.45 Georgia,serif;letter-spacing:.16em;color:rgba(255,255,255,.62)}.hero-signature b{font:600 7px/1.45 'Noto Serif SC',serif;letter-spacing:.08em}
.quick-grid{padding:14px 7px;border:1px solid rgba(31,91,69,.06);box-shadow:0 12px 34px rgba(42,65,53,.07)}.quick-icon{position:relative;width:40px;height:40px;border-radius:50%!important;border:1px solid rgba(31,91,69,.12);font:700 12px 'Noto Serif SC',serif!important;box-shadow:inset 0 0 0 4px rgba(255,255,255,.4)}.quick-icon:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;right:4px;bottom:5px;background:#c49a58}.quick-icon.tea{background:#e4eee7;color:#215b45}.quick-icon.order{background:#f5ead7;color:#8b6330}.quick-icon.coupon{background:#f4e3de;color:#9a533d}.quick-icon.store{background:#e9e6df;color:#665f51}.quick-grid strong{font-family:'Noto Serif SC',serif;font-weight:700}
.food-story{gap:12px}.food-story section{padding:17px 17px 17px 19px}.food-story .story-panel{background:linear-gradient(145deg,#f4efe3,#fffdf8)}.food-story .ingredient-panel{background:linear-gradient(145deg,#edf2ec,#fffdf8);border-color:rgba(31,91,69,.11)}.food-story .ingredient-panel:before{background:#668b74}.pairing-note{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;margin-top:12px;padding-top:11px;border-top:1px solid rgba(163,128,75,.13)}.pairing-note span{padding:4px 7px;border-radius:10px;background:#1f5b45;color:#fff;font-size:7px;white-space:nowrap}.pairing-note b{font-size:8px;line-height:1.6;color:#6f745f;font-weight:500}.ingredient-chips{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 10px}.ingredient-chips span{padding:5px 8px;border-radius:12px;background:rgba(31,91,69,.08);color:#416654;font-size:8px}.ingredient-panel>p{padding-top:9px;border-top:1px dashed rgba(31,91,69,.13)}
.pastry-block{padding-top:29px}.pastry-heading{position:relative;padding:18px 17px 17px;border-radius:19px 19px 0 0;background:linear-gradient(135deg,#3c2e24,#604837);color:#fff;overflow:hidden}.pastry-heading:after{content:"茶";position:absolute;right:14px;top:-16px;font:700 74px 'Noto Serif SC',serif;color:rgba(255,255,255,.035)}.pastry-heading small{font-size:7px;letter-spacing:.2em;color:#d9b77e}.pastry-heading h3{margin:5px 0 4px;font:700 17px 'Noto Serif SC',serif}.pastry-heading p{margin:0;color:#cfc2b7;font-size:8px}.pastry-heading button{position:absolute;right:16px;bottom:18px;z-index:2;padding:7px 10px;border-radius:15px;background:#e9c579;color:#49382b;font-size:8px;font-weight:700}.pastry-showcase{display:grid;grid-template-columns:1.18fr 1fr;grid-template-rows:repeat(2,91px);gap:1px;padding:1px;background:#e7ded0;border-radius:0 0 19px 19px;overflow:hidden}.pastry-item{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:7px;padding:8px;background:#fffaf2;color:var(--ink);text-align:left}.pastry-main{grid-row:1/3;grid-template-columns:1fr;grid-template-rows:103px 1fr;padding:0 0 12px}.pastry-image{height:100%;min-width:0;border-radius:10px;background:radial-gradient(circle at 50% 30%,#fffdf8,#eadfce);overflow:hidden}.pastry-image img{width:100%;height:100%;object-fit:contain}.pastry-copy{min-width:0}.pastry-copy small,.pastry-copy strong,.pastry-copy em,.pastry-copy b{display:block}.pastry-copy small{font-size:6px;letter-spacing:.09em;color:#b08a50}.pastry-copy strong{margin:4px 0 3px;font:700 9px 'Noto Serif SC',serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pastry-copy em{font-size:6px;font-style:normal;color:#908880;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pastry-copy b{margin-top:5px;font-size:9px;color:var(--accent)}.pastry-main .pastry-copy{padding:0 12px}.pastry-main .pastry-copy strong{font-size:12px}.pastry-main .pastry-copy em{font-size:7px}.pastry-main .pastry-copy b{font-size:11px}
.tabbar span{font-family:Georgia,'Noto Serif SC',serif;font-size:18px}.tabbar button.active span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(31,91,69,.08)}
.product-card.sold-out,.menu-product.sold-out{filter:saturate(.55);opacity:.78}.sold-mask{position:absolute;inset:0;display:grid;place-items:center;background:rgba(26,38,32,.42);color:#fff;font:700 10px Georgia,serif;letter-spacing:.13em;z-index:2}.menu-art .sold-mask{font-size:9px}.sold-text{float:right;padding:6px 8px;border-radius:10px;background:#eceae5;color:#888b87;font-size:7px;font-weight:700}.stock-hint{display:inline-block;margin-top:8px;padding:5px 8px;border-radius:12px;background:#eef3ef;color:#48715d;font-size:7px}.add-on-group{padding:14px;border-radius:17px;background:#f5f1e8;border:1px solid rgba(163,128,75,.12)}.add-on-group h4{display:flex;justify-content:space-between;align-items:center}.add-on-group h4 span{color:#a58a62;font-size:7px;font-weight:500}.add-on-group .option-list{display:grid;grid-template-columns:1fr 1fr}.add-on-group .option-list button{display:flex;align-items:center;justify-content:space-between;padding:10px;border-radius:13px;background:#fffdf8;text-align:left}.add-on-group .option-list button small{margin-left:6px;color:#b1773a;font-size:7px}.add-on-group .option-list button.selected{background:#e5efe8}.cart-line p{line-height:1.55}
.pairing-recommendation{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:10px;width:calc(100% - 32px);margin:14px 16px 4px;padding:10px;border:0;border-radius:17px;background:linear-gradient(135deg,#edf3ee,#fffdf8);color:var(--ink);text-align:left}.pairing-recommendation img{width:62px;height:62px;border-radius:13px;background:#e4ebe5;object-fit:contain}.pairing-recommendation span>*{display:block}.pairing-recommendation small{font:600 6px Georgia,serif;letter-spacing:.13em;color:#a17c48}.pairing-recommendation strong{margin:4px 0;font-size:10px}.pairing-recommendation em{font-size:7px;color:#839087}.pairing-recommendation>b{font-size:7px;color:var(--primary);white-space:nowrap}
.quick-icon.booking{background:#e6eee8;color:#1f5b45}.reservation-heading{padding:4px 0 13px}.reservation-heading small{font:600 7px Georgia,serif;letter-spacing:.18em;color:#aa824a}.reservation-heading h2{margin:6px 0 5px;font:700 23px 'Noto Serif SC',serif}.reservation-heading p{margin:0;color:#7c8981;font-size:9px}.reservation-form>label,.reservation-fields label{display:block;margin:11px 0;color:#64736b;font-size:9px}.reservation-form select,.reservation-form input,.reservation-form textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#f6f5ef;color:var(--ink);font-size:10px;outline:0}.reservation-form input:focus,.reservation-form textarea:focus,.reservation-form select:focus{border-color:#76a08d;background:#fff}.reservation-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reservation-submit{width:100%;margin-top:9px;border:0}.reservation-history{display:block;margin:12px auto 0;background:transparent;color:var(--primary);font-size:9px}.reservation-notice{padding:10px 12px;border-radius:11px;background:#fff6e6;color:#8a6a37;font-size:8px;line-height:1.6}.reservation-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:11px;padding:14px;border:1px solid rgba(31,91,69,.1);border-radius:17px;background:linear-gradient(135deg,#f2f5f1,#fffdf8)}.reservation-card>div:first-child>b,.reservation-card>div:first-child>strong{display:block}.reservation-card>div:first-child>b{margin:8px 0 4px;font-size:12px}.reservation-card>div:first-child>strong{font-size:9px;color:#52655a}.reservation-card p{margin:5px 0 0;color:#7d8882;font-size:8px}.reservation-status{padding:4px 7px;border-radius:9px;background:#fff0d7;color:#a96d18;font-size:7px}.reservation-status.confirmed{background:#e4f0e8;color:#28704d}.reservation-status.completed{background:#e8eef5;color:#4b6885}.reservation-status.cancelled{background:#eee;color:#888}.reservation-code{min-width:73px;padding-left:9px;border-left:1px dashed rgba(31,91,69,.18);text-align:center}.reservation-code small{display:block;color:#879089;font-size:7px}.reservation-code b{display:block;margin-top:7px;color:var(--primary);font:700 14px Georgia,serif;letter-spacing:.08em}.reservation-card>button{grid-column:1/3;justify-self:end;background:transparent;color:#9b6b5b;font-size:8px}.reservation-new{width:100%;border:0}
.coupon-list{display:grid;gap:11px}.coupon-card{display:grid;grid-template-columns:78px 1fr auto;gap:11px;align-items:center;padding:13px;border-radius:17px;background:linear-gradient(135deg,#fffaf0,#fff);border-left:5px solid var(--coupon);box-shadow:0 6px 20px rgba(47,65,55,.06)}.coupon-value{text-align:center;color:var(--coupon)}.coupon-value b,.coupon-value span{display:block}.coupon-value b{font-size:22px}.coupon-value span{font-size:7px}.coupon-card strong{display:block;font-size:10px}.coupon-card p{margin:4px 0;color:#748078;font-size:8px}.coupon-card small{color:#999;font-size:7px}.coupon-card>button{padding:7px 10px;border-radius:14px;background:var(--coupon);color:white;font-size:8px}.coupon-card>button[disabled]{background:#ddd;color:#888}

/* Presentation-grade member center and empty states */
.profile-hero{position:relative;display:block;min-height:174px;padding:27px 22px 35px;background:radial-gradient(circle at 96% 2%,rgba(229,193,122,.2),transparent 31%),linear-gradient(135deg,#102f25 0%,#1b503b 62%,#28684f 100%);overflow:hidden}.profile-hero:before{content:"";position:absolute;width:160px;height:160px;right:-78px;bottom:-92px;border:1px solid rgba(238,204,137,.22);border-radius:50%;box-shadow:0 0 0 18px rgba(238,204,137,.03),0 0 0 38px rgba(238,204,137,.018)}.profile-hero:after{content:"MEMBER";position:absolute;right:13px;top:18px;color:rgba(255,255,255,.035);font:700 29px Georgia,serif;letter-spacing:.08em}.profile-kicker{position:relative;z-index:1;margin-bottom:16px;color:#d6b879;font:600 7px Georgia,serif;letter-spacing:.22em}.profile-identity{position:relative;z-index:1;display:flex;align-items:center;gap:13px}.profile-identity .avatar{width:51px;height:51px;border:1px solid rgba(238,204,137,.48);background:rgba(238,204,137,.1);color:#f0d095;box-shadow:inset 0 0 0 5px rgba(255,255,255,.025),0 9px 20px rgba(7,28,19,.18)}.profile-identity h2{font-size:18px;letter-spacing:.02em}.profile-identity p{margin-top:6px;color:#b6c9c0;font-size:8px}.profile-motto{position:relative;z-index:1;margin-top:18px;padding-top:13px;border-top:1px solid rgba(255,255,255,.1);color:#a9bdb4;font:500 8px/1.6 'Noto Serif SC',serif;letter-spacing:.05em}.profile-stats{margin:-17px 16px 16px;padding:16px 8px;border:1px solid rgba(31,91,69,.06);box-shadow:0 12px 28px rgba(30,58,45,.1)}.profile-stats b{font-family:Georgia,'Noto Serif SC',serif;font-size:19px}.profile-stats span{display:block;margin-top:3px;font-size:8px}.profile-menu{margin:0 16px;padding:4px 14px;border:1px solid rgba(31,91,69,.055);box-shadow:0 11px 30px rgba(40,62,51,.065)}.profile-menu button{min-height:58px;padding:10px 0}.profile-menu .profile-menu-icon{display:grid;place-items:center;flex:none;width:31px;height:31px;margin-right:11px;border:1px solid rgba(31,91,69,.13);border-radius:50%;background:linear-gradient(145deg,#f4f0e7,#e7eee8);color:#315f4b;font:700 10px 'Noto Serif SC',serif;box-shadow:inset 0 0 0 3px rgba(255,255,255,.55)}.profile-menu i{display:block;font-style:normal;font-size:10px;font-weight:700}.profile-menu i small{display:block;margin-top:4px;color:#929b95;font-size:7px;font-weight:400}.profile-menu button>b{font:400 16px Georgia,serif;color:#aeb5b0}.profile-service-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 16px 0}.profile-service-strip span{padding:10px 8px;border:1px solid rgba(161,126,73,.1);border-radius:14px;background:linear-gradient(145deg,#f4efe5,#fffdf8);text-align:center}.profile-service-strip i,.profile-service-strip b{display:block}.profile-service-strip i{margin-bottom:5px;color:#b38b51;font:600 6px Georgia,serif;letter-spacing:.12em}.profile-service-strip b{color:#466255;font:700 8px 'Noto Serif SC',serif}.template-note{margin:16px 22px 24px;color:#9aa29d;font-size:8px}.template-note span{color:#b0b5b1;font-size:7px}
.empty-state{position:relative;margin:18px 0;padding:46px 20px 40px;border:1px solid rgba(31,91,69,.08);border-radius:21px;background:linear-gradient(145deg,#fffdf8,#f0ede4);text-align:center;overflow:hidden}.empty-state:after{content:"茶";position:absolute;right:-12px;bottom:-53px;color:rgba(31,91,69,.032);font:700 143px 'Noto Serif SC',serif}.empty-state>span{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;margin:0 auto 14px;border:1px solid rgba(206,165,95,.46);border-radius:50%;background:#173e30;color:#edcb8a;font:700 15px 'Noto Serif SC',serif;box-shadow:0 11px 24px rgba(21,55,42,.17)}.empty-state small,.empty-state h3,.empty-state p,.empty-state button{position:relative;z-index:1}.empty-state small{color:#ac844c;font:600 6px Georgia,serif;letter-spacing:.19em}.empty-state h3{margin:8px 0 7px;color:#26483a;font:700 14px 'Noto Serif SC',serif}.empty-state p{max-width:230px;margin:0 auto;color:#88918c;font-size:8px;line-height:1.7}.empty-state button{margin-top:17px;padding:9px 15px;border:1px solid rgba(31,91,69,.22);border-radius:18px;background:rgba(255,255,255,.68);color:var(--primary);font-size:8px;font-weight:700}.product-list>.empty-state{margin-top:3px}.order-list>.empty-state{margin-top:7px}.sheet .empty-state{margin-top:17px;padding-top:38px}.sheet.is-empty .cart-summary{display:none}
.order-card{border:1px solid rgba(31,91,69,.055);box-shadow:0 9px 26px rgba(35,58,46,.06)}.order-tabs{position:sticky;top:0;z-index:3;background:rgba(247,244,238,.94);backdrop-filter:blur(14px)}.order-tabs button{position:relative}.order-tabs button.active{border-bottom:0}.order-tabs button.active:after{content:"";position:absolute;left:50%;bottom:0;width:14px;height:2px;border-radius:2px;background:var(--primary);transform:translateX(-50%)}
button{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}button:active{transform:scale(.975)}
@media (hover:hover) and (min-width:901px){.product-card:hover,.menu-product:hover,.ranking-item:hover,.pastry-item:hover{transform:translateY(-2px)}.profile-menu button:hover{color:var(--primary)}.empty-state button:hover{background:var(--primary);color:white}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media (min-width:901px){.sheet,.toast{left:calc(50% + min(220px,16vw) + 3.5vw)}}

/* Homepage campaigns stay visible; tea-stamp assets live in the member center. */
.home-campaign{margin:14px 16px 2px}.home-campaign>button{position:relative;display:grid;grid-template-columns:56% 44%;width:100%;height:168px;padding:0;border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(235,197,124,.16),transparent 34%),linear-gradient(135deg,#30261f 0%,#4c3729 54%,#193d30 100%);box-shadow:0 17px 34px rgba(48,38,29,.2);color:#fff;overflow:hidden;text-align:left}.home-campaign>button:before{content:"";position:absolute;inset:8px;border:1px solid rgba(235,205,147,.12);border-radius:17px;pointer-events:none}.campaign-copy{position:relative;z-index:2;padding:23px 0 20px 21px}.campaign-copy small{display:block;color:#d1ad72;font:600 6px Georgia,serif;letter-spacing:.18em}.campaign-copy>span{display:inline-block;margin:10px 0 7px;padding:4px 7px;border:1px solid rgba(241,207,143,.26);border-radius:10px;color:#ebcf98;font-size:7px}.campaign-copy h3{margin:0;color:#fff7e9;font:700 18px/1.3 'Noto Serif SC',serif}.campaign-copy p{margin:5px 0 12px;color:#cabfb5;font-size:8px}.campaign-copy>b{color:#efca82;font-size:8px}.campaign-copy>b i{margin-left:4px;font-style:normal}.campaign-art{position:relative;overflow:hidden}.campaign-art:before{content:"";position:absolute;width:126px;height:126px;right:-9px;bottom:10px;border:1px solid rgba(239,205,141,.24);border-radius:50%;box-shadow:0 0 0 13px rgba(255,255,255,.018)}.campaign-cup{position:absolute;z-index:2;object-fit:contain;filter:drop-shadow(0 13px 12px rgba(9,19,14,.35))}.campaign-cup.cup-1{right:44px;bottom:-8px;width:102px;height:151px;transform:rotate(-4deg)}.campaign-cup.cup-2{right:-8px;bottom:-14px;width:96px;height:139px;transform:rotate(7deg)}.campaign-art em{position:absolute;z-index:3;right:12px;top:18px;color:rgba(255,244,221,.48);font:600 6px/1.55 Georgia,serif;letter-spacing:.16em;text-align:right}
.profile-passport{position:relative;display:block;width:calc(100% - 32px);margin:0 16px 14px;padding:16px;border:0;border-radius:19px;background:radial-gradient(circle at 100% 0,rgba(217,181,108,.16),transparent 32%),linear-gradient(135deg,#102f25,#1c4b39);box-shadow:0 14px 29px rgba(18,54,40,.17);color:#fff;overflow:hidden;text-align:left}.profile-passport:after{content:"印";position:absolute;right:-8px;bottom:-43px;color:rgba(255,255,255,.03);font:700 96px 'Noto Serif SC',serif}.passport-head,.passport-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}.passport-head small{display:block;color:#bda675;font:600 6px Georgia,serif;letter-spacing:.17em}.passport-head h3{margin:5px 0 0;font:700 13px 'Noto Serif SC',serif}.passport-head>span{padding:6px 9px;border:1px solid rgba(238,204,137,.25);border-radius:13px;color:#edcf93;font:700 11px Georgia,serif}.passport-track{position:relative;z-index:1;display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin:15px 0 11px}.passport-track i{display:grid;place-items:center;aspect-ratio:1;border:1px dashed rgba(222,231,226,.27);border-radius:50%;color:#728b80;font:600 6px Georgia,serif;font-style:normal}.passport-track i.done{border-style:solid;border-color:#d6af64;background:linear-gradient(145deg,#f2d597,#caa154);color:#214b39;font:700 6px 'Noto Serif SC',serif;box-shadow:0 3px 8px rgba(5,20,14,.2)}.passport-foot{padding-top:10px;border-top:1px solid rgba(255,255,255,.09)}.passport-foot span{color:#98aca3;font-size:7px}.passport-foot b{color:#e9ce98;font-size:7px}

/* Sales-demo consultation entry */
[data-sales-demo][hidden]{display:none!important}.sales-qr-card{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:14px;width:100%;max-width:350px;margin-top:18px;padding:10px;border:1px solid rgba(31,91,69,.12);border-radius:18px;background:rgba(255,255,255,.66);box-shadow:0 13px 32px rgba(37,61,48,.08);color:var(--ink);text-align:left;backdrop-filter:blur(12px)}.sales-qr-card img{width:76px;height:76px;padding:4px;border-radius:13px;background:#fff;object-fit:contain}.sales-qr-card span>*{display:block}.sales-qr-card small{color:#ad8248;font:600 7px Georgia,serif;letter-spacing:.17em}.sales-qr-card strong{margin:7px 0 5px;color:#214b39;font:700 14px 'Noto Serif SC',serif}.sales-qr-card em{color:#7d8882;font-size:9px;font-style:normal}.profile-menu-icon.consult{background:linear-gradient(145deg,#fff2d6,#e8c47c)!important;color:#6a4821!important}.sales-contact{padding:5px 2px 2px;text-align:center}.sales-contact-kicker{color:#ae8248;font:600 7px Georgia,serif;letter-spacing:.19em}.sales-contact h2{max-width:285px;margin:8px auto 7px;color:#1d4233;font:700 22px/1.45 'Noto Serif SC',serif}.sales-contact>p{max-width:295px;margin:0 auto 17px;color:#7b8780;font-size:9px;line-height:1.75}.sales-contact-qr{position:relative;width:232px;margin:0 auto;padding:13px 13px 12px;border:1px solid rgba(31,91,69,.1);border-radius:24px;background:linear-gradient(145deg,#fff,#f3efe5);box-shadow:0 16px 38px rgba(33,56,44,.12)}.sales-contact-qr:before{content:"";position:absolute;inset:7px;border:1px solid rgba(180,139,76,.12);border-radius:18px;pointer-events:none}.sales-contact-qr img{position:relative;z-index:1;display:block;width:206px;height:189px;border-radius:15px;background:#fff;object-fit:contain}.sales-contact-qr span{position:relative;z-index:1;display:block;padding-top:10px}.sales-contact-qr strong,.sales-contact-qr small{display:block}.sales-contact-qr strong{color:#294b3d;font-size:10px}.sales-contact-qr small{margin-top:4px;color:#9d8a6d;font-size:7px}.sales-contact-tags{display:flex;justify-content:center;gap:6px;margin:14px 0 10px}.sales-contact-tags span{padding:5px 8px;border-radius:12px;background:#edf2ee;color:#4b6b5c;font-size:7px}.sales-contact-note{display:block;color:#aaa49a;font-size:7px}
