:root{--wabi-bg: #F7F3EE;--wabi-surface: #FDFAF6;--wabi-border: #E5DED4;--wabi-ink: #2C2416;--wabi-ink-soft: #6B5E4F;--wabi-ink-whisper: #999184;--wabi-tea: #5B7B5E;--wabi-tea-light: #E8EFE5;--wabi-tea-dark: #4A6B4E;--wabi-clay: #9B7E6B;--wabi-success: #7D9B7E;--wabi-warning: #C4A87C;--wabi-error: #B8867A;--wabi-radius-sm: 4px;--wabi-radius: 8px;--wabi-radius-lg: 12px;--wabi-radius-xl: 16px;--wabi-shadow-sm: 0 1px 3px rgba(44,36,22,.04);--wabi-shadow: 0 2px 12px rgba(44,36,22,.06);--wabi-shadow-md: 0 4px 20px rgba(44,36,22,.08);--wabi-font-sans: -apple-system, "PingFang SC", "Helvetica Neue", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--wabi-font-sans);font-size:15px;line-height:1.7;color:var(--wabi-ink);background:var(--wabi-bg);max-width:480px;margin:0 auto}input,button,textarea,select{font-family:inherit;font-size:inherit}.sheet{background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-sm);padding:16px;box-shadow:var(--wabi-shadow-sm)}.rule{height:1px;background:var(--wabi-border);margin:16px 0}.btn-primary{display:inline-flex;align-items:center;justify-content:center;width:100%;height:48px;background:var(--wabi-tea);color:#fff;border:none;border-radius:var(--wabi-radius);font-size:16px;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:background .2s,opacity .2s}.btn-primary:active{background:var(--wabi-tea-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;height:48px;background:transparent;color:var(--wabi-ink);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius);font-size:16px;font-weight:400;letter-spacing:.05em;cursor:pointer;transition:background .2s}.btn-secondary:active{background:var(--wabi-bg)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-sm{height:36px;padding:0 16px;font-size:14px;width:auto;border-radius:var(--wabi-radius-sm)}.btn-danger{background:transparent;color:var(--wabi-error);border:1px solid var(--wabi-error)}.input{width:100%;height:44px;padding:0 12px;background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-sm);font-size:15px;color:var(--wabi-ink);outline:none;transition:border-color .2s}.input:focus{border-color:var(--wabi-tea)}.input::placeholder{color:var(--wabi-ink-whisper)}.textarea{width:100%;min-height:80px;padding:10px 12px;background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-sm);font-size:15px;color:var(--wabi-ink);outline:none;resize:vertical;line-height:1.6}.textarea:focus{border-color:var(--wabi-tea)}.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-sm);overflow:hidden}.qty-stepper button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--wabi-surface);border:none;font-size:18px;color:var(--wabi-ink);cursor:pointer;transition:background .15s}.qty-stepper button:active{background:var(--wabi-bg)}.qty-stepper button:disabled{color:var(--wabi-ink-whisper);cursor:not-allowed}.qty-stepper .qty-input{width:52px;min-width:44px;text-align:center;font-size:16px;font-weight:400;color:var(--wabi-ink);border:none;border-left:1px solid var(--wabi-border);border-right:1px solid var(--wabi-border);outline:none;background:transparent;-moz-appearance:textfield;-webkit-appearance:none;appearance:none;margin:0;padding:4px 0;line-height:36px}.qty-stepper .qty-input::-webkit-inner-spin-button,.qty-stepper .qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.badge{display:inline-block;padding:2px 10px;border-radius:var(--wabi-radius-sm);font-size:12px;letter-spacing:.04em}.badge-pending{background:var(--wabi-tea-light);color:var(--wabi-tea-dark)}.badge-paid{background:#f3f8f3;color:var(--wabi-success)}.badge-shipped{background:#fbf6ec;color:var(--wabi-warning)}.badge-done{background:var(--wabi-tea-light);color:var(--wabi-tea)}.badge-cancel{background:#fcf5f4;color:var(--wabi-error)}.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:20px 36px;background:var(--wabi-surface);color:var(--wabi-ink);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-xl);font-size:16px;font-weight:500;z-index:9999;box-shadow:var(--wabi-shadow-md);animation:toastIn .35s cubic-bezier(.16,1,.3,1);letter-spacing:.04em;min-width:240px;text-align:center;pointer-events:none}.toast-error{background:#fcf5f4;color:var(--wabi-error);border-color:var(--wabi-error)}.toast-success{background:var(--wabi-tea-light);color:var(--wabi-tea-dark);border-color:var(--wabi-tea)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-50%) translateY(8px)}to{opacity:1;transform:translate(-50%,-50%) translateY(0)}}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:40px 0}.spinner{width:28px;height:28px;border:2px solid var(--wabi-border);border-top-color:var(--wabi-tea);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:48px 24px;color:var(--wabi-ink-whisper)}.empty-state .empty-icon{font-size:48px;line-height:1;margin-bottom:12px;color:var(--wabi-border)}.empty-state .empty-text{font-size:14px;letter-spacing:.03em}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c241666;z-index:100;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.modal-sheet{width:100%;max-width:480px;max-height:90vh;background:var(--wabi-surface);border-radius:var(--wabi-radius-lg) var(--wabi-radius-lg) 0 0;padding:20px 16px 24px;overflow-y:auto;animation:slideUp .25s ease}.modal-sheet h3{font-size:17px;font-weight:500;color:var(--wabi-ink);letter-spacing:.04em;margin-bottom:16px}@keyframes slideUp{0%{transform:translateY(30%)}to{transform:translateY(0)}}.page-header{padding:20px 16px 12px;display:flex;align-items:center;justify-content:space-between}.page-header h1{font-size:20px;font-weight:500;letter-spacing:.06em;color:var(--wabi-ink)}.page-header .back-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:37px;color:var(--wabi-ink-soft);cursor:pointer;line-height:1;-webkit-tap-highlight-color:transparent}.bottom-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom,12px));background:var(--wabi-surface);border-top:1px solid var(--wabi-border);z-index:50}.bottom-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}.bottom-bar .total{font-size:14px;color:var(--wabi-ink-soft);white-space:nowrap}.bottom-bar .price{font-size:22px;font-weight:400;color:var(--wabi-ink);letter-spacing:.02em}.bottom-bar .btn-primary{width:auto;padding:10px 24px;white-space:nowrap}.address-swipe-wrapper{position:relative;overflow:hidden;border-radius:var(--wabi-radius-sm);margin:0 16px}.address-delete-action{position:absolute;top:0;bottom:0;right:0;width:72px;display:flex;align-items:center;justify-content:center;background:var(--wabi-error);color:#fff;font-size:13px;font-weight:500;letter-spacing:.04em;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s}.address-delete-action:active{background:#a07068}.address-card-swipeable{position:relative;z-index:1;padding:16px;background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-sm);cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.3,1),border-color .2s;touch-action:pan-y}.address-card{padding:16px;background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-sm);margin:0 16px;cursor:pointer;transition:border-color .2s}.address-card:active{border-color:var(--wabi-tea)}.address-card .recipient,.address-card-swipeable .recipient{font-size:16px;font-weight:500;margin-bottom:4px}.address-card .phone,.address-card-swipeable .phone{color:var(--wabi-ink-soft)}.address-card .addr,.address-card-swipeable .addr{font-size:13px;color:var(--wabi-ink-soft);margin-top:2px;line-height:1.5}.address-card .placeholder{color:var(--wabi-ink-whisper);font-size:14px}.product-card{display:flex;gap:12px;padding:16px;background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-sm);margin:0 16px 8px;align-items:flex-start}.product-card .thumb{width:72px;height:72px;flex-shrink:0;background:var(--wabi-bg);border-radius:var(--wabi-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--wabi-ink-whisper);font-size:12px;overflow:hidden}.product-card .thumb img{width:100%;height:100%;object-fit:cover}.product-card .info{flex:1;min-width:0}.product-card .name{font-size:15px;font-weight:500;color:var(--wabi-ink);letter-spacing:.03em;margin-bottom:4px;line-height:1.4}.product-card .desc{font-size:12px;color:var(--wabi-ink-whisper);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card .meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.product-card .price{font-size:18px;font-weight:400;color:var(--wabi-ink);letter-spacing:.02em}.product-card .price .unit{font-size:13px;color:var(--wabi-ink-soft)}.product-card .stock{font-size:12px;color:var(--wabi-ink-whisper)}.order-card{padding:16px;background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-sm);margin:0 16px 8px}.order-swipe-wrapper{position:relative;overflow:hidden;border-radius:var(--wabi-radius-sm);margin:0 16px 8px}.order-delete-action{position:absolute;top:0;bottom:0;right:0;width:72px;display:flex;align-items:center;justify-content:center;background:var(--wabi-error);color:#fff;font-size:13px;font-weight:500;letter-spacing:.04em;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s}.order-delete-action:active{background:#a07068}.order-card-swipeable{position:relative;z-index:1;padding:16px;background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-sm);cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.3,1),border-color .2s;touch-action:pan-y}.order-card .order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.order-card .order-no{font-size:13px;color:var(--wabi-ink-soft);letter-spacing:.02em}.order-card .order-items{font-size:14px;color:var(--wabi-ink);line-height:1.6;margin-bottom:8px}.order-card .order-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--wabi-border);padding-top:10px;margin-top:8px}.order-card .order-total{font-size:16px;font-weight:500;color:var(--wabi-ink);letter-spacing:.02em}.tracking-info{margin:0 16px;padding:12px 16px;background:var(--wabi-tea-light);border-radius:var(--wabi-radius-sm);font-size:13px;color:var(--wabi-tea-dark);line-height:1.6}.page-content{padding:0 0 80px}.shop-page{min-height:100vh;background:var(--wabi-bg)}.shop-hero{position:relative;background:linear-gradient(180deg,var(--wabi-tea-light) 0%,rgba(232,239,229,.5) 60%,var(--wabi-bg) 100%);padding-bottom:16px}.shop-hero-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px 24px;text-align:center}.shop-hero-en{font-size:11px;font-weight:400;color:var(--wabi-ink-whisper);letter-spacing:.15em;margin-bottom:8px;text-transform:uppercase}.shop-hero-title{font-size:26px;font-weight:400;color:var(--wabi-ink);letter-spacing:.08em;margin-bottom:6px}.shop-hero-sub{font-size:13px;font-weight:300;color:var(--wabi-ink-soft);letter-spacing:.06em}.shop-hero-nav{position:absolute;top:0;left:0;right:0;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.shop-hero-welcome{font-size:12px;color:var(--wabi-ink-soft);letter-spacing:.03em}.shop-hero-channel{font-weight:500;color:var(--wabi-tea-dark)}.shop-hero-greeting{color:var(--wabi-ink-whisper)}.shop-hero-actions{display:flex;gap:8px}.btn-ghost-sm{height:32px;padding:0 14px;background:#fff9;border:1px solid var(--wabi-border);border-radius:var(--wabi-radius);font-size:13px;color:var(--wabi-ink-soft);cursor:pointer;letter-spacing:.03em;transition:all .2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-ghost-sm:active{background:#ffffffd9;color:var(--wabi-ink)}.shop-tabs-wrapper{position:sticky;top:0;z-index:40;background:var(--wabi-bg);padding:4px 0 0}.shop-tabs{display:flex;gap:4px;padding:0 16px 10px;border-bottom:1px solid var(--wabi-border);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.shop-tabs::-webkit-scrollbar{display:none}.shop-tab{flex-shrink:0;padding:8px 18px;border:none;background:none;font-size:14px;font-weight:400;color:var(--wabi-ink-soft);cursor:pointer;letter-spacing:.04em;border-radius:var(--wabi-radius);transition:all .2s;position:relative;white-space:nowrap}.shop-tab:active{color:var(--wabi-tea-dark)}.shop-tab.active{color:var(--wabi-tea);font-weight:500;background:var(--wabi-tea-light)}.shop-content{padding:12px 0 0}.shop-product-list{display:flex;flex-direction:column;gap:0}.shop-product-card{display:flex;gap:14px;padding:16px;margin:0 16px 10px;background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-sm);align-items:flex-start;transition:transform .2s ease,border-color .2s ease;animation:spcFadeIn .4s ease both}.shop-product-card:active{transform:scale(.985);border-color:var(--wabi-tea)}@keyframes spcFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.spc-thumb{width:80px;height:80px;flex-shrink:0;background:var(--wabi-bg);border-radius:var(--wabi-radius-sm);display:flex;align-items:center;justify-content:center;overflow:hidden}.spc-thumb img{width:100%;height:100%;object-fit:cover}.spc-thumb-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--wabi-ink-whisper);font-size:24px;font-weight:300;letter-spacing:.06em;background:var(--wabi-tea-light)}.spc-body{flex:1;min-width:0}.spc-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.spc-name{font-size:15px;font-weight:500;color:var(--wabi-ink);letter-spacing:.03em;line-height:1.4;flex:1}.spc-type-tag{flex-shrink:0;font-size:11px;color:var(--wabi-tea);background:var(--wabi-tea-light);padding:2px 8px;border-radius:var(--wabi-radius-sm);letter-spacing:.03em;white-space:nowrap}.spc-desc{font-size:12px;color:var(--wabi-ink-whisper);line-height:1.5;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spc-divider{height:1px;background:var(--wabi-border);margin:10px 0}.spc-footer{display:flex;align-items:center;justify-content:space-between}.spc-price{display:flex;align-items:baseline;gap:1px}.spc-price-symbol{font-size:14px;font-weight:400;color:var(--wabi-ink);letter-spacing:.02em}.spc-price-num{font-size:20px;font-weight:300;color:var(--wabi-ink);letter-spacing:.02em}.spc-price-unit{font-size:12px;font-weight:300;color:var(--wabi-ink-soft)}.spc-stock-warn{margin-top:6px;font-size:11px;color:var(--wabi-error);letter-spacing:.03em}.spc-stock-oos{margin-top:6px;font-size:11px;color:var(--wabi-ink-whisper);letter-spacing:.03em}.shop-bottom-spacer{height:80px}.tabs{display:flex;margin:0 16px 12px;border-bottom:1px solid var(--wabi-border)}.tab{flex:1;padding:10px 0;text-align:center;font-size:14px;color:var(--wabi-ink-soft);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;letter-spacing:.03em}.tab.active{color:var(--wabi-tea);border-bottom-color:var(--wabi-tea)}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px 20px;background:linear-gradient(180deg,var(--wabi-tea-light) 0%,var(--wabi-bg) 40%)}.login-logo{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--wabi-tea),var(--wabi-tea-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;letter-spacing:.08em;margin-bottom:12px}.login-title{font-size:18px;font-weight:500;color:var(--wabi-ink);letter-spacing:.06em;margin-bottom:4px}.login-sub{font-size:12px;color:var(--wabi-ink-whisper);margin-bottom:28px;letter-spacing:.04em}.login-card{background:var(--wabi-surface);border-radius:var(--wabi-radius-lg);padding:24px;width:100%;max-width:340px;border:1px solid var(--wabi-border);box-shadow:var(--wabi-shadow)}.login-error{background:#fef2f2;color:#dc2626;padding:8px 12px;border-radius:var(--wabi-radius-sm);font-size:13px;margin-bottom:16px;text-align:center}.login-mode-title{font-size:16px;font-weight:500;color:var(--wabi-ink);text-align:center;letter-spacing:.04em;margin-bottom:20px}.login-switch{text-align:center;font-size:13px;color:var(--wabi-ink-soft);margin-top:14px}.login-switch .link-btn{background:none;border:none;color:var(--wabi-tea);font-size:13px;font-weight:500;cursor:pointer;padding:0 4px;letter-spacing:.03em}.login-switch .link-btn:active{color:var(--wabi-tea-dark)}.login-footer{font-size:12px;color:var(--wabi-ink-whisper);margin-top:32px;letter-spacing:.03em}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--wabi-ink-soft);letter-spacing:.03em}.form-group input{width:100%;padding:10px 14px;border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-sm);font-size:15px;font-family:var(--wabi-font-sans);outline:none;-webkit-appearance:none;background:var(--wabi-surface);color:var(--wabi-ink);transition:border-color .2s}.form-group input::placeholder{color:var(--wabi-ink-whisper)}.form-group input:focus{border-color:var(--wabi-tea);box-shadow:0 0 0 2px #5b7b5e1a}.region-picker-selects{display:flex;gap:12px}.region-picker-selects .region-select-wrapper{flex:1;min-width:0}.region-picker-selects.region-two-col{flex-direction:column;gap:10px}.region-picker-selects.region-two-col .region-select-wrapper{flex:none;width:100%}.region-select{width:100%;padding:12px 36px 12px 12px;border:1px solid var(--wabi-border);border-radius:var(--wabi-radius-sm);font-size:15px;font-family:var(--wabi-font-sans);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--wabi-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M0 0l6 7 6-7z' fill='%23999184'/%3E%3C/svg%3E") no-repeat right 14px center;background-size:12px 7px;color:var(--wabi-ink);transition:border-color .2s}.region-select:focus{border-color:var(--wabi-tea);box-shadow:0 0 0 2px #5b7b5e1a}.region-select:disabled{opacity:.45;cursor:not-allowed;background-color:var(--wabi-bg)}.login-card .btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:10px 16px;border-radius:var(--wabi-radius-sm);font-size:15px;font-weight:500;border:none;cursor:pointer;background:var(--wabi-tea);color:#fff;letter-spacing:.05em;transition:background .2s,opacity .2s;margin-top:4px}.login-card .btn:active{background:var(--wabi-tea-dark)}.login-card .btn:disabled{opacity:.5;cursor:not-allowed}.shop-footer-fixed{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:50;width:100%;max-width:480px}.shop-checkout-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--wabi-surface);border-top:1px solid var(--wabi-border);gap:12px}.scb-left{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--wabi-ink)}.scb-count{font-weight:600;color:var(--wabi-tea);font-size:15px}.scb-label{color:var(--wabi-ink-whisper)}.scb-sep{color:var(--wabi-border);margin:0 4px}.scb-total{font-weight:600;color:var(--wabi-ink);font-size:16px}.scb-btn{flex-shrink:0;padding:10px 28px;border:none;border-radius:22px;background:var(--wabi-tea);color:#fff;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .2s,transform .1s;letter-spacing:.04em}.scb-btn:active{transform:scale(.97)}.tab-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:50;display:flex;width:100%;max-width:480px;background:var(--wabi-surface);border-top:1px solid var(--wabi-border);padding:6px 0;padding-bottom:max(6px,env(safe-area-inset-bottom,6px))}.tab-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 0;border:none;background:none;cursor:pointer;color:var(--wabi-ink-whisper);font-family:inherit;transition:color .2s;position:relative}.tab-bar-item.active{color:var(--wabi-tea)}.tab-bar-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-bottom:2px}.tab-bar-item svg{width:22px;height:22px}.tab-bar-label{font-size:10px;font-weight:400;letter-spacing:.03em}.tab-bar-badge{position:absolute;top:2px;right:50%;transform:translate(20px);min-width:16px;height:16px;border-radius:8px;background:var(--wabi-error);color:#fff;font-size:10px;font-weight:500;display:flex;align-items:center;justify-content:center;padding:0 4px}.cat-bar-wrapper{position:sticky;top:0;z-index:40;background:var(--wabi-bg);padding:0 0 6px}.cat-bar{display:flex;justify-content:space-evenly;gap:6px;padding:8px 12px 10px;border-bottom:1px solid var(--wabi-border)}.cat-chip{flex:1;padding:8px 6px;border:1px solid var(--wabi-border);background:var(--wabi-surface);font-size:13px;font-weight:400;color:var(--wabi-ink-soft);cursor:pointer;letter-spacing:.04em;border-radius:20px;transition:all .2s;text-align:center;white-space:nowrap;font-family:inherit}.cat-chip:active{color:var(--wabi-tea-dark);border-color:var(--wabi-tea)}.cat-chip.active{color:#fff;font-weight:500;background:var(--wabi-tea);border-color:var(--wabi-tea)}.shop-bottom-spacer-v2{height:130px}.profile-page{min-height:100vh;background:var(--wabi-bg);padding-bottom:32px}.profile-card{display:flex;align-items:center;gap:14px;padding:24px 20px;margin:12px 16px;background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius)}.profile-avatar{width:48px;height:48px;border-radius:50%;background:var(--wabi-tea);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:500;flex-shrink:0}.profile-info{flex:1;min-width:0}.profile-name{font-size:16px;font-weight:500;color:var(--wabi-ink);margin-bottom:4px}.profile-id{font-size:12px;color:var(--wabi-ink-whisper)}.profile-menu{margin:0 16px;background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius);overflow:hidden}.profile-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px;border:none;border-bottom:1px solid var(--wabi-border);background:transparent;cursor:pointer;font-family:inherit;transition:background .15s}.profile-menu-item:last-child{border-bottom:none}.profile-menu-item:hover{background:#00000005}.profile-menu-item:active{background:#0000000a}.pmi-left{display:flex;align-items:center;gap:12px}.pmi-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--wabi-ink-soft);flex-shrink:0}.pmi-icon svg{width:20px;height:20px}.pmi-label{font-size:15px;color:var(--wabi-ink)}.pmi-arrow{font-size:20px;color:var(--wabi-ink-whisper);line-height:1}.fontsize-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1000;display:flex;align-items:flex-end;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fontsize-sheet{width:100%;background:var(--wabi-surface);border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom,16px);animation:slideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.fontsize-sheet-header{display:flex;align-items:center;justify-content:center;padding:18px 20px 14px;position:relative;border-bottom:1px solid var(--wabi-border)}.fontsize-sheet-title{font-size:16px;font-weight:500;color:var(--wabi-ink)}.fontsize-sheet-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;padding:0;color:var(--wabi-ink-whisper);cursor:pointer}.fontsize-sheet-close svg{width:18px;height:18px}.fontsize-sheet-options{padding:8px 20px 20px;display:flex;flex-direction:column;gap:4px}.fontsize-option{display:flex;align-items:center;gap:14px;width:100%;padding:14px 12px;border:none;border-radius:10px;background:transparent;cursor:pointer;font-family:inherit;transition:background .15s}.fontsize-option:hover{background:#00000008}.fontsize-option-active{background:#5b7b5e14}.fontsize-option-active:hover{background:#5b7b5e1f}.fontsize-option-label{font-size:15px;color:var(--wabi-ink);min-width:44px;text-align:left}.fontsize-option-preview{width:56px;color:var(--wabi-ink);font-weight:500;text-align:center;line-height:1}.fontsize-option-check{width:20px;height:20px;color:var(--wabi-tea);flex-shrink:0}[data-font-size=sm] .shop-hero-title{font-size:22px}[data-font-size=sm] .shop-hero-sub{font-size:11px}[data-font-size=sm] .shop-hero-en{font-size:9px}[data-font-size=sm] .shop-hero-welcome{font-size:10px}[data-font-size=sm] .shop-tab{font-size:12px}[data-font-size=sm] .cat-chip{font-size:11px}[data-font-size=sm] .spc-name{font-size:13px}[data-font-size=sm] .spc-desc{font-size:10px}[data-font-size=sm] .spc-price-num{font-size:17px}[data-font-size=sm] .spc-price-symbol{font-size:12px}[data-font-size=sm] .spc-price-unit{font-size:10px}[data-font-size=sm] .scb-count{font-size:13px}[data-font-size=sm] .scb-total{font-size:14px}[data-font-size=sm] .scb-btn{font-size:12px}[data-font-size=sm] .scb-left{font-size:11px}[data-font-size=sm] .page-header h1{font-size:17px}[data-font-size=sm] .page-header .back-btn{font-size:32px}[data-font-size=sm] .tab-bar-label{font-size:9px}[data-font-size=sm] .btn-ghost-sm{font-size:11px}[data-font-size=sm] .btn-primary,[data-font-size=sm] .btn-secondary{font-size:14px}[data-font-size=sm] .btn-sm{font-size:12px}[data-font-size=sm] .input,[data-font-size=sm] .textarea{font-size:13px}[data-font-size=sm] .qty-stepper .qty-input{font-size:14px}[data-font-size=sm] .qty-stepper button{font-size:16px}[data-font-size=sm] .order-card .order-no{font-size:11px}[data-font-size=sm] .order-card .order-items{font-size:12px}[data-font-size=sm] .order-card .order-total{font-size:14px}[data-font-size=sm] .tracking-info{font-size:11px}[data-font-size=sm] .badge{font-size:10px}[data-font-size=sm] .product-card .name{font-size:13px}[data-font-size=sm] .product-card .desc{font-size:10px}[data-font-size=sm] .product-card .price{font-size:15px}[data-font-size=sm] .product-card .price .unit{font-size:11px}[data-font-size=sm] .product-card .stock{font-size:10px}[data-font-size=sm] .bottom-bar .price{font-size:18px}[data-font-size=sm] .bottom-bar .total{font-size:12px}[data-font-size=sm] .address-card .recipient,[data-font-size=sm] .address-card-swipeable .recipient{font-size:14px}[data-font-size=sm] .address-card .addr,[data-font-size=sm] .address-card-swipeable .addr{font-size:11px}[data-font-size=sm] .address-card .placeholder{font-size:12px}[data-font-size=sm] .form-group label{font-size:11px}[data-font-size=sm] .form-group input,[data-font-size=sm] .region-select{font-size:13px}[data-font-size=sm] .profile-name{font-size:14px}[data-font-size=sm] .profile-id{font-size:11px}[data-font-size=sm] .profile-avatar{font-size:16px}[data-font-size=sm] .pmi-label,[data-font-size=sm] .profile-logout-btn{font-size:13px}[data-font-size=sm] .pmi-arrow{font-size:18px}[data-font-size=sm] .account-form .form-label{font-size:12px}[data-font-size=sm] .account-form .form-input,[data-font-size=sm] .help-faq-q{font-size:13px}[data-font-size=sm] .help-faq-a{font-size:12px}[data-font-size=sm] .login-title{font-size:15px}[data-font-size=sm] .login-sub{font-size:10px}[data-font-size=sm] .login-logo{font-size:22px}[data-font-size=sm] .login-card .btn{font-size:13px}[data-font-size=sm] .login-mode-title{font-size:14px}[data-font-size=sm] .login-switch,[data-font-size=sm] .login-switch .link-btn{font-size:11px}[data-font-size=sm] .login-footer{font-size:10px}[data-font-size=sm] .login-error{font-size:11px}[data-font-size=sm] .toast,[data-font-size=sm] .empty-state .empty-text{font-size:12px}[data-font-size=sm] .fontsize-option-label{font-size:13px}[data-font-size=sm] .fontsize-sheet-title{font-size:14px}[data-font-size=sm] .modal-sheet h3,[data-font-size=sm] .modal-overlay .modal-header h3{font-size:15px}[data-font-size=lg] .shop-hero-title{font-size:29px}[data-font-size=lg] .shop-hero-sub{font-size:15px}[data-font-size=lg] .shop-hero-en{font-size:13px}[data-font-size=lg] .shop-hero-welcome{font-size:14px}[data-font-size=lg] .shop-tab{font-size:16px}[data-font-size=lg] .cat-chip{font-size:15px}[data-font-size=lg] .spc-name{font-size:17px}[data-font-size=lg] .spc-desc{font-size:14px}[data-font-size=lg] .spc-price-num{font-size:23px}[data-font-size=lg] .spc-price-symbol{font-size:16px}[data-font-size=lg] .spc-price-unit{font-size:14px}[data-font-size=lg] .scb-count{font-size:17px}[data-font-size=lg] .scb-total{font-size:18px}[data-font-size=lg] .scb-btn{font-size:16px}[data-font-size=lg] .scb-left{font-size:15px}[data-font-size=lg] .page-header h1{font-size:23px}[data-font-size=lg] .page-header .back-btn{font-size:43px}[data-font-size=lg] .tab-bar-label{font-size:12px}[data-font-size=lg] .btn-ghost-sm{font-size:15px}[data-font-size=lg] .btn-primary,[data-font-size=lg] .btn-secondary{font-size:18px}[data-font-size=lg] .btn-sm{font-size:16px}[data-font-size=lg] .input,[data-font-size=lg] .textarea{font-size:17px}[data-font-size=lg] .qty-stepper .qty-input{font-size:18px}[data-font-size=lg] .qty-stepper button{font-size:20px}[data-font-size=lg] .order-card .order-no{font-size:15px}[data-font-size=lg] .order-card .order-items{font-size:16px}[data-font-size=lg] .order-card .order-total{font-size:18px}[data-font-size=lg] .tracking-info{font-size:15px}[data-font-size=lg] .badge{font-size:14px}[data-font-size=lg] .product-card .name{font-size:17px}[data-font-size=lg] .product-card .desc{font-size:14px}[data-font-size=lg] .product-card .price{font-size:20px}[data-font-size=lg] .product-card .price .unit{font-size:15px}[data-font-size=lg] .product-card .stock{font-size:14px}[data-font-size=lg] .bottom-bar .price{font-size:25px}[data-font-size=lg] .bottom-bar .total{font-size:16px}[data-font-size=lg] .address-card .recipient,[data-font-size=lg] .address-card-swipeable .recipient{font-size:18px}[data-font-size=lg] .address-card .addr,[data-font-size=lg] .address-card-swipeable .addr{font-size:15px}[data-font-size=lg] .address-card .placeholder{font-size:16px}[data-font-size=lg] .form-group label{font-size:15px}[data-font-size=lg] .form-group input,[data-font-size=lg] .region-select{font-size:17px}[data-font-size=lg] .profile-name{font-size:18px}[data-font-size=lg] .profile-id{font-size:14px}[data-font-size=lg] .profile-avatar{font-size:20px}[data-font-size=lg] .pmi-label,[data-font-size=lg] .profile-logout-btn{font-size:17px}[data-font-size=lg] .pmi-arrow{font-size:22px}[data-font-size=lg] .account-form .form-label{font-size:16px}[data-font-size=lg] .account-form .form-input,[data-font-size=lg] .help-faq-q{font-size:17px}[data-font-size=lg] .help-faq-a{font-size:16px}[data-font-size=lg] .login-title{font-size:21px}[data-font-size=lg] .login-sub{font-size:14px}[data-font-size=lg] .login-logo{font-size:30px}[data-font-size=lg] .login-card .btn{font-size:17px}[data-font-size=lg] .login-mode-title{font-size:18px}[data-font-size=lg] .login-switch,[data-font-size=lg] .login-switch .link-btn{font-size:15px}[data-font-size=lg] .login-footer{font-size:14px}[data-font-size=lg] .login-error{font-size:15px}[data-font-size=lg] .toast,[data-font-size=lg] .empty-state .empty-text{font-size:16px}[data-font-size=lg] .fontsize-option-label{font-size:17px}[data-font-size=lg] .fontsize-sheet-title{font-size:18px}[data-font-size=lg] .modal-sheet h3,[data-font-size=lg] .modal-overlay .modal-header h3{font-size:19px}[data-font-size=xl] .shop-hero-title{font-size:33px}[data-font-size=xl] .shop-hero-sub{font-size:17px}[data-font-size=xl] .shop-hero-en{font-size:15px}[data-font-size=xl] .shop-hero-welcome{font-size:16px}[data-font-size=xl] .shop-tab{font-size:18px}[data-font-size=xl] .cat-chip{font-size:17px}[data-font-size=xl] .spc-name{font-size:19px}[data-font-size=xl] .spc-desc{font-size:16px}[data-font-size=xl] .spc-price-num{font-size:26px}[data-font-size=xl] .spc-price-symbol{font-size:18px}[data-font-size=xl] .spc-price-unit{font-size:16px}[data-font-size=xl] .scb-count{font-size:19px}[data-font-size=xl] .scb-total{font-size:20px}[data-font-size=xl] .scb-btn{font-size:18px}[data-font-size=xl] .scb-left{font-size:17px}[data-font-size=xl] .page-header h1{font-size:26px}[data-font-size=xl] .page-header .back-btn{font-size:48px}[data-font-size=xl] .tab-bar-label{font-size:14px}[data-font-size=xl] .btn-ghost-sm{font-size:17px}[data-font-size=xl] .btn-primary,[data-font-size=xl] .btn-secondary{font-size:20px}[data-font-size=xl] .btn-sm{font-size:18px}[data-font-size=xl] .input,[data-font-size=xl] .textarea{font-size:19px}[data-font-size=xl] .qty-stepper .qty-input{font-size:20px}[data-font-size=xl] .qty-stepper button{font-size:22px}[data-font-size=xl] .order-card .order-no{font-size:17px}[data-font-size=xl] .order-card .order-items{font-size:18px}[data-font-size=xl] .order-card .order-total{font-size:20px}[data-font-size=xl] .tracking-info{font-size:17px}[data-font-size=xl] .badge{font-size:16px}[data-font-size=xl] .product-card .name{font-size:19px}[data-font-size=xl] .product-card .desc{font-size:16px}[data-font-size=xl] .product-card .price{font-size:23px}[data-font-size=xl] .product-card .price .unit{font-size:17px}[data-font-size=xl] .product-card .stock{font-size:16px}[data-font-size=xl] .bottom-bar .price{font-size:28px}[data-font-size=xl] .bottom-bar .total{font-size:18px}[data-font-size=xl] .address-card .recipient,[data-font-size=xl] .address-card-swipeable .recipient{font-size:20px}[data-font-size=xl] .address-card .addr,[data-font-size=xl] .address-card-swipeable .addr{font-size:17px}[data-font-size=xl] .address-card .placeholder{font-size:18px}[data-font-size=xl] .form-group label{font-size:17px}[data-font-size=xl] .form-group input,[data-font-size=xl] .region-select{font-size:19px}[data-font-size=xl] .profile-name{font-size:23px}[data-font-size=xl] .profile-id{font-size:16px}[data-font-size=xl] .profile-avatar{font-size:26px}[data-font-size=xl] .pmi-label,[data-font-size=xl] .profile-logout-btn{font-size:20px}[data-font-size=xl] .pmi-arrow{font-size:24px}[data-font-size=xl] .account-form .form-label{font-size:18px}[data-font-size=xl] .account-form .form-input,[data-font-size=xl] .help-faq-q{font-size:19px}[data-font-size=xl] .help-faq-a{font-size:18px}[data-font-size=xl] .login-title{font-size:24px}[data-font-size=xl] .login-sub{font-size:16px}[data-font-size=xl] .login-logo{font-size:34px}[data-font-size=xl] .login-card .btn{font-size:19px}[data-font-size=xl] .login-mode-title{font-size:20px}[data-font-size=xl] .login-switch,[data-font-size=xl] .login-switch .link-btn{font-size:17px}[data-font-size=xl] .login-footer{font-size:16px}[data-font-size=xl] .login-error{font-size:17px}[data-font-size=xl] .toast,[data-font-size=xl] .empty-state .empty-text{font-size:18px}[data-font-size=xl] .fontsize-option-label{font-size:19px}[data-font-size=xl] .fontsize-sheet-title{font-size:20px}[data-font-size=xl] .modal-sheet h3,[data-font-size=xl] .modal-overlay .modal-header h3{font-size:21px}[data-font-size=xxl] .shop-hero-title{font-size:38px}[data-font-size=xxl] .shop-hero-sub{font-size:20px}[data-font-size=xxl] .shop-hero-en,[data-font-size=xxl] .shop-hero-welcome{font-size:18px}[data-font-size=xxl] .shop-tab{font-size:21px}[data-font-size=xxl] .cat-chip{font-size:20px}[data-font-size=xxl] .spc-name{font-size:22px}[data-font-size=xxl] .spc-desc{font-size:18px}[data-font-size=xxl] .spc-price-num{font-size:30px}[data-font-size=xxl] .spc-price-symbol{font-size:21px}[data-font-size=xxl] .spc-price-unit{font-size:18px}[data-font-size=xxl] .scb-count{font-size:22px}[data-font-size=xxl] .scb-total{font-size:23px}[data-font-size=xxl] .scb-btn{font-size:21px}[data-font-size=xxl] .scb-left{font-size:19px}[data-font-size=xxl] .page-header h1{font-size:30px}[data-font-size=xxl] .page-header .back-btn{font-size:53px}[data-font-size=xxl] .tab-bar-label{font-size:16px}[data-font-size=xxl] .btn-ghost-sm{font-size:19px}[data-font-size=xxl] .btn-primary,[data-font-size=xxl] .btn-secondary{font-size:23px}[data-font-size=xxl] .btn-sm{font-size:20px}[data-font-size=xxl] .input,[data-font-size=xxl] .textarea{font-size:22px}[data-font-size=xxl] .qty-stepper .qty-input{font-size:23px}[data-font-size=xxl] .qty-stepper button{font-size:26px}[data-font-size=xxl] .order-card .order-no{font-size:19px}[data-font-size=xxl] .order-card .order-items{font-size:21px}[data-font-size=xxl] .order-card .order-total{font-size:23px}[data-font-size=xxl] .tracking-info{font-size:19px}[data-font-size=xxl] .badge{font-size:18px}[data-font-size=xxl] .product-card .name{font-size:22px}[data-font-size=xxl] .product-card .desc{font-size:18px}[data-font-size=xxl] .product-card .price{font-size:26px}[data-font-size=xxl] .product-card .price .unit{font-size:19px}[data-font-size=xxl] .product-card .stock{font-size:18px}[data-font-size=xxl] .bottom-bar .price{font-size:32px}[data-font-size=xxl] .bottom-bar .total{font-size:20px}[data-font-size=xxl] .address-card .recipient,[data-font-size=xxl] .address-card-swipeable .recipient{font-size:23px}[data-font-size=xxl] .address-card .addr,[data-font-size=xxl] .address-card-swipeable .addr{font-size:19px}[data-font-size=xxl] .address-card .placeholder{font-size:20px}[data-font-size=xxl] .form-group label{font-size:19px}[data-font-size=xxl] .form-group input,[data-font-size=xxl] .region-select{font-size:22px}[data-font-size=xxl] .profile-name{font-size:27px}[data-font-size=xxl] .profile-id{font-size:19px}[data-font-size=xxl] .profile-avatar{font-size:30px}[data-font-size=xxl] .pmi-label,[data-font-size=xxl] .profile-logout-btn{font-size:24px}[data-font-size=xxl] .pmi-arrow{font-size:28px}[data-font-size=xxl] .account-form .form-label{font-size:21px}[data-font-size=xxl] .account-form .form-input,[data-font-size=xxl] .help-faq-q{font-size:22px}[data-font-size=xxl] .help-faq-a{font-size:21px}[data-font-size=xxl] .login-title{font-size:28px}[data-font-size=xxl] .login-sub{font-size:18px}[data-font-size=xxl] .login-logo{font-size:40px}[data-font-size=xxl] .login-card .btn{font-size:22px}[data-font-size=xxl] .login-mode-title{font-size:23px}[data-font-size=xxl] .login-switch,[data-font-size=xxl] .login-switch .link-btn{font-size:19px}[data-font-size=xxl] .login-footer{font-size:18px}[data-font-size=xxl] .login-error{font-size:19px}[data-font-size=xxl] .toast,[data-font-size=xxl] .empty-state .empty-text{font-size:20px}[data-font-size=xxl] .fontsize-option-label{font-size:22px}[data-font-size=xxl] .fontsize-sheet-title{font-size:23px}[data-font-size=xxl] .modal-sheet h3,[data-font-size=xxl] .modal-overlay .modal-header h3{font-size:24px}.profile-logout-area{margin:24px 16px}.profile-logout-btn{width:100%;padding:14px;border:1px solid var(--wabi-border);border-radius:var(--wabi-radius);background:var(--wabi-surface);font-size:15px;color:var(--wabi-error);cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.profile-logout-btn:hover{background:#e84e4e0d;border-color:var(--wabi-error)}.account-page{min-height:100vh;background:var(--wabi-bg)}.account-form{margin:16px 16px 0}.account-form .form-group{margin-bottom:16px}.account-form .form-label{display:block;font-size:14px;font-weight:500;color:var(--wabi-ink);margin-bottom:8px}.account-form .form-input{width:100%;padding:12px 14px;border:1px solid var(--wabi-border);border-radius:var(--wabi-radius);background:var(--wabi-surface);font-size:15px;color:var(--wabi-ink);font-family:inherit;transition:border-color .15s;box-sizing:border-box}.account-form .form-input:focus{outline:none;border-color:var(--wabi-tea)}.account-form .btn-outline{padding:12px 14px;border:1px solid var(--wabi-border);border-radius:var(--wabi-radius);background:var(--wabi-surface);font-size:14px;color:var(--wabi-ink-soft);cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.account-form .btn-outline:hover{background:var(--wabi-bg)}.modal-overlay .modal-content{background:var(--wabi-surface);border-radius:var(--wabi-radius);width:90%;max-width:360px;padding:0;animation:modalIn .2s ease;align-self:center}.modal-overlay .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 0}.modal-overlay .modal-header h3{font-size:17px;font-weight:500;color:var(--wabi-ink);letter-spacing:.04em}.modal-overlay .modal-close{background:none;border:none;font-size:22px;color:var(--wabi-sub);cursor:pointer;line-height:1}.modal-overlay .modal-body{padding:16px}.modal-overlay .modal-footer{padding:0 16px 16px;display:flex;gap:12px}.modal-overlay .modal-footer .btn-outline,.modal-overlay .modal-footer .btn-primary{flex:1}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.help-page{min-height:100vh;background:var(--wabi-bg)}.help-content{margin:16px 16px 0}.help-faq-item{background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius);padding:16px;margin-bottom:12px}.help-faq-q{font-size:15px;font-weight:500;color:var(--wabi-ink);margin-bottom:8px}.help-faq-a{font-size:14px;color:var(--wabi-ink-soft);line-height:1.6}.hero-section{position:relative;background:linear-gradient(180deg,var(--wabi-tea-light) 0%,rgba(232,239,229,.4) 50%,var(--wabi-bg) 100%);padding-bottom:8px}.hero-topbar-wrap{position:absolute;top:0;left:0;right:0;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;z-index:1}.hero-topbar{font-size:12px;color:var(--wabi-ink-soft);letter-spacing:.03em}.hero-channel-name{font-weight:500;color:var(--wabi-tea-dark)}.hero-greeting{color:var(--wabi-ink-whisper)}.hero-body{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 24px 16px;text-align:center}.hero-en{font-size:11px;font-weight:400;color:var(--wabi-ink-whisper);letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.hero-title{font-size:26px;font-weight:400;color:var(--wabi-ink);letter-spacing:.1em;margin-bottom:4px}.hero-sub{font-size:13px;font-weight:300;color:var(--wabi-ink-soft);letter-spacing:.06em}.hero-quick-actions{display:flex;justify-content:center;padding:8px 0 4px}.hero-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 28px;background:var(--wabi-tea);color:#fff;border:none;border-radius:22px;font-size:14px;font-weight:400;font-family:inherit;letter-spacing:.06em;cursor:pointer;transition:background .2s,transform .1s}.hero-cta:active{background:var(--wabi-tea-dark);transform:scale(.97)}.home-banner{position:relative;margin:24px 14px;border-radius:var(--wabi-radius);overflow:hidden;aspect-ratio:16 / 7;background:radial-gradient(ellipse 70% 80% at 100% 100%,rgba(145,130,115,.5) 0%,transparent 100%),radial-gradient(ellipse 50% 60% at 80% 20%,rgba(91,123,94,.25) 0%,transparent 100%),radial-gradient(ellipse 40% 50% at 10% -10%,rgba(232,239,229,.7) 0%,transparent 100%),linear-gradient(135deg,var(--wabi-tea-dark) 0%,var(--wabi-tea) 30%,rgba(91,123,94,.8) 55%,rgba(155,126,107,.7) 80%,var(--wabi-clay) 100%);border:1px solid var(--wabi-border);cursor:pointer;transition:box-shadow .3s}.home-banner:hover{box-shadow:0 4px 20px #5b7b5e2e}.home-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle 3px at 15% 35%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(circle 2px at 85% 25%,rgba(255,255,255,.35) 0%,transparent 100%),radial-gradient(circle 4px at 92% 75%,rgba(255,255,255,.25) 0%,transparent 100%),radial-gradient(circle 2px at 7% 80%,rgba(255,255,255,.3) 0%,transparent 100%);pointer-events:none;z-index:1}.home-banner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:linear-gradient(90deg,#0000004d,#0000001a,#0000);display:flex;align-items:center}.home-banner-content{padding:0 20px;max-width:65%}.home-banner-label{display:inline-block;font-size:10px;font-weight:400;color:#ffffffd9;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);padding:2px 10px;border-radius:10px;margin-bottom:10px;letter-spacing:.06em}.home-banner-title{font-size:18px;font-weight:500;color:#fff;margin:0 0 6px;letter-spacing:.05em;line-height:1.3;text-shadow:0 1px 4px rgba(0,0,0,.3)}.home-banner-desc{font-size:12px;font-weight:300;color:#ffffffd9;margin:0 0 12px;letter-spacing:.04em;line-height:1.45}.home-banner-cta{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background:#ffffffeb;color:var(--wabi-tea-dark);border:none;border-radius:16px;font-size:12px;font-weight:500;font-family:inherit;letter-spacing:.04em;cursor:pointer;transition:background .2s,transform .1s}.home-banner-cta:active{background:#fff;transform:scale(.96)}.home-section{padding:20px 16px}.section-header{display:flex;flex-direction:column;gap:2px;margin-bottom:14px;padding:0 4px}.section-title{font-size:18px;font-weight:400;color:var(--wabi-ink);letter-spacing:.08em}.section-desc{font-size:12px;font-weight:300;color:var(--wabi-ink-whisper);letter-spacing:.04em}.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.cat-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px;background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius);cursor:pointer;font-family:inherit;transition:border-color .2s,transform .15s}.cat-item:active{border-color:var(--wabi-tea);transform:scale(.96)}.cat-icon{color:var(--wabi-tea);display:flex;align-items:center;justify-content:center}.cat-label{font-size:12px;font-weight:400;color:var(--wabi-ink-soft);letter-spacing:.04em;white-space:nowrap}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.product-card-v2{background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius);padding:12px;transition:border-color .2s;animation:spcFadeIn .35s ease both}.product-card-v2:active{border-color:var(--wabi-tea)}.pcv2-thumb{width:100%;aspect-ratio:1;background:var(--wabi-bg);border-radius:var(--wabi-radius-sm);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:10px}.pcv2-thumb img{width:100%;height:100%;object-fit:cover}.pcv2-thumb-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:22px;font-weight:300;color:var(--wabi-ink-whisper);background:var(--wabi-tea-light)}.pcv2-body{min-width:0}.pcv2-top{margin-bottom:10px}.pcv2-name{font-size:13px;font-weight:500;color:var(--wabi-ink);line-height:1.4;margin-bottom:6px;letter-spacing:.03em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pcv2-type{display:inline-block;font-size:10px;color:var(--wabi-tea);background:var(--wabi-tea-light);padding:1px 8px;border-radius:var(--wabi-radius-sm);letter-spacing:.03em}.pcv2-prices{margin-bottom:10px}.pcv2-row{display:flex;align-items:baseline;gap:4px;margin-bottom:3px}.pcv2-label{font-size:11px;color:var(--wabi-ink-whisper);min-width:48px}.pcv2-supply{font-size:16px;font-weight:400;color:var(--wabi-ink);letter-spacing:.02em}.pcv2-retail{font-size:13px;font-weight:300;color:var(--wabi-ink-soft);text-decoration:line-through;text-decoration-color:var(--wabi-ink-whisper);text-decoration-thickness:1px}.pcv2-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.pcv2-stock-warn{font-size:10px;color:var(--wabi-error);white-space:nowrap}.profit-badge{display:inline-block;font-size:10px;font-weight:500;color:var(--wabi-tea-dark);background:var(--wabi-tea-light);padding:1px 8px;border-radius:10px;letter-spacing:.03em;white-space:nowrap;margin-left:4px}.profit-list{display:flex;flex-direction:column;gap:8px}.profit-item{display:flex;align-items:center;gap:12px;padding:14px;background:var(--wabi-surface);border:1px solid var(--wabi-border);border-radius:var(--wabi-radius);cursor:pointer;transition:border-color .2s}.profit-item:active{border-color:var(--wabi-tea)}.profit-rank{width:28px;height:28px;border-radius:50%;background:var(--wabi-tea-light);color:var(--wabi-tea-dark);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;flex-shrink:0}.profit-info{flex:1;min-width:0}.profit-name{font-size:14px;font-weight:500;color:var(--wabi-ink);letter-spacing:.03em;margin-bottom:2px}.profit-prices{font-size:12px;color:var(--wabi-ink-whisper);letter-spacing:.03em}.profit-value{font-size:16px;font-weight:400;color:var(--wabi-tea);letter-spacing:.02em;flex-shrink:0}.new-tag{display:inline-block;font-size:10px;font-weight:500;color:var(--wabi-clay);background:#9b7e6b1a;border:1px solid rgba(155,126,107,.25);padding:1px 8px;border-radius:10px;letter-spacing:.03em;margin-left:6px}.product-card-v2.new-item .pcv2-top{margin-bottom:8px}[data-font-size=sm] .hero-title{font-size:22px}[data-font-size=sm] .hero-sub{font-size:11px}[data-font-size=sm] .hero-en{font-size:9px}[data-font-size=sm] .hero-topbar{font-size:10px}[data-font-size=sm] .hero-cta{font-size:12px}[data-font-size=sm] .home-banner-title{font-size:15px}[data-font-size=sm] .home-banner-desc{font-size:10px}[data-font-size=sm] .home-banner-label{font-size:8px}[data-font-size=sm] .home-banner-cta{font-size:10px}[data-font-size=sm] .section-title{font-size:15px}[data-font-size=sm] .section-desc,[data-font-size=sm] .cat-label{font-size:10px}[data-font-size=sm] .pcv2-name{font-size:11px}[data-font-size=sm] .pcv2-supply{font-size:13px}[data-font-size=sm] .pcv2-retail{font-size:11px}[data-font-size=sm] .pcv2-label,[data-font-size=sm] .pcv2-stock-warn,[data-font-size=sm] .profit-badge{font-size:9px}[data-font-size=sm] .profit-name{font-size:12px}[data-font-size=sm] .profit-prices{font-size:10px}[data-font-size=sm] .profit-value{font-size:14px}[data-font-size=sm] .profit-rank{font-size:11px}[data-font-size=lg] .hero-title{font-size:30px}[data-font-size=lg] .hero-sub{font-size:15px}[data-font-size=lg] .hero-en{font-size:13px}[data-font-size=lg] .hero-topbar{font-size:14px}[data-font-size=lg] .hero-cta{font-size:16px}[data-font-size=lg] .home-banner-title{font-size:21px}[data-font-size=lg] .home-banner-desc{font-size:14px}[data-font-size=lg] .home-banner-label{font-size:12px}[data-font-size=lg] .home-banner-cta{font-size:14px}[data-font-size=lg] .section-title{font-size:21px}[data-font-size=lg] .section-desc,[data-font-size=lg] .cat-label{font-size:14px}[data-font-size=lg] .pcv2-name{font-size:15px}[data-font-size=lg] .pcv2-supply{font-size:19px}[data-font-size=lg] .pcv2-retail{font-size:15px}[data-font-size=lg] .pcv2-label{font-size:13px}[data-font-size=lg] .pcv2-stock-warn{font-size:12px}[data-font-size=lg] .profit-name{font-size:16px}[data-font-size=lg] .profit-prices{font-size:14px}[data-font-size=lg] .profit-value{font-size:18px}[data-font-size=lg] .profit-rank{font-size:15px}[data-font-size=xl] .hero-title{font-size:34px}[data-font-size=xl] .hero-sub{font-size:17px}[data-font-size=xl] .hero-en{font-size:15px}[data-font-size=xl] .hero-topbar{font-size:16px}[data-font-size=xl] .hero-cta{font-size:18px}[data-font-size=xl] .home-banner-title{font-size:24px}[data-font-size=xl] .home-banner-desc{font-size:16px}[data-font-size=xl] .home-banner-label{font-size:14px}[data-font-size=xl] .home-banner-cta{font-size:16px}[data-font-size=xl] .section-title{font-size:24px}[data-font-size=xl] .section-desc,[data-font-size=xl] .cat-label{font-size:16px}[data-font-size=xl] .pcv2-name{font-size:17px}[data-font-size=xl] .pcv2-supply{font-size:22px}[data-font-size=xl] .pcv2-retail{font-size:17px}[data-font-size=xl] .pcv2-label{font-size:15px}[data-font-size=xl] .pcv2-stock-warn{font-size:13px}[data-font-size=xl] .profit-name{font-size:18px}[data-font-size=xl] .profit-prices{font-size:16px}[data-font-size=xl] .profit-value{font-size:20px}[data-font-size=xl] .profit-rank{font-size:17px}[data-font-size=xxl] .hero-title{font-size:39px}[data-font-size=xxl] .hero-sub{font-size:20px}[data-font-size=xxl] .hero-en,[data-font-size=xxl] .hero-topbar{font-size:18px}[data-font-size=xxl] .hero-cta{font-size:21px}[data-font-size=xxl] .home-banner-title{font-size:28px}[data-font-size=xxl] .home-banner-desc{font-size:19px}[data-font-size=xxl] .home-banner-label{font-size:16px}[data-font-size=xxl] .home-banner-cta{font-size:18px}[data-font-size=xxl] .section-title{font-size:28px}[data-font-size=xxl] .section-desc,[data-font-size=xxl] .cat-label{font-size:18px}[data-font-size=xxl] .pcv2-name{font-size:20px}[data-font-size=xxl] .pcv2-supply{font-size:26px}[data-font-size=xxl] .pcv2-retail{font-size:20px}[data-font-size=xxl] .pcv2-label{font-size:17px}[data-font-size=xxl] .pcv2-stock-warn{font-size:15px}[data-font-size=xxl] .profit-name{font-size:21px}[data-font-size=xxl] .profit-prices{font-size:18px}[data-font-size=xxl] .profit-value{font-size:23px}[data-font-size=xxl] .profit-rank{font-size:20px}
