:root{font-family:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Noto Sans Khmer","Microsoft YaHei",sans-serif;background:#090c12;color:#f6efdf;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#090c12}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #f2cd81;outline-offset:2px}[hidden]{display:none!important}.page{display:none}.page.active{display:block}.eyebrow{color:#dab978;font-size:11px;font-weight:800;letter-spacing:.23em}
.topbar{position:fixed;left:0;right:0;top:0;height:78px;z-index:13;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 max(22px,calc((100vw - 1290px)/2));background:linear-gradient(#080b13f7,#080b13df)}.brand{border:0;background:transparent;color:#f8efdd;display:flex;align-items:center;gap:13px;text-align:left;padding:0}.brand-symbol{display:grid;place-items:center;width:43px;height:43px;border:1px solid #d9af6c;border-radius:8px;color:#f4cf89;font:italic 30px Georgia,serif}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-size:24px;letter-spacing:.15em}.brand-domain{font-size:11px;margin-top:5px;color:#f6d697;letter-spacing:.08em}.brand-copy em{font-size:8px;font-style:normal;letter-spacing:.28em;color:#b59d76;margin-top:9px}.top-actions{display:flex;gap:8px}.header-action{height:38px;display:flex;align-items:center;gap:6px;padding:0 12px;border:1px solid #a7895d88;border-radius:8px;background:#10131cb8;color:#f4e4c7;font-size:13px}.header-action>span:first-child{font-size:19px;color:#e4bd75}
.hero{position:relative;height:min(460px,57svh);min-height:330px;overflow:hidden;background:#12151b}.hero-scene{position:absolute;inset:0;overflow:hidden;background:#151b24}.hero-track{display:flex;width:100%;height:100%;transition:transform .68s cubic-bezier(.22,.61,.36,1);will-change:transform}.hero-slide{flex:0 0 100%;width:100%;height:100%;background-position:center 38%;background-size:cover;background-repeat:no-repeat}.hero-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#070a12e5 3%,#070a1266 56%,transparent),linear-gradient(0deg,#080b14e6,transparent 38%)}.hero-copy{position:absolute;left:max(5%,calc((100vw - 1220px)/2));top:42%;transform:translateY(-35%);max-width:600px;padding:20px;z-index:1}.hero h1{font-size:clamp(39px,5vw,71px);line-height:1.14;letter-spacing:-.045em;margin:12px 0;color:#fff8ea}.hero p{font-size:17px;color:#eadcc6;margin:0;line-height:1.6}.gold-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:16px;margin-top:23px;padding:0 20px;border:1px solid #f8d38c;border-radius:7px;background:linear-gradient(140deg,#f4d69a,#bc8745);color:#18130b;font-weight:800}.gold-button:hover{filter:brightness(1.08)}.hero-controls{position:absolute;z-index:2;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:16px}.hero-controls>button{width:35px;height:35px;border:1px solid #f0d4a366;border-radius:50%;background:#0b0d13a8;color:#f4e3c9;font-size:24px;line-height:1}.hero-dots{display:flex;gap:8px}.hero-dots button{width:8px;height:8px;border:0;border-radius:9px;background:#fff7e080;padding:0}.hero-dots button.active{width:27px;background:#f6c97c}
.home-content,.inner-page{max-width:1290px;margin:0 auto;padding:0 22px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0 48px}.quick-grid button{min-height:80px;display:flex;align-items:center;gap:16px;padding:13px 20px;border:1px solid #4a4237;border-radius:12px;background:linear-gradient(130deg,#252831,#171b24);color:#f5ead5;font-weight:700}.quick-grid button span{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:#4a3922;color:#f0c87c;font-size:24px}.quick-grid button small{font-size:15px}.quick-grid button:hover,.category-card:hover,.game-row:hover{border-color:#d5ac70}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:17px}.section-title h2{font-size:32px;margin:5px 0 0}.text-link{border:0;background:transparent;color:#e4bd7f;font-size:14px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.category-card{position:relative;min-height:160px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;text-align:left;padding:17px;border:1px solid #544638;border-radius:12px;color:#fff4df;background:radial-gradient(circle at 72% 30%,var(--glow),transparent 52%),linear-gradient(140deg,#262b35,#13171e)}.category-card::after{content:attr(data-symbol);position:absolute;top:15px;right:15px;color:var(--accent);font:76px/1 Georgia,serif;opacity:.72}.category-card strong{position:relative;z-index:1;font-size:19px}.category-card small{position:relative;z-index:1;color:#bdc1c7;margin-top:5px}.service-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0 62px}.service-strip button{display:flex;align-items:center;gap:13px;min-height:67px;padding:0 20px;border:1px solid #5b4b35;border-radius:11px;background:#1d2028;color:#f4e5c9;text-align:left}.service-strip button span:first-child{color:#e6bb75;font-size:25px}.service-strip b{margin-left:auto;color:#d8b06d}
.inner-page{min-height:calc(100svh - 90px);padding-top:105px;padding-bottom:110px}.page-heading{margin-bottom:23px}.page-heading h1{font-size:clamp(28px,4vw,42px);margin:8px 0}.page-heading p{color:#afb3bb;margin:0;line-height:1.6}.search-field{display:flex;align-items:center;gap:10px;width:min(100%,520px);height:45px;padding:0 13px;border:1px solid #41464e;border-radius:9px;background:#181d26;color:#c7b593}.search-field span{font-size:26px}.search-field input{min-width:0;width:100%;height:100%;border:0;outline:0;background:transparent;color:#fff}.category-tabs{display:flex;gap:8px;overflow:auto;scrollbar-width:none;margin:21px 0}.category-tabs::-webkit-scrollbar{display:none}.category-tabs button{flex:none;min-height:36px;padding:0 15px;border:1px solid #3e444d;border-radius:7px;background:#181d26;color:#c2c4c9;font-size:14px}.category-tabs button.active{background:#4a3620;border-color:#d1a45f;color:#ffe1ab}.game-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.game-row{position:relative;min-height:125px;display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #42464e;border-radius:12px;background:#181d26;color:#f5eddf}.game-art{flex:none;display:grid;place-items:center;width:88px;height:88px;border-radius:9px;background:radial-gradient(circle,var(--glow),#1d2532);color:var(--accent);font:52px Georgia,serif}.game-data{min-width:0;flex:1}.game-data h2{font-size:18px;margin:0 0 5px}.game-data p{font-size:13px;color:#adb3bd;margin:0 0 9px}.status-badge{display:inline-block;font-size:11px;color:#e5c188;border:1px solid #7a6547;border-radius:4px;padding:3px 6px}.favorite-button{align-self:flex-start;flex:none;border:0;background:transparent;color:#ccb58d;font-size:28px;line-height:1}.favorite-button.saved{color:#f6bd79}.card-open{position:absolute;inset:0;border:0;background:transparent;color:transparent;z-index:0}.game-row>*:not(.card-open){position:relative;z-index:1}.game-data,.game-art{pointer-events:none}.empty-state{text-align:center;border:1px dashed #494951;border-radius:12px;padding:45px 20px;color:#afb4bd}.empty-state>span{font:60px Georgia,serif;color:#dfbb7e}.empty-state h2{color:#f6eada;font-size:20px;margin:8px 0}.empty-state p{margin:0}.empty-state .gold-button{margin-top:21px}
.profile-card{display:flex;align-items:center;gap:16px;padding:19px;border:1px solid #655032;border-radius:13px;background:linear-gradient(130deg,#32291d,#181d25)}.avatar{flex:none;display:grid;place-items:center;width:58px;height:58px;border:1px solid #bd9459;border-radius:50%;font:32px Georgia,serif;color:#e6c484}.profile-card>div:nth-child(2){flex:1;min-width:0}.profile-card p{font-size:13px;color:#c2b5a0;margin:4px 0 0}.outline-button{min-height:38px;padding:0 13px;border:1px solid #ad8851;border-radius:7px;background:transparent;color:#f1d39d}.account-menu{margin-top:17px;overflow:hidden;border:1px solid #3f454e;border-radius:12px}.account-menu button{display:flex;align-items:center;gap:15px;width:100%;min-height:57px;padding:0 18px;border:0;border-bottom:1px solid #343a43;background:#181d26;color:#efeadf;text-align:left}.account-menu button:last-child{border-bottom:0}.account-menu button>span:first-child{width:24px;color:#e9bf79;font-size:23px}.account-menu b{margin-left:auto;color:#bba47b;font-size:24px}.back-button{margin:0 0 24px;border:0;background:transparent;color:#e6c17e}.detail-card{max-width:660px;padding:22px;border:1px solid #625033;border-radius:16px;background:linear-gradient(145deg,#252a33,#151a22)}.detail-art{height:220px;display:grid;place-items:center;border-radius:12px;background:radial-gradient(circle,var(--glow),#131923);font:100px Georgia,serif;color:var(--accent)}.detail-card h1{margin:18px 0 8px}.detail-card p{color:#b5b8bf;line-height:1.6}.detail-actions{display:flex;gap:10px}.detail-actions .gold-button{margin-top:12px}
.auth-tabs{display:flex;max-width:480px;gap:8px;margin-bottom:14px}.auth-tabs button{flex:1;height:43px;border:1px solid #43464b;border-radius:7px;background:#1b2028;color:#bdc0c5}.auth-tabs button.active{border-color:#b89457;background:#4c3920;color:#f9dca6}.form-card,.settings-card{max-width:560px;padding:22px;border:1px solid #41474f;border-radius:13px;background:#191e27}.form-card label{display:grid;gap:8px;margin-bottom:17px;color:#e8decf;font-size:14px}.form-card input,.form-card textarea,.form-card select{width:100%;min-height:43px;padding:10px 12px;border:1px solid #505661;border-radius:7px;background:#10141c;color:#f5ead6}.form-card textarea{resize:vertical}.form-feedback{min-height:19px;color:#eac384;font-size:13px;line-height:1.5}.full{width:100%;margin-top:10px}.field-label{display:block;margin-bottom:10px}.amount-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.amount-grid button{height:43px;border:1px solid #65553b;border-radius:7px;background:#2a2a2b;color:#edddbc}.amount-grid button.selected{border-color:#f1c477;background:#5a4121}.faq{max-width:560px;margin-bottom:16px}.faq details{border:1px solid #434951;border-radius:8px;padding:14px 17px;margin-bottom:8px;background:#191e27}.faq summary{cursor:pointer}.faq p{color:#bbc0c7;line-height:1.6}.settings-card h2{margin:0 0 17px;font-size:18px}.language-options{display:grid;gap:8px}.language-options button{min-height:44px;text-align:left;padding:0 15px;border:1px solid #454b54;border-radius:7px;background:#171b23;color:#ede5d8}.language-options button.active{border-color:#e6bc78;background:#483723;color:#f8dda9}.sheet{width:min(420px,calc(100vw - 28px));padding:0 18px 20px;border:1px solid #a6814d;border-radius:14px;background:#1b2029;color:#f5e9d6}.sheet::backdrop{background:#0009;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dialog-head h2{font-size:19px}.dialog-head button{border:0;background:transparent;color:#fff;font-size:26px}
.bottom-nav{position:fixed;z-index:12;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #78603d;background:#111720ed;backdrop-filter:blur(13px)}.bottom-nav button{display:grid;place-items:center;gap:2px;min-height:45px;border:0;background:transparent;color:#a7a9ae}.bottom-nav button span{font-size:23px;line-height:1}.bottom-nav button small{font-size:11px}.bottom-nav button.selected{color:#f4c87d}
@media(max-width:700px){.topbar{height:78px;padding:0 15px}.brand-symbol{width:34px;height:34px;font-size:24px}.brand{gap:8px}.brand-copy strong{font-size:19px}.brand-domain{font-size:10px;margin-top:3px}.brand-copy em{font-size:7px;margin-top:7px}.header-action{height:34px;padding:0 8px;font-size:11px}.hero{height:66.6667svh;min-height:0}.hero-slide{background-position:center top}.hero-shade{background:linear-gradient(0deg,#050811f4 0%,#05081199 25%,transparent 63%)}.hero-copy{left:0;right:0;top:auto;bottom:calc(105px + env(safe-area-inset-bottom));transform:none;padding:0 25px}.hero h1{font-size:clamp(34px,9vw,45px);margin:10px 0;line-height:1.19}.hero p{font-size:14px}.hero .gold-button{margin-top:16px}.hero-controls{bottom:calc(70px + env(safe-area-inset-bottom))}.home-content,.inner-page{padding-left:15px;padding-right:15px}.quick-grid{gap:8px;margin:15px 0 31px}.quick-grid button{min-height:65px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:5px 2px;text-align:center}.quick-grid button span{width:27px;height:27px;font-size:18px}.quick-grid button small{font-size:11px}.section-title h2{font-size:24px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.category-card{min-height:118px;padding:12px}.category-card::after{font-size:58px;right:8px}.category-card strong{font-size:16px}.category-card small{font-size:11px}.service-strip{margin:18px 0 100px;gap:8px}.service-strip button{padding:0 10px;min-height:56px;gap:7px;font-size:12px}.service-strip button span:first-child{font-size:19px}.inner-page{min-height:100svh;padding-top:110px;padding-bottom:105px}.game-list{grid-template-columns:1fr}.game-row{min-height:112px}.game-art{width:75px;height:75px;font-size:46px}}
@media(max-height:720px) and (max-width:700px){.hero{min-height:0}.hero-copy{bottom:62px}.hero-controls{bottom:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Gameplay host applies this class only after a real game opens. */
body.in-game .topbar,body.in-game .bottom-nav{display:none}
@media(max-width:700px){
  .topbar{height:calc(78px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
  .inner-page{padding-top:calc(110px + env(safe-area-inset-top))}
}

/* Prominent, persistent brand and a compact advertising carousel. */
.brand{transform:translateY(-4px)}
.brand-symbol{width:49px;height:49px;font-size:35px}
.brand-copy strong{font-size:25px;letter-spacing:.035em;white-space:nowrap}
.brand-domain{font-size:17px;font-weight:700;letter-spacing:.12em;margin-top:7px;color:#ffe3a7}
.hero-tagline{position:absolute;z-index:3;top:calc(96px + env(safe-area-inset-top));left:max(22px,calc((100vw - 1290px)/2));font-size:12px;font-weight:800;letter-spacing:.26em;color:#f1d398;text-shadow:0 2px 12px #05070a}
.hero-copy{top:auto;bottom:69px;transform:none}
.hero h1{text-shadow:0 3px 18px #000b}
.hero p{text-shadow:0 2px 10px #000d}
.hero-controls{bottom:18px}
@media(max-width:700px){
 .brand{transform:translateY(-5px);gap:9px}
 .brand-symbol{width:45px;height:45px;font-size:32px}
 .brand-copy strong{font-size:21px;letter-spacing:0}
 .brand-domain{font-size:15px;letter-spacing:.125em;margin-top:6px}
 .hero-tagline{left:15px;top:calc(96px + env(safe-area-inset-top));font-size:10px}
 .hero-copy{bottom:65px;padding:0 21px}
 .hero h1{font-size:clamp(29px,8vw,39px)}
 .hero-controls{bottom:16px}
}
/* Header: logo grows from its top-left corner; two equal-height action stacks. */
.topbar{height:calc(88px + env(safe-area-inset-top));padding-top:calc(10px + env(safe-area-inset-top));align-items:flex-start}
.brand{transform:none;align-items:flex-start;gap:9px;flex:none}
.brand-symbol{width:58px;height:58px;flex:0 0 58px;font-size:41px}
.brand-copy{height:58px;flex:0 0 auto;min-width:0;align-items:flex-start;justify-content:flex-start}
.brand-copy strong{display:block;flex:none;line-height:1}
.brand-domain{display:block;flex:none;align-self:flex-start;white-space:nowrap;line-height:18px;margin-top:6px;transform-origin:top left}
.top-actions{display:flex;gap:5px;margin-left:auto}
.action-stack{display:flex;flex-direction:column;gap:4px;width:65px}
.action-stack:last-child{width:75px}
.action-stack .header-action{width:100%;height:27px;min-height:27px;justify-content:center;gap:0;padding:0 3px;border-radius:6px;font-size:11px;line-height:1;white-space:nowrap}
.action-stack .header-action span{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:inherit;color:inherit}
.hero-tagline{top:calc(104px + env(safe-area-inset-top))}
.inner-page{padding-top:calc(118px + env(safe-area-inset-top))}
@media(max-width:700px){
 .brand-symbol{width:58px;height:58px;flex-basis:58px;font-size:41px}
 .brand-copy strong{font-size:21px}
 .brand-domain{font-size:15px;margin-top:7px;line-height:17px}
 .topbar{padding-left:15px;padding-right:15px}
 .hero-tagline{top:calc(104px + env(safe-area-inset-top))}
}
@media(max-width:360px){
 .topbar{padding-left:10px;padding-right:10px}
 .brand-symbol{width:54px;height:54px;flex-basis:54px;font-size:38px}
 .brand-copy{height:54px}
 .brand-copy strong{font-size:19px}
 .action-stack{width:54px}
 .action-stack:last-child{width:64px}
}

/* Align the domain's outer letters to the brand name without stretching its glyphs. */
.brand-copy{display:inline-grid;grid-template-columns:max-content;grid-template-rows:auto 1fr;align-content:start;min-width:max-content}
.brand-copy strong{grid-column:1;grid-row:1}
.brand-domain{grid-column:1;grid-row:2;display:flex;width:100%;justify-content:space-between;align-items:flex-start;letter-spacing:0;font-size:18px;font-weight:800;line-height:18px;margin-top:5px;transform:scaleY(1.72);transform-origin:top left}
.brand-domain span{display:inline-block}
@media(max-width:700px){.brand-domain{font-size:17px;line-height:17px;margin-top:5px;transform:scaleY(1.75)}}
@media(max-width:360px){.brand-domain{font-size:15px;line-height:16px;transform:scaleY(1.65)}}

/* Final brand geometry: raise the domain and extend it vertically to the logo base. */
.brand-domain{margin-top:1px;transform:scaleY(1.78)}
@media(max-width:700px){.brand-domain{margin-top:1px;transform:scaleY(2.12)}}
@media(max-width:360px){.brand-domain{margin-top:1px;transform:scaleY(2.125)}}

/* ASEN mobile header and approved 390 × 844 brand geometry. */
.home-page{padding-top:calc(88px + env(safe-area-inset-top))}
.topbar{height:calc(88px + env(safe-area-inset-top));padding-top:calc(12px + env(safe-area-inset-top));align-items:flex-start}
.brand{gap:5px;min-width:0;flex:0 1 auto}
.brand-symbol{width:54px;height:54px;flex-basis:54px;font-size:38px}
.brand-copy{height:58px}
.brand-copy strong{font-size:19px;letter-spacing:0;transform-origin:center center}
.brand-domain{margin-top:1px;font-size:17px;line-height:17px;letter-spacing:0;transform-origin:top center}
.top-actions{display:flex;gap:5px;align-items:center;margin-left:auto;flex:none}
.app-download{width:35px;height:58px;flex:none;display:grid;grid-template-rows:1fr 1fr;place-items:center;padding:2px 0;border:1px solid #a96b61;border-radius:7px;background:linear-gradient(145deg,#7b2a2c,#3d191d 60%,#2c1716);color:#ffe3d8;font-size:10px;font-weight:800;line-height:1.1;box-shadow:inset 0 1px #c08270,0 3px 8px #1e0b0b66}
.app-download span+span{width:100%;padding-top:4px;border-top:1px solid #b87c70;text-align:center}
.action-grid{display:grid;grid-template-columns:repeat(2,76px);grid-template-rows:repeat(2,27px);gap:4px}
.action-grid .header-action{width:76px;height:27px;min-height:27px;display:flex;align-items:center;justify-content:center;gap:1px;padding:0 1px;border:1px solid #997d57;border-radius:6px;background:#10131c;color:#f4e4c7;font-size:11px;font-weight:600;letter-spacing:normal;line-height:1;white-space:nowrap}
.action-grid .header-action>span:first-child{font-size:12px;color:inherit}
.action-grid .header-action:last-child{background:#d9ad69;color:#19110b;font-weight:800}
.hero{height:clamp(225px,31svh,280px);min-height:0}
.hero-tagline{top:12px;left:15px}
.hero-copy{bottom:45px;padding:0 20px}
.hero h1{font-size:clamp(24px,7vw,34px)}
.hero p{font-size:12px}
.hero .gold-button{margin-top:10px;min-height:37px}
.hero-controls{bottom:8px}
.hero.image-headline .hero-copy{display:block}
.hero.image-headline .hero-shade{display:block;background:linear-gradient(0deg,#050811e8 0%,#050811a6 28%,transparent 66%)}
.hero-slide{position:relative}
.hero-badge{position:absolute;z-index:1;left:16px;top:119px;display:inline-flex;align-items:center;gap:6px;color:#090909;font-size:28px;font-weight:900;line-height:1.15;white-space:nowrap;-webkit-text-stroke:.55px #fff;text-shadow:2px 2px 0 #fff,3px 3px 2px #fff,4px 4px 4px #0008}
.hero-badge svg{width:30px;height:30px;fill:#090909;stroke:#fff;stroke-width:1.25px;filter:drop-shadow(2px 2px 0 #fff)}
.hero-badge svg path:nth-child(2),.hero-badge svg circle{fill:none;stroke:#fff;stroke-width:2}
/* The carousel is square; keep a readable CTA in the lower left on every slide. */
.hero{height:auto;min-height:0;aspect-ratio:1/1}
.hero-tagline{top:94px}
.hero.image-headline .hero-copy{display:flex;flex-direction:column;align-items:flex-start}
.hero.image-headline .hero-copy .eyebrow{display:inline}
.hero.image-headline .hero-copy h1{order:1}
.hero.image-headline .hero-copy .gold-button{order:2}
.hero.image-headline .hero-copy p{order:3;margin-top:8px}
.hero-copy{bottom:53px}
.hero.image-headline .hero-copy{bottom:53px}
.hero .gold-button{margin-top:10px;min-height:37px}
@media(max-width:700px){.hero{height:auto;min-height:0;aspect-ratio:1/1}.hero-copy,.hero.image-headline .hero-copy{bottom:52px;padding:0 20px}}
@media(max-height:720px) and (max-width:700px){.hero{height:auto;min-height:0;aspect-ratio:1/1}.hero-copy,.hero.image-headline .hero-copy{bottom:52px}}
@media(max-width:370px){.topbar{padding-left:6px;padding-right:6px}.brand{gap:4px}.brand-symbol{width:46px;height:46px;flex-basis:46px;font-size:32px}.brand-copy strong{font-size:16px}.brand-domain{font-size:14px}.top-actions{gap:4px}.app-download{width:32px;height:52px;font-size:9px}.action-grid{grid-template-columns:repeat(2,70px);grid-template-rows:repeat(2,24px)}.action-grid .header-action{width:70px;height:24px;min-height:24px;font-size:10px}}

/* Main lobby title precedes the two illustrated hall entrances. */
.quick-grid{margin-bottom:18px}
.home-content>.section-title{margin-bottom:18px}
.featured-halls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 26px}
.featured-hall{position:relative;isolation:isolate;display:flex;align-items:flex-start;width:100%;min-width:0;aspect-ratio:3.5/1;overflow:visible;padding:clamp(14px,3vw,25px);border:1px solid #786145;border-radius:13px;background:linear-gradient(110deg,#292d35 0%,#1d222a 52%,#131820 100%);color:#fff1d6;text-align:left}
.featured-hall::after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 78% 75%,#b68b4c42,transparent 48%);pointer-events:none}
.featured-fishing::after{background:radial-gradient(circle at 78% 75%,#317c9870,transparent 50%)}
.featured-hall-label{position:relative;z-index:1;display:block;max-width:48%;padding-left:10px;border-left:2px solid #dfba78;font-size:clamp(17px,3vw,25px);font-weight:800;line-height:1.2;overflow-wrap:anywhere;text-shadow:0 2px 8px #000}
.featured-hall-art{position:absolute;right:1%;top:0;width:58%;height:100%;object-fit:contain;object-position:center right;pointer-events:none}
.featured-hall:hover{border-color:#e8bf7d}
@media(max-width:700px){.quick-grid{margin-bottom:18px}.featured-halls{grid-template-columns:1fr;gap:18px;margin-bottom:26px}.featured-hall{padding:clamp(14px,4vw,20px)}.featured-hall-label{font-size:clamp(17px,5vw,22px)}}

/* Keep translated labels inside their controls, including longer Khmer copy. */
.action-grid{grid-template-rows:repeat(2,minmax(27px,auto));align-content:center}
.action-grid .header-action{height:auto;min-height:27px;white-space:normal;line-height:1.05}
.action-grid .header-action>span:last-child{min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:center}
.quick-grid button,.bottom-nav button,.category-card,.category-tabs button{min-width:0}
.quick-grid button small,.bottom-nav button small,.category-card strong,.category-card small{min-width:0;max-width:100%;overflow-wrap:anywhere;line-height:1.15}
.language-options button{height:auto;min-height:44px;padding-block:8px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:370px){.action-grid{grid-template-rows:repeat(2,minmax(24px,auto))}.action-grid .header-action{min-height:24px}}

/* Six-slide 3:2 crop: individual focal points keep subjects, especially the fishing characters, in frame. */
.hero{height:auto;min-height:0;aspect-ratio:3/2}
.hero-slide{background-size:cover}
.hero-tagline{left:0;top:0;width:20%;height:20%;display:grid;place-items:center;text-align:center;font-size:clamp(7px,1.8vw,14px);letter-spacing:.07em;white-space:nowrap}
.hero-badge{top:23%;font-size:clamp(18px,2.8vw,24px)}
.hero-badge svg{width:24px;height:24px}
.hero-copy,.hero.image-headline .hero-copy{bottom:43px}
.hero h1{font-size:clamp(23px,3vw,32px);margin:5px 0;line-height:1.16}
.hero p{font-size:12px;line-height:1.3}
.hero .gold-button{min-height:32px;margin-top:8px}
.hero.image-headline .hero-copy p{margin-top:4px}
@media(max-width:700px){
 .hero{height:auto;min-height:0;aspect-ratio:3/2}
 .hero-tagline{left:0;top:0;width:20%;height:20%;font-size:clamp(7px,2.2vw,10px)}
 .hero-badge{left:16px;top:23%;font-size:clamp(18px,5.2vw,22px)}
 .hero-badge svg{width:23px;height:23px}
 .hero-copy,.hero.image-headline .hero-copy{bottom:43px;padding:0 20px}
 .hero h1{font-size:clamp(20px,6vw,25px);margin:5px 0;line-height:1.16}
 .hero p{font-size:11px;line-height:1.25}
 .hero .gold-button{min-height:32px;margin-top:7px;padding:0 14px}
}
@media(max-height:720px) and (max-width:700px){.hero{height:auto;min-height:0;aspect-ratio:3/2}.hero-copy,.hero.image-headline .hero-copy{bottom:43px}}

/* Five centered, square quick entries. Keep the existing mobile spacing. */
.quick-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;max-width:620px}
.quick-grid button{min-width:0;min-height:0;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:5px 3px;text-align:center;overflow:hidden}
.quick-grid button span{width:clamp(22px,5vw,34px);height:clamp(22px,5vw,34px);font-size:clamp(18px,3.7vw,26px)}
.quick-grid button small{font-size:clamp(10px,1.4vw,14px);line-height:1.12;overflow-wrap:anywhere}
@media(max-width:700px){
 .quick-grid{gap:8px}
 .quick-grid button{gap:2px;padding:3px 2px}
 .quick-grid button span{width:clamp(18px,6vw,27px);height:clamp(18px,6vw,27px);font-size:clamp(16px,5vw,20px)}
 .quick-grid button small{font-size:clamp(9px,2.7vw,11px)}
}
@media(max-width:370px){
 .quick-grid button{padding:2px 1px}
 html:lang(km) .quick-grid button span{width:18px;height:18px;font-size:16px}
 html:lang(km) .quick-grid button small{font-size:8px;line-height:1.05}
}

/* App download shares the same two-column header grid and button geometry. */
.action-grid{grid-template-rows:repeat(2,minmax(27px,1fr))}
.action-grid .header-action{height:100%}
.action-grid #appDownload{gap:0;letter-spacing:-.025em}
.action-grid #appDownload>span:last-child{font-size:inherit}
@media(max-width:370px){.action-grid{grid-template-rows:repeat(2,minmax(24px,1fr))}}

/* The lobby watermark is its own viewport layer, outside all game cards and panels. */
.lobby-background{display:none;position:fixed;inset:0;z-index:var(--layout-watermark-layer,0);pointer-events:none;opacity:var(--layout-watermark-opacity,1);translate:var(--layout-watermark-x,0px) var(--layout-watermark-y,0px);scale:var(--layout-watermark-scale,1);background:url('./assets/lobby-watermarks.svg') center center/var(--layout-watermark-width,100%) var(--layout-watermark-height,100%) no-repeat}
body:has(#page-home.active,#page-games.active,#page-favorites.active,#page-account.active) .lobby-background{display:block}
main{position:relative;z-index:1}

/* The 390px portrait composition keeps its geometry; the combined lobby
   background image remains a separate viewport-sized layer. */
@media(max-width:1024px){
 html.asen-geometry-locked body{min-width:0}
 html.asen-geometry-locked main{width:390px;max-width:none;margin-left:0;margin-bottom:var(--asen-geometry-flow-shift,0px);transform:scale(var(--asen-geometry-scale,1));transform-origin:top left}
 html.asen-geometry-locked .topbar,html.asen-geometry-locked .bottom-nav{left:0;right:0;width:100%;max-width:none;transform:none}
 html.asen-geometry-locked .bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));box-sizing:border-box}
 html.asen-geometry-locked .sheet{width:362px;max-width:none;transform:scale(var(--asen-geometry-scale,1));transform-origin:center}
}

/* All six slides share the same headline -> caption -> CTA tracks. */
.hero-copy,.hero.image-headline .hero-copy{top:auto;bottom:43px;transform:none;display:grid;grid-template-rows:12px minmax(0,1fr) auto 32px;row-gap:3px;align-items:end;height:120px;max-width:min(600px,90%);padding:0 20px}
.hero-copy .eyebrow,.hero.image-headline .hero-copy .eyebrow{grid-row:1;order:0}
.hero-copy h1,.hero.image-headline .hero-copy h1{grid-row:2;order:0;align-self:end;margin:0;line-height:1.08}
.hero-copy p,.hero.image-headline .hero-copy p{grid-row:3;order:0;min-width:0;max-width:100%;margin:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-copy .gold-button,.hero.image-headline .hero-copy .gold-button{grid-row:4;order:0;justify-self:start;align-self:end;min-height:32px;height:32px;margin:0}
.hero-tagline{left:5%;top:0;width:20%;height:20%}
.quick-grid button span svg{width:70%;height:70%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){
 .hero-copy,.hero.image-headline .hero-copy{left:0;right:0;bottom:43px;max-width:none;height:106px;padding:0 20px}
 .hero-copy h1,.hero.image-headline .hero-copy h1{font-size:clamp(17px,4.8vw,23px)}
 .hero-copy p,.hero.image-headline .hero-copy p{font-size:clamp(10px,2.8vw,12px)}
 .hero-badge{top:16%}
 .hero-tagline{left:5%;width:20%}
}
@media(max-height:720px) and (max-width:700px){.hero-copy,.hero.image-headline .hero-copy{bottom:43px}}

/* Nudge the header logo, site name and domain toward the hall-panel content line. */
@media(min-width:371px) and (max-width:700px){.topbar .brand{margin-left:clamp(0px,calc(42vw - 155.82px),8px)}}
@media(min-width:701px){.topbar .brand{margin-left:25px}}

/* The four remaining game-hall cards use the supplied transparent PNG artwork. */
.category-card.has-art{isolation:isolate;overflow:visible}
.category-card.has-art.asen-art-active,.featured-hall.asen-art-active{z-index:50}
.category-card.has-art::after{content:none}
.category-card-art{position:absolute;z-index:1;right:var(--art-right,2px);bottom:var(--art-bottom,0px);width:var(--art-width,65%);height:var(--art-height,92%);object-fit:contain;object-position:right bottom;pointer-events:none}
.category-card.has-art strong,.category-card.has-art small{z-index:2;text-shadow:0 2px 8px #000,0 1px 3px #000}

/* Download art sits directly over the independent lobby background. The existing
   service buttons stay last without changing their saved coordinate IDs. */
.home-content{display:flex;flex-direction:column}
.home-content>.service-strip{order:2;width:100%;margin:22px 0 108px}
.download-showcase{order:1;min-width:0;width:100%;margin-top:28px}
.download-stage{position:relative;min-height:310px;background:transparent;isolation:isolate}
.download-actions{position:absolute;z-index:2;left:1%;top:13%;width:min(39%,210px);display:flex;flex-direction:column;align-items:stretch;gap:3px}
.download-actions button{display:block;width:100%;padding:0;border:0;background:transparent;line-height:0;filter:drop-shadow(0 4px 9px #0007)}
.download-actions button img{display:block;width:100%;height:auto;object-fit:contain}
.download-actions button:hover{filter:drop-shadow(0 4px 11px #d5aa7188)}
.download-phone{position:absolute;z-index:1;right:0;bottom:0;width:min(75%,550px);height:100%;object-fit:contain;object-position:right bottom;pointer-events:none;filter:drop-shadow(0 10px 15px #0008)}
.payment-showcase{margin-top:14px}
.payment-showcase h3{margin:0 0 13px;font-size:15px;color:#fff;font-weight:800}
.payment-symbols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;justify-items:center;gap:8px;padding:11px 4px;border-top:1px solid #ffffff22;border-bottom:1px solid #ffffff22}
.pay-symbol{min-width:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}
.pay-symbol b{width:clamp(33px,9vw,46px);height:clamp(33px,9vw,46px);display:grid;place-items:center;border-radius:50%;box-shadow:0 2px 10px #0007;color:#fff;font-size:22px;line-height:1}
.pay-symbol small{font-size:9px;color:#dedfe2;font-weight:700;letter-spacing:.01em}
.pay-usdt b{background:#2b9a87}.pay-trc b{background:#df473e}.pay-aba b{background:#174c9b;font-size:15px}.pay-visa b{background:#f3f2f1;color:#1c4199;font-size:14px;font-style:italic}.pay-ton b{background:#279ad7}
.platform-board{padding:13px 12px 11px;border:1px solid #66543c80;border-radius:12px;background:#25272eab}
.provider-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:9px}
.provider-mark{min-width:0;min-height:46px;display:grid;place-items:center;padding:4px;border:1px solid #ffffff12;border-radius:9px;background:#34353b;box-shadow:inset 0 1px #ffffff13;color:#f5e7d1;font-weight:900;font-size:clamp(12px,3.8vw,20px);letter-spacing:.035em;text-shadow:0 1px 3px #000}
.provider-mark{grid-column:span 3}.provider-mark:nth-child(n+5){grid-column:span 4}
.mark-pg{color:#e8cda2}.mark-jdb{color:#f5ba54}.mark-og{color:#dec69e}.mark-mg{color:#9de2d7}.mark-pp{color:#ffd589}.mark-bbian{color:#e6aad6;font-size:clamp(10px,3vw,15px)}.mark-live{color:#efd6b6;font-size:clamp(10px,3vw,15px)}
.first-reward{display:flex;align-items:baseline;justify-content:center;gap:10px;flex-wrap:wrap;margin:13px 0 0;font-size:clamp(16px,4.4vw,23px);font-weight:800;color:#fff}
.first-reward strong{font-size:clamp(24px,6.5vw,34px);line-height:1;color:#42e47f;text-shadow:0 2px 8px #071d0d}
.platform-intro{margin:20px 9px 0;color:#f2f1ee;font-size:12px;line-height:1.85;text-align:justify;overflow-wrap:anywhere}
@media(max-width:700px){.download-stage{min-height:clamp(250px,75vw,350px)}.download-showcase{margin-top:24px}.home-content>.service-strip{margin-top:25px}}
@media(max-width:360px){.download-stage{min-height:245px}.download-actions{width:42%}.pay-symbol small{font-size:8px}.provider-grid{gap:5px}.platform-board{padding:10px 8px}}

/* Freeze viewport-derived dimensions at the approved 390px portrait baseline. */
@media(max-width:700px){
 html.asen-geometry-locked .topbar .brand{margin-left:8px}
 html.asen-geometry-locked .hero-tagline{font-size:8.58px}
 html.asen-geometry-locked .hero-badge{font-size:20.28px}
 html.asen-geometry-locked .hero-copy h1,html.asen-geometry-locked .hero.image-headline .hero-copy h1{font-size:18.72px}
 html.asen-geometry-locked .hero-copy p,html.asen-geometry-locked .hero.image-headline .hero-copy p{font-size:10.92px}
 html.asen-geometry-locked .quick-grid button span{width:23.4px;height:23.4px;font-size:19.5px}
 html.asen-geometry-locked .quick-grid button small{font-size:10.53px}
 html.asen-geometry-locked .featured-hall{padding:15.6px}
 html.asen-geometry-locked .featured-hall-label{font-size:19.5px}
 html.asen-geometry-locked .download-stage{min-height:292.5px}
 html.asen-geometry-locked .pay-symbol b{width:35.1px;height:35.1px}
 html.asen-geometry-locked .provider-mark{font-size:14.82px}
 html.asen-geometry-locked .mark-bbian,html.asen-geometry-locked .mark-live{font-size:11.7px}
 html.asen-geometry-locked .first-reward{font-size:17.16px}
 html.asen-geometry-locked .first-reward strong{font-size:25.35px}
}

/* One 390px layout baseline for the live page and the half-height editor. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100% }
@media(max-width:1024px) {
 html.asen-geometry-locked body { width:100%; margin:0; padding:0 }
 html.asen-geometry-locked main,
 html.asen-geometry-locked .topbar,
 html.asen-geometry-locked .bottom-nav { margin-left:0; margin-right:0 }
 html.asen-geometry-locked .home-content { width:390px; max-width:none; padding-left:0; padding-right:0 }
 html.asen-geometry-locked .topbar {
   display:flex; justify-content:space-between; align-items:flex-start; gap:8px;
   height:calc(88px + env(safe-area-inset-top));
   padding:calc(12px + env(safe-area-inset-top)) max(0px, calc((100vw - 390px) / 20)) 12px;
   box-sizing:border-box;
 }
 html.asen-geometry-locked .topbar .brand { margin-left:0; gap:6px; align-items:flex-start; min-width:0; flex:0 1 214px }
 html.asen-geometry-locked .brand-symbol { width:64px; height:64px; flex-basis:64px; font-size:45px }
 html.asen-geometry-locked .brand-copy { height:64px; min-width:0; max-width:144px; grid-template-columns:max-content; grid-template-rows:25px 1fr }
 html.asen-geometry-locked .brand-copy strong { font-size:21px; line-height:25px; letter-spacing:0; transform-origin:top left }
 html.asen-geometry-locked .brand-domain { width:100%; font-size:17px; line-height:17px; margin-top:3px; transform:scaleY(1.8); transform-origin:top left }
 html.asen-geometry-locked .top-actions { width:168px; flex:0 0 168px; margin:0; gap:0; align-items:start }
 html.asen-geometry-locked .action-grid { width:168px; grid-template-columns:82px 82px; grid-template-rows:30px 30px; gap:4px }
 html.asen-geometry-locked .action-grid .header-action { width:82px; min-height:30px; height:30px; padding:0 2px; font-size:11px; gap:1px }
 html.asen-geometry-locked .quick-grid { width:100%; max-width:none; gap:8px }
 html.asen-geometry-locked .quick-grid button { padding:3px 2px; gap:2px }
 html.asen-geometry-locked .featured-halls { gap:26px }
 html.asen-geometry-locked .featured-electronic .featured-hall-label { position:absolute; top:18px; right:12px; max-width:104px; white-space:normal; overflow-wrap:anywhere }
 html.asen-geometry-locked .featured-electronic .featured-hall-art { left:8px; right:auto; transform-origin:left bottom }
 html.asen-geometry-locked .featured-hall-label { font-size:19.5px }
 html.asen-geometry-locked .download-actions { width:39% }
 html.asen-geometry-locked .provider-grid { gap:9px }
 html.asen-geometry-locked .platform-board { padding:13px 12px 11px }
 html.asen-geometry-locked .pay-symbol small { font-size:9px }
}
@media(max-width:389px){
 html.asen-geometry-locked .topbar{gap:2px}
 html.asen-geometry-locked .topbar .brand{transform:scale(var(--asen-geometry-scale));transform-origin:top left;flex:0 0 calc(214px * var(--asen-geometry-scale))}
 html.asen-geometry-locked .top-actions{transform:scale(var(--asen-geometry-scale));transform-origin:top right;flex-basis:calc(168px * var(--asen-geometry-scale))}
}
@media(min-width:701px) and (max-width:1024px){
 html.asen-geometry-locked .home-content{width:390px;max-width:none;padding-left:0;padding-right:0}
 html.asen-geometry-locked .hero{height:260px;min-height:0}
 html.asen-geometry-locked .quick-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
 html.asen-geometry-locked .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Replace the artwork while keeping the logo's layout target and dimensions. */
.brand-symbol,
html.asen-geometry-locked .brand-symbol {
  background: url('./assets/asen-logo.png?v=20261003-as1') center / contain no-repeat;
  border: 0;
  color: transparent;
  font-size: 0;
}

/* Keep both fixed navigation backplates visible across the full viewport. */
.topbar { background:rgb(8 11 19 / var(--asen-board-opacity, .85)); border-bottom:1px solid #d0a86755 }
.bottom-nav { background:rgb(17 23 32 / var(--asen-board-opacity, .85)) }
.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:45px;overflow:visible}
.bottom-nav .nav-recharge{position:relative;z-index:1;display:block;width:100%;height:45px;min-height:45px;padding:0;border:0;background:transparent;color:#f4c87d}
.bottom-nav .nav-recharge .nav-recharge-art{position:absolute;top:-23px;left:50%;display:block;width:52px;height:52px;margin-left:-26px;perspective:140px;filter:drop-shadow(0 7px 4px #0009)}
.bottom-nav .nav-recharge-art::before,.bottom-nav .nav-recharge-art::after{content:'';position:absolute;width:22px;height:22px;border:2px solid #ffe0a4;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff2c9,#d99d4d 58%,#70431f);box-shadow:inset 0 -3px 3px #542811,0 3px 0 #704322}
.bottom-nav .nav-recharge-art::before{left:-6px;top:17px;rotate:-28deg}.bottom-nav .nav-recharge-art::after{right:-6px;top:15px;rotate:27deg}
.bottom-nav .nav-recharge .nav-recharge-coin{position:absolute;inset:2px;display:grid;place-items:center;border:3px solid #ffe5aa;border-radius:50%;background:radial-gradient(circle at 32% 20%,#fff4cf,#edc67d 34%,#bc8041 73%,#643719);color:#3c2811;box-shadow:inset 0 3px 3px #fff9df,inset 0 -5px 6px #63371a,0 4px 0 #75451d,0 6px 5px #0008;font-size:27px;line-height:1;font-weight:900;font-style:normal;text-shadow:0 1px #fff5d5;backface-visibility:visible;animation:recharge-coin-turn 3s ease-in-out infinite alternate}
.bottom-nav .nav-recharge small{position:absolute;bottom:1px;left:0;width:100%;font-size:12px;line-height:1.1;font-weight:900}
.bottom-nav .nav-recharge:hover .nav-recharge-coin,.bottom-nav .nav-recharge:focus-visible .nav-recharge-coin{filter:brightness(1.1)}
.bottom-nav .nav-recharge:active .nav-recharge-art{translate:0 2px}
.bottom-nav .nav-recharge.selected .nav-recharge-coin{box-shadow:inset 0 3px 3px #fff9df,inset 0 -5px 6px #63371a,0 0 0 2px #fff3ce,0 4px 0 #75451d,0 6px 5px #0008}
@keyframes recharge-coin-turn{from{transform:rotateY(-16deg) rotate(-8deg)}to{transform:rotateY(16deg) rotate(8deg)}}
@media (prefers-reduced-motion:reduce){.bottom-nav .nav-recharge-coin{animation:none}}
.profile-download:not([hidden]){display:block;margin:14px 0 0;padding:12px 16px;text-align:center;border-radius:8px;background:#d7ae71;color:#21150a;font-weight:700;text-decoration:none}.profile-download:focus-visible{outline:3px solid #fff;outline-offset:3px}
.gameplay-help{margin:0 0 16px;padding:11px 14px;border:1px solid #6b5537;border-radius:9px;background:#1d2028;color:#e8cd9e;font-size:13px}.gameplay-help summary{cursor:pointer;font-weight:700}.gameplay-help p{margin:10px 0 0;color:#d8d2c8;line-height:1.6}.asen-hide-game-help .gameplay-help{display:none}
.asen-gameplay-surface,.asen-gameplay-surface *{touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important}
.account-menu #adminEntry:not([hidden]){display:block;padding:14px;color:#e5bd7c;text-decoration:none;border:1px solid #5a492f;border-radius:8px;margin-top:10px}


/* The header wallet occupies the existing account button footprint. */
.action-grid .header-action.header-balance{flex-direction:column;gap:1px;padding:1px 2px;justify-content:center}
.action-grid .header-balance #headerBalanceLabel{font-size:9px;line-height:1;color:inherit}
.action-grid .header-balance #headerBalanceValue{color:inherit;display:block;font-size:10px;line-height:1.15;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.action-grid .header-balance #headerBalanceLabel,.action-grid .header-balance #headerBalanceValue{width:100%;text-align:center}
/* Preserve saved coordinates while proportionally reducing the wordmark from its left edge. */
.topbar .brand-copy #brandName{transform-origin:left center}
.telegram-return-notice{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:25;display:flex;gap:12px;align-items:center;max-width:calc(100vw - 28px);padding:10px 14px;background:#151c27;border:1px solid #b69459;border-radius:12px;box-shadow:0 6px 24px #0009;color:#f1dfbf;font-size:13px}
.telegram-return-notice button{border:1px solid #ddbd7f;border-radius:7px;padding:9px 14px;color:#171109;background:#d9ad69;white-space:nowrap;font:inherit;font-weight:700}

.action-grid .header-balance .header-balance-amount{color:#45df87}

/* 竖屏游戏厅几何锁定：390px画布，只由外层统一缩放。 */
@media (orientation:portrait) and (max-width:1024px){
 html.asen-geometry-locked #homeCategoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 html.asen-geometry-locked #homeCategoryGrid>.category-card{height:184px;min-height:184px;max-height:184px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;flex-shrink:0}
 html.asen-geometry-locked #homeCategoryGrid>.category-card>.category-card-art{width:100%;height:100%;min-height:0;max-height:118px;object-fit:contain;flex-shrink:0}
 html.asen-geometry-locked #gameList,html.asen-geometry-locked #favoritesList{grid-template-columns:minmax(0,1fr);gap:13px}
 html.asen-geometry-locked .game-list>.game-row{height:112px;min-height:112px;max-height:112px;padding:14px;gap:14px;overflow:hidden;flex-shrink:0}
 html.asen-geometry-locked .game-row>.game-art{width:75px;height:75px;min-width:75px;max-width:75px;min-height:75px;max-height:75px;aspect-ratio:1;object-fit:contain;flex:0 0 75px}
 html.asen-geometry-locked .game-data h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* 竖屏游戏目录：三列立体方形卡片，卡面占满，不再使用横向资料条。 */
@media (orientation:portrait) and (max-width:1024px){
 html.asen-geometry-locked #gameList,html.asen-geometry-locked #favoritesList{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}
 html.asen-geometry-locked .game-list>.game-row{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:113.328px 30px;width:100%;height:143.328px;min-height:143.328px;max-height:143.328px;padding:0;gap:0;border:0;background:transparent;overflow:visible;align-items:start}
 html.asen-geometry-locked .game-row>.game-art{grid-column:1;grid-row:1;width:100%;height:113.328px;min-width:0;max-width:none;min-height:113.328px;max-height:113.328px;object-fit:cover;aspect-ratio:1;border-radius:12%;background:linear-gradient(145deg,#3c3022,#171a24);border:1px solid #be935b;box-shadow:inset 0 1px 1px #ffe4a577,0 3px 0 #4b341d,0 6px 10px #0008;flex:none}
 html.asen-geometry-locked .game-row>.game-data{grid-column:1;grid-row:2;width:100%;padding-top:8px;text-align:center;overflow:hidden}
 html.asen-geometry-locked .game-data h2{margin:0;font-size:12px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 html.asen-geometry-locked .game-data p,html.asen-geometry-locked .game-data .status-badge{display:none}
 html.asen-geometry-locked .game-row>.favorite-button{position:absolute;top:5px;right:5px;z-index:2;width:25px;height:25px;padding:0;border-radius:50%;background:#141820aa;font-size:21px;line-height:25px;align-self:auto}
}

.game-coming-placeholder{width:100%;aspect-ratio:1;box-sizing:border-box;border:2px dashed #bd995c99;border-radius:12%;display:grid;place-items:center;color:#dfc494;background:#191e2726;font-size:14px;line-height:1.4;align-self:start;pointer-events:none}
@media(orientation:portrait) and (max-width:1024px){html.asen-geometry-locked .game-coming-placeholder{width:100%;height:113.328px;min-height:113.328px;max-height:113.328px;aspect-ratio:1;font-size:12px}}

.game-row>.game-hall-art{border-radius:12%;object-fit:cover;aspect-ratio:1;overflow:hidden}

/* Three wide hall illustrations fill their existing cards; the slot and featured halls are untouched. */
@media (orientation:portrait) and (max-width:1024px){
 html.asen-geometry-locked #homeCategoryGrid>.category-card:is([data-hall="live"],[data-hall="arcade"],[data-hall="cards"]){display:flex;justify-content:flex-end}
 html.asen-geometry-locked #homeCategoryGrid>.category-card:is([data-hall="live"],[data-hall="arcade"],[data-hall="cards"])>strong{position:absolute;top:12px;left:12px;right:12px;text-align:center}
 html.asen-geometry-locked #homeCategoryGrid>.category-card:is([data-hall="live"],[data-hall="arcade"],[data-hall="cards"])>.category-card-art{
  left:2%;right:auto;top:2px;bottom:auto;width:96%;height:112px;max-height:none;object-fit:contain;object-position:center bottom;
 }
}

/* 斗战胜佛卡图320×320：以内部金框为尺寸基准（左右16px，上下约18px）。
   仅等比放大完整PNG，不裁切、不拆素材，也不移动目录卡槽或其它游戏。 */
.game-row[data-artwork-frame="dasheng"]{overflow:visible}
.game-row[data-artwork-frame="dasheng"]>.game-art.game-hall-art,
html.asen-geometry-locked .game-row[data-artwork-frame="dasheng"]>.game-art.game-hall-art{
 object-fit:contain;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;
 transform-origin:top left;translate:-5.555556% -6.25%;scale:1.111111;
}

/* Maintenance is an operational display state; artwork geometry stays unchanged. */
html body img.game-maintenance-art{filter:grayscale(1)}
html body .game-detail-card .detail-enter.game-maintenance-button:disabled{background:#666;border-color:#888;color:#fff;opacity:1;filter:none;cursor:not-allowed}

/* Compact the expanded picker only once additional locales are released. */
.language-options:has(button:nth-of-type(6)){
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
}
.language-options .language-sync-status{grid-column:1/-1}
#languageDialog:has(button:nth-of-type(6)){
 max-block-size:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 16px);
 overflow-y:auto;
 overscroll-behavior:contain;
}
.language-options button:lang(th){font-family:system-ui,'Thonburi','Noto Sans Thai',sans-serif}
.language-options button:lang(hi){font-family:system-ui,'Kohinoor Devanagari','Noto Sans Devanagari',sans-serif}
.language-options button:lang(ja){font-family:system-ui,'Hiragino Sans','Noto Sans CJK JP',sans-serif}
.language-options button:lang(ko){font-family:system-ui,'Apple SD Gothic Neo','Noto Sans CJK KR',sans-serif}
