.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}:root{--bg: #F5F7FA;--bg2: #FFFFFF;--card: #FFFFFF;--card2: #F0F2F5;--card3: #E8ECF0;--green: #00B96B;--greenL: #2DD48A;--greenD: #009456;--greenG: rgba(0,185,107,.08);--greenG2: rgba(0,185,107,.04);--greenGrad: linear-gradient(135deg, #00B96B, #2DD48A);--gold: #FF9F1C;--goldL: #FFB74D;--goldD: #E88A00;--goldG: rgba(255,159,28,.08);--red: #FF4757;--redG: rgba(255,71,87,.08);--blue: #3B82F6;--blueG: rgba(59,130,246,.08);--w: #1A1A2E;--w2: #6B7280;--w3: #9CA3AF;--w4: #D1D5DB;--brd: #E5E7EB;--brd2: #D1D5DB;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--radius: 16px;--radius-sm: 10px;--radius-lg: 22px;--radius-xl: 28px;--shadow-sm: 0 1px 3px rgba(0,0,0,.04), 0 2px 8px rgba(0,0,0,.03);--shadow: 0 4px 16px rgba(0,0,0,.06), 0 1px 4px rgba(0,0,0,.04);--shadow-lg: 0 8px 32px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.04);--shadow-xl: 0 16px 48px rgba(0,0,0,.1);--shadow-green: 0 4px 20px rgba(0,185,107,.2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{font-family:var(--font);background:#e8ecf0;overflow-x:hidden;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{display:none}img{display:block;max-width:100%}button{font-family:var(--font);cursor:pointer;border:none}a{text-decoration:none;color:inherit}input,textarea{font-family:var(--font)}textarea{resize:none;border:1.5px solid var(--brd);border-radius:12px;padding:12px;font-size:13px;outline:none;width:100%}textarea:focus{border-color:var(--green)}.phone{width:100%;max-width:430px;min-height:100vh;margin:0 auto;background:var(--bg);position:relative;overflow-x:hidden;box-shadow:0 0 60px #00000014}.page{display:block;min-height:100vh}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%,to{box-shadow:0 0 24px #00b96b33}50%{box-shadow:0 0 48px #00b96b59}}@keyframes pulseRing{0%{transform:scale(1);opacity:1}to{transform:scale(1.8);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes ballFloat{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-5px) rotate(120deg)}66%{transform:translateY(2px) rotate(240deg)}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(600px) rotate(720deg);opacity:0}}.fade-up{animation:fadeUp .5s ease both}.fade-in{animation:fadeIn .4s ease both}.scale-in{animation:scaleIn .45s cubic-bezier(.34,1.56,.64,1) both}.slide-up{animation:slideUp .55s ease both}.ambient-particles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.ambient-ball{position:absolute;border-radius:50%;opacity:.07;filter:blur(2px);animation:ballFloat 8s ease-in-out infinite}.bottom-spacer{height:120px}.empty-state{text-align:center;padding:50px 20px;color:var(--w3)}.empty-icon{font-size:56px;margin-bottom:16px}.empty-title{font-size:15px;font-weight:600;color:var(--w2)}.empty-action{font-size:13px;margin-top:8px;cursor:pointer;color:var(--green);font-weight:600}.confetti-piece{position:absolute;border-radius:2px;top:-20px;animation:confetti 3s ease-in forwards}.tag{padding:4px 12px;border-radius:20px;font-size:10px;font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tag-green{background:#00b96bd9;color:#fff}.tag-gold{background:#ff9f1ce6;color:#fff}.tag-muted{background:var(--card2);color:var(--w3)}.tag-blue{background:#3b82f6d9;color:#fff}.tag-red{background:#ff4757d9;color:#fff}.filter-chip{padding:6px 14px;border-radius:20px;font-size:11px;font-weight:600;background:var(--card);color:var(--w3);border:1px solid var(--brd);cursor:pointer;transition:all .2s;white-space:nowrap}.filter-chip:hover{border-color:var(--w4);color:var(--w2);background:var(--card2)}.filter-chip.on{background:var(--greenG);color:var(--green);border-color:#00b96b40;font-weight:700}.primary-btn{padding:14px 32px;border-radius:14px;font-size:14px;font-weight:700;border:none;color:#fff;background:var(--greenGrad);box-shadow:var(--shadow-green);transition:all .2s}.primary-btn:active{transform:scale(.97)}.primary-btn:disabled{background:var(--card2);color:var(--w4);box-shadow:none}.primary-btn-full{width:100%;padding:16px;font-size:16px}.btn-outline{padding:14px 32px;border-radius:14px;font-size:14px;font-weight:700;border:1.5px solid var(--brd);background:var(--card);color:var(--w2);transition:all .2s;cursor:pointer}.btn-outline:hover{border-color:var(--green);color:var(--green)}.btn-full{width:100%}.link-btn{margin-top:16px;font-size:13px;color:var(--w3);cursor:pointer;background:none;border:none;transition:color .2s}.link-btn:hover{color:var(--green)}.stars{color:var(--gold);font-size:10px;letter-spacing:1px}.stars.lg{font-size:12px}.stars-num{color:var(--w);font-size:12px;font-weight:700;margin-left:3px}.stars-num.lg{font-size:14px}.score-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.score-bar-label{font-size:11px;color:var(--w3);width:28px}.score-bar-track{flex:1;height:6px;border-radius:3px;background:var(--card2);overflow:hidden}.score-bar-fill{height:100%;border-radius:3px;background:var(--greenGrad)}.score-bar-val{font-size:11px;font-weight:700;color:var(--w);width:24px;text-align:right}.search-section{padding:14px 16px 10px;background:var(--bg2)}.search-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg);border-radius:14px;border:1.5px solid var(--brd);transition:all .25s}.search-bar:focus-within{border-color:var(--green);box-shadow:0 0 0 4px #00b96b14;background:var(--card)}.search-bar svg{flex-shrink:0}.search-bar input{flex:1;background:none;border:none;outline:none;color:var(--w);font-size:14px}.search-bar input::placeholder{color:var(--w3)}.search-btn{padding:8px 18px;border-radius:10px;background:var(--greenGrad);color:#fff;font-size:12px;font-weight:700;box-shadow:var(--shadow-green);transition:all .15s}.search-btn:active{transform:scale(.95)}.confirm-nav{display:flex;align-items:center;padding:14px 18px;gap:8px;border-bottom:1px solid var(--brd);position:sticky;top:0;background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:50}.nav-back{width:36px;height:36px;border-radius:50%;background:var(--bg);border:1px solid var(--brd);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--w2);cursor:pointer;transition:all .2s}.nav-back:hover{border-color:var(--green);color:var(--green);background:var(--greenG)}.nav-title{font-size:17px;font-weight:700;color:var(--w)}.tab-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;display:flex;justify-content:space-around;padding:8px 0 28px;border-top:1px solid var(--brd);background:#fffffff2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:100}.tab-item{text-align:center;cursor:pointer;padding:4px 10px;transition:transform .15s}.tab-item:active{transform:scale(.9)}.tab-icon{font-size:22px;margin-bottom:3px}.tab-item:not(.on) .tab-icon{filter:grayscale(.6) opacity(.5)}.tab-label{font-size:10px;font-weight:500;color:var(--w3)}.tab-item.on .tab-label{font-weight:700;color:var(--green)}.tab-dot{width:5px;height:5px;border-radius:50%;background:var(--green);margin:3px auto 0;box-shadow:0 0 8px #00b96b66}.bottom-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;padding:14px 18px 32px;background:#ffffffeb;border-top:1px solid var(--brd);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:100}.bottom-bar-inner{display:flex;align-items:center;justify-content:space-between}.total-label{font-size:11px;color:var(--w3)}.total-amount{font-size:30px;font-weight:900;color:var(--green)}.total-amount.empty{color:var(--w4)}.total-sub{font-size:10px;color:var(--gold);margin-top:2px}.total-row{display:flex;align-items:baseline;gap:6px}.discount-tag{font-size:11px;color:var(--red);font-weight:700;margin-bottom:2px}.sec-title{font-size:15px;font-weight:800;color:var(--w);margin-bottom:14px;padding:0 16px}.sec-title.p0{padding:0}.sec-title-row{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 14px}.section-title{font-size:15px;font-weight:800;color:var(--w);margin-bottom:14px}.section-hd{padding:4px 16px 14px;display:flex;align-items:center;justify-content:space-between}.section-hd h2{font-size:18px;font-weight:800;color:var(--w)}.section-hd .sub{font-size:11px;color:var(--w3);margin-top:2px}.filters{display:flex;gap:6px}.legend{display:flex;gap:10px}.legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--w3)}.legend-dot{width:6px;height:6px;border-radius:3px}.dot-green{background:var(--green)}.dot-gold{background:var(--gold)}.dot-dark{background:#333}.facility-tag{padding:4px 10px;border-radius:8px;font-size:10px;font-weight:600;background:var(--greenG);color:var(--green)}.facility-mini{padding:2px 6px;border-radius:6px;font-size:9px;background:var(--card2);color:var(--w3)}.facility-mini.more{background:var(--greenG);color:var(--green)}.switch{width:48px;height:28px;border-radius:14px;padding:3px;display:flex;transition:all .3s;background:var(--w4)}.switch.on{background:var(--green);justify-content:flex-end}.switch-knob{width:22px;height:22px;border-radius:11px;background:#fff;box-shadow:0 1px 6px #00000026}.popup-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:200;opacity:0;transition:opacity .25s;pointer-events:none}.popup-mask.show{opacity:1;pointer-events:auto}.popup-sheet{position:fixed;bottom:0;left:50%;transform:translate(-50%) translateY(100%);width:100%;max-width:430px;max-height:65vh;background:var(--bg);border-radius:20px 20px 0 0;z-index:201;transition:transform .3s cubic-bezier(.32,.72,.37,1.02);display:flex;flex-direction:column}.popup-sheet.show{transform:translate(-50%) translateY(0)}.popup-bar{width:36px;height:4px;border-radius:2px;background:var(--w4);margin:10px auto 0;flex-shrink:0}.popup-hd{padding:14px 18px 10px;font-size:15px;font-weight:800;color:var(--w);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.popup-hd .popup-close{font-size:18px;color:var(--w3);cursor:pointer;padding:4px}.popup-body{flex:1;overflow-y:auto;padding:0 16px 28px;-webkit-overflow-scrolling:touch}.picker-entry{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:var(--radius);background:var(--card);border:1.5px solid var(--brd);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.picker-entry.has-value{border-color:#00b96b40;background:var(--greenG)}.picker-entry-left{display:flex;align-items:center;gap:10px}.picker-entry-icon{font-size:20px}.picker-entry-title{font-size:14px;font-weight:700;color:var(--w)}.picker-entry-sub{font-size:11px;color:var(--w3);margin-top:2px}.picker-entry-sub.hl{color:var(--green);font-weight:600}.picker-entry-arrow{font-size:14px;color:var(--w3)}.toast-container{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;max-width:380px;width:90%}.toast{padding:12px 20px;border-radius:12px;font-size:13px;font-weight:600;color:#fff;box-shadow:var(--shadow-lg);animation:toastIn .3s ease both;pointer-events:auto;text-align:center}.toast.success{background:var(--green)}.toast.error{background:var(--red)}.toast.warn{background:var(--gold)}.toast.info{background:var(--blue)}.toast.out{animation:toastOut .25s ease both}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.skeleton{background:var(--card2);border-radius:var(--radius);overflow:hidden;position:relative}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sk-venue{padding:16px;margin-bottom:12px}.sk-venue-img{height:180px;border-radius:var(--radius);margin-bottom:12px}.sk-venue-title{height:18px;width:65%;border-radius:8px;margin-bottom:10px}.sk-venue-meta{height:12px;width:45%;border-radius:6px}.sk-card{height:120px;margin:0 16px 12px;border-radius:var(--radius)}.load-more{text-align:center;padding:16px;font-size:12px;color:var(--w3)}.empty-sub{font-size:13px;color:var(--w3);margin-top:6px}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:52px 20px 14px;position:relative;z-index:10;background:var(--bg2)}.logo{display:flex;align-items:center;gap:10px}.logo-icon{width:42px;height:42px;border-radius:14px;background:var(--greenGrad);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:var(--shadow-green)}.logo-text{font-size:21px;font-weight:900;color:var(--w);letter-spacing:-.5px}.logo-text span{color:var(--green)}.loc-badge{display:flex;align-items:center;gap:5px;padding:7px 16px;border-radius:22px;background:var(--bg);border:1px solid var(--brd);font-size:12px;font-weight:600;color:var(--w2);cursor:pointer;transition:all .2s}.loc-badge:hover{border-color:var(--green);color:var(--green);background:var(--greenG)}.hero-section{position:relative;margin:0 16px;border-radius:var(--radius-xl);overflow:hidden;background:linear-gradient(135deg,#003d29,#00613e 40%,#004d31);box-shadow:0 8px 32px #003c234d}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.hero-glow{position:absolute;border-radius:50%;filter:blur(40px);opacity:.4;animation:heroGlow 6s ease-in-out infinite alternate}.hero-glow.g1{width:180px;height:180px;background:#00b96b;top:-40px;right:-30px}.hero-glow.g2{width:120px;height:120px;background:#2dd48a;bottom:-20px;left:-20px;animation-delay:2s}.hero-glow.g3{width:80px;height:80px;background:gold;top:20px;left:40%;animation-delay:4s;opacity:.2}@keyframes heroGlow{0%{transform:scale(1) translate(0)}to{transform:scale(1.3) translate(10px,-10px)}}.hero-content{position:relative;z-index:1;padding:24px 20px 14px}.hero-main{margin-bottom:18px}.hero-title{font-size:26px;font-weight:900;color:#fff;margin-bottom:8px;line-height:1.2;text-shadow:0 2px 20px rgba(0,0,0,.3)}.hero-live{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px;background:#ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12px;font-weight:600;color:#ffffffe6}.live-dot{width:7px;height:7px;border-radius:50%;background:#0f8;box-shadow:0 0 8px #0f8;animation:livePulse 2s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.hero-actions{display:flex;gap:10px}.hero-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0;border-radius:14px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:all .2s}.hero-action-btn:hover{background:#ffffff2e;transform:translateY(-2px)}.hero-action-btn:active{transform:scale(.95)}.hero-action-icon{font-size:24px}.hero-action-text{font-size:11px;font-weight:700;color:#ffffffe6}.hero-ticker{position:relative;z-index:1;padding:10px 20px;border-top:1px solid rgba(255,255,255,.06);overflow:hidden;height:32px}.ticker-item{display:flex;align-items:center;gap:6px;font-size:11px;color:#fff9;white-space:nowrap;animation:tickerUp .4s ease}.ticker-item strong{color:#ffffffd9;font-weight:600}@keyframes tickerUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.promo-card{margin:12px 16px 0;padding:16px 18px;border-radius:var(--radius);background:linear-gradient(135deg,#fff8e8,#fff3d6);border:1px solid rgba(255,159,28,.15);box-shadow:var(--shadow);cursor:pointer;transition:all .2s}.promo-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.promo-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.promo-badge{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:800;color:var(--red)}.promo-timer{display:flex;gap:3px;align-items:center}.timer-block{background:var(--w);color:#fff;padding:2px 5px;border-radius:4px;font-size:12px;font-weight:800;min-width:24px;text-align:center}.timer-sep{font-size:12px;font-weight:800;color:var(--w2)}.promo-bottom{display:flex;align-items:center;gap:12px}.promo-amount{font-size:32px;font-weight:900;color:var(--red);line-height:1}.promo-amount small{font-size:13px;font-weight:600}.promo-info{flex:1}.promo-desc{font-size:12px;color:var(--w2);margin-bottom:6px}.promo-bar-wrap{display:flex;align-items:center;gap:8px}.promo-bar{flex:1;height:6px;border-radius:3px;background:#ff47571f;overflow:hidden}.promo-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#ff4757,#ff6b7a);transition:width .5s}.promo-remain{font-size:10px;color:var(--red);font-weight:700;white-space:nowrap}.promo-go{padding:8px 18px;border-radius:10px;background:linear-gradient(135deg,#ff4757,#ff6b7a);color:#fff;font-size:12px;font-weight:700;box-shadow:0 4px 12px #ff475740;flex-shrink:0}.categories{display:flex;justify-content:space-around;padding:14px 16px 20px;background:var(--bg2);border-radius:0 0 var(--radius-xl) var(--radius-xl);margin-bottom:4px}.cat-item{text-align:center;cursor:pointer;transition:transform .2s}.cat-item:active{transform:scale(.93)}.cat-icon{width:58px;height:58px;border-radius:20px;background:var(--bg);border:1.5px solid var(--brd);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 8px;transition:all .25s}.cat-item:hover .cat-icon{border-color:var(--green);transform:translateY(-3px);box-shadow:var(--shadow-green);background:var(--greenG)}.cat-label{font-size:12px;color:var(--w2);font-weight:600}.venue-card{margin:0 16px 16px;border-radius:var(--radius-lg);overflow:hidden;background:var(--card);box-shadow:var(--shadow);cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1)}.venue-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.venue-img{position:relative;height:180px;overflow:hidden}.venue-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.25,.8,.25,1)}.venue-card:hover .venue-img img{transform:scale(1.05)}.venue-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.6))}.venue-tags{position:absolute;top:12px;left:12px;display:flex;gap:6px}.venue-price{position:absolute;bottom:12px;left:14px}.venue-price span{font-size:26px;font-weight:900;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4)}.venue-price small{font-size:11px;color:#ffffffa6;margin-left:2px}.venue-dist{position:absolute;bottom:12px;right:12px;padding:4px 12px;border-radius:20px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:11px;font-weight:700;color:var(--green)}.venue-info{padding:14px 16px 16px}.venue-name{font-size:16px;font-weight:800;color:var(--w);margin-bottom:6px}.venue-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--w3);margin-bottom:8px}.venue-live-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.venue-live-tag{padding:3px 10px;border-radius:8px;font-size:10px;font-weight:700}.venue-live-tag.free{background:var(--greenG);color:var(--green)}.venue-live-tag.full{background:var(--redG);color:var(--red)}.venue-live-tag.busy{background:#ff9f1c14;color:var(--gold)}.venue-playing{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--w3)}.venue-playing .live-dot{width:5px;height:5px}.venue-bottom{display:flex;align-items:center;justify-content:space-between}.venue-review-peek{flex:1;font-size:11px;color:var(--w3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:10px}.venue-review-peek em{font-style:normal;color:var(--w2)}.venue-go-btn{padding:7px 16px;border-radius:10px;background:var(--greenGrad);color:#fff;font-size:11px;font-weight:700;box-shadow:var(--shadow-green);flex-shrink:0;transition:all .15s}.venue-go-btn:active{transform:scale(.95)}.coach-scroll-section{margin-bottom:22px}.coach-scroll{display:flex;gap:12px;padding:0 16px;overflow-x:auto;scroll-snap-type:x mandatory}.coach-mini-card{flex-shrink:0;width:145px;border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow);cursor:pointer;scroll-snap-align:start;transition:all .25s}.coach-mini-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.coach-mini-img{position:relative;height:165px;overflow:hidden}.coach-mini-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.coach-mini-card:hover .coach-mini-img img{transform:scale(1.05)}.coach-mini-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.4))}.coach-level-badge{position:absolute;bottom:8px;left:8px;padding:3px 10px;border-radius:8px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:10px;font-weight:700;color:var(--gold);border:1px solid rgba(255,159,28,.15)}.coach-online-dot{position:absolute;top:10px;right:10px;padding:3px 10px;border-radius:8px;font-size:9px;font-weight:700}.coach-online-dot.on{background:#0f83;color:#0f8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.coach-online-dot.off{background:#ff475733;color:#ff6b7a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.coach-online-dot.busy{background:#ff9f1c33;color:#ff9f1c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.coach-mini-info{padding:12px}.coach-mini-name{font-size:14px;font-weight:700;color:var(--w);margin-bottom:4px}.coach-mini-meta{font-size:10px;color:var(--w3);margin-bottom:4px}.coach-mini-bottom{display:flex;align-items:center;justify-content:space-between}.coach-mini-price{font-size:17px;font-weight:900;color:var(--gold)}.coach-mini-price small{font-size:10px;font-weight:500;color:var(--w3)}.coach-mini-orders{font-size:9px;color:var(--w3)}.event-scroll-section{margin-bottom:22px}.event-scroll{display:flex;gap:12px;padding:0 16px;overflow-x:auto;scroll-snap-type:x mandatory}.event-mini-card{flex-shrink:0;width:220px;border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow);cursor:pointer;scroll-snap-align:start;transition:all .25s}.event-mini-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.event-mini-img{position:relative;height:110px;overflow:hidden}.event-mini-img img{width:100%;height:100%;object-fit:cover}.event-mini-img .tag{position:absolute;bottom:8px;left:8px}.event-mini-info{padding:12px}.event-mini-name{font-size:13px;font-weight:700;color:var(--w);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-mini-meta{font-size:10px;color:var(--w3);margin-bottom:6px}.event-mini-fee{font-size:15px;font-weight:900;color:var(--gold)}.coupon-banner{display:flex;align-items:center;justify-content:space-between;margin:0 16px 18px;padding:14px 18px;border-radius:var(--radius);background:linear-gradient(135deg,#ecfdf5,#d1fae5,#a7f3d0);box-shadow:0 2px 12px #00b96b1f;cursor:pointer;transition:all .2s}.coupon-banner:active{transform:scale(.98)}.coupon-banner-left{display:flex;align-items:center;gap:12px}.coupon-banner-icon{font-size:28px}.coupon-banner-title{font-size:15px;font-weight:800;color:#065f46}.coupon-banner-sub{font-size:11px;color:#059669;margin-top:2px}.coupon-banner-arrow{padding:6px 14px;border-radius:20px;background:var(--greenGrad);color:#fff;font-size:12px;font-weight:700;box-shadow:var(--shadow-green);white-space:nowrap}.checkin-float{position:fixed;right:16px;bottom:90px;width:54px;height:54px;border-radius:50%;background:var(--greenGrad);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 16px #00b96b59;z-index:100;cursor:pointer;animation:checkinBounce 2s ease-in-out infinite}.checkin-float .checkin-icon{font-size:18px;line-height:1}.checkin-float .checkin-text{font-size:9px;font-weight:700;color:#fff;margin-top:1px}.checkin-float.checked{background:var(--card);box-shadow:var(--shadow-sm);animation:none}.checkin-float.checked .checkin-text{color:var(--w3)}@keyframes checkinBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.detail-hero{position:relative;height:300px;overflow:hidden}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,transparent 30%,rgba(0,0,0,.6) 100%)}.back-btn{position:absolute;top:50px;left:16px;width:40px;height:40px;border-radius:50%;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--w);cursor:pointer;border:none;z-index:10;transition:all .2s;box-shadow:var(--shadow-sm)}.back-btn:hover{background:#fff;box-shadow:var(--shadow)}.fav-btn{position:absolute;top:50px;right:16px;width:40px;height:40px;border-radius:50%;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border:none;z-index:10;transition:all .2s;box-shadow:var(--shadow-sm)}.fav-btn:hover{background:#fff;box-shadow:var(--shadow)}.fav-btn.faved{background:#ff475726}.gallery-thumbs{position:absolute;bottom:80px;right:16px;display:flex;gap:6px}.gallery-thumbs img{width:46px;height:46px;border-radius:12px;object-fit:cover;cursor:pointer;border:2.5px solid rgba(255,255,255,.3);opacity:.5;transition:all .25s}.gallery-thumbs img.on{border-color:#fff;opacity:1;box-shadow:0 2px 12px #0000004d}.detail-venue-info{position:absolute;bottom:0;left:0;right:0;padding:0 18px 16px}.detail-venue-info h2{font-size:24px;font-weight:900;color:#fff;margin-bottom:8px;text-shadow:0 2px 16px rgba(0,0,0,.4)}.detail-venue-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-reviews{font-size:11px;color:#ffffff80}.store-info-bar{padding:14px 16px;background:var(--card);margin:0 16px;border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-sm)}.store-info-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--w2);padding:4px 0}.store-info-icon{font-size:14px}.venue-coupon-entry{display:flex;align-items:center;gap:10px;margin:0 16px;padding:12px 16px;border-radius:12px;background:linear-gradient(135deg,#fef3c7,#fde68a);cursor:pointer;transition:all .2s}.venue-coupon-entry:active{transform:scale(.98)}.venue-coupon-icon{font-size:22px}.venue-coupon-text{flex:1;font-size:13px;color:#92400e}.venue-coupon-text b{font-weight:800;color:#d97706}.venue-coupon-go{font-size:12px;font-weight:700;color:#d97706;white-space:nowrap}.store-facilities{display:flex;flex-wrap:wrap;gap:6px;padding:14px 16px}.store-tabs{display:flex;padding:0 16px;margin-bottom:16px;border-bottom:1.5px solid var(--brd)}.store-tab{flex:1;text-align:center;padding:12px 0;font-size:14px;font-weight:600;color:var(--w3);cursor:pointer;position:relative;transition:all .2s}.store-tab.on{color:var(--green);font-weight:700}.store-tab.on:after{content:"";position:absolute;bottom:-1.5px;left:20%;right:20%;height:3px;border-radius:2px;background:var(--greenGrad)}.store-tab-count{font-size:10px;margin-left:2px;opacity:.6}.store-content{padding:0 16px 20px}.zone-card{border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow);margin-bottom:12px;cursor:pointer;transition:all .3s}.zone-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.zone-card-img{position:relative;height:140px;overflow:hidden}.zone-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.zone-card:hover .zone-card-img img{transform:scale(1.05)}.zone-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.4))}.zone-card-img .tag{position:absolute;top:10px;left:10px}.zone-card-price{position:absolute;bottom:10px;right:10px;font-size:20px;font-weight:900;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4)}.zone-card-price small{font-size:11px;font-weight:500}.zone-card-info{padding:14px 16px}.zone-card-name{font-size:16px;font-weight:800;color:var(--w);margin-bottom:6px}.zone-card-meta{font-size:11px;color:var(--w3);display:flex;gap:4px;margin-bottom:8px}.zone-card-facilities{display:flex;gap:4px;flex-wrap:wrap}.zone-hero{position:relative;height:200px;overflow:hidden;margin:0 16px;border-radius:var(--radius-lg)}.zone-hero img{width:100%;height:100%;object-fit:cover}.zone-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.5))}.zone-hero-info{position:absolute;bottom:16px;left:16px}.zone-hero-name{font-size:20px;font-weight:900;color:#fff;margin-top:6px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.zone-stats{display:flex;margin:0 16px;padding:18px 0;border-bottom:1px solid var(--brd);background:var(--card);border-radius:0 0 var(--radius) var(--radius)}.stat{flex:1;text-align:center}.stat-val{font-size:16px;font-weight:800;color:var(--green)}.stat-label{font-size:10px;color:var(--w3);margin-top:3px}.zone-facility-list{display:flex;flex-wrap:wrap;gap:6px;padding:14px 16px}.zone-coach-section{padding:0 16px}.venue-coach-list{padding:0}.dates{display:flex;gap:8px;padding:0 16px;overflow-x:auto}.date-chip{min-width:66px;padding:12px 8px;border-radius:14px;text-align:center;cursor:pointer;transition:all .25s;background:var(--card);border:1.5px solid var(--brd);box-shadow:var(--shadow-sm)}.date-chip.on{background:var(--greenGrad);border-color:var(--green);box-shadow:var(--shadow-green)}.date-chip .d1{font-size:13px;font-weight:800;color:var(--w)}.date-chip.on .d1{color:#fff}.date-chip .d2{font-size:10px;color:var(--w3);margin-top:3px}.date-chip.on .d2{color:#fffc}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 16px}.time-slot{padding:12px 0;border-radius:var(--radius-sm);text-align:center;cursor:pointer;transition:all .2s;background:var(--card);border:1.5px solid var(--brd);box-shadow:var(--shadow-sm)}.time-slot.hot{border-color:#ff9f1c59;background:var(--goldG)}.time-slot.no{background:var(--card2);border-color:var(--brd);opacity:.4;cursor:not-allowed}.time-slot.on{background:var(--greenGrad);border-color:var(--green);box-shadow:var(--shadow-green)}.time-slot .t1{font-size:14px;font-weight:700;color:var(--w)}.time-slot.no .t1{color:var(--w3)}.time-slot.on .t1{color:#fff}.time-slot .t2{font-size:9px;margin-top:2px;color:var(--w2)}.time-slot.hot .t2{color:var(--gold)}.time-slot.no .t2{color:var(--w3)}.time-slot.on .t2{color:#fffc}.coach-toggle{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:var(--radius);cursor:pointer;background:var(--card);border:1.5px solid var(--brd);transition:all .3s;box-shadow:var(--shadow-sm);margin-bottom:12px}.coach-toggle.on{background:linear-gradient(135deg,#e8fff3,#f0fff8);border-color:#00b96b40}.coach-toggle-left{display:flex;align-items:center;gap:12px}.coach-toggle-title{font-size:14px;font-weight:700;color:var(--w)}.coach-toggle-sub{font-size:11px;color:var(--w3);margin-top:2px}.coach-mini-faces{display:flex}.coach-mini-faces img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-8px;box-shadow:0 1px 4px #0000001a}.coach-mini-faces img:first-child{margin-left:0}.confirm-venue{margin:18px 16px;padding:16px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);display:flex;gap:14px}.confirm-venue img{width:80px;height:60px;border-radius:12px;object-fit:cover}.confirm-venue h3{font-size:16px;font-weight:800;color:var(--w)}.confirm-venue p{font-size:11px;color:var(--w3);margin-top:4px}.confirm-details{margin:0 16px;padding:20px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.confirm-details h3{font-size:15px;font-weight:800;color:var(--w);margin-bottom:16px}.confirm-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--brd);font-size:13px}.confirm-row.no-border{border-bottom:none}.confirm-row .label{color:var(--w2)}.confirm-row .value{font-weight:500;color:var(--w)}.confirm-row .value.price{font-weight:700;color:var(--green)}.confirm-row .value.price.lg{font-size:20px}.confirm-row .value.hl,.confirm-row .value.coach-val{color:var(--gold)}.confirm-row .value.detail-desc{max-width:200px;text-align:right;line-height:1.6}.coach-confirm{display:flex;align-items:center;gap:12px;margin:16px 0 14px;padding-top:16px;border-top:1px dashed var(--brd)}.coach-confirm img{width:44px;height:44px;border-radius:12px;object-fit:cover;box-shadow:var(--shadow-sm)}.coach-confirm h4{font-size:14px;font-weight:700;color:var(--gold)}.coach-confirm p{font-size:11px;color:var(--w3);margin-top:2px}.coupon-section{padding:0 16px;margin-bottom:12px}.coupon-card{margin-bottom:8px;padding:16px 18px;border-radius:14px;cursor:pointer;background:var(--card);border:1.5px solid var(--brd);display:flex;align-items:center;justify-content:space-between;transition:all .25s;box-shadow:var(--shadow-sm)}.coupon-card.on{background:var(--greenG);border-color:#00b96b40}.coupon-left{display:flex;align-items:center;gap:12px}.coupon-icon{width:44px;height:44px;border-radius:12px;background:var(--greenGrad);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:var(--shadow-green)}.coupon-name{font-size:14px;font-weight:700;color:var(--w)}.coupon-desc{font-size:12px;color:var(--green);font-weight:600;margin-top:2px}.coupon-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--w4);display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;font-weight:800;transition:all .2s}.coupon-check.on{background:var(--green);border-color:var(--green)}.coupon-card.disabled{opacity:.45;cursor:not-allowed;pointer-events:auto}.coupon-card.disabled .coupon-desc{color:var(--w3)}.coupon-card.disabled .coupon-icon{background:var(--card2);box-shadow:none}.no-coupon{font-size:12px;color:var(--w3);padding:12px 0}.warning-box{margin:4px 16px 22px;padding:14px 16px;border-radius:14px;background:var(--goldG);border:1px solid rgba(255,159,28,.15);font-size:11px;color:var(--goldD);line-height:1.7}.pay-methods{padding:0 16px}.pay-method{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:var(--card);border:1.5px solid var(--brd);margin-bottom:8px;cursor:pointer;transition:all .2s}.pay-method.on{border-color:var(--green);background:var(--greenG)}.pay-icon{font-size:20px}.pay-method span:nth-child(2){flex:1;font-size:14px;font-weight:600;color:var(--w)}.pay-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--w4);display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff}.pay-check.on{background:var(--green);border-color:var(--green)}.success-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:40px 32px;text-align:center;position:relative;overflow:hidden;background:var(--bg2)}.success-circle{width:100px;height:100px;border-radius:50%;background:var(--greenG);border:3px solid var(--green);display:flex;align-items:center;justify-content:center;font-size:48px;margin-bottom:28px;animation:glow 2s infinite;color:var(--green);position:relative}.success-circle:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:2px solid rgba(0,185,107,.15);animation:pulseRing 2s infinite}.success-page h2{font-size:26px;font-weight:900;color:var(--w);margin-bottom:10px}.success-page p{font-size:13px;color:var(--w2);line-height:1.8;margin-bottom:32px}.qr-section{padding:20px 16px}.qr-box{padding:24px 34px;border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow);margin-bottom:36px;text-align:center}.qr-label{font-size:11px;color:var(--w3);margin-bottom:12px}.qr-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:140px;margin:0 auto}.qr-cell{aspect-ratio:1;border-radius:2px}.qr-code{font-size:14px;color:var(--w);font-weight:700;margin-top:12px;letter-spacing:3px}.coach-page-banner{margin:0 16px 16px;padding:28px 20px;border-radius:var(--radius-xl);background:linear-gradient(135deg,#e8fff3,#f0fff8 40%,#fffdf0);border:1px solid rgba(0,185,107,.12);text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow)}.coach-page-banner:before{content:"";position:absolute;top:-60%;right:-30%;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(0,185,107,.06),transparent 70%)}.coach-page-banner h3{font-size:17px;font-weight:800;color:var(--green);margin-bottom:8px;position:relative;z-index:1}.coach-page-banner p{font-size:12px;color:var(--w2);line-height:1.7;position:relative;z-index:1}.coach-page-icon{font-size:32px;margin-bottom:8px}.coach-filters{padding:0 16px 12px;display:flex;gap:8px;overflow-x:auto}.coach-list{padding:0 16px 20px}.coach-card{display:flex;gap:14px;padding:16px;border-radius:var(--radius);margin-bottom:10px;background:var(--card);box-shadow:var(--shadow-sm);cursor:pointer;transition:all .3s}.coach-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.coach-card.picked{background:linear-gradient(135deg,#e8fff3,#f0fff8);border:1.5px solid rgba(0,185,107,.3);box-shadow:var(--shadow-green)}.coach-avatar{position:relative;flex-shrink:0}.coach-avatar img{width:78px;height:78px;border-radius:var(--radius);object-fit:cover;box-shadow:var(--shadow-sm);transition:all .25s}.coach-card.picked .coach-avatar img{box-shadow:0 0 0 3px var(--green)}.coach-check{position:absolute;bottom:-4px;right:-4px;width:24px;height:24px;border-radius:50%;background:var(--green);border:2.5px solid #fff;display:none;align-items:center;justify-content:center;font-size:11px;color:#fff;font-weight:700}.coach-card.picked .coach-check{display:flex}.coach-offline{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);background:#00000080;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700}.coach-card.busy{opacity:.5;cursor:not-allowed}.coach-card.busy:hover{transform:none;box-shadow:var(--shadow-sm)}.coach-info{flex:1;min-width:0}.coach-name-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.coach-name{font-size:15px;font-weight:800;color:var(--w)}.coach-tags{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0;align-items:center}.coach-tag{padding:3px 10px;border-radius:20px;font-size:10px;font-weight:600;background:var(--greenG);color:var(--green)}.coach-exp{font-size:10px;color:var(--w3)}.coach-desc{font-size:11px;color:var(--w3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.coach-price{font-size:19px;font-weight:900;color:var(--gold)}.coach-price small{font-size:10px;font-weight:500;color:var(--w3)}.coach-bottom{display:flex;align-items:center;justify-content:space-between}.coach-meta-text{font-size:11px;color:var(--w3)}.coach-detail-header{padding:30px 16px 20px;text-align:center;background:var(--bg2);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.coach-detail-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid var(--green);margin:0 auto 16px;display:block;box-shadow:var(--shadow-green)}.coach-detail-name{font-size:22px;font-weight:900;color:var(--w);margin-bottom:6px}.coach-detail-level,.coach-detail-rating{margin-bottom:8px}.coach-detail-count{font-size:12px;color:var(--w3);margin-left:4px}.coach-status-online{font-size:12px;color:var(--green);font-weight:600}.coach-status-offline{font-size:12px;color:var(--red);font-weight:600}.coach-stats{display:flex;justify-content:space-around;padding:20px 16px;margin:16px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.coach-stat-item{text-align:center}.coach-stat-val{font-size:20px;font-weight:900;color:var(--green)}.coach-stat-label{font-size:10px;color:var(--w3);margin-top:2px}.coach-reviews-section{padding:20px 16px}.coach-detail-action{padding:0 16px 40px}.review-summary{display:flex;align-items:center;gap:20px;padding:20px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);margin-bottom:16px}.review-avg{font-size:40px;font-weight:900;color:var(--green);flex-shrink:0}.review-avg small{font-size:14px;font-weight:500;color:var(--w3)}.review-bars{flex:1}.review-card{padding:14px;border-radius:14px;background:var(--card);box-shadow:var(--shadow-sm);margin-bottom:10px}.review-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.review-avatar{font-size:20px}.review-user{font-size:13px;font-weight:600;color:var(--w);flex:1}.review-date{font-size:10px;color:var(--w3)}.review-stars{font-size:10px;color:var(--gold);margin-bottom:4px}.review-scores-mini{display:flex;gap:12px;font-size:10px;color:var(--w3);margin-bottom:6px}.review-text{font-size:12px;color:var(--w2);line-height:1.6}.review-imgs{display:flex;gap:6px;margin-top:8px}.review-imgs img{width:60px;height:60px;border-radius:8px;object-fit:cover}.review-coach{font-size:11px;color:var(--gold);margin-top:8px;padding-top:8px;border-top:1px dashed var(--brd)}.event-filters{padding:12px 16px;display:flex;gap:8px;overflow-x:auto}.event-card{margin:0 16px 16px;border-radius:var(--radius-lg);overflow:hidden;background:var(--card);box-shadow:var(--shadow);cursor:pointer;transition:all .3s}.event-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.event-card-img{position:relative;height:150px;overflow:hidden}.event-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.event-card:hover .event-card-img img{transform:scale(1.05)}.event-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.4))}.event-card-tags{position:absolute;top:10px;left:10px;display:flex;gap:6px}.event-card-body{padding:14px 16px}.event-card-name{font-size:16px;font-weight:800;color:var(--w);margin-bottom:8px}.event-card-meta{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--w3);margin-bottom:10px}.event-card-bottom{display:flex;align-items:center;justify-content:space-between}.event-progress{display:flex;align-items:center;gap:8px;flex:1}.event-progress-bar{flex:1;height:6px;border-radius:3px;background:var(--card2);overflow:hidden;max-width:120px}.event-progress-fill{height:100%;border-radius:3px;background:var(--greenGrad);transition:width .3s}.event-progress-text{font-size:10px;color:var(--w3);white-space:nowrap}.event-fee{font-size:18px;font-weight:900;color:var(--gold)}.event-detail-hero{position:relative;height:200px;overflow:hidden}.event-detail-hero img{width:100%;height:100%;object-fit:cover}.event-detail-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.5))}.event-detail-tags{position:absolute;bottom:12px;left:16px;display:flex;gap:6px}.event-detail-title{padding:20px 16px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.event-detail-title h2{font-size:20px;font-weight:900;color:var(--w)}.event-detail-info{margin:0 16px 16px;padding:20px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.event-enroll-section{padding:0 16px 16px}.event-progress-lg{display:flex;align-items:center;gap:12px}.event-progress-lg .event-progress-bar{flex:1;height:10px;border-radius:5px}.event-progress-text-lg{font-size:13px;font-weight:700;color:var(--w);white-space:nowrap}.event-desc-section{padding:0 16px 16px}.event-desc-text{font-size:13px;color:var(--w2);line-height:1.8}.event-rules-section{padding:0 16px 16px}.event-rules-list{padding-left:20px}.event-rules-list li{font-size:12px;color:var(--w2);line-height:2}.event-detail-action{padding:0 16px 40px}.bracket-section{padding:0 16px 20px}.bracket-round{margin-bottom:16px}.bracket-round-title{font-size:13px;font-weight:700;color:var(--green);margin-bottom:8px;padding:6px 12px;background:var(--greenG);border-radius:8px;display:inline-block}.bracket-match{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:var(--card);box-shadow:var(--shadow-sm);margin-bottom:6px}.bracket-match.done{opacity:.85}.bracket-player{flex:1;font-size:13px;font-weight:600;color:var(--w2)}.bracket-player.winner{color:var(--green);font-weight:800}.bracket-player:last-child{text-align:right}.bracket-score{font-size:14px;font-weight:900;color:var(--w);padding:4px 12px;background:var(--card2);border-radius:8px;min-width:50px;text-align:center}.profile-header{background:var(--bg2);padding:60px 20px 30px;text-align:center;border-radius:0 0 var(--radius-xl) var(--radius-xl)}.profile-avatar{width:64px;height:64px;border-radius:50%;background:var(--greenGrad);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 12px;box-shadow:var(--shadow-green)}.profile-avatar-img{width:64px;height:64px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:block;border:2px solid rgba(0,185,107,.3)}.profile-name{font-size:20px;font-weight:800;color:var(--w);margin-bottom:4px}.profile-id{font-size:12px;color:var(--w3)}.profile-level{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:4px}.profile-level-icon{font-size:18px}.profile-level-text{font-size:13px;font-weight:700;color:var(--gold)}.profile-stats{display:flex;justify-content:space-around;padding:24px 16px;margin:20px 16px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.profile-stat{text-align:center}.profile-stat-val{font-size:22px;font-weight:900;color:var(--green)}.profile-stat-label{font-size:11px;color:var(--w3);margin-top:2px}.profile-wallet{margin:0 16px 16px;padding:20px;border-radius:var(--radius);background:var(--greenGrad);box-shadow:var(--shadow-green);cursor:pointer;display:flex;align-items:center;gap:16px;color:#fff;transition:all .2s;position:relative;overflow:hidden}.profile-wallet:before{content:"";position:absolute;top:-50%;right:-30%;width:200px;height:200px;border-radius:50%;background:#ffffff14}.wallet-balance{flex:1}.wallet-label{font-size:11px;opacity:.8}.wallet-amount{font-size:28px;font-weight:900;margin-top:4px}.wallet-extras{display:flex;gap:20px}.wallet-extra{text-align:center}.wallet-extra-val{font-size:16px;font-weight:800;display:block}.wallet-extra-label{font-size:9px;opacity:.7}.wallet-arrow{font-size:24px;opacity:.6}.profile-rank{margin:0 16px 16px;padding:16px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);cursor:pointer;transition:all .2s}.profile-rank:hover{box-shadow:var(--shadow-lg)}.rank-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.rank-icon{font-size:24px}.rank-title{font-size:16px;font-weight:800;color:var(--w);flex:1}.rank-tier{font-size:11px;font-weight:700;color:var(--gold);padding:2px 10px;border-radius:10px;background:var(--goldG)}.rank-progress{display:flex;align-items:center;gap:8px;margin-bottom:8px}.rank-bar{flex:1;height:8px;border-radius:4px;background:var(--card2);overflow:hidden}.rank-bar.lg{height:12px;border-radius:6px}.rank-fill{height:100%;border-radius:inherit;background:var(--greenGrad);transition:width .5s}.rank-text{font-size:10px;color:var(--w3);white-space:nowrap}.rank-stats{display:flex;gap:8px;font-size:11px;color:var(--w3)}.profile-menu{padding:0 16px}.profile-menu-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border-radius:14px;background:var(--card);box-shadow:var(--shadow-sm);margin-bottom:8px;cursor:pointer;transition:all .2s}.profile-menu-item:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.menu-item-left{display:flex;align-items:center;gap:12px}.menu-icon{font-size:20px}.menu-label{font-size:14px;font-weight:600;color:var(--w)}.menu-item-right{display:flex;align-items:center;gap:6px}.menu-value{font-size:12px;color:var(--green)}.menu-arrow{color:var(--w4);font-size:14px}.profile-footer{text-align:center;padding:24px;font-size:11px;color:var(--w3)}.wallet-header{margin:0 16px 20px;padding:30px 24px;border-radius:var(--radius-lg);background:var(--greenGrad);color:#fff;text-align:center;box-shadow:var(--shadow-green);position:relative;overflow:hidden}.wallet-header:before{content:"";position:absolute;top:-40%;right:-20%;width:200px;height:200px;border-radius:50%;background:#ffffff14}.wallet-big-label{font-size:12px;opacity:.8}.wallet-big-amount{font-size:36px;font-weight:900;margin:8px 0 20px}.wallet-actions-row{display:flex;gap:12px;justify-content:center}.wallet-action-btn{padding:10px 30px;border-radius:12px;font-size:14px;font-weight:700;background:#fff3;color:#fff;border:none;cursor:pointer;transition:all .15s}.wallet-action-btn.outline{background:transparent;border:1.5px solid rgba(255,255,255,.4)}.wallet-action-btn:active{transform:scale(.95)}.wallet-info-cards{display:flex;gap:12px;padding:0 16px 16px}.wallet-info-card{flex:1;padding:16px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);text-align:center}.wallet-info-val{font-size:20px;font-weight:900;color:var(--green)}.wallet-info-label{font-size:11px;color:var(--w3);margin-top:4px}.wallet-records{padding:0 16px}.wallet-record{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--brd)}.record-left{flex:1}.record-desc{font-size:13px;font-weight:600;color:var(--w)}.record-time{font-size:10px;color:var(--w3);margin-top:4px}.record-amount{font-size:16px;font-weight:900}.record-amount.minus{color:var(--red)}.record-amount.plus{color:var(--green)}.rank-detail-header{text-align:center;padding:40px 16px 20px}.rank-big-icon{font-size:64px;margin-bottom:12px}.rank-detail-header h2{font-size:24px;font-weight:900;color:var(--w);margin-bottom:6px}.rank-tier-badge{display:inline-block;padding:4px 16px;border-radius:20px;font-size:12px;font-weight:700;color:var(--gold);background:var(--goldG)}.rank-detail-progress{padding:0 16px 20px}.rank-exp-text{font-size:12px;color:var(--w3);text-align:center;margin-top:8px}.rank-detail-stats{display:flex;justify-content:space-around;padding:20px 16px;margin:0 16px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.rank-detail-stat{text-align:center}.rank-detail-val{font-size:24px;font-weight:900;color:var(--green)}.rank-detail-label{font-size:10px;color:var(--w3);margin-top:2px}.rank-levels{padding:20px 16px}.rank-level-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:var(--card);margin-bottom:6px;transition:all .2s}.rank-level-item.current{background:var(--greenG);border:1px solid rgba(0,185,107,.2)}.rank-level-icon{font-size:24px}.rank-level-name{font-size:14px;font-weight:700;color:var(--w);flex:1}.coupon-list{padding:16px}.coupon-item{display:flex;align-items:center;gap:0;border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow);margin-bottom:12px}.coupon-item.used{opacity:.5}.coupon-item-left{padding:16px 20px;background:var(--greenGrad);color:#fff;text-align:center;min-width:90px}.coupon-amount-big{font-size:24px;font-weight:900}.coupon-min{font-size:9px;opacity:.8}.coupon-item-right{flex:1;padding:12px 16px}.coupon-item-name{font-size:14px;font-weight:700;color:var(--w)}.coupon-item-desc{font-size:11px;color:var(--green);margin-top:2px}.coupon-item-expire{font-size:10px;color:var(--w3);margin-top:4px}.coupon-item-action{padding:0 16px;font-size:12px;font-weight:700;color:var(--green);cursor:pointer;white-space:nowrap}.highlight-text{color:var(--green);font-weight:700}.write-review-section{padding:20px 16px}.review-venue-name{font-size:16px;font-weight:800;color:var(--w);margin-bottom:20px}.review-score-group{margin-bottom:20px}.review-score-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.review-score-row span:first-child{font-size:14px;font-weight:600;color:var(--w)}.review-star-input{display:flex;gap:4px}.star-btn{font-size:24px;color:var(--w4);cursor:pointer;transition:color .15s}.star-btn.on{color:var(--gold)}.review-coach-section{padding-top:16px;border-top:1px solid var(--brd);margin-bottom:16px}.review-textarea{margin-bottom:12px;min-height:80px}.review-photo-add{padding:14px;border-radius:12px;border:1.5px dashed var(--brd);text-align:center;font-size:13px;color:var(--w3);cursor:pointer;margin-bottom:20px;transition:all .2s}.review-photo-add:hover{border-color:var(--green);color:var(--green)}.order-filters{padding:12px 16px;display:flex;gap:8px}.order-card{margin:0 16px 12px;padding:16px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s}.order-card:hover{box-shadow:var(--shadow)}.order-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.order-venue{font-size:15px;font-weight:700;color:var(--w)}.order-status{font-size:11px;font-weight:600;padding:3px 12px;border-radius:20px}.order-card-body{margin-bottom:10px}.order-info-line{font-size:12px;color:var(--w3);margin-bottom:3px}.order-date{color:var(--w2)}.order-coach{color:var(--gold)}.order-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--brd)}.order-id{font-size:10px;color:var(--w3)}.order-total{font-size:18px;font-weight:900;color:var(--green)}.order-detail-status{text-align:center;padding:30px 0 20px}.order-detail-icon{font-size:48px;margin-bottom:12px}.order-detail-text{font-size:16px;font-weight:700}.order-actions{padding:0 16px 12px;display:flex;gap:10px}
