: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 .eyebrow{display:none}
.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}}
