.stickybar{position:fixed;bottom:24px;right:20px;z-index:var(--z-sticky, 10000);display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.stickybar.hide{opacity:0;transform:translateY(20px);pointer-events:none}.stickybar.show{opacity:1;transform:translateY(0)}#StickyBar.sticky-high-z{z-index:var(--z-sticky-boost, 99999)}body.cart-sheet-open .stickybar,body.mc-open .stickybar{opacity:0;pointer-events:none}body.modal-open .stickybar,body.hh-member-open .stickybar,body.hh-giftbox-open .stickybar,#StickyBar.ai-open-hidden{display:none}.cart-fab{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;padding:12px 18px 12px 14px;border-radius:999px;background:var(--tea-dark);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 20px #2f4b3c52;transition:transform .2s var(--ease-soft),box-shadow .2s ease,background .15s ease;font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;letter-spacing:.01em;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.cart-fab:hover{background:var(--tea-dark-h);box-shadow:0 6px 24px #2f4b3c61;transform:translateY(-2px)}.cart-fab:active{transform:scale(.97);box-shadow:0 2px 10px #2f4b3c3d}.cart-fab-icon{flex-shrink:0;opacity:.92}.cart-fab-label{white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.cart-fab-chevron{display:flex;align-items:center;opacity:.7;transition:transform .25s var(--ease-soft)}.submit-btn-sticky{pointer-events:auto;padding:10px 24px;height:42px;border-radius:21px;background:linear-gradient(135deg,var(--tea-dark),var(--tea-dark-h));color:#fff;font-weight:600;font-size:15px;border:none;box-shadow:0 4px 14px #2f4b3c4d;cursor:pointer;transition:background .2s var(--ease-out-quart),transform .2s var(--ease-out-quart),box-shadow .2s var(--ease-out-quart);white-space:nowrap}.submit-btn-sticky:hover{transform:translateY(-2px);box-shadow:0 6px 18px #2f4b3c66;background:linear-gradient(135deg,var(--tea-dark-h),var(--tea-main))}.submit-btn-sticky:active{transform:scale(.97);box-shadow:0 2px 8px #2f4b3c4d}.progress-bar-wrap{width:100%;height:3px;background:#2f4b3c0f;overflow:hidden}#freeProgressBar{height:100%;width:0%;background:var(--tea-main);transition:width .5s var(--ease-out-quart)}.free-hint{display:none;padding:8px 16px;font-size:var(--text-xs);font-weight:500;color:var(--tea-dark);background:#2f4b3c0f;border-bottom:1px solid var(--mist-border);text-align:center}.free-hint.show{display:block}@media (max-width: 400px){.stickybar{bottom:16px;right:12px}.submit-btn-sticky{padding:8px 18px;font-size:14px}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:flex-end;justify-content:center;background:#141e1973;z-index:var(--z-sheet-backdrop, 2000);opacity:0;pointer-events:none;transition:opacity .35s var(--ease-out-quart)}.sheet-backdrop[aria-hidden=false]{display:flex;opacity:1;pointer-events:auto}.sheet{position:fixed;left:0;right:0;bottom:0;max-height:calc(92vh - env(safe-area-inset-bottom));max-height:calc(92dvh - env(safe-area-inset-bottom));background:linear-gradient(180deg,#fffffff2,#f8faf8e6);border-radius:20px 20px 0 0;box-shadow:0 -10px 40px #5a7b6833;border-top:1px solid rgba(255,255,255,.8);transform:translateY(110%);transition:transform .4s cubic-bezier(.25,1,.5,1);z-index:var(--z-sheet, 2200);padding:12px 24px calc(32px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:calc(90px + env(safe-area-inset-bottom))}.sheet[data-open=true]{transform:translateY(0)}.sheet-header{position:sticky;top:-12px;z-index:20;background:linear-gradient(180deg,#fff,#f8faf8);margin:-12px -24px 0;padding:12px 24px 4px;border-radius:20px 20px 0 0;box-shadow:0 2px 8px #0000;transition:box-shadow .2s ease}.sheet-header.scrolled{box-shadow:0 2px 8px #0000000f}.sheet-handle{width:48px;height:5px;background:#d0dcd5;border-radius:999px;margin:4px auto 20px;box-shadow:inset 0 1px 2px #0000000d;position:relative;z-index:10}.sheet-handle:after{content:"";position:absolute;top:-20px;bottom:-20px;left:-50%;right:-50%}.sheet h3{font-size:22px;text-align:center;font-weight:800;color:#2a3a32;margin-bottom:24px;letter-spacing:1px;display:block}.sheet h3:after{display:none}.sheet #cartItems{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.line-item{position:relative;overflow:hidden;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000008;border:1px solid rgba(0,0,0,.04);transition:transform .3s var(--ease-out-quart),background .3s var(--ease-out-quart)}.line-item:before{content:"🗑️";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:20px;color:#fff;z-index:0}.line-item:active{transform:scale(.98);background:#fffbfb}.swipe-content{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:#fff;position:relative;z-index:1;transition:transform .25s var(--ease-out-quart);height:auto;min-height:72px}.swipe-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;padding-right:12px}.cart-swipe-hint{display:inline-block;margin-left:8px;color:#b28663;font-size:11px;font-weight:600;letter-spacing:.2px}.swipe-delete{position:absolute;right:0;top:0;bottom:0;width:80px;background:linear-gradient(135deg,#ff5f5f,#e04f4f);color:#fff;border:none;font-weight:600;transform:translate(100%);transition:transform .25s;display:flex;align-items:center;justify-content:center;z-index:2}@media (min-width: 768px) and (pointer: fine){.line-item.desktop-delete{padding-right:80px}.line-item.desktop-delete .swipe-delete{transform:translate(0);width:80px}.line-item.desktop-delete .swipe-content{transform:translate(0)!important}.line-item.desktop-delete:before{display:none}}.sheet .line{display:flex;justify-content:space-between;align-items:center;margin:10px 0;font-size:15px;color:#556660}.sheet .line.total{margin-top:18px;padding-top:18px;border-top:1px dashed rgba(160,180,170,.4);font-weight:700;font-size:18px;color:#2a3a32;align-items:baseline}.sheet .line.total span:last-child{font-size:24px;color:var(--tea-gold);font-family:"Noto Serif TC","Noto Serif TC Fallback",serif}.sheet-close-btn{position:absolute;top:16px;right:20px;width:36px;height:36px;border-radius:50%;background:#0000000d;border:none;display:flex;align-items:center;justify-content:center;color:#555;cursor:pointer;z-index:50;transition:background .15s var(--ease-out-quart),transform .15s var(--ease-out-quart)}.sheet-close-btn:hover{background:#00000014;color:#333}.sheet-close-btn:active{background:#00000026;transform:scale(.9)}.sheet h3{padding:0 40px}.summary-block{margin-top:12px;margin-bottom:8px;padding:0 12px;display:flex;flex-direction:column;gap:8px}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;line-height:1.5}.summary-row .label{color:#6c7a74;font-weight:500;letter-spacing:.5px}.summary-row .value{color:#4a5e54;font-family:"Noto Serif TC","Noto Serif TC Fallback",serif;font-weight:600}.summary-row.discount{margin-top:4px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.06)}.summary-row.discount .label{color:#c05d55;font-weight:700;display:flex;align-items:center;gap:4px}.summary-row.discount .value{color:#c05d55;font-weight:700}.sheet .line.total{margin-top:12px;padding-top:20px}.sheet-checkout-footer{padding:16px 20px 28px}.sheet-checkout-btn{display:block;width:100%;padding:15px;background:var(--tea-gold, #b8950a);color:#fff;font-size:16px;font-weight:700;border:none;border-radius:12px;cursor:pointer;letter-spacing:.04em;transition:opacity .15s,transform .12s}.sheet-checkout-btn:hover{opacity:.9}.sheet-checkout-btn:active{transform:scale(.98);opacity:.85}.success-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#14231ea6;backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);opacity:0;visibility:hidden;transition:opacity .35s var(--ease-out-quart),visibility .35s;z-index:var(--z-success, 10050)}.success-backdrop.show{opacity:1;visibility:visible}.success-card.glass-success{width:86%;max-width:380px;padding:40px 30px 32px;border-radius:32px;background:linear-gradient(145deg,#fffffff2,#f5faf8e6);box-shadow:0 20px 60px #00000040,0 0 0 1px #fffc inset;text-align:center;transform:scale(.9) translateY(20px);transition:opacity .4s var(--ease-out-quint),transform .4s var(--ease-out-quint)}.success-backdrop.show .success-card{transform:scale(1) translateY(0)}.stagger-1,.stagger-2,.stagger-3,.stagger-4,.stagger-5{opacity:0;transform:translateY(10px);transition:opacity .4s var(--ease-out-quint),transform .4s var(--ease-out-quint)}.success-backdrop.show .stagger-1{opacity:1;transform:translateY(0);transition-delay:.1s}.success-backdrop.show .stagger-2{opacity:1;transform:translateY(0);transition-delay:.2s}.success-backdrop.show .stagger-3{opacity:1;transform:translateY(0);transition-delay:.3s}.success-backdrop.show .stagger-4{opacity:1;transform:translateY(0);transition-delay:.4s}.success-backdrop.show .stagger-5{opacity:1;transform:translateY(0);transition-delay:.5s}.success-header{position:relative;width:80px;height:80px;margin:0 auto 16px}.check-glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle,rgba(148,114,62,.22) 0%,transparent 70%);animation:pulseGlow 2s infinite}@keyframes pulseGlow{0%{transform:scale(.8);opacity:.5}to{transform:scale(1.5);opacity:0}}.success-check{width:100%;height:100%;position:relative;z-index:2}.check-circle{stroke:#5a7b68;stroke-width:3;stroke-linecap:round;stroke-dasharray:320;stroke-dashoffset:320;animation:drawCircle .8s var(--ease-out-quart) forwards .2s}.check-mark{stroke:#3d6b47;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80;stroke-dashoffset:80;animation:drawCheck .4s var(--ease-out-quint) forwards .6s;filter:drop-shadow(0 2px 4px rgba(61,107,71,.35))}@keyframes drawCircle{to{stroke-dashoffset:0}}@keyframes drawCheck{to{stroke-dashoffset:0}}.success-title{font-size:24px;font-weight:800;color:var(--tea-dark);letter-spacing:1px;margin-bottom:6px}.success-sub{font-size:14px;color:#7a8c82;font-weight:500;margin-bottom:24px}.success-receipt{background:#fff;border:1px solid rgba(180,200,190,.4);border-radius:16px;padding:16px 20px;margin-bottom:24px;box-shadow:0 4px 12px #00000008;position:relative}.success-receipt:before{content:"";position:absolute;top:-1px;left:20%;right:20%;height:2px;background:linear-gradient(90deg,transparent,#a8c2b3,transparent)}.receipt-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.receipt-row .label{color:#889990;font-weight:500}.receipt-row .value{color:#333;font-weight:600;letter-spacing:.5px}.receipt-row .value.price{color:var(--tea-gold);font-weight:700;font-size:16px;font-family:"Noto Serif TC","Noto Serif TC Fallback",serif}.font-mono{font-family:monospace;font-size:13px;letter-spacing:0;background:#f4f4f4;padding:2px 6px;border-radius:4px;color:#555}.receipt-row .value.font-mono{color:#555}.receipt-divider{height:1px;background:#f0f0f0;margin:12px 0;background-image:linear-gradient(to right,#ccc 40%,#fff0 0%);background-position:bottom;background-size:6px 1px;background-repeat:repeat-x}#lineBindBox{margin-bottom:12px}.line-bind-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 0;border-radius:14px;text-decoration:none;background:linear-gradient(135deg,#06c755,#00b900);color:#fff;font-size:16px;font-weight:700;letter-spacing:.5px;box-shadow:0 4px 12px #06c7554d;transition:all .25s ease}.line-bind-btn svg{fill:#fff}.line-bind-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #06c75566;background:linear-gradient(135deg,#0be060,#00b900)}.line-bind-btn:active{transform:scale(.98)}.line-hint{font-size:12px;color:#99a;margin-top:8px;font-weight:400}.success-close{background:transparent;border:none;color:#7a8c82;font-size:15px;font-weight:600;padding:10px 20px;cursor:pointer;transition:color .2s var(--ease-out-quart)}.success-close:hover{color:var(--tea-dark);text-decoration:underline;text-underline-offset:4px}.success-close:active{color:var(--tea-dark);opacity:.7}.fail-badge{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto;font-size:34px;font-weight:900;color:#fff;background:#a4432f;box-shadow:0 10px 28px #a4432f4d}.fail-title{color:#7a2a23}.atm-badge{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto;font-size:34px;background:linear-gradient(135deg,#1a6b4a,#2d8f63);box-shadow:0 10px 28px #1d784e59}.atm-account-val{font-size:1.05rem;letter-spacing:.06em;color:#1e3a2f}.retry-pay-btn{background:linear-gradient(135deg,#2f4b3c,#3d6b47);box-shadow:0 4px 12px #2f4b3c47}.retry-pay-btn:hover{background:linear-gradient(135deg,#3d6b47,#4a7a54);box-shadow:0 8px 20px #2f4b3c61}.pack-note-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;margin-bottom:16px;background:#5a7b6814;border:1px solid rgba(90,123,104,.2);border-radius:999px;font-size:.82rem;color:#3d5c48}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:var(--z-loading, 9999);opacity:0;pointer-events:none;transition:opacity .3s}.loading-overlay.show{opacity:1;pointer-events:auto}.loading-spinner{width:48px;height:48px;border:4px solid rgba(47,75,60,.12);border-top-color:var(--tea-dark);border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:16px;font-size:15px;font-weight:600;color:#333}@keyframes spin{to{transform:rotate(360deg)}}@keyframes hhBadgePop{0%{transform:scale(1)}35%{transform:scale(1.5)}70%{transform:scale(.88)}to{transform:scale(1)}}.hh-badge-pop{animation:hhBadgePop .42s cubic-bezier(.34,1.56,.64,1)}@keyframes hhCartBump{0%{transform:translateY(0)}30%{transform:translateY(-7px)}60%{transform:translateY(2px)}to{transform:translateY(0)}}#StickyBar.hh-cart-bump{animation:hhCartBump .5s cubic-bezier(.34,1.4,.64,1)}@media (prefers-reduced-motion: reduce){.hh-badge-pop,#StickyBar.hh-cart-bump{animation:none}}.hh-bind-coupon-banner{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 14px;padding:12px 14px;text-align:left;border:1px solid rgba(184,134,11,.28);border-radius:14px;background:#fbfaf5;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease}.hh-bind-coupon-banner:hover{border-color:#b8860b8c;box-shadow:0 4px 14px #7864281a}.hh-bind-coupon-banner:active{transform:scale(.99)}.hh-bcb-icon{font-size:22px;line-height:1;flex-shrink:0;color:#b8860b;display:inline-flex}.hh-bcb-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.hh-bcb-title{font-size:14px;font-weight:700;color:#3d4a36}.hh-bcb-sub{font-size:11.5px;color:#8a7d68;line-height:1.4}.hh-bcb-cta{flex-shrink:0;font-size:12.5px;font-weight:600;color:#b8860b;white-space:nowrap}.hh-cart-item__pack--btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid rgba(184,134,11,.3);border-radius:99px;background:#fdfcf8;font-size:11.5px;color:#6b5327;cursor:pointer}.hh-cart-item__pack--btn .hh-pack-edit{color:#b0894a;font-weight:700;white-space:nowrap}.hh-cart-item__pack--btn:active{transform:scale(.98)}.hh-cart-item__pack--btn.is-warn{border-color:#bf8e2c8c;background:#fbf3e2;color:#9a6b1f}@media (prefers-reduced-motion: reduce){.check-glow{animation:none;opacity:.35}.check-circle,.check-mark{animation:none;stroke-dashoffset:0}}.hh-atm-copy{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:8px;border:1px solid rgba(148,114,62,.5);border-radius:999px;background:#fff;color:#2f4b3c;font-size:14px;font-weight:700;cursor:pointer}.hh-atm-copy:active{transform:scale(.98)}
