html{font-size:625%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f7fb;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.16rem}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}button{font:inherit}.App-logo{pointer-events:none;height:40vmin}@media (prefers-reduced-motion:no-preference){.App-logo{animation:20s linear infinite App-logo-spin}}.App-header{color:#fff;background-color:#282c34;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;font-size:calc(.1rem + 2vmin);display:flex}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--coupon-bg:#f3f5f0;--coupon-ink:#17211d;--coupon-muted:#68746e;--coupon-line:#dfe5dc;--coupon-panel:#fff;--coupon-green:#1f8a5b;--coupon-green-dark:#126644;--coupon-mint:#dff4e9;--coupon-gold:#f4b23d;--coupon-coral:#ea654f;--coupon-blue:#126644}.coupon-page{max-width:4.3rem;min-height:100vh;color:var(--coupon-ink);background:var(--coupon-bg);margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}.login-page{align-items:center;padding:.18rem;display:flex}.login-card{border:.01rem solid var(--coupon-line);background:var(--coupon-panel);border-radius:.08rem;width:100%;padding:.22rem .18rem}.login-title{margin:0 0 .1rem;font-size:.26rem;line-height:1.18}.login-desc{color:var(--coupon-muted);margin:0;line-height:1.55}.phone-login-form{gap:.12rem;margin-top:.2rem;display:grid}.phone-field{color:var(--coupon-ink);gap:.08rem;font-size:.13rem;font-weight:800;display:grid}.phone-field input{box-sizing:border-box;border:.01rem solid var(--coupon-line);width:100%;height:.48rem;color:var(--coupon-ink);font:inherit;background:#f8faf7;border-radius:.08rem;padding:0 .12rem;font-size:.16rem;font-weight:700}.phone-field input:focus{border-color:var(--coupon-green);background:#fff;outline:.02rem solid rgba(31,138,91,.2)}.login-error{color:#9c2d1f;margin:0;font-size:.13rem;font-weight:800}.privacy-login-link{width:100%;color:var(--coupon-muted);font:inherit;background:0 0;border:0;margin-top:.14rem;font-size:.12rem;display:block}.top-nav{z-index:20;color:#fff;text-align:center;background:#126644;align-items:center;gap:.06rem;height:.52rem;padding-left:.12rem;padding-right:.12rem;font-weight:800;display:grid;position:-webkit-sticky;position:sticky;top:0}.machine-select-wrap{text-align:left;gap:.02rem;min-width:0;display:flex}.machine-select-label{color:rgba(255,255,255,.62);align-items:center;width:.6rem;font-size:.16rem;font-weight:700;display:flex}.machine-select-trigger{color:#fff;width:100%;min-width:0;font:inherit;text-align:left;background:rgba(255,255,255,.14);border:0;border-radius:.08rem;grid-template-columns:minmax(0,1fr) .12rem;align-items:center;gap:.06rem;padding:.05rem .08rem;font-size:.13rem;font-weight:800;display:grid}.machine-select-trigger-open{background:rgba(255,255,255,.18)}.machine-select-trigger:focus{outline-offset:.01rem;outline:.01rem solid rgba(255,255,255,.5)}.machine-select-current,.machine-option-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.machine-chevron{border-bottom:.02rem solid rgba(255,255,255,.86);border-right:.02rem solid rgba(255,255,255,.86);width:.07rem;height:.07rem;transition:transform .18s;transform:rotate(45deg)translateY(-.02rem)}.machine-select-trigger-open .machine-chevron{transform:rotate(225deg)translate(-.02rem,-.01rem)}.machine-select-popover{z-index:40;background:#1f1f1f;border:.01rem solid rgba(255,255,255,.14);border-radius:.08rem;width:min(1.88rem,100vw - .24rem);position:absolute;top:calc(100% + .06rem);left:0;overflow:hidden;box-shadow:0 .12rem .28rem rgba(0,0,0,.34)}.machine-option{color:rgba(255,255,255,.86);width:100%;min-height:.38rem;font:inherit;text-align:left;background:0 0;border:0;border-bottom:.01rem solid rgba(255,255,255,.08);grid-template-columns:.18rem minmax(0,1fr);align-items:center;gap:.06rem;padding:0 .09rem;font-size:.11rem;font-weight:700;display:grid}.machine-option:last-child{border-bottom:0}.machine-option-active{color:#fff;background:#2f73da}.machine-option-check{color:#fff;text-align:center;font-size:.14rem;font-weight:900;line-height:1}.nav-button{color:#fff;width:.36rem;height:.36rem;font:inherit;background:rgba(255,255,255,.14);border:0;border-radius:.08rem;margin:auto;font-size:.2rem}.page-content{min-height:calc(100vh - 1.16rem);padding:.16rem .14rem .86rem}.page-eyebrow{color:var(--coupon-green-dark);letter-spacing:0;margin:0 0 .06rem;font-size:.12rem;font-weight:800}.coupon-hero{color:#fff;background:linear-gradient(135deg,#1f8a5b,#1a5f86 62%,#17211d);border-radius:.08rem;min-height:2.1rem;padding:.22rem;position:relative;overflow:hidden}.hero-title{z-index:1;width:64%;margin:.1rem 0;font-size:.26rem;line-height:1.16;position:relative}.hero-desc{z-index:1;color:rgba(255,255,255,.78);width:58%;margin:0;line-height:1.5;position:relative}.machine-art{background:#f9fbf7;border-radius:.14rem;width:1.26rem;height:1.7rem;position:absolute;bottom:.14rem;right:.16rem;box-shadow:inset 0 -.1rem rgba(23,33,29,.12),0 .18rem .28rem rgba(0,0,0,.25)}.machine-art:before{content:"";background:linear-gradient(#cfeee0 0 .02rem,transparent .02rem .31rem)0 0/100% .31rem,linear-gradient(90deg,var(--coupon-gold)0 .22rem,var(--coupon-coral).22rem .46rem,var(--coupon-blue).46rem .7rem);border-radius:.08rem;width:.72rem;height:.92rem;position:absolute;top:.18rem;left:.14rem}.machine-art:after{content:"";width:.2rem;height:.78rem;box-shadow:0 .9rem 0 .1rem var(--coupon-green);background:#17211d;border-radius:.1rem;position:absolute;top:.24rem;right:.14rem}.section-card,.status-card,.coupon-card,.rule-card{border:.01rem solid var(--coupon-line);background:var(--coupon-panel);border-radius:.08rem;margin-top:.14rem;padding:.16rem}.card-title{margin:0 0 .08rem;font-size:.22rem}.card-text{color:var(--coupon-muted);margin:0;line-height:1.55}.primary-button{color:#fff;background:var(--coupon-green);border:0;border-radius:.08rem;width:100%;min-height:.46rem;margin-top:.16rem;font-weight:900}.primary-button:disabled,.product-button:disabled,.confirm-button:disabled{opacity:.55}.secondary-button{border:.01rem solid var(--coupon-line);width:100%;min-height:.46rem;color:var(--coupon-ink);background:#f8faf7;border-radius:.08rem;font-weight:900}.rule-list{gap:.1rem;margin:.14rem 0 0;padding:0;list-style:none;display:grid}.rule-item{color:var(--coupon-muted);grid-template-columns:.26rem 1fr;gap:.1rem;margin:0;font-size:.14rem;line-height:1.55;display:grid}.rule-index{color:#fff;background:var(--coupon-green);border-radius:50%;place-items:center;width:.26rem;height:.26rem;font-size:.12rem;font-weight:900;display:grid}.status-card{gap:.12rem;display:flex}.warning-icon,.success-icon{color:#fff;background:var(--coupon-coral);border-radius:.08rem;flex:none;place-items:center;width:.38rem;height:.38rem;font-weight:900;display:grid}.coupon-card{color:#fff;text-align:left;background:linear-gradient(135deg,var(--coupon-gold),var(--coupon-coral));width:100%;font:inherit;border:0;display:block;position:relative;overflow:hidden}.coupon-card:after{content:"";background:var(--coupon-bg);border-radius:50%;width:.36rem;height:.36rem;position:absolute;top:50%;right:-.18rem}.coupon-head,.section-head{justify-content:space-between;align-items:center;gap:.12rem;display:flex}.coupon-head{color:rgba(255,255,255,.86);font-size:.13rem}.coupon-title{margin:.18rem 0 .08rem;font-size:.24rem}.coupon-text{color:rgba(255,255,255,.86);margin:0 0 .08rem}.coupon-meta{color:rgba(255,255,255,.86);margin-top:.16rem;font-size:.13rem}.coupon-action{z-index:1;color:#9c2d1f;text-align:center;background:rgba(255,255,255,.9);border-radius:.08rem;width:100%;margin-top:.14rem;padding:.11rem .14rem;font-weight:900;display:block;position:relative}.badge,.badge-dark,.badge-danger{border-radius:.08rem;align-items:center;min-height:.26rem;padding:.03rem .09rem;font-size:.12rem;font-weight:800;display:inline-flex}.badge{color:var(--coupon-green-dark);background:var(--coupon-mint)}.badge-dark{color:#fff;background:#17211d}.badge-danger{color:#9c2d1f;background:#ffe0da}.drink-list{gap:.1rem;margin-top:.14rem;display:grid}.drink-row{grid-template-columns:.36rem 1fr;align-items:center;gap:.1rem;display:grid}.drink-color{background:var(--coupon-mint);border-radius:.08rem;width:.36rem;height:.36rem}.drink-image{object-fit:cover;border-radius:.08rem;width:.36rem;height:.36rem}.row-desc{color:var(--coupon-muted);margin:.02rem 0 0;font-size:.13rem}.mine-card{color:#fff;background:linear-gradient(135deg,#17211d,#1f8a5b);border-radius:.08rem;grid-template-columns:.58rem 1fr;align-items:center;gap:.14rem;margin-top:.14rem;padding:.18rem;display:grid}.mine-title{margin:0 0 .08rem;font-size:.22rem}.mine-desc{color:rgba(255,255,255,.78);margin:0;line-height:1.55}.user-avatar{width:.58rem;height:.58rem;color:var(--coupon-green-dark);background:var(--coupon-mint);border-radius:50%;place-items:center;font-size:.24rem;font-weight:900;display:grid}.profile-row{border:.01rem solid var(--coupon-line);text-align:left;background:#f8faf7;border-radius:.08rem;justify-content:space-between;align-items:center;gap:.14rem;width:100%;padding:.14rem;display:flex}.profile-row-link{cursor:pointer}.logout-row{color:#9c2d1f;margin-top:.1rem}.logout-row .profile-desc{margin-top:.04rem;display:block}.coupon-list{gap:.1rem;display:grid}.profile-desc,.empty-desc{color:var(--coupon-muted);font-size:.13rem}.empty-state{background:#f8faf7;border-radius:.08rem;padding:.18rem}.order-card{border:.01rem solid var(--coupon-line);background:#fff;border-radius:.08rem;justify-content:space-between;gap:.12rem;padding:.14rem;display:flex}.order-title{margin:.08rem 0 .06rem}.order-desc{color:var(--coupon-muted);margin:0}.order-code{text-align:right}.order-code-label{color:var(--coupon-muted);font-size:.12rem;display:block}.order-code-value{margin-top:.04rem;font-size:.2rem;display:block}.bottom-tabs{z-index:20;border-top:.01rem solid var(--coupon-line);background:rgba(255,255,255,.96);grid-template-columns:1fr 1fr;width:min(4.3rem,100%);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-button{color:var(--coupon-muted);font:inherit;background:0 0;border:0;justify-items:center;gap:.03rem;padding:.09rem 0 .1rem;font-size:.12rem;font-weight:800;display:grid}.tab-icon{font-size:.18rem}.tab-active{color:var(--coupon-green)}.page-modal{z-index:50;background:rgba(9,18,14,.58);justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-backdrop{-webkit-backdrop-filter:blur(.02rem);background:0 0;border:0;position:absolute;top:0;bottom:0;left:0;right:0}.product-sheet,.code-sheet{z-index:1;background:#fff;border-radius:.2rem .2rem 0 0;width:min(4.3rem,100%);max-height:88vh;padding:.18rem .16rem .22rem;position:relative;overflow:auto;box-shadow:0 -.18rem .46rem rgba(9,18,14,.28)}.confirm-modal{align-items:center;padding:.18rem}.confirm-dialog{z-index:1;background:#fff;border-radius:.08rem;width:min(3.96rem,100%);padding:.18rem;position:relative;box-shadow:0 .18rem .5rem rgba(9,18,14,.32)}.confirm-actions{grid-template-columns:1fr 1fr;gap:.1rem;margin-top:.18rem;display:grid}.confirm-button{margin-top:0}.modal-head{justify-content:space-between;gap:.14rem;display:flex}.modal-title{margin:0 0 .08rem}.modal-desc{color:var(--coupon-muted);margin:0;line-height:1.55}.close-button{background:#f2f4f0;border:0;border-radius:.08rem;flex:none;width:.36rem;height:.36rem;font-size:.2rem}.product-list{gap:.12rem;margin-top:.16rem;display:grid}.product-note{background:#f8faf7;border-radius:.08rem;gap:.04rem;padding:.12rem;display:grid}.product-note-desc{color:var(--coupon-muted);font-size:.13rem}.product-card{border:.01rem solid var(--coupon-line);border-radius:.08rem;grid-template-columns:.78rem 1fr;gap:.12rem;padding:.12rem;display:grid}.product-disabled{opacity:.55}.product-color{background:var(--coupon-mint);border-radius:.08rem;min-height:1.12rem;box-shadow:inset 0 -.18rem rgba(0,0,0,.18)}.product-image{object-fit:cover;background:var(--coupon-mint);border-radius:.08rem;width:.78rem;min-height:1.12rem}.product-name{margin:.08rem 0 .06rem}.product-desc{color:var(--coupon-muted);margin:0 0 .1rem;font-size:.13rem;line-height:1.55}.product-button{color:#fff;background:var(--coupon-blue);border:0;border-radius:.08rem;width:100%;padding:.09rem .1rem;font-weight:800}.product-button:disabled{background:#aeb8b2}.code-sheet{text-align:center}.success-icon{background:var(--coupon-green);margin:0 auto .12rem}.code-box{background:#f8faf7;border:.01rem dashed #a7dec0;border-radius:.08rem;gap:.08rem;margin:.18rem 0;padding:.18rem;display:grid}.code-name{color:var(--coupon-muted)}.code-value{letter-spacing:.04rem;font-size:.36rem}.toast{z-index:70;color:#fff;background:rgba(23,33,29,.88);border-radius:.08rem;width:-webkit-max-content;width:max-content;max-width:calc(100vw - .32rem);padding:.1rem .14rem;font-size:.14rem;position:fixed;bottom:.76rem;left:50%;transform:translate(-50%)}.privacy-page{color:#222;background:#fff;max-width:4.3rem;min-height:100vh;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}.privacy-nav{z-index:10;background:#fff;border-bottom:.01rem solid #eee;grid-template-columns:.48rem 1fr .48rem;align-items:center;height:.52rem;display:grid;position:-webkit-sticky;position:sticky;top:0}.privacy-nav h1{text-align:center;margin:0;font-size:.17rem;font-weight:500;line-height:1}.privacy-back{color:#111;background:0 0;border:0;justify-content:center;align-items:center;width:.48rem;height:.52rem;padding:0;font-size:.4rem;font-weight:200;line-height:1;display:flex}.privacy-content{background:#fff;padding:.22rem .16rem .32rem}.privacy-title{color:#111;text-align:center;margin:0 0 .2rem;font-size:.17rem;font-weight:800;line-height:1.45}.privacy-subtitle,.privacy-section h2{color:#111;margin:.26rem 0 .14rem;font-size:.16rem;font-weight:800;line-height:1.55}.privacy-date,.privacy-content p{color:#333;margin:0 0 .12rem;font-size:.14rem;line-height:1.78}.privacy-content strong{color:#111;font-weight:900}.privacy-block{margin-top:.16rem}.privacy-block h3{color:#111;margin:0 0 .1rem;font-size:.14rem;font-weight:800;line-height:1.65}