body{background:#0b0b0d;color:#f5f1ea;font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:14px}*{box-sizing:border-box}button{font-family:inherit;border:0;cursor:pointer}button::after{border:none}button[disabled]{opacity:.4}image{display:block}.page{max-width:450px;margin:0 auto;padding:15px 15px 80px}.topline{display:flex;align-items:center;justify-content:space-between;height:31px;border-bottom:0.5px solid #2e2e32;margin-bottom:12px}.wordmark{font-size:12.5px;font-weight:900;letter-spacing:1.5px;display:flex;align-items:center;gap:6px}.red-dot{display:inline-block;background:#e5222e;width:5px;height:5px;border-radius:50%}.top-label,.eyebrow{font-size:9.5px;letter-spacing:1px;color:#a4a0a0}.demo-strip{color:#c4b9ad;font-size:9.5px;margin-bottom:11px;border-left:1.5px solid #e5222e;padding-left:6px}.hero{background:#f5f1ea;color:#101012;padding:14px;overflow:hidden;position:relative}.hero-kicker{font-size:8.5px;letter-spacing:1.5px;border-bottom:0.5px solid #c9c5bf;padding-bottom:10px}.hero-body{display:flex;position:relative;padding:15px 0 10px}.hero-copy{position:relative;z-index:1;width:52%}.hero .eyebrow{color:#6a6262}.hero-title{font-size:37px;line-height:1.15;font-weight:900;letter-spacing:-1.5px;margin:9px 0}.hero-caption{font-size:10.5px;color:#5b5654;line-height:1.7}.hero-logo{width:155px;height:165px;position:absolute;right:-17px;top:6px;mix-blend-mode:multiply;transform:rotate(8deg)}.hero-bottom{border-top:0.5px solid #c9c5bf;padding-top:11px;display:flex;justify-content:space-between;align-items:center;font-size:10.5px;font-weight:bold}.primary{background:#e5222e;color:#fff;padding:11.5px 14px;border-radius:3px;font-weight:700;font-size:13px;line-height:1.3;margin:0;display:flex;justify-content:center;align-items:center;gap:8px}.compact{padding:9px 10px;font-size:11.5px}.notice{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:0.5px solid #2e2e32;font-size:10.5px;line-height:1.7}.notice-label{color:#e5222e;font-size:8.5px;white-space:nowrap;font-weight:bold;letter-spacing:0.5px}.member-line{display:flex;align-items:center;justify-content:space-between;padding:14px 0;font-size:11.5px;border-bottom:0.5px solid #2e2e32}.small{font-size:11.5px;padding:8px 11px;line-height:1.3;margin:0;border-radius:3px}.outline{border:0.5px solid #5b4545;background:transparent;color:#f5f1ea}.muted{color:#9f9b9b;font-size:11.5px;line-height:1.7}.red{color:#ff4a52}.big-number{font-size:19.5px;font-weight:800;font-family:'Bahnschrift','DIN Alternate',sans-serif}.section-head{display:flex;justify-content:space-between;align-items:center;gap:7px;margin:14px 0}.section-title{font-size:15px;font-weight:750;line-height:1.4}.section-head .eyebrow{margin-bottom:4px}.section-number{font-size:9px;color:#727073;letter-spacing:1px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.feature{padding:12.5px;background:#171719;border:0.5px solid #313033;min-height:114px;border-radius:3px;cursor:pointer}.feature-red{background:#e5222e;border-color:#e5222e}.feature-top{display:flex;justify-content:space-between;align-items:center;color:#868184;font-size:10px}.feature-red .feature-top{color:#f9bfc2}.feature-icon{width:21px;height:21px}.feature-title{font-size:16.5px;font-weight:750;margin-top:17px}.feature-caption{font-size:9.5px;color:#aaa5a5;margin-top:4.5px}.feature-red .feature-caption{color:#fff0ef}.link{color:#e9c5bc;font-size:11px;cursor:pointer}.rules-banner{width:100%;height:auto;border-radius:2px}.footer-copy{text-align:center;color:#686468;font-size:8.5px;letter-spacing:1px;line-height:2;margin-top:18px}.page-heading{padding:10px 0 15px}.display-title{font-size:21.5px;font-weight:800;line-height:1.4;letter-spacing:-0.5px;margin:7.5px 0}.page-heading .muted{margin-top:7px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0 13px}.chip{color:#b5b0ae;background:#1c1b1e;border:0.5px solid #333136;border-radius:2px;font-size:11.5px;padding:7px 10.5px;line-height:1.3;margin:0}.chip.active,.segmented .active{background:#e5222e;color:white;border-color:#e5222e}.date-row{display:flex;gap:5px;margin:12.5px 0}.date-box{display:flex;flex-direction:column;align-items:center;gap:6.5px;flex:1;background:#19181c;color:#8f8b91;padding:10px 0;line-height:1.2;font-size:10px;border:0.5px solid #302e33;border-radius:2.5px;margin:0}.date-box.active{background:#f5f1ea;color:#0b0b0d}.date-number{font-size:16px;font-weight:800}.legend{display:flex;gap:12px;font-size:10px;color:#a29da2;align-items:center;margin:13px 0}.legend .link{margin-left:auto}.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4.5px}.available{background:#e5222e}.taken{background:#47434a}.table-panel{background:#161518;border:0.5px solid #302d33;padding:12px;border-radius:4.5px;margin:11px 0}.table-panel .section-head{margin-top:0}.pill{font-size:10px;border:0.5px solid #4a3a3e;color:#d8bbb5;background:#241c1e;border-radius:2px;padding:4px 6px;white-space:nowrap}.seat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7.5px}.seat{background:#2b1b20;border:0.5px solid #82383f;color:#ecbfc0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.5;height:51.5px;font-size:9.5px;border-radius:3px;margin:0}.seat-number{font-size:15px;font-weight:700}.seat.occupied{background:#222126;border-color:#37353a;color:#747076}.empty{text-align:center;color:#8f898e;padding:35px 10px;font-size:12.5px;line-height:1.9;border:0.5px dashed #353237;margin:12.5px 0}.balance{display:flex;align-items:center;gap:9px;border-top:0.5px solid #2d292d;padding-top:10px;margin-top:12px}.balance .link{margin-left:auto}.search,.form-panel input{display:block;width:100%;background:#1c1b1e;color:#f5f1ea;border:0.5px solid #39343a;border-radius:3px;padding:10px;height:39px;font-size:12.5px;box-sizing:border-box}.horizontal{margin-top:10px}.product-count{font-size:9.5px;color:#777179;margin:10px 0}.product{display:flex;gap:11px;align-items:center;padding:11.5px 0;border-bottom:0.5px solid #302b31}.product-art,.product-image{width:64px;height:71px;flex-shrink:0;border-radius:2.5px}.product-art{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#251e22;border:0.5px solid #463039;color:#d1a6a8}.product-art>text{font-size:23px;font-weight:800}.product-art-caption{font-size:5.5px;letter-spacing:0.5px;margin-top:6px;color:#8f6f77}.product-info{flex:1;min-width:0}.product-category{font-size:8.5px;color:#9a777d;margin-bottom:3.5px;letter-spacing:1px}.product-name{font-size:13.5px;font-weight:650}.product-note{color:#716a71;font-size:9px;margin-top:4px}.product-price{color:#ff515a;margin-top:7.5px;font-size:16px;font-weight:750}.product-price .muted{font-size:8.5px;font-weight:400}.add{flex-shrink:0;background:#e5222e;color:white;width:26px;height:26px;line-height:25px;text-align:center;padding:0;font-size:17px;border-radius:50%;margin:0}.shop-spacer{height:55px}.cart-bar{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);width:calc(100% - 20px);max-width:425px;z-index:15;background:#262126;border:0.5px solid #625057;border-radius:5px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;font-size:10.5px;box-shadow:0 0 20px #0009}.cart-bar .muted{font-size:8.5px}.cart-bar .primary{font-size:11.5px}.cart-bar .big-number{font-size:17.5px}.segmented{display:flex;gap:4px;background:#19171b;border:0.5px solid #332c34;padding:4px;margin-bottom:12px;border-radius:3px}.segmented button{flex:1;font-size:11.5px;color:#a499a5;background:transparent;padding:9px 3px;line-height:1.3;border-radius:2px;margin:0}.event-card{border:0.5px solid #372d34;background:#181519;border-radius:3px;overflow:hidden;margin-bottom:14px}.event-art{display:flex;align-items:center;gap:10px;position:relative;overflow:hidden;background:#ba1524;height:95px;padding:13px;color:#fff;font-size:12.5px;font-weight:750;line-height:1.5;letter-spacing:1px}.event-index{font-size:38px;font-weight:900;border-right:1px solid #ee6b76;padding-right:11px}.event-a{position:absolute;right:-5px;top:-23.5px;color:#e24853;font-family:Georgia,serif;font-size:135px;transform:rotate(12deg);opacity:.4}.event-content{padding:13px}.event-content .section-title{margin-top:7px}.event-description{line-height:1.9;margin:11px 0}.event-content .section-head{margin-bottom:0}.rank-row{display:flex;align-items:center;padding:13.5px 7px;border-bottom:0.5px solid #342d35;gap:11px}.rank-number{font-size:12.5px;width:20px;color:#777078;font-family:'Bahnschrift',sans-serif}.avatar{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#2c242b;color:#caabb7;font-size:12.5px}.rank-name{flex:1;font-size:13.5px}.rank-value{font-size:17px;font-weight:750;color:#e9ccc1}.rank-top .rank-number{color:#fb4d58}.rank-top .avatar{background:#56232c;color:#ffc5c8}.record-card{background:#181519;border:0.5px solid #392e35;border-radius:3px;padding:12.5px;margin:11px 0}.record-card .section-head{margin-top:0}.record-card .small{margin-top:11.5px}.storage-quantity{font-size:27.5px;font-weight:700;margin:10px 0}.storage-quantity text{font-size:12px;color:#9d8e97;margin-left:5px}.profile-hero{display:flex;align-items:center;gap:11.5px;margin:18.5px 0}.profile-logo{width:56px;height:56px;border-radius:5px}.profile-hero .display-title{font-size:18.5px;margin:4px 0}.membership{background:#d91d2c;padding:14px;border-radius:3.5px;color:#fff;position:relative;overflow:hidden}.membership .section-head{margin:0;font-size:9.5px;letter-spacing:0.5px}.membership-number{font-size:39.5px;font-weight:750;margin:16.5px 0 12.5px;font-family:'Bahnschrift',sans-serif}.membership-number text{font-size:11px;margin-left:8.5px;font-weight:400}.progress-track{height:2.5px;background:#981523;overflow:hidden}.progress{height:100%;background:#fff2dd}.membership-bottom{display:flex;justify-content:space-between;align-items:center;font-size:9px;margin-top:8.5px}.text-button{background:transparent;color:inherit;padding:5px 0;margin:0;font-size:11.5px;line-height:1.4}.membership-bottom .text-button{font-size:10px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:12.5px 0;padding:12.5px 0;border-top:0.5px solid #312a31;border-bottom:0.5px solid #312a31}.stat-grid view{display:flex;flex-direction:column;align-items:center;font-size:10px;color:#91868f;gap:5.5px;border-right:0.5px solid #312a31}.stat-grid view:last-child{border:0}.stat-grid text{font-size:20px;font-weight:750;color:#e8dcd8}.menu-list>view{display:flex;justify-content:space-between;align-items:center;padding:14.5px 3px;border-bottom:0.5px solid #312a31;font-size:13.5px;cursor:pointer}.fine-print{font-size:10px;margin:12.5px 0;line-height:1.8}.record-summary{font-size:12px;line-height:1.8;color:#b8aab3}.code-box{display:flex;flex-direction:column;border:0.5px dashed #6e4956;padding:11.5px;margin:12.5px 0;background:#241a20;gap:7.5px}.code{font-family:monospace;font-size:17px;letter-spacing:2px}.coupon{display:flex;background:#f5f1ea;color:#171216;margin:12px 0;border-radius:3.5px;overflow:hidden}.coupon-side{background:#e5222e;color:#fff;font-size:15px;letter-spacing:1px;font-weight:800;padding:17.5px 11px;border-right:1px dashed #ffc2c6;display:flex;align-items:center}.coupon-main{padding:13px;flex:1}.coupon-main .muted{margin:7.5px 0;color:#796771}.coupon-main .pill{display:inline-block;margin-bottom:10px}.form-panel{padding:13.5px;background:#181419;border:0.5px solid #3c2e39}.form-panel label{display:block;margin:6px 0 8px;font-size:12px}.form-panel input{margin-bottom:13px}.rules-text{line-height:2;font-size:12.5px;white-space:pre-wrap}.overlay{position:fixed;z-index:100;inset:0;background:#000b;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:450px;max-height:85vh;overflow:auto;padding:16px 15px 22.5px;background:#191419;border:0.5px solid #503641;border-radius:9px 9px 0 0}.sheet .primary{margin-top:13px}.cart-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12.5px 0;border-bottom:0.5px solid #3c2a36;font-size:12.5px}.quantity{display:flex;align-items:center;gap:9px}.quantity button{background:#38262f;color:white;width:21px;height:21px;line-height:20px;font-size:13.5px;padding:0;margin:0}.loading{font-size:10px;color:#a58b97;margin:10px 0}.error-panel{padding:12.5px;border:0.5px solid #bb2938;color:#ffc9ca;background:#321b23;font-size:12px}.error-panel button{margin-top:10px}

.appointment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.appointment-number{background:#221b20;border:0.5px solid #72313b;border-radius:4px;color:#f5f1ea;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12.5px 4px;line-height:1.4;font-size:10px;margin:0}.slot-label{font-size:17px;font-weight:800;letter-spacing:1px}.appointment-number.occupied{background:#242227;border-color:#3b373e;color:#99929a}.location-card{padding:14px;background:#181719;border:0.5px solid #383036;border-radius:3.5px;margin:14px 0}.location-card .section-title{margin:7px 0}.location-address{font-size:13.5px;line-height:1.8;margin:6px 0;word-break:break-all}.location-actions{display:flex;gap:8px;margin-top:12px}.location-actions button{flex:1}

/* Reference-aligned service layout: charcoal, cream and Black Ace red. */
.club-banner{background:#171719;border:0.5px solid #3b3135;border-radius:9px;overflow:hidden}.banner-content{height:170px;position:relative;overflow:hidden}.banner-image{position:absolute;right:0;top:0;width:60%;height:100%;opacity:.9}.banner-shade{position:absolute;inset:0;background:linear-gradient(90deg,#171719 0%,#17171966 65%,transparent)}.banner-copy{position:absolute;left:14px;right:12px;bottom:16px}.banner-title{font-size:22.5px;font-weight:800;line-height:1.3;margin:9px 0 6px}.banner-caption{font-size:11.5px;color:#e4d7d5}.banner-controls{display:flex;justify-content:space-between;align-items:center;padding:3px 8px;color:#a3979b;font-size:10px;background:#111}.banner-arrow{background:none;color:#c4b9bc;font-size:10px;padding:6px;margin:0;line-height:1.3}.member-line{border:0.5px solid #393336;background:#191719;border-radius:8px;padding:12px;margin:10px 0}.member-line .small{background:#e5222e;color:#fff;border:0;border-radius:20px}.feature-grid{gap:10px;margin:12px 0}.feature{border-radius:9px;min-height:109px;text-align:center;padding:12px;background:#191719}.feature-top{justify-content:center}.feature-top>text{display:none}.feature-icon{width:27px;height:27px;padding:5px;box-sizing:content-box;border-radius:50%;background:#30272b}.feature-title{font-size:14.5px;margin-top:9px}.feature-caption{font-size:10px;color:#9e9599;margin-top:4px}.notice{padding:9px 0;font-size:10px}.membership{background:#211c20;border:0.5px solid #59434b}.membership-number{color:#ff626b}.profile-hero{border:0.5px solid #3c3238;border-radius:7px;padding:12px;margin:12px 0}.menu-list{border:0.5px solid #3c3238;border-radius:7px;padding:0 12px;margin-top:13px;background:#171518}.menu-list>view{padding:13px 0}.appointment-number.selected{background:#e5222e;border-color:#ff8990;color:white}.booking-summary{background:#211a1c;border:0.5px solid #6e343d;border-radius:6px;padding:13px;margin-top:12px}.booking-summary>view{display:flex;justify-content:space-between;margin-bottom:12px;font-size:13px}.booking-summary .primary{width:100%}.shop-layout{display:flex;gap:8px;align-items:flex-start}.category-rail{width:65px;flex-shrink:0;position:sticky;top:6px;max-height:70vh;overflow:auto;background:#171518;border-radius:5px}.category-rail .chip{display:block;width:100%;white-space:normal;border:0;border-radius:0;background:transparent;padding:12px 4px;font-size:11px;line-height:1.5}.category-rail .chip.active{color:#ff626b;background:#332128;border-left:2.5px solid #e5222e}.catalog-list{flex:1;min-width:0}.product{flex-wrap:wrap;gap:7px;padding:10px 0}.product-image,.product-art{width:50px;height:55px}.product-name{font-size:12px;line-height:1.5}.product-price{font-size:14.5px;margin-top:4px}.product-note{display:none}.product-count{font-size:9.5px;line-height:1.6;margin:0 0 5px}.product-actions{display:flex;align-items:center;justify-content:space-between;width:100%;gap:5px}.product-stock{font-size:9.5px;color:#a6999f}.exchange-button{background:#e5222e;color:white;border-radius:16px;font-size:11px;line-height:1.3;padding:6px 12.5px;margin:0}.detail-image{width:100%;height:150px}.podium{display:flex;align-items:flex-end;justify-content:center;gap:10px;padding:14px 0 20px}.podium-person{width:30%;text-align:center;min-width:0}.podium-place{width:20px;height:20px;border:1px solid #8a6e68;border-radius:50%;margin:0 auto 6px;font-size:12px;line-height:18px;color:#ead7cf}.podium-person .avatar{margin:auto;width:40px;height:40px;font-size:16px}.podium-1{padding-bottom:15px}.podium-1 .avatar{width:50px;height:50px;background:#e5222e;color:white;border:1.5px solid #ff9296}.podium-name{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:7px 0 3px}.podium-person .big-number{font-size:15.5px}.rank-row{background:#171518;border:0.5px solid #3a3035;border-radius:5px;margin-bottom:7px;padding:10.5px 8px}.rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-card{border-radius:7px}

.linebreak{display:block}.web-app{max-width:450px;margin:auto}.web-tabs{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);display:flex;background:#151216;border:1px solid #392a33;width:100%;max-width:450px;padding:12px 8px}.web-tabs button{flex:1;background:none;color:#938a90;padding:8px;font-size:13px}.web-tabs button.active{color:#ff525c;border-bottom:2px solid #e5222e}.web-top{max-width:450px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;color:#867c83;padding:15px;font-size:11px}.web-top a{color:#b3949e;text-decoration:none}.web-top button{background:none;color:#b3949e}.web-toast{position:fixed;z-index:300;top:20px;left:50%;transform:translateX(-50%);padding:18px 24px;max-width:90vw;background:#f5f1ea;color:#251b21;border-radius:8px;box-shadow:0 10px 40px #0008}.web-dialog{border:1px solid #6b414f;background:#201820;color:#f5f1ea;border-radius:12px;max-width:390px;width:90%;padding:25px}.web-dialog::backdrop{background:#000a}.web-dialog p{white-space:pre-wrap;line-height:1.8;font-size:14px}.web-dialog menu{display:flex;justify-content:flex-end;gap:12px;padding:0}.web-dialog button{padding:10px 20px;border-radius:5px}.web-dialog .ok{background:#e5222e;color:white}.web-ribbon{position:fixed;left:calc(50% + 255px);top:80px;max-width:210px;color:#81717c;font-size:13px;line-height:1.9}.web-ribbon strong{display:block;color:#eee0e6;font-size:24px;margin-bottom:14px}.web-ribbon a{color:#dd687c}@media(max-width:1000px){.web-ribbon{display:none}} img{object-fit:contain}.rules-banner{height:auto} .hero-logo{object-fit:contain} body{margin:0}