:root{--navy:#06152c;--navy2:#0b2243;--panel:#0d1d35;--gold:#f5c35b;--gold2:#d89a27;--cyan:#49c9ff;--text:#f7f8fb;--muted:#91a2ba;--line:rgba(255,255,255,.1)}body.logged-in .header-actions,body.logged-in .quick-grid,body.logged-in .profile-login{display:none}body.logged-in .topbar{justify-content:center}.logout-btn{display:none;margin-top:10px}.logged-in .logout-btn{display:inline-flex}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#071326;color:var(--text);font-family:Manrope,"Noto Sans SC",sans-serif;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.ambient{position:fixed;pointer-events:none;filter:blur(80px);opacity:.2}.ambient-a{width:45vw;height:45vw;background:#087bff;left:-15vw;top:15vh}.ambient-b{width:35vw;height:35vw;background:#d99623;right:-12vw;bottom:-15vw}.app-shell{width:min(100%,810px);min-height:100vh;margin:auto;background:linear-gradient(180deg,#081a34,#071326 65%);position:relative;box-shadow:0 0 80px rgba(0,0,0,.45);padding-bottom:105px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid rgba(245,195,91,.42);background:rgba(4,16,34,.88);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand-mark{width:42px;height:42px;border:1px solid #ffd170;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#109eff,#0ad8e4);box-shadow:inset 0 -7px 14px rgba(0,0,0,.2),0 5px 20px rgba(0,193,255,.22);font-weight:900;font-size:22px}.brand b{font-size:19px;letter-spacing:2px}.brand em{font-size:19px;font-style:normal;color:var(--gold);margin-left:6px;letter-spacing:2px}.header-actions{display:flex;gap:8px}.ghost-btn,.gold-btn{border:0;border-radius:10px;padding:13px 21px;font-weight:800}.ghost-btn{color:#fff;background:transparent;border:1px solid var(--line)}.gold-btn{color:#15100a;background:linear-gradient(120deg,var(--gold2),#ffe48a 50%,#e7a93b);box-shadow:0 7px 24px rgba(236,174,59,.2);transition:.25s transform,.25s filter}.gold-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.gold-btn.small{padding:11px 18px}.page{display:none;animation:fade .28s ease}.page.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(5px)}}
.hero{height:490px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,11,26,.93) 0%,rgba(4,14,29,.55) 43%,rgba(4,13,29,.08) 78%),linear-gradient(0deg,#07162e 0%,transparent 35%)}.hero-copy{position:absolute;left:42px;top:76px;max-width:400px}.eyebrow,.kicker{font-weight:800;font-size:11px;letter-spacing:2.4px;color:var(--gold)}.eyebrow span{width:26px;height:2px;background:var(--gold);display:inline-block;vertical-align:middle;margin-right:9px}.hero h1{font-size:52px;line-height:1.04;margin:17px 0 18px;letter-spacing:-2px}.hero h1 strong{color:var(--gold);font-weight:900}.hero p{color:#c1cbd9;max-width:335px;line-height:1.7;margin:0 0 25px}.hero-stat{position:absolute;right:28px;bottom:28px;text-align:right}.hero-stat b{font-size:30px;color:var(--gold);display:block}.hero-stat span{font-size:11px;color:#b9c4d3;letter-spacing:1px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 42px;margin-top:-21px;position:relative}.quick-card{min-height:92px;background:linear-gradient(135deg,#10294d,#0b1c35);border:1px solid rgba(255,203,95,.35);border-radius:16px;color:#fff;display:flex;align-items:center;gap:16px;padding:18px;text-align:left;box-shadow:0 14px 35px rgba(0,0,0,.25)}.quick-card i{font-style:normal;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:var(--gold);font-size:24px;background:rgba(245,195,91,.1)}.quick-card b,.quick-card small{display:block}.quick-card small{color:var(--muted);margin-top:4px}.section{padding:48px 42px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.section-head h2{font-size:27px;margin:4px 0 0;letter-spacing:-.5px}.text-btn{background:none;border:0;color:var(--gold);font-weight:700}.featured-card{position:relative;border:1px solid rgba(245,195,91,.35);border-radius:20px;overflow:hidden;background:#0b1a30;cursor:pointer}.featured-image{height:238px;background:linear-gradient(0deg,#071427,transparent),url("assets/hero.webp") center/cover}.live-pill{position:absolute;top:16px;left:16px;background:rgba(8,19,35,.87);border:1px solid rgba(255,255,255,.14);padding:7px 12px;border-radius:30px;font-size:11px;font-weight:800}.live-pill span{display:inline-block;width:7px;height:7px;background:#ff4656;border-radius:50%;margin-right:5px;box-shadow:0 0 0 4px rgba(255,70,86,.15)}.featured-info{display:flex;align-items:center;justify-content:space-between;padding:19px 22px}.featured-info small{color:var(--gold)}.featured-info h3{font-size:25px;margin:5px 0}.featured-info p{color:var(--muted);margin:0}.featured-info p b{color:white;margin:0 8px}.featured-info button{width:48px;height:48px;border-radius:50%;background:rgba(245,195,91,.12);border:1px solid rgba(245,195,91,.4);color:var(--gold);font-size:20px}.filter-chips{display:flex;gap:5px}.filter-chips button{border:0;background:#10223d;color:#899ab0;padding:7px 11px;border-radius:20px;font-size:11px}.filter-chips button.active{background:var(--gold);color:#111}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.event-card{min-height:260px;border-radius:18px;padding:20px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:flex-start}.event-card:after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-45px;top:-40px}.event-card.blue{background:radial-gradient(circle at 80% 10%,#1768c8,#0d2f62 50%,#0b203e)}.event-card.gold{background:radial-gradient(circle at 90% 5%,#a66821,#42270e 55%,#1b170f)}.event-card.dark{background:radial-gradient(circle at 60% 15%,#273a59,#111d30 60%)}.event-card.coming{background:repeating-linear-gradient(135deg,#111d31,#111d31 10px,#0f1a2d 10px,#0f1a2d 20px);justify-content:flex-end;opacity:.8}.tag{font-size:10px;border:1px solid rgba(255,255,255,.24);padding:5px 8px;border-radius:20px;color:#dce5f2}.event-card h3{font-size:21px;margin:auto 0 6px}.event-card p{color:#b3c0d0;font-size:12px;line-height:1.6;margin:0 0 13px}.event-card button{padding:0;background:none;border:0;color:var(--gold);font-size:12px;font-weight:800}.orb{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;align-self:flex-end;margin-top:7px;background:radial-gradient(circle at 35% 30%,#71dcff,#0754b2 70%);font-size:24px;font-weight:900;box-shadow:0 10px 30px #03152e}.trophy{align-self:flex-end;font-size:60px;color:var(--gold);filter:drop-shadow(0 7px 15px rgba(255,191,68,.35))}.score{align-self:flex-end;display:flex;align-items:center;gap:7px;margin-top:22px}.score b{font-size:29px}.score i{color:var(--gold)}.responsible{margin:35px 42px 15px;border-top:1px solid var(--line);padding-top:22px;display:flex;gap:13px;align-items:center;color:#7f90a8}.responsible>span{border:1px solid #74849b;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:11px}.responsible b,.responsible small{display:block}.responsible b{font-size:12px;color:#aeb9c8}.responsible small{font-size:10px;margin-top:2px}
.page-title{padding:74px 42px 30px}.page-title h1{font-size:42px;margin:9px 0}.page-title p{color:var(--muted)}.support-panel{margin:0 42px;background:linear-gradient(145deg,#102644,#0d1c32);border:1px solid var(--line);border-radius:22px;padding:32px;text-align:center}.support-icon{margin:auto;width:62px;height:62px;border-radius:19px;background:linear-gradient(145deg,#1bb3ff,#1263d6);display:grid;place-items:center;font-size:32px;font-weight:900;box-shadow:0 10px 30px rgba(26,148,255,.25)}.support-panel h2{margin:20px 0 7px}.support-panel>p{color:var(--muted);margin:0 0 28px}.support-link{width:100%;border:1px solid var(--line);background:#09182d;color:white;display:flex;align-items:center;padding:16px;border-radius:13px;text-align:left;margin:10px 0}.support-link i{font-style:normal;width:42px;height:42px;border-radius:11px;background:#112b4e;color:var(--gold);display:grid;place-items:center;margin-right:13px}.support-link span{flex:1}.support-link b,.support-link small{display:block}.support-link small{color:var(--muted);margin-top:3px}.wide{width:100%;margin-top:16px}.profile-hero{padding:75px 42px 38px;display:flex;align-items:center;gap:19px}.avatar{width:88px;height:88px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(145deg,#10c7f5,#1764df);font-weight:900;font-size:25px;border:2px solid rgba(255,255,255,.22);box-shadow:0 13px 35px rgba(19,118,227,.22)}.profile-hero span{color:var(--muted);font-size:12px}.profile-hero h1{margin:4px 0;font-size:30px}.link-button{padding:0;border:0;background:none;color:var(--gold);font-size:12px}.wallet-card{margin:0 42px 20px;padding:25px;border-radius:18px;background:linear-gradient(120deg,#916221,#e5ae4e 48%,#8c5a16);display:flex;justify-content:space-between;align-items:center;color:#150e05;box-shadow:0 15px 35px rgba(183,120,22,.2)}.wallet-card small,.wallet-card strong{display:block}.wallet-card strong{font-size:31px;margin-top:4px}.wallet-card em{font-size:12px;font-style:normal}.wallet-card>span{font-size:11px;border:1px solid rgba(0,0,0,.28);padding:6px 9px;border-radius:20px}.menu-list{padding:0 42px}.menu-list button{width:100%;border:1px solid var(--line);background:#0d1c32;color:white;display:flex;align-items:center;padding:17px;border-radius:14px;text-align:left;margin:10px 0}.menu-icon{width:42px;height:42px;border-radius:11px;background:#132d50;color:var(--gold);display:grid;place-items:center;margin-right:13px}.menu-list button div{flex:1}.menu-list b,.menu-list small{display:block}.menu-list small{color:var(--muted);font-size:11px;margin-top:3px}.menu-list i{font-style:normal;color:#7f90a6;font-size:26px}
.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,810px);height:88px;background:rgba(7,28,56,.94);backdrop-filter:blur(18px);display:grid;grid-template-columns:repeat(3,1fr);padding:9px 28px max(9px,env(safe-area-inset-bottom));border:1px solid rgba(245,195,91,.45);border-bottom:0;border-radius:22px 22px 0 0}.bottom-nav button{background:none;color:var(--gold);border:0;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.bottom-nav button.active{background:rgba(15,48,91,.8);color:var(--gold);border:1px solid rgba(245,195,91,.75)}.bottom-nav span{font-size:22px}.bottom-nav b{font-size:11px}.floating-chat{position:fixed;right:24px;bottom:110px;width:52px;height:52px;border-radius:50%;border:3px solid white;color:white;background:linear-gradient(145deg,#19bffc,#2367e7);font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.3);z-index:31}.toast{position:fixed;left:50%;bottom:112px;transform:translate(-50%,20px);padding:12px 18px;border-radius:10px;background:#f8cf75;color:#171006;font-size:12px;font-weight:700;z-index:60;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal-backdrop{position:fixed;inset:0;background:rgba(1,6,15,.76);backdrop-filter:blur(8px);display:none;place-items:center;padding:20px;z-index:50}.modal-backdrop.open{display:grid}.modal{width:min(100%,430px);background:linear-gradient(145deg,#10233d,#08172b);border:1px solid rgba(245,195,91,.35);border-radius:22px;padding:33px;position:relative;box-shadow:0 25px 80px rgba(0,0,0,.55)}.modal-close{position:absolute;right:15px;top:13px;background:none;border:0;color:#8fa0b7;font-size:27px}.modal-brand{margin-bottom:20px}.modal h2{font-size:29px;margin:7px 0}.modal>p{color:var(--muted);font-size:13px}.modal label{font-size:11px;color:#a9b5c5;display:block;margin:14px 0}.modal input{display:block;width:100%;margin-top:7px;border-radius:10px;border:1px solid var(--line);background:#071426;color:#fff;padding:14px;outline:none}.modal input:focus{border-color:var(--gold)}.name-field{display:none!important}.modal.register .name-field{display:block!important}.legal{color:#63758d;display:block;text-align:center;line-height:1.5;margin-top:13px}.event-modal{text-align:center}.demo-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:25px 0 8px}.demo-picks button{border:1px solid var(--line);background:#0b1930;color:#aeb9c9;padding:13px 7px;border-radius:10px}.demo-picks button.active{color:#171006;background:var(--gold);border-color:var(--gold)}
@media(max-width:600px){.topbar{height:72px;padding:0 18px}.brand-mark{width:38px;height:38px}.brand b,.brand em{font-size:15px}.ghost-btn{display:none}.gold-btn.small{padding:9px 12px;font-size:12px}.hero{height:440px}.hero-copy{left:22px;top:58px;max-width:290px}.hero h1{font-size:41px}.hero p{font-size:13px;max-width:250px}.hero-stat{right:18px}.quick-grid,.section,.menu-list{padding-left:18px;padding-right:18px}.quick-grid{grid-template-columns:1fr;margin-top:-35px}.quick-card{min-height:76px}.section{padding-top:40px}.event-grid{grid-template-columns:1fr 1fr;gap:9px}.event-card{min-height:230px;padding:15px}.event-card h3{font-size:17px}.filter-chips button:not(.active){display:none}.responsible{margin-left:18px;margin-right:18px}.page-title{padding:55px 22px 25px}.page-title h1{font-size:34px}.support-panel,.wallet-card{margin-left:18px;margin-right:18px}.support-panel{padding:24px 16px}.profile-hero{padding:52px 20px 30px}.bottom-nav{height:78px;padding-left:18px;padding-right:18px}.floating-chat{right:15px;bottom:96px;width:46px;height:46px}.modal{padding:28px 22px}.featured-image{height:205px}}

/* Profile page copied from reference */
#profile{
  min-height:calc(100vh - 86px);
  background:#141414;
  padding-bottom:118px;
}

/* iPhone layout repair */
@media(max-width:600px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    background:#071326;
  }
  .app-shell{
    width:100%;
    min-height:100dvh;
    padding-bottom:calc(94px + env(safe-area-inset-bottom));
    overflow-x:hidden;
  }
  .topbar{
    height:76px;
    min-height:76px;
    padding:0 16px;
  }
  .topbar .brand{
    max-width:100%;
    gap:12px;
  }
  .topbar .brand-mark{
    width:46px;
    height:46px;
    flex:0 0 46px;
  }
  .brand b{
    font-size:18px!important;
    white-space:nowrap;
  }
  .bottom-nav{
    left:0;
    right:0;
    bottom:0;
    transform:none;
    width:100%;
    max-width:none;
    height:calc(86px + env(safe-area-inset-bottom));
    padding:8px 14px max(8px,env(safe-area-inset-bottom));
    border-radius:18px 18px 0 0;
  }
  .bottom-nav button{
    min-width:0;
    gap:3px;
    border-radius:14px;
  }
  .bottom-nav button>svg,
  .bottom-nav .helpdesk-ball-icon,
  .bottom-nav .nav-profile-default-icon{
    width:25px!important;
    height:25px!important;
  }
  .bottom-nav b{
    font-size:13px!important;
    line-height:1.1;
  }
  .floating-chat{
    display:none!important;
  }
  .events-gallery-section{
    min-height:0!important;
    padding:40px 16px calc(104px + env(safe-area-inset-bottom))!important;
  }
  .events-gallery{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .event-poster{
    border-radius:10px;
  }
  .event-poster b{
    font-size:12px;
  }
  .event-poster small{
    font-size:7px;
  }
  #profile{
    min-height:calc(100dvh - 76px);
    padding-bottom:calc(104px + env(safe-area-inset-bottom));
  }
  #profile .profile-copy-hero{
    padding:24px 22px 28px!important;
    gap:12px!important;
  }
  #profile .profile-copy-avatar,
  body.logged-in #profile .profile-copy-avatar{
    width:96px!important;
    height:96px!important;
  }
  #profile .profile-copy-avatar svg,
  body.logged-in #profile .profile-copy-avatar svg{
    width:74px!important;
    height:74px!important;
  }
  #profile .profile-copy-login{
    width:156px;
    height:50px;
    font-size:19px;
  }
  #profile .profile-copy-menu{
    padding:0 22px;
  }
  #profile .profile-copy-menu button{
    min-height:66px!important;
    margin-bottom:14px;
    padding:0 20px;
  }
  #profile .profile-copy-menu button span{
    font-size:22px;
    line-height:1.1;
  }
  #profile .profile-copy-menu button i{
    font-size:38px;
  }
}
#profile .profile-copy-hero{
  padding:50px 42px 40px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
}
#profile .profile-copy-avatar{
  width:126px;
  height:126px;
  border:0;
  border-radius:50%;
  background:#129fe4;
  box-shadow:none;
  display:grid;
  place-items:center;
}
#profile .profile-copy-avatar svg{
  width:92px;
  height:92px;
  fill:#151515;
}
#profile .profile-copy-login{
  width:172px;
  height:56px;
  border-radius:10px;
  padding:0;
  justify-content:center;
  color:#fff;
  font-size:22px;
  font-weight:700;
  background:linear-gradient(120deg,#e3a931,#ffe083 55%,#e5a936);
  box-shadow:none;
}
body.logged-in #profile .profile-copy-login.profile-login{display:none}
body:not(.logged-in) #profile .profile-copy-login.logout-btn{display:none!important}
#profile .profile-copy-menu{
  padding:0 42px;
}
#profile .profile-copy-menu button{
  min-height:73px;
  margin:0 0 16px;
  padding:0 22px;
  border:0!important;
  border-radius:10px;
  background:#1f2c3d;
  color:#fff;
  box-shadow:none!important;
  display:grid;
  grid-template-columns:1fr 28px;
  align-items:center;
}
#profile .profile-copy-menu button span{
  font-size:23px;
  font-weight:700;
}
#profile .profile-copy-menu button i{
  color:#fff;
  font-size:42px;
  line-height:1;
  font-weight:200;
  opacity:.95;
}
#profile .profile-copy-menu button.is-disabled{
  background:#171d25;
  color:rgba(255,255,255,.55);
}
#profile .profile-copy-menu button.is-disabled i{
  color:rgba(255,255,255,.55);
}
#profile .profile-copy-menu p{
  margin:-8px 0 17px;
  color:#91a2ba;
  font-size:16px;
}
body.current-page-profile .floating-chat{display:none}
/* Home outer canvas matches the flat profile-page substrate. */
body.current-page-home{
  background:#141414!important;
}
body.current-page-home>.ambient{
  display:none!important;
}
body.current-page-home .app-shell,
body.current-page-help .app-shell,
#home,
#help{
  background:#141414;
}
#home,
#help{
  min-height:calc(100vh - 86px);
}
@media(max-width:600px){
  #profile{
    min-height:calc(100vh - 72px);
    padding-bottom:94px;
  }
  #profile .profile-copy-hero{
    padding:48px 24px 38px;
    gap:20px;
  }
  #profile .profile-copy-avatar{
    width:116px;
    height:116px;
  }
  #profile .profile-copy-avatar svg{
    width:84px;
    height:84px;
  }
  #profile .profile-copy-login{
    width:172px;
    height:56px;
    font-size:21px;
  }
  #profile .profile-copy-menu{
    padding:0 24px;
  }
  #profile .profile-copy-menu button{
    min-height:72px;
    margin-bottom:16px;
    padding:0 20px;
  }
  #profile .profile-copy-menu button span{
    font-size:22px;
  }
  #profile .profile-copy-menu p{
    font-size:16px;
  }
}

/* Desktop profile one-screen fit */
@media(min-width:900px){
  #profile{
    min-height:calc(100vh - 86px);
    padding-bottom:118px;
  }
  #profile .profile-copy-hero{
    padding:44px 42px 34px;
    gap:18px;
  }
  #profile .profile-copy-avatar{
    width:112px;
    height:112px;
  }
  #profile .profile-copy-avatar svg{
    width:82px;
    height:82px;
  }
  #profile .profile-copy-login{
    width:170px;
    height:54px;
    border-radius:10px;
    font-size:22px;
  }
  #profile .profile-copy-menu{
    padding:0 42px;
  }
  #profile .profile-copy-menu button{
    min-height:66px;
    margin-bottom:12px;
    padding:0 22px;
    border-radius:10px;
    grid-template-columns:1fr 28px;
  }
  #profile .profile-copy-menu button span{
    font-size:22px;
  }
  #profile .profile-copy-menu button i{
    font-size:42px;
  }
  #profile .profile-copy-menu p{
    margin:-6px 0 13px;
    font-size:15px;
  }
}

/* Login success toast */
.toast.success{
  min-width:330px;
  min-height:64px;
  padding:0 26px;
  border-radius:9px;
  background:#252525;
  color:#f2f2f2;
  font-size:20px;
  font-weight:800;
  gap:14px;
  box-shadow:0 14px 32px rgba(0,0,0,.38);
}
.toast.success::before{
  content:"✓";
  width:26px;
  height:26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#20c68b;
  color:#101010;
  font-size:17px;
  font-weight:900;
  flex:0 0 auto;
}
@media(max-width:600px){
  .toast.success{
    min-width:300px;
    min-height:60px;
    font-size:18px;
  }
}

/* Center profile logout/login button text */
#profile .profile-copy-login{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  padding-top:2px;
}

/* Logout confirm dialog */
.logout-dialog-backdrop{
  position:fixed;
  inset:0;
  z-index:80;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.58);
  padding:20px;
}
.logout-dialog-backdrop.open{display:flex}
.logout-dialog{
  position:relative;
  width:min(100%,670px);
  background:#181818;
  color:#f2f2f2;
  border-radius:3px;
  padding:22px 40px 28px;
  box-shadow:0 22px 70px rgba(0,0,0,.55);
}
.logout-dialog h2{
  margin:0 0 20px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:30px;
  line-height:1.15;
}
.logout-dialog h2 span{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ffa51b;
  color:#151515;
  font-size:24px;
  font-weight:900;
}
.logout-dialog p{
  margin:0 0 28px;
  font-size:22px;
  font-weight:700;
}
.logout-dialog-close{
  position:absolute;
  top:14px;
  right:22px;
  border:0;
  background:transparent;
  color:#9b9b9b;
  font-size:40px;
  line-height:1;
}
.logout-dialog-actions{
  display:flex;
  justify-content:flex-end;
  gap:18px;
}
.logout-dialog-actions button{
  min-width:92px;
  height:42px;
  border-radius:9px;
  font-size:18px;
  border:0;
}
.logout-cancel{
  color:#15100a;
  font-weight:800;
  background:linear-gradient(120deg,#d99d2b,#ffe38b 55%,#e0a331);
  box-shadow:0 0 0 1px rgba(245,195,91,.55),0 8px 20px rgba(216,162,47,.22);
}
.logout-confirm{
  color:#111;
  background:#ff4148;
}
@media(max-width:600px){
  .logout-dialog{padding:20px 24px 24px}
  .logout-dialog h2{font-size:26px}
  .logout-dialog p{font-size:19px}
}

/* Darker profile gold button */
#profile .profile-copy-login{
  background:linear-gradient(120deg,#c9891f 0%,#e7b447 48%,#d4992d 100%)!important;
  color:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,232,154,.25)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.28);
}

/* Unified darker gold buttons except home Login / Sign Up quick cards */
.gold-btn:not(.quick-card),
#submitAuth,
#checkUid,
.home-contact-actions button,
.logout-cancel,
#profile .profile-copy-login,
.search-row button,
.copy{
  background:linear-gradient(120deg,#c9891f 0%,#e7b447 48%,#d4992d 100%)!important;
  color:#111!important;
  box-shadow:0 8px 18px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,232,154,.25)!important;
  text-shadow:none!important;
}
#profile .profile-copy-login{
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.28)!important;
}
.quick-grid .quick-card{
  background:linear-gradient(100deg,#9a7a39 0%,#fff58f 50%,#93713a 100%)!important;
}

/* Keep home contact buttons blue */
.home-contact-actions button{
  background:#0c2b54!important;
  color:var(--gold)!important;
  box-shadow:inset 0 0 0 1px rgba(255,231,157,.13),0 8px 22px rgba(0,0,0,.24),0 0 10px rgba(216,162,47,.08)!important;
}
.home-contact-actions button:hover{
  background:#123866!important;
}

/* Logged-in profile layout like reference */
#profile .profile-email,
#profile .profile-status-pill{
  display:none;
}
body.logged-in #profile .profile-copy-hero{
  padding:48px 42px 44px;
  gap:12px;
}
body.logged-in #profile .profile-copy-avatar{
  width:126px;
  height:126px;
  background:#129fe4!important;
  box-shadow:none!important;
}
body.logged-in #profile .profile-copy-avatar svg{
  width:100px;
  height:100px;
  fill:#fff!important;
}
.nav-profile-icon{
  position:relative;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  overflow:hidden;
}
.nav-profile-icon svg{
  width:30px!important;
  height:30px!important;
  fill:none!important;
  stroke:currentColor!important;
}
.bottom-nav .helpdesk-ball-icon{
  fill:currentColor!important;
  stroke:#071c38!important;
  stroke-width:2.3!important;
}
.bottom-nav .helpdesk-ball-icon circle:first-child{
  stroke:currentColor!important;
}
.bottom-nav .nav-profile-default-icon{
  fill:currentColor!important;
  stroke:none!important;
}
.bottom-nav .nav-profile-default-icon .profile-head,
.bottom-nav .nav-profile-default-icon .profile-body{
  fill:#071c38!important;
}
body.logged-in .nav-profile-icon.has-profile-photo svg{
  display:none;
}
body:not(.logged-in) .nav-profile-icon .profile-avatar-photo{
  display:none!important;
}
.profile-avatar-photo{
  display:none;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
}
.has-profile-photo .profile-avatar-photo{
  display:block;
}
.has-profile-photo>svg{
  display:none!important;
}
#profile .profile-copy-avatar,
.edit-avatar{
  position:relative;
}
#profile .profile-copy-avatar{
  overflow:hidden;
}
body.logged-in #profile .profile-email{
  display:block;
  margin-top:12px;
  color:#f2f2f2;
  font-size:26px;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  word-break:break-word;
}
body.logged-in #profile .profile-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:122px;
  height:27px;
  padding:0 16px;
  border-radius:999px;
  background:#2b2d31;
  color:#bfc2c8;
  font-size:16px;
  font-weight:700;
}
body.logged-in #profile .profile-status-pill.verified{
  min-width:auto;
  background:transparent;
  color:#62d7a6;
  gap:7px;
}
body.logged-in #profile .profile-status-pill.verified::before{
  content:"✓";
  width:16px;
  height:16px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#62d7a6;
  color:#082015;
  font-size:11px;
  font-weight:900;
}
.profile-telegram-verify{
  display:none;
  color:#f1c24f;
  font-size:15px;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
body.logged-in #profile .profile-telegram-verify:not([hidden]){
  display:inline-block;
}
#profile .profile-copy-menu button.profile-logout-wide{
  display:none;
}
body.logged-in #profile .profile-copy-menu button.profile-logout-wide{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:74px;
  margin-top:16px;
  background:#f94145!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
  font-size:24px;
  font-weight:800;
}
body.logged-in #profile .profile-logout-wide svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.logged-in #profile .profile-copy-menu button:not(.profile-logout-wide){
  color:#fff;
}
body.logged-in #profile .profile-copy-menu button:not(.profile-logout-wide) span{
  font-size:24px;
}
@media(min-width:900px){
  body.logged-in #profile .profile-copy-hero{padding:52px 42px 44px;gap:12px}
  body.logged-in #profile .profile-copy-avatar{width:126px;height:126px}
  body.logged-in #profile .profile-copy-avatar svg{width:100px;height:100px}
  body.logged-in #profile .profile-email{font-size:26px}
  body.logged-in #profile .profile-copy-menu button.profile-logout-wide{min-height:74px;font-size:24px}
}
@media(max-width:600px){
  body.logged-in #profile .profile-copy-hero{padding:42px 24px 38px;gap:11px}
  body.logged-in #profile .profile-copy-avatar{width:112px;height:112px}
  body.logged-in #profile .profile-copy-avatar svg{width:88px;height:88px}
  body.logged-in #profile .profile-email{font-size:22px}
  body.logged-in #profile .profile-status-pill{height:25px;font-size:14px}
  body.logged-in #profile .profile-copy-menu button.profile-logout-wide{min-height:68px;font-size:22px}
}

body.current-page-editProfile .floating-chat{display:none}
body.current-page-wallet .floating-chat,
body.current-page-walletTransactions .floating-chat,
body.current-page-redemptionHistory .floating-chat,
body.current-page-redeemPoints .floating-chat,
body.current-page-editProfile .floating-chat{display:none}
body.current-page-wallet .topbar,
body.current-page-walletTransactions .topbar,
body.current-page-redemptionHistory .topbar,
body.current-page-redeemPoints .topbar,
body.current-page-editProfile .topbar{display:none}
body.current-page-memberProfiles .topbar,
body.current-page-memberPoints .topbar,
body.current-page-memberStatistics .topbar,
body.current-page-memberHistory .topbar{display:none}
body.current-page-memberProfiles .floating-chat,
body.current-page-memberPoints .floating-chat,
body.current-page-memberStatistics .floating-chat,
body.current-page-memberHistory .floating-chat{display:none}
body.current-page-memberProfiles .app-shell,
body.current-page-memberPoints .app-shell,
body.current-page-memberStatistics .app-shell,
body.current-page-memberHistory .app-shell{background:#141414}
.wallet-page{
  min-height:100vh;
  background:#07101f;
  padding-bottom:122px;
}
.wallet-top{
  border-bottom:1px solid rgba(255,255,255,.18);
}
.wallet-wrap{
  padding:22px 42px 0;
}
.wallet-balance-card{
  min-height:178px;
  padding:30px 58px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,220px);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:32px;
  border:2px solid #f1c24f;
  border-radius:23px;
  background:
    radial-gradient(circle at 96% 92%,rgba(245,190,75,.85),rgba(245,190,75,.2) 18%,transparent 38%),
    linear-gradient(105deg,#090100 0%,#0b0302 72%,#18120d 100%);
  box-shadow:inset 0 0 0 1px rgba(255,239,183,.2),0 14px 26px rgba(0,0,0,.36);
}
.wallet-balance-card p{
  grid-column:1;
  grid-row:1;
  margin:0 0 10px;
  color:#ffe119;
  font-size:20px;
  font-weight:900;
  display:flex;
  align-items:center;
  gap:9px;
}
.wallet-balance-card .xjcoins-balance-logo{
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:block;
  border-radius:50%;
  background:#000 url("assets/XJcoins.png?v=wallet-logo26") center/155% no-repeat;
  box-shadow:none;
  border-radius:50%;
  object-fit:cover;
  clip-path:circle(40.5% at 50% 48%);
  filter:none!important;
  box-shadow:none!important;
}
.wallet-balance-card strong{
  grid-column:1;
  grid-row:2;
  display:block;
  color:#fff;
  font-size:66px;
  line-height:1;
  font-weight:900;
  letter-spacing:-1px;
}
.wallet-history-head{
  margin:42px 0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.wallet-history-head h2{
  margin:0;
  color:#fff;
  font-size:33px;
  line-height:1.1;
}
.wallet-history-head button,
.wallet-redemption-history{
  border:0;
  background:transparent;
  color:#ffe119;
  font-size:18px;
  font-weight:800;
}
.wallet-empty-history{
  height:154px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:#242424;
}
.wallet-empty-history p{
  margin:0;
  color:#76839c;
  font-size:18px;
}
.wallet-empty-history.has-transactions{
  height:auto;
  min-height:0;
  display:block;
  place-items:initial;
  overflow:hidden;
  background:#1f2c3d;
}
.wallet-transaction-row{
  min-height:104px;
  padding:18px 22px;
  display:grid;
  grid-template-columns:50px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.wallet-transaction-row:last-child{border-bottom:0}
.wallet-transaction-coin{
  width:46px;
  height:46px;
  border-radius:50%;
  display:block;
  background:#000 url("assets/XJcoins.png?v=wallet-logo26") center/155% no-repeat;
  box-shadow:none;
}
.wallet-transaction-row div b,
.wallet-transaction-row div small,
.wallet-transaction-amount strong,
.wallet-transaction-amount small{display:block}
.wallet-transaction-row div b{color:#f5f7fb;font-size:19px;font-weight:800}
.wallet-transaction-row div small{margin-top:4px;color:#8fa0b9;font-size:14px}
.wallet-transaction-amount{text-align:right}
.wallet-transaction-amount strong{color:#39e487;font-size:24px;font-weight:900}
.wallet-transaction-amount small{margin-top:7px;color:#93a0b3;font-size:13px}
.wallet-voucher-row .wallet-transaction-coin{background-image:linear-gradient(145deg,#ffe28a,#c78700);border-radius:9px}
.wallet-voucher-row .wallet-transaction-coin::after{content:"V";display:grid;place-items:center;width:100%;height:100%;color:#4b2a00;font-weight:1000}
.wallet-voucher-row .wallet-transaction-amount strong{color:#ffd45a}
.wallet-redeem{
  grid-column:2;
  grid-row:1 / span 2;
  width:100%;
  min-width:0;
  height:72px;
  margin:0;
  border:0;
  border-radius:40px;
  background:#222d41;
  color:#465064;
  font-size:25px;
  font-weight:900;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.wallet-redeem:not(:disabled){
  cursor:pointer;
  color:#fff;
  background:linear-gradient(105deg,#cf8c14,#f0bd46,#d69418);
  background-size:220% 100%;
  box-shadow:0 10px 24px rgba(208,143,20,.24),inset 0 1px 0 rgba(255,255,255,.35);
  animation:walletRedeemGlow 3.2s ease-in-out infinite;
}
.wallet-redeem:not(:disabled)::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-35%;
  bottom:-35%;
  left:-45%;
  width:34%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  animation:walletRedeemSheen 2.6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes walletRedeemGlow{
  0%,100%{background-position:0 50%;box-shadow:0 10px 24px rgba(208,143,20,.24),inset 0 1px 0 rgba(255,255,255,.35)}
  50%{background-position:100% 50%;box-shadow:0 10px 30px rgba(240,189,70,.42),inset 0 1px 0 rgba(255,255,255,.48)}
}
@keyframes walletRedeemSheen{
  0%,18%{left:-45%;opacity:0}
  28%{opacity:1}
  64%,100%{left:115%;opacity:0}
}
.wallet-redeem:not(:disabled):active{transform:translateY(1px)}
.wallet-redeem.is-exhausted:disabled{
  color:#fff8f2;
  background:linear-gradient(105deg,#7d2631,#b83e43,#8e2931);
  border:1px solid rgba(255,166,142,.78);
  box-shadow:0 10px 24px rgba(143,35,44,.34),inset 0 1px 0 rgba(255,255,255,.16);
  opacity:1;
  cursor:not-allowed;
}
.wallet-redeem-note{
  margin:12px 0 0;
  color:#d7b65b;
  font-size:15px;
  text-align:center;
}
.wallet-redeem-note p{margin:4px 0}
.wallet-redeem-note strong{
  color:#ff434b;
  font-weight:800;
}
.wallet-redemption-head{margin-top:32px}
.wallet-redemption-head .wallet-redemption-history{
  display:inline-block;
  margin:0;
  color:#ffe119;
  font-size:18px;
}
.wallet-redemption-preview{margin-bottom:40px}
.wallet-combined-history{margin-bottom:40px}
.redeem-overlay{
  position:fixed;
  z-index:1000;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(2,7,16,.58);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.redeem-overlay.open{display:flex}
body.redeem-open{overflow:hidden}
.redeem-dialog{
  position:relative;
  width:min(560px,100%);
  padding:38px 32px 30px;
  border:1px solid #d89a1d;
  border-radius:22px;
  background:linear-gradient(145deg,#15110d 0%,#0c0907 100%);
  color:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.62),inset 0 1px rgba(255,220,120,.05);
}
.redeem-close{
  position:absolute;
  top:14px;
  right:16px;
  width:38px;
  height:38px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:28px;
  line-height:1;
}
.redeem-close:hover,.redeem-close:focus-visible{background:rgba(255,200,76,.18);outline:1px solid #ffc84c}
.redeem-dialog h2{margin:0 42px 20px;text-align:center;font-size:30px;line-height:1.2}
.redeem-balance{
  min-height:64px;
  padding:10px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border:1px solid #b9780c;
  border-radius:14px;
  background:linear-gradient(105deg,#120d09 45%,rgba(119,77,18,.35));
  box-shadow:inset 0 0 22px rgba(255,184,49,.04);
}
.redeem-balance-label{display:flex;align-items:center;gap:10px;color:#f9bd35}
.redeem-balance-label strong{font-size:16px}
.redeem-balance-coin{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  background:#000 url("assets/XJcoins.png?v=wallet-logo26") center/155% no-repeat;
}
.redeem-balance output{color:#fff;font-size:27px;font-weight:900;letter-spacing:.3px}
.redeem-rate{margin:20px 0 12px;text-align:center;color:#f5bd3b;font-weight:800}
.redeem-rm-note{
  width:max-content;
  max-width:100%;
  min-height:38px;
  margin:0 auto 24px;
  padding:7px 14px 7px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid rgba(255,196,63,.52);
  border-radius:20px;
  background:linear-gradient(90deg,rgba(255,188,44,.12),rgba(255,226,129,.05));
  color:#ffe08a;
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 7px 20px rgba(0,0,0,.18);
}
.redeem-rm-note-icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#ffd25d,#d78c0c);
  color:#241402;
  font-size:16px;
  font-weight:1000;
  box-shadow:0 0 12px rgba(255,192,46,.28);
}
.redeem-rm-note strong{font-size:14px;letter-spacing:.15px}
.redeem-converter{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:end;gap:10px}
.redeem-converter-field{display:block;margin:0;color:#fff;font-weight:800}
.redeem-converter-field>span{display:block;margin:0 0 9px}
.redeem-converter-field>.redeem-field-label{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:25px;
  white-space:nowrap;
}
.redeem-field-icon{
  width:27px;
  height:27px;
  flex:0 0 27px;
  display:block;
  object-fit:contain;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal;
}
.redeem-dialog input,.redeem-converter-field output{
  width:100%;
  height:58px;
  padding:0 16px;
  display:flex;
  align-items:center;
  border:1px solid #765116;
  border-radius:14px;
  background:#0c0907;
  color:#fff;
  font-size:21px;
  font-weight:500;
  outline:none;
}
.redeem-converter-field output{color:#d8d8d8}
.redeem-converter-field output.is-placeholder{color:#777;font-weight:500}
#redeemAmount{-moz-appearance:textfield;appearance:textfield}
#redeemAmount::-webkit-inner-spin-button,
#redeemAmount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.redeem-converter-arrow{height:58px;display:grid;place-items:center;color:#f5ad19;font-size:32px;font-weight:900}
.redeem-dialog input:focus{border-color:#ffc84c;box-shadow:0 0 0 3px rgba(255,200,76,.14)}
.redeem-rules{
  margin:18px 0 0;
  min-height:58px;
  padding:10px 22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);
  align-items:center;
  gap:20px;
  border:1px solid rgba(168,108,12,.62);
  border-radius:16px;
  background:linear-gradient(90deg,rgba(18,13,9,.95),rgba(13,10,7,.98));
  font-size:16px;
  font-weight:800;
  line-height:1.55;
}
.redeem-rules p{margin:0;display:flex;align-items:center;gap:9px;color:#fff;line-height:1;white-space:nowrap}
.redeem-rules p:first-child{justify-self:start}
.redeem-rules p:last-child{justify-self:start}
.redeem-rules strong{margin-left:8px;color:#ff3347;font-size:18px}
.redeem-rule-icon{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;color:#f4b51d}
.redeem-rule-icon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.redeem-rule-icon .redeem-rule-icon-fill{fill:currentColor;stroke:none}
.redeem-rules-divider{width:1px;height:32px;flex:0 0 1px;background:linear-gradient(transparent,#f3c23a 20%,#f3c23a 80%,transparent);box-shadow:0 0 8px rgba(243,194,58,.18)}
.redeem-reset-note{
  margin:8px 0 0;
  padding:0;
  border:0;
  background:none;
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
  text-align:center;
}
.redeem-error{min-height:20px;margin:6px 0 2px;color:#ff7777;font-size:13px}
.redeem-submit{
  width:100%;
  height:68px;
  border:0;
  border-radius:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  background:linear-gradient(100deg,#eda20e,#ffc74c 55%,#f4a716);
  color:#1a1004;
  font-size:21px;
  font-weight:900;
  cursor:pointer;
  box-shadow:inset 0 1px rgba(255,235,155,.55),0 9px 22px rgba(0,0,0,.2);
}
.redeem-submit-icon{width:32px;height:32px;flex:0 0 32px;fill:#111}
.redeem-submit:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){
  .redeem-overlay{padding:18px}
  .redeem-dialog{padding:30px 18px 22px;border-radius:20px}
  .redeem-dialog h2{font-size:25px;margin-bottom:18px}
  .redeem-balance{min-height:58px;padding:9px 12px}
  .redeem-balance output{font-size:23px}
  .redeem-converter{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:6px}
  .redeem-converter-field>span{font-size:13px}
  .redeem-converter-field>.redeem-field-label{gap:5px;min-height:21px}
  .redeem-field-icon{width:23px;height:23px;flex-basis:23px}
  .redeem-converter-arrow{font-size:25px}
  .redeem-rules{min-height:52px;gap:8px;padding:8px 10px;font-size:12px}
  .redeem-rules p{gap:5px}
  .redeem-rules strong{margin-left:2px;font-size:14px}
  .redeem-rule-icon{width:20px;height:20px;flex-basis:20px}
  .redeem-rules-divider{height:28px}
  .redeem-reset-note{margin-top:7px;font-size:12px}
  .redeem-submit{height:60px;gap:10px;font-size:16px}
  .redeem-submit-icon{width:27px;height:27px;flex-basis:27px}
}
@media(min-width:900px){
  .redeem-overlay{
    right:auto;
    bottom:auto;
    width:156.25vw;
    height:156.25vh;
  }
}
.wallet-redemption-history{
  display:block;
  margin:21px auto 0;
  color:#aeb6c5;
  font-size:20px;
  text-decoration:none;
}
.wallet-redemption-history:active,
.wallet-redemption-history:focus-visible{
  text-decoration:underline;
  text-underline-offset:3px;
}
.redemption-wrap{
  padding-top:22px;
  min-height:calc(100vh - 98px);
}
.transaction-wrap{
  padding-top:22px;
  min-height:calc(100vh - 98px);
}
.redemption-empty{
  height:152px;
}
.transaction-empty{
  height:152px;
}
@media(max-width:600px){
  .wallet-wrap{padding:20px 22px 0}
  .wallet-balance-card{min-height:154px;padding:24px 20px;border-radius:21px;grid-template-columns:minmax(0,1fr) minmax(124px,42%);column-gap:14px}
  .wallet-balance-card p{font-size:15px;gap:6px}
  .wallet-balance-card .xjcoins-balance-logo{width:23px;height:23px;flex-basis:23px}
  .wallet-balance-card strong{font-size:42px}
  .wallet-history-head h2{font-size:29px}
  .wallet-empty-history{height:132px}
  .wallet-transaction-row{min-height:94px;padding:15px 14px;grid-template-columns:42px minmax(0,1fr) auto;gap:10px}
  .wallet-transaction-coin{width:40px;height:40px;font-size:12px}
  .wallet-transaction-row div b{font-size:16px}
  .wallet-transaction-row div small{font-size:12px}
  .wallet-transaction-amount strong{font-size:19px}
  .wallet-transaction-amount small{font-size:11px}
  .wallet-redeem{height:64px;font-size:17px;padding:0 10px}
}
@media(max-width:420px){
  .wallet-balance-card{padding:22px 16px;grid-template-columns:minmax(0,1fr) 122px;column-gap:10px}
  .wallet-balance-card p{font-size:13px}
  .wallet-balance-card strong{font-size:37px}
  .wallet-redeem{font-size:15px}
}
#editProfile{
  min-height:100vh;
  background:#151515;
  padding-bottom:128px;
}
.edit-profile-top{
  height:96px;
  padding:0 40px;
  display:flex;
  align-items:center;
  gap:22px;
  background:#0d2a50;
}
.edit-profile-back{
  width:46px;
  height:46px;
  border:0;
  background:transparent;
  color:#fff;
  display:grid;
  place-items:center;
  padding:0;
}
.edit-profile-back svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.edit-profile-top h1{
  margin:0;
  font-size:30px;
  font-weight:800;
}
.edit-profile-wrap{
  padding:32px 36px 0;
}
.edit-profile-card{
  margin-bottom:30px;
  padding:32px;
  border-radius:9px;
  background:#1f2c3d;
}
.edit-profile-card h2{
  margin:0 0 26px;
  font-size:26px;
  line-height:1.1;
}
.edit-photo-row{
  min-height:128px;
  display:flex;
  align-items:center;
  gap:30px;
}
.edit-avatar{
  position:relative;
  width:126px;
  height:126px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#129fe4;
  flex:0 0 auto;
}
.edit-avatar>svg{
  width:100px;
  height:100px;
  fill:#fff;
}
.edit-camera{
  position:absolute;
  right:0;
  bottom:13px;
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#efb33d;
  color:#fff;
  border:0;
  padding:0;
  z-index:2;
}
.edit-camera svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.edit-photo-row p{
  margin:0;
  color:#aeb8c7;
  font-size:20px;
}
.edit-photo-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
.upload-photo-button{
  min-width:181px;
  height:55px;
  border:0;
  border-radius:9px;
  background:#efbd55;
  color:#fff;
  font-size:20px;
  font-weight:800;
}
.avatar-choice-backdrop{
  position:fixed;
  inset:0;
  z-index:1500;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(5px);
}
body.avatar-dialog-open{
  overflow:hidden;
}
.verification-required-backdrop{
  position:fixed;
  inset:0;
  z-index:1600;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(1,8,18,.62);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.verification-required-backdrop[hidden]{
  display:none!important;
}
body.verification-required-open{
  overflow:hidden;
}
.verification-required-card{
  width:min(100%,430px);
  padding:32px 28px 26px;
  border:1px solid rgba(239,179,61,.72);
  border-radius:20px;
  background:linear-gradient(145deg,#21150d,#100e0d 72%);
  color:#fff;
  text-align:center;
  box-shadow:0 24px 65px rgba(0,0,0,.5),0 0 35px rgba(239,179,61,.09);
}
.verification-required-icon{
  width:54px;
  height:54px;
  margin:0 auto 16px;
  border:2px solid #f0b640;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(239,179,61,.13);
  color:#f5c35b;
  font-size:30px;
  font-weight:900;
}
.verification-required-card h2{
  margin:0;
  color:#f5c35b;
  font-size:24px;
}
.verification-required-card p{
  margin:15px 0 24px;
  color:#fff;
  font-size:19px;
  font-weight:700;
}
.verification-required-card button{
  width:100%;
  min-height:50px;
  border:1px solid #ffd66b;
  border-radius:12px;
  background:linear-gradient(100deg,#d89416,#f4c24d);
  color:#111;
  font-size:17px;
  font-weight:900;
}
.verification-required-card button:focus-visible{
  outline:3px solid rgba(255,214,107,.45);
  outline-offset:3px;
}
.promotion-eligibility-backdrop{position:fixed;inset:0;z-index:1650;display:grid;place-items:center;padding:22px;background:rgba(1,6,14,.7);backdrop-filter:blur(13px) saturate(.72);-webkit-backdrop-filter:blur(13px) saturate(.72)}
.promotion-eligibility-backdrop[hidden]{display:none!important}
body.promotion-eligibility-open{overflow:hidden}
.promotion-eligibility-card{position:relative;width:min(100%,500px);padding:30px 28px 26px;overflow:hidden;border:1px solid rgba(240,183,68,.8);border-radius:24px;background:radial-gradient(circle at 88% 2%,rgba(237,174,52,.22),transparent 34%),linear-gradient(145deg,#21160e,#0e0d0d 72%);color:#fff;box-shadow:0 28px 90px rgba(0,0,0,.66),0 0 45px rgba(239,179,61,.1)}
.promotion-eligibility-card::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,236,172,.18)}
.promotion-eligibility-close{position:absolute;top:13px;right:14px;width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:27px;line-height:1}
.promotion-eligibility-icon{width:64px;height:64px;margin:0 auto 14px;display:grid;place-items:center;border:1px solid rgba(255,211,112,.72);border-radius:20px;background:linear-gradient(145deg,rgba(245,195,91,.23),rgba(245,195,91,.06));color:#f5c35b;box-shadow:0 12px 30px rgba(0,0,0,.25),inset 0 0 20px rgba(245,195,91,.08)}
.promotion-eligibility-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.promotion-eligibility-kicker{display:block;text-align:center;color:#e7ad3a;font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.promotion-eligibility-card h2{margin:7px 40px 5px;text-align:center;color:#fff;font-size:27px;line-height:1.25}
.promotion-eligibility-lead{margin:0 auto 20px;text-align:center;color:#b9c3d2;font-size:13px;line-height:1.55}
.promotion-eligibility-rules{display:grid;gap:9px}
.promotion-eligibility-rules>div{display:grid;grid-template-columns:30px 1fr;gap:11px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(3,10,20,.45)}
.promotion-eligibility-rules>div>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(145deg,#f5c35b,#c98916);color:#171006;font-size:13px;font-weight:900}
.promotion-eligibility-rules p{margin:0;color:#fff;font-size:13px;line-height:1.45}
.promotion-eligibility-progress{margin-top:16px;padding:13px 14px 14px;border:1px solid rgba(245,195,91,.28);border-radius:13px;background:rgba(245,195,91,.07)}
.promotion-eligibility-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#d4dbe5;font-size:12px}
.promotion-eligibility-progress strong{color:#f7c75e;font-size:13px;white-space:nowrap}
.promotion-progress-track{height:7px;margin-top:10px;overflow:hidden;border-radius:999px;background:#090b10}
.promotion-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d58e12,#ffd66f);box-shadow:0 0 12px rgba(255,204,88,.4);transition:width .35s ease}
.promotion-eligibility-confirm{width:100%;min-height:50px;margin-top:17px;border:1px solid #ffda76;border-radius:13px;background:linear-gradient(110deg,#d99016,#f7c654 62%,#e7a92f);color:#15100a;font-size:16px;font-weight:900;box-shadow:0 10px 25px rgba(226,160,30,.16)}
.promotion-eligibility-close:focus-visible,.promotion-eligibility-confirm:focus-visible{outline:3px solid rgba(255,214,107,.42);outline-offset:3px}
.avatar-choice-backdrop[hidden],
.avatar-system-panel[hidden]{
  display:none!important;
}
.avatar-choice-sheet{
  width:min(100%,520px);
  padding-bottom:max(0px,env(safe-area-inset-bottom));
  color:#18202b;
}
.avatar-choice-menu,
.avatar-system-panel{
  overflow:hidden;
  border-radius:17px;
  background:#fff;
  box-shadow:0 20px 55px rgba(0,0,0,.42);
}
.avatar-choice-menu h2,
.avatar-system-panel h2{
  margin:0;
  padding:21px 20px;
  border-bottom:1px solid #e2e4e8;
  color:#1a1e25;
  font-size:19px;
  font-weight:500;
  text-align:center;
}
.avatar-choice-menu>button,
.avatar-choice-cancel{
  width:100%;
  min-height:59px;
  border:0;
  border-top:1px solid #edf0f3;
  background:#fff;
  color:#252a32;
  font-size:18px;
  font-weight:500;
}
.avatar-choice-menu>h2+button{
  border-top:0;
}
.avatar-choice-menu>button:active,
.avatar-choice-cancel:active{
  background:#f1f3f5;
}
.avatar-choice-menu .avatar-choice-cancel,
.avatar-system-panel .avatar-choice-cancel{
  margin-top:8px;
  color:#737982;
}
.avatar-system-panel>p{
  margin:0;
  padding:12px 20px 4px;
  color:#6b7380;
  font-size:15px;
  text-align:center;
}
.system-avatar-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  padding:17px 24px 22px;
}
.system-avatar-option{
  position:relative;
  aspect-ratio:1;
  overflow:hidden;
  padding:3px;
  border:2px solid transparent;
  border-radius:50%;
  background:#eef1f5;
  box-shadow:0 7px 18px rgba(0,0,0,.25);
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.system-avatar-option:hover{
  transform:translateY(-2px);
  border-color:rgba(245,195,91,.65);
}
.system-avatar-option img{
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
}
.system-avatar-option.is-selected{
  border-color:#f5c35b;
  box-shadow:0 0 0 3px rgba(245,195,91,.2),0 8px 22px rgba(0,0,0,.3);
}
.system-avatar-option.is-selected::after{
  content:"✓";
  position:absolute;
  right:2px;
  bottom:2px;
  width:22px;
  height:22px;
  border:2px solid #1f2c3d;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#efb33d;
  color:#111;
  font-size:13px;
  font-weight:900;
}
.edit-profile-card label{
  display:block;
  margin:0 0 22px;
  color:#dce3ee;
  font-size:20px;
}
.edit-profile-card input{
  width:100%;
  height:58px;
  margin-top:7px;
  padding:0 20px;
  border:1px solid #536177;
  border-radius:10px;
  background:#3b4657;
  color:#fff;
  font-size:20px;
  font-weight:700;
  outline:none;
}
.edit-profile-card input[readonly],
.edit-profile-card input:disabled{
  color:#f4f7fb;
  background:#303a49;
  cursor:not-allowed;
  user-select:all;
}
.edit-profile-actions{
  display:flex;
  gap:16px;
  align-items:center;
  margin-top:10px;
}
.edit-profile-actions button{
  min-width:132px;
  height:56px;
  border-radius:9px;
  font-size:20px;
  font-weight:700;
}
.edit-save{
  border:0;
  background:#947a42;
  color:#adb6c5;
}
.edit-save.is-ready{
  background:#f6bf4f;
  color:#fff;
}
.edit-save:disabled{
  cursor:not-allowed;
}
.edit-cancel{
  border:1px solid #536177;
  background:#1f2c3d;
  color:#fff;
}
.edit-password-toggle{
  width:100%;
  min-height:78px;
  padding:0 32px;
  border:0;
  border-radius:9px;
  background:#1f2c3d;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:25px;
  font-weight:800;
}
.edit-password-toggle svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.edit-password-toggle.is-open{
  border-radius:9px 9px 0 0;
}
.edit-password-toggle.is-open svg{
  transform:rotate(180deg);
}
.change-password-card{
  margin-top:0;
  border-radius:0 0 9px 9px;
  padding-top:22px;
}
.edit-password-wrap{
  display:flex;
  align-items:center;
  height:58px;
  margin-top:7px;
  border:1px solid #536177;
  border-radius:10px;
  background:#3b4657;
  overflow:hidden;
}
.edit-password-wrap input{
  height:100%;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  flex:1;
}
.edit-password-wrap input::placeholder{
  color:#aeb8c7;
  opacity:1;
}
.edit-password-wrap .password-toggle{
  width:58px;
  height:100%;
  border:0;
  background:transparent;
  color:#aeb8c7;
  display:grid;
  place-items:center;
}
.edit-password-wrap .password-toggle svg{
  width:26px;
  height:26px;
  transform:translateY(-2px);
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.edit-password-wrap .password-toggle .eye-open,
.edit-password-wrap .password-toggle.showing .eye-closed{
  display:none;
}
.edit-password-wrap .password-toggle .eye-closed,
.edit-password-wrap .password-toggle.showing .eye-open{
  display:block;
}
.change-password-error{
  min-height:24px;
  margin:0 0 14px;
  color:#ff4148;
  font-size:20px;
}
.change-password-submit{
  min-width:240px;
  height:56px;
  border:0;
  border-radius:9px;
  background:#947a42;
  color:#adb6c5;
  font-size:20px;
  font-weight:700;
}
.change-password-submit.is-ready{
  background:#f6bf4f;
  color:#fff;
}
.change-password-submit:disabled{
  cursor:not-allowed;
}
.member-page{min-height:100vh;background:#141414;padding-bottom:110px}
.member-top{height:98px;padding:0 32px;display:flex;align-items:center;gap:22px;background:#020814 url("assets/xiaoxiao-header-bg.png?v=clean3") center/cover no-repeat}
.member-top h1{margin:0;color:#fff;font-size:34px;font-weight:900}
.member-back{width:40px;height:40px;border:0;background:transparent;color:#fff;display:grid;place-items:center;padding:0}
.member-back svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.member-wrap{padding:20px 33px 0}
body.current-page-memberHistory .member-wrap{padding-top:22px;min-height:calc(100vh - 98px)}
.member-summary-card{min-height:242px;padding:33px 24px 30px;border-radius:20px;background:#efbd55;color:#071d3a;text-align:center}
.member-summary-card p{margin:0 0 7px;font-size:20px;font-weight:900}
.member-summary-card strong{display:block;margin:0 0 22px;color:#fff;font-size:49px;line-height:1;font-weight:900}
.member-summary-card b{display:block;color:#fff;font-size:34px;line-height:1.1}
.member-profile-card{width:100%;min-height:140px;margin-top:21px;padding:24px 22px;border:1px solid rgba(121,61,188,.65);border-radius:18px;background:linear-gradient(110deg,rgba(1,5,12,.98),rgba(3,10,23,.95) 46%,rgba(8,38,91,.88)),url("assets/xiaoxiao-header-bg.png?v=clean3") center/cover no-repeat;color:#fff;box-shadow:inset 0 0 0 1px rgba(102,65,165,.2),0 0 10px rgba(94,55,154,.34);display:flex;align-items:center;justify-content:space-between;text-align:left}
.member-profile-card b{display:block;margin-bottom:26px;font-size:24px;font-weight:900}
.member-profile-card em{display:inline-flex;min-width:82px;height:38px;padding:0 15px;border-radius:10px;background:linear-gradient(135deg,#b861ff,#5b43df);color:#fff;align-items:center;justify-content:center;font-size:20px;font-style:normal;font-weight:900}
.member-profile-card i{color:#d184ff;font-size:45px;font-style:normal;font-weight:200}
.member-detail-summary{min-height:320px;padding-top:31px}
.member-detail-summary h2{margin:0;font-size:35px;font-weight:900}
.member-detail-summary hr{height:1px;margin:12px 8px 26px;border:0;background:rgba(255,255,255,.78)}
.member-history-card{margin-top:21px;border-radius:19px;background:#1f2c3d;color:#fff;overflow:hidden}
.member-history-head{min-height:106px;padding:22px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.09)}
.member-history-head h2,.member-history-full h2{margin:0 0 8px;font-size:26px;font-weight:900}
.member-history-head p,.member-history-full>p{margin:0;color:#aeb8c7;font-size:17px}
.member-history-head button{margin-top:18px;border:0;background:transparent;color:#8d96aa;font-size:18px}
.member-recent-row,.member-full-row{min-height:88px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between}
.member-recent-row b,.member-full-row b{display:block;color:#dce3ee;font-size:20px}
.member-recent-row small,.member-full-row small{display:block;color:#8895a8;font-size:16px}
.member-recent-row strong,.member-full-row strong{color:#38e287;font-size:25px;font-weight:900}
#memberPoints .member-recent-row{min-height:96px;padding:22px 23px;background:#1f2c3d}
#memberPoints .member-recent-row b{margin:0 0 3px;color:#f4f6fa;font-size:18px;line-height:1.25;font-weight:500}
#memberPoints .member-recent-row small{color:#8193b2;font-size:15px;line-height:1.25;font-weight:400}
#memberPoints .member-recent-row strong{color:#39e487;font-size:26px;line-height:1;font-weight:900;letter-spacing:-.4px}
.member-history-empty{min-height:88px;padding:20px 22px;display:flex;align-items:center;justify-content:center;color:#8f9caf;font-size:17px;text-align:center}
.member-history-empty-full{min-height:150px;margin-top:14px;border-top:1px solid rgba(255,255,255,.09)}
.member-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.member-actions button{height:49px;border:0;border-radius:12px;background:#0d2a50;color:#fff;font-size:18px;font-weight:800}
.member-history-full{margin-top:0;padding-top:24px;border-radius:19px}
#memberHistory .member-history-full{margin-top:20px}
.member-history-full h2,.member-history-full>p{padding:0 21px;transform:translateY(-8px)}
.member-full-row{margin-top:22px;border-top:1px solid rgba(255,255,255,.09);align-items:flex-start}
.member-full-row p{margin:0 0 8px;color:#aeb8c7;font-size:17px}
.member-full-row em{display:inline-flex;height:28px;padding:0 10px;margin-right:10px;border-radius:5px;background:#0b753c;color:#7bffae;align-items:center;font-size:16px;font-style:normal}
.stats-range-card,.stats-result-card{border-radius:19px;background:#1f2c3d;color:#fff}
.stats-range-card{padding:26px}
.stats-range-card h2{margin:0 0 18px;font-size:24px;font-weight:900}
.stats-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.stats-tabs button{height:43px;padding:0 16px;border:0;border-radius:9px;background:#3b4657;color:#c0cad7;font-size:16px}
.stats-tabs button.active{border:2px solid #efbd55;background:#0d2a50;color:#fff;font-weight:800}
.stats-date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stats-date-shell{position:relative}
.stats-date-display{width:100%;height:60px;padding:0 18px;border:1px solid #3b4657;border-radius:8px;background:#171717;color:#fff;font-size:26px;display:flex;align-items:center;justify-content:space-between;text-align:left}
.stats-date-display i{width:22px;height:22px;border:2px solid #888;border-radius:3px;position:relative;opacity:.85;flex:0 0 auto}
.stats-date-display i::before{content:"";position:absolute;left:-2px;right:-2px;top:5px;border-top:2px solid #888}
.stats-calendar{position:absolute;z-index:45;width:435px;max-width:calc(100% - 52px);padding:17px 18px 20px;border-radius:8px;background:#171717;color:#ddd;box-shadow:0 18px 45px rgba(0,0,0,.35)}
.stats-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.stats-calendar-head strong{font-size:23px;color:#f2f2f2}
.stats-calendar-head button,.stats-calendar-now{border:0;background:transparent;color:#858585;font-size:28px}
.stats-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;text-align:center}
.stats-calendar-day-name{height:31px;color:#d8d8d8;font-size:22px;font-weight:800;border-bottom:1px solid #2d2d2d}
.stats-calendar-day{height:41px;border:0;border-radius:4px;background:transparent;color:#e4e4e4;font-size:23px}
.stats-calendar-day.muted{color:#777}
.stats-calendar-day.selected{background:#0d4e9b;color:#fff}
.stats-calendar-foot{display:flex;justify-content:flex-end;margin-top:15px;padding-top:13px;border-top:1px solid #2d2d2d}
.stats-calendar-now{height:34px;padding:0 10px;border:1px solid #3a3a3a;border-radius:9px;font-size:17px;color:#e8e8e8}
.stats-result-card{min-height:180px;margin-top:20px;display:block;text-align:left;overflow:hidden}
.stats-result-card>.member-history-empty{min-height:180px}
.stats-result-card>.member-history-empty-full{border-top:0}
.stats-result-card .member-full-row{margin-top:0}
.stats-result-card .member-full-row{min-height:145px;padding:22px 20px;background:#3b4657;border-top:0}
.stats-result-card .member-full-row p{margin-bottom:9px;color:#aeb8c7;font-size:18px}
.stats-result-card .member-full-row em{height:29px;padding:0 11px;border-radius:6px;background:#08783d;color:#45ee8c;font-size:17px;font-weight:800}
.stats-result-card .member-full-row b{margin-bottom:5px;color:#dce3ee;font-size:18px;font-weight:600}
.stats-result-card .member-full-row small{color:#8f9aaa;font-size:17px}
.stats-result-card .member-full-row>strong{color:#38e287;font-size:28px;font-weight:900}
.stats-empty h3{margin:21px 0 5px;color:#cbd4e2;font-size:20px;font-weight:500}
.stats-empty p{margin:0;color:#8793a7;font-size:16px}
.stats-chart-icon{width:63px;height:63px;margin:0 auto;border-radius:8px;background:linear-gradient(90deg,#d2d3df 0 25%,#bbb8d4 25% 50%,#d2d3df 50% 75%,#aab1ca 75%);display:flex;align-items:flex-end;justify-content:center;gap:5px;padding:8px}
.stats-chart-icon span{width:11px;border-radius:3px 3px 0 0}
.stats-chart-icon span:nth-child(1){height:46px;background:#8bef4c}
.stats-chart-icon span:nth-child(2){height:30px;background:#ff3d94}
.stats-chart-icon span:nth-child(3){height:52px;background:#52b8ff}
.stats-summary{width:100%}
.stats-summary h2{margin:0 0 8px;font-size:27px;font-weight:900}
.stats-summary>p{margin:0 0 20px;color:#c0cad7;font-size:17px}
.stats-platform-row{min-height:100px;padding:24px 20px;border-top:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:space-between;text-align:left}
.stats-platform-row b{display:block;font-size:20px}
.stats-platform-row small{display:block;margin-top:8px;color:#c0cad7;font-size:16px}
.stats-platform-row strong{display:block;color:#ffd080;font-size:27px}
.stats-platform-row em{display:block;color:#c0cad7;font-size:16px;font-style:normal}
@media(max-width:600px){
  #editProfile{min-height:100vh;padding-bottom:96px}
  .edit-profile-top{height:82px;padding:0 22px;gap:14px}
  .edit-profile-top h1{font-size:25px}
  .edit-profile-wrap{padding:24px 18px 0}
  .edit-profile-card{padding:28px 32px;margin-bottom:24px}
  .edit-profile-card h2{font-size:24px}
  .edit-photo-row{gap:26px}
  .edit-avatar{width:108px;height:108px}
  .edit-avatar>svg{width:86px;height:86px}
  .edit-photo-row p{font-size:18px}
  .avatar-choice-backdrop{padding:10px}
  .avatar-choice-sheet{width:100%}
  .system-avatar-grid{gap:12px;padding:15px 20px 19px}
  .verification-required-backdrop{padding:18px}
  .verification-required-card{padding:28px 20px 22px}
  .verification-required-card h2{font-size:22px}
  .verification-required-card p{font-size:17px}
  .edit-profile-card label,.edit-profile-card input,.edit-profile-actions button{font-size:18px}
  .edit-password-toggle{min-height:72px;font-size:22px}
  .change-password-error,.change-password-submit{font-size:18px}
  .change-password-submit{min-width:210px}
  .member-top{height:84px;padding:0 20px;gap:15px}
  .member-top h1{font-size:30px}
  .member-wrap{padding:19px 20px 0}
  body.current-page-memberHistory .member-wrap{padding-top:22px;min-height:calc(100vh - 84px)}
  .member-summary-card{min-height:220px}
  .member-summary-card strong{font-size:44px}
  .member-summary-card b{font-size:30px}
  .member-profile-card{min-height:132px}
  .member-history-head{padding:20px}
  .stats-range-card{padding:22px}
  .stats-tabs{gap:9px;flex-wrap:nowrap;overflow-x:auto}
  .stats-tabs button{flex:0 0 auto}
  .stats-date-row{grid-template-columns:1fr 1fr}
  .stats-date-display{height:56px;font-size:19px;padding:0 14px}
  .stats-calendar{left:20px!important;width:435px;max-width:calc(100% - 40px)}
  .stats-calendar-head strong{font-size:21px}
  .stats-calendar-day-name{font-size:20px}
  .stats-calendar-day{height:39px;font-size:21px}
}

/* Final iPhone layout repair override */
@media(max-width:600px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;background:#071326}
  .app-shell{width:100%;min-height:100dvh;padding-bottom:calc(94px + env(safe-area-inset-bottom));overflow-x:hidden}
  .topbar{height:76px;min-height:76px;padding:0 16px}
  .topbar .brand{max-width:100%;gap:12px}
  .topbar .brand-mark{width:46px;height:46px;flex:0 0 46px}
  .brand b{font-size:18px!important;white-space:nowrap}
  .bottom-nav{left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;height:calc(86px + env(safe-area-inset-bottom));padding:8px 14px max(8px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0}
  .bottom-nav button{min-width:0;gap:3px;border-radius:14px}
  .bottom-nav button>svg,.bottom-nav .helpdesk-ball-icon,.bottom-nav .nav-profile-default-icon{width:25px!important;height:25px!important}
  .bottom-nav b{font-size:13px!important;line-height:1.1}
  .floating-chat{display:none!important}
  .events-gallery-section{min-height:0!important;padding:40px 16px calc(104px + env(safe-area-inset-bottom))!important}
  .events-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .event-poster{border-radius:10px}
  .event-poster b{font-size:12px}.event-poster small{font-size:7px}
  #profile{min-height:calc(100dvh - 76px);padding-bottom:calc(104px + env(safe-area-inset-bottom))}
  #profile .profile-copy-hero{padding:24px 22px 28px!important;gap:12px!important}
  #profile .profile-copy-avatar,body.logged-in #profile .profile-copy-avatar{width:96px!important;height:96px!important}
  #profile .profile-copy-avatar svg,body.logged-in #profile .profile-copy-avatar svg{width:74px!important;height:74px!important}
  #profile .profile-copy-login{width:156px;height:50px;font-size:19px}
  #profile .profile-copy-menu{padding:0 22px}
  #profile .profile-copy-menu button{min-height:66px!important;margin-bottom:14px;padding:0 20px}
  #profile .profile-copy-menu button span{font-size:22px;line-height:1.1}
  #profile .profile-copy-menu button i{font-size:38px}
}

/* Home: remove the empty area below EVENTS and attach the nav immediately */
body.current-page-home .app-shell{min-height:0!important;padding-bottom:0!important}
body.current-page-home #home{min-height:0!important}
body.current-page-home .events-gallery-section{min-height:0!important;padding-bottom:16px!important}
body.current-page-home .bottom-nav{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:100%!important;
  margin:0!important;
}

/* Reliable home crop even before app.js applies body state */
body:has(#home.active) .events-gallery-section{min-height:0!important;padding-bottom:16px!important}
body:has(#home.active) .app-shell{min-height:0!important;padding-bottom:0!important}
body:has(#home.active) #home{min-height:0!important}
body:has(#home.active) .bottom-nav{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:100%!important;
  margin:0!important;
}

/* Helpdesk and Profile: keep empty space and pin the nav to the viewport bottom */
body:has(#help.active) .app-shell,
body:has(#profile.active) .app-shell{
  min-height:100dvh!important;
  padding-bottom:105px!important;
  background:#141414!important;
}
body:has(#help.active) #help,
body:has(#profile.active) #profile{
  min-height:calc(100dvh - 86px)!important;
  padding-bottom:105px!important;
}
body:has(#help.active) .bottom-nav,
body:has(#profile.active) .bottom-nav{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:0!important;
  transform:translateX(-50%)!important;
  width:min(100%,810px)!important;
  margin:0!important;
}
@media(max-width:600px){
  body:has(#help.active) .app-shell,
  body:has(#profile.active) .app-shell{padding-bottom:94px!important}
  body:has(#help.active) #help,
  body:has(#profile.active) #profile{
    min-height:calc(100dvh - 76px)!important;
    padding-bottom:94px!important;
  }
  body:has(#help.active) .bottom-nav,
  body:has(#profile.active) .bottom-nav{
    left:0!important;
    right:0!important;
    transform:none!important;
    width:100%!important;
  }
}

/* Continuous full-height pages: reserve exactly one navigation height. */
:root{--xiaoxiao-nav-space:118px}
body.current-page-wallet,
body.current-page-walletTransactions,
body.current-page-redemptionHistory,
body.current-page-redeemPoints{
  background:#07101f!important;
}
body.current-page-wallet .app-shell,
body.current-page-walletTransactions .app-shell,
body.current-page-redemptionHistory .app-shell,
body.current-page-redeemPoints .app-shell{
  min-height:100dvh!important;
  padding-bottom:var(--xiaoxiao-nav-space)!important;
  background:#07101f!important;
}
body.current-page-wallet .wallet-page,
body.current-page-walletTransactions .wallet-page,
body.current-page-redemptionHistory .wallet-page,
body.current-page-redeemPoints .wallet-page{
  min-height:calc(100dvh - var(--xiaoxiao-nav-space))!important;
  background:#07101f!important;
}
body.current-page-memberProfiles .app-shell,
body.current-page-memberPoints .app-shell,
body.current-page-memberStatistics .app-shell,
body.current-page-memberHistory .app-shell{
  min-height:100dvh!important;
  padding-bottom:var(--xiaoxiao-nav-space)!important;
  background:#141414!important;
}
body.current-page-memberProfiles .member-page,
body.current-page-memberPoints .member-page,
body.current-page-memberStatistics .member-page,
body.current-page-memberHistory .member-page{
  min-height:calc(100dvh - var(--xiaoxiao-nav-space))!important;
  background:#141414!important;
}
body.current-page-redeemPoints #redeemPoints.active{
  display:flex!important;
  flex-direction:column;
  padding-bottom:0!important;
}
body.current-page-redeemPoints .redeem-page-wrap{
  flex:1 1 auto;
  min-height:0!important;
  padding:clamp(28px,5vh,58px) 24px!important;
  display:flex;
  align-items:center!important;
  justify-content:center!important;
}
body.current-page-redeemPoints .redeem-dialog{
  margin:auto;
}
@media(max-width:600px){
  :root{--xiaoxiao-nav-space:calc(86px + env(safe-area-inset-bottom))}
  body.current-page-redeemPoints .redeem-page-wrap{
    padding:24px 16px!important;
  }
}

/* Keep every inner-page navigation attached to the real viewport bottom.
   This must follow the theme layer, which sets decorative components relative. */
body:not(.current-page-home) .bottom-nav{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:0;
  transform:translateX(-50%)!important;
  width:min(100%,810px)!important;
  margin:0!important;
}
@media(max-width:600px){
  body:not(.current-page-home) .bottom-nav{
    left:0!important;
    right:0!important;
    transform:none!important;
    width:100%!important;
  }
}

/* Hide page navigation while the redemption dialog is open.
   Users close it from the blurred backdrop or the close button. */
body.redeem-open .bottom-nav{
  display:none!important;
}

/* Keep the redemption dialog centered in the real viewport. */
#redeemPoints.redeem-overlay.open{
  display:block!important;
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  margin:0!important;
  padding:0!important;
  overflow:auto!important;
}
#redeemPoints.redeem-overlay.open #redeemModal{
  position:fixed!important;
  top:50dvh!important;
  left:50vw!important;
  right:auto!important;
  bottom:auto!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  max-height:calc(100dvh - 32px)!important;
  overflow:auto!important;
}
@media(max-width:600px){
  #redeemPoints.redeem-overlay.open #redeemModal{
    width:calc(100vw - 28px)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .wallet-redeem:not(:disabled),
  .wallet-redeem:not(:disabled)::after{animation:none!important}
}

@media(max-width:600px){
  .promotion-eligibility-backdrop{padding:16px}
  .promotion-eligibility-card{padding:25px 18px 20px;border-radius:20px}
  .promotion-eligibility-icon{width:56px;height:56px;border-radius:17px}
  .promotion-eligibility-icon svg{width:30px;height:30px}
  .promotion-eligibility-card h2{margin-left:32px;margin-right:32px;font-size:23px}
  .promotion-eligibility-lead{font-size:12px}
  .promotion-eligibility-rules>div{grid-template-columns:28px 1fr;padding:10px}
  .promotion-eligibility-rules>div>span{width:28px;height:28px}
  .promotion-eligibility-rules p{font-size:12px}
  .promotion-eligibility-progress>div:first-child{align-items:flex-start;flex-direction:column;gap:4px}
}
