:root{--bg:#f4f6fa;--paper:#fff;--ink:#15171d;--muted:#656a75;--line:#dfe4eb;--blue:#61aee5;--blue2:#0f5d9c;--green:#0f6d39;--soft:#edf1f6;--shadow:0 12px 30px rgba(42,48,62,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Nunito,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.home-page{overflow-x:hidden}.floating-head{position:sticky;top:0;z-index:30;height:92px;padding:16px max(18px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(244,246,250,.98),rgba(244,246,250,.83),rgba(244,246,250,0));backdrop-filter:blur(8px)}.clock-pill{height:46px;padding:0 16px;border:1.5px solid #aad4f1;border-radius:999px;background:rgba(255,255,255,.92);display:flex;align-items:center;gap:10px;box-shadow:0 7px 18px rgba(67,132,182,.09);font-size:12px;font-weight:900;letter-spacing:.4px}.clock-pill b{font-size:14px;letter-spacing:1.4px}.clock-pill i{font-style:normal;color:#5ca9de}.hamburger{width:52px;height:52px;border:0;border-radius:17px;background:#fff;box-shadow:var(--shadow);display:grid;place-content:center;gap:5px}.hamburger span{width:24px;height:2.5px;background:#1a1c22;border-radius:9px}.profile-hero{padding:14px 22px 58px;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(151,190,225,.17),transparent 35%),linear-gradient(#f8f9fb,#f4f6fa)}.profile-inner{max-width:430px;margin:auto}.profile-avatar{width:108px;height:108px;border-radius:50%;object-fit:cover;border:5px solid #b8c2ce;box-shadow:0 10px 26px rgba(28,38,54,.14)}.profile-handle{display:table;margin:14px auto 12px;padding:5px 18px;border:1px solid #d0d4db;border-radius:999px;background:#eef0f4;color:#4e535f;font-size:12px;font-weight:900;letter-spacing:2px}.profile-intro{margin:0;font-size:17px;font-weight:800;color:#444954}.profile-hero h1{margin:6px 0 4px;font-size:34px;line-height:1.05;font-weight:900;letter-spacing:-1.2px}.verify{display:inline-grid;place-items:center;width:24px;height:24px;margin-left:5px;border-radius:50%;background:#2da8e8;color:#fff;font-size:14px;vertical-align:4px;box-shadow:inset 0 0 0 3px rgba(255,255,255,.25)}.profile-tagline{height:28px;margin:14px 0 28px;font-size:17px;font-weight:800;color:#454a55}.profile-tagline i{display:inline-block;width:2px;height:20px;background:#424750;vertical-align:-4px;animation:blink .8s infinite}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 10px;border:1px solid #e0e4e9;border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 10px 25px rgba(36,43,56,.07)}.profile-stats div{position:relative}.profile-stats div:not(:last-child)::after{content:"";position:absolute;right:0;top:4px;width:1px;height:43px;background:#e2e5e9}.profile-stats strong{display:block;font-size:23px;line-height:1;font-weight:900;color:#d2dae5}.profile-stats span{display:block;margin-top:11px;font-size:12px;font-weight:700;color:#464b55}.content-shell{position:relative;padding:48px 0 56px;border-radius:38px 38px 0 0;background:#edf0f5}.shell-inner{width:min(100% - 38px,430px);margin:auto}.section-label{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border:1.5px solid #9bc9e9;border-radius:999px;color:#61aee5;font-size:12px;font-weight:900;letter-spacing:2px;background:rgba(220,239,253,.45)}.section-label svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.shell-inner>h2{margin:20px 0 24px;font-size:31px;line-height:1;font-weight:900;letter-spacing:-1px}.games-stack,.link-stack,.video-stack{display:grid;gap:14px}.mod-card{position:relative;display:grid;grid-template-columns:66px minmax(0,1fr) 58px;gap:13px;align-items:center;padding:15px;border:1px solid #dde1e7;border-radius:23px;background:#fff;box-shadow:0 10px 24px rgba(37,44,58,.09);overflow:hidden}.mod-icon{width:66px;height:66px;object-fit:cover;border-radius:17px;box-shadow:0 5px 15px rgba(0,0,0,.12)}.mod-copy{min-width:0}.mod-copy h3{margin:0 0 2px;font-size:17px;line-height:1.15;font-weight:900;letter-spacing:-.25px}.mod-copy p{margin:0 0 8px;color:#5f6470;font-size:13px;font-weight:700;line-height:1.2}.mod-copy p i{display:inline-block;width:5px;height:5px;margin-right:6px;border-radius:50%;background:#58b6ea;vertical-align:2px}.mod-tags{display:flex;flex-wrap:wrap;gap:6px}.platform-tag,.mod-tags a{display:inline-flex;align-items:center;min-height:24px;padding:3px 10px;border:1.5px solid #a9d5ef;border-radius:999px;background:#eef8ff;color:#5daee1;text-decoration:none;font-size:11px;font-weight:900}.platform-tag.android{border-color:#a7e8c4;background:#effcf5;color:#35c878}.cloud-button{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#0b4b83,#1878be);color:#fff;box-shadow:0 9px 20px rgba(17,89,145,.27)}.cloud-button.android{background:linear-gradient(145deg,#0a4c27,#137b40);box-shadow:0 9px 20px rgba(15,107,54,.25)}.cloud-button svg{width:29px;height:29px;fill:#fff;stroke:#12629d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cloud-button.android svg{stroke:#176e3c}.card-note{grid-column:1/-1;margin:0 -15px -15px;padding:15px 18px;border:0;border-top:1px solid #e0dcd5;background:#f2ece6;color:#ef9b3d;text-align:left;font:900 13px Nunito;cursor:pointer}.plain-section{padding:58px 0;background:#f7f8fa}.muted-shell{border-radius:0}.link-card,.video-card{display:grid;grid-template-columns:52px minmax(0,1fr) 42px;align-items:center;gap:14px;padding:14px;border:1px solid #e0e3e7;border-radius:22px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 10px 24px rgba(39,45,57,.08)}.square-icon{width:52px;height:52px;border-radius:17px;background:linear-gradient(145deg,#0d5795,#1c7ac0);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:900}.square-icon.green{background:linear-gradient(145deg,#0a4f28,#147b40)}.square-icon.violet{background:linear-gradient(145deg,#241056,#43369c)}.square-icon svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.link-card strong,.video-card strong{display:block;font-size:17px;line-height:1.2;font-weight:900}.link-card small,.video-card small{display:block;margin-top:4px;color:#5e636d;font-size:12px;font-weight:700}.open-icon{width:42px;height:42px;border:1px solid #d7dbe1;border-radius:13px;background:#f4f5f8;display:grid;place-items:center;font-size:23px}.video-card{grid-template-columns:66px 1fr;padding:0;overflow:hidden}.video-card>div{padding-right:14px}.video-icon{width:66px;height:66px;display:grid;place-items:center;background:linear-gradient(145deg,#2777bb,#409fe7);color:#fff;font-size:26px}.video-icon.dark{background:linear-gradient(145deg,#110b3b,#20176f)}.chat-fab{position:fixed;right:20px;bottom:24px;z-index:25;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#4034ce,#5f48e7);color:#fff;text-decoration:none;box-shadow:0 14px 28px rgba(74,55,214,.35)}.chat-fab span{font-size:22px;font-weight:900}.chat-fab i{position:absolute;right:-1px;top:-2px;width:22px;height:22px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:#ef4b4b;font-style:normal;font-size:11px;font-weight:900}.overlay{position:fixed;inset:0;z-index:39;background:rgba(15,17,22,.45);opacity:0;visibility:hidden;transition:.25s}.overlay.show{opacity:1;visibility:visible}.drawer{position:fixed;right:14px;top:14px;bottom:14px;z-index:40;width:min(300px,calc(100% - 28px));padding:24px;border-radius:26px;background:#fff;box-shadow:0 25px 60px rgba(10,14,22,.28);transform:translateX(110%);transition:.28s}.drawer.show{transform:none}.drawer>button{position:absolute;right:16px;top:12px;border:0;background:none;font-size:28px}.drawer>img{width:68px;height:68px;border-radius:50%;object-fit:cover}.drawer>strong{display:block;margin:12px 0 20px;font-size:22px}.drawer nav{display:grid;gap:8px}.drawer nav a,.drawer nav button{padding:13px 14px;border:0;border-radius:14px;background:#f2f4f7;color:#20232a;text-decoration:none;text-align:left;font:800 14px Nunito}.drawer nav button small{display:block;color:#777d87}.warning-modal{position:fixed;inset:0;z-index:60;padding:24px;display:grid;place-items:center;background:rgba(12,14,18,.62);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:.22s}.warning-modal.show{opacity:1;visibility:visible}.warning-modal>div{position:relative;width:min(100%,430px);padding:28px 22px;border-radius:28px;background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.28)}.warning-modal h3{margin:0 34px 20px 0;font-size:20px}.warning-modal p{margin:0;padding:18px;border:1px solid #d9dde3;border-radius:18px;background:#f0f2f5;color:#555b66;text-align:center;white-space:pre-line;line-height:1.6}.warning-modal button{position:absolute;right:18px;top:16px;border:0;background:#f1f3f6;border-radius:12px;width:38px;height:38px;font-size:24px;color:#777}
/* detail */.game-detail{background:#f1ece5;color:#17350e}.detail-banner{height:245px;background-size:cover;background-position:center;position:relative}.detail-banner>div{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,25,.05) 40%,#f1ece5 100%)}.detail-body{position:relative;width:min(100% - 30px,430px);margin:-72px auto 0;padding-bottom:50px}.detail-app{display:grid;grid-template-columns:108px 1fr;gap:16px;align-items:end}.detail-app>img{width:108px;height:108px;border-radius:24px;object-fit:cover;box-shadow:0 12px 26px rgba(20,24,31,.23)}.detail-tags{display:flex;gap:8px;align-items:center;margin-bottom:8px}.featured-tag{padding:4px 10px;border-radius:999px;background:rgba(255,190,39,.18);color:#d79900;font-size:12px;font-weight:900}.detail-app h1{margin:0;color:#22570e;font-size:28px;line-height:1.05;font-weight:900;letter-spacing:-.7px}.downloads{margin:8px 0 0;color:#597247;font-size:15px;font-weight:700}.detail-body blockquote{margin:28px 0 20px;padding:4px 0 4px 18px;border-left:4px solid rgba(63,91,39,.15);font-size:16px;line-height:1.55;color:#506d3a}.detail-buttons{display:grid;gap:12px}.detail-buttons a{min-height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:18px;font-weight:900}.install-button{background:#2462e9;color:#fff;box-shadow:0 8px 22px rgba(36,98,233,.23)}.install-button.android{background:#1cad63}.outline-button{border:1.5px solid #bbb2db;background:rgba(255,255,255,.3);color:#8f87d8}.key-button{margin-top:15px;background:linear-gradient(135deg,#e98200,#ffad00);color:#fff;box-shadow:0 10px 24px rgba(237,139,0,.24)}.detail-card{margin-top:22px;border-radius:23px;background:#fff;box-shadow:0 10px 25px rgba(68,59,48,.08);overflow:hidden}.detail-card h2{margin:0;padding:18px 20px;border-bottom:1px solid #ece8e1;font-size:18px;color:#244a12}.preview-box{position:relative;display:block;margin:16px;height:230px;border-radius:18px;overflow:hidden;background:#050812}.preview-box img{width:100%;height:100%;object-fit:cover;opacity:.7}.preview-box span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.85);font-size:30px;color:#111}.info-card dl{margin:0}.info-card dl div{display:grid;grid-template-columns:1fr 1.25fr;padding:16px 20px;border-top:1px solid #ece8e1}.info-card dl div:first-child{border-top:0}.info-card dt,.info-card dd{margin:0;font-size:15px}.info-card dd{font-weight:700}.feature-card ul{list-style:none;margin:0;padding:18px 20px}.feature-card li{position:relative;padding:8px 0 8px 34px;font-size:15px}.feature-card li::before{content:"✓";position:absolute;left:0;top:5px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#eaf4ff;border:1px solid #a9d3f4;color:#62aee4}.detail-card>p{padding:0 20px 20px;line-height:1.65;color:#4e5f45}
:root[data-theme="dark"]{--bg:#080b10;--paper:#131820;--ink:#f5f7fb;--muted:#a4aab5;--line:#27303b;--soft:#151b23}:root[data-theme="dark"] body.home-page{background:#080b10;color:#f5f7fb}:root[data-theme="dark"] .floating-head{background:linear-gradient(180deg,rgba(8,11,16,.98),rgba(8,11,16,.82),transparent)}:root[data-theme="dark"] .clock-pill,:root[data-theme="dark"] .hamburger,:root[data-theme="dark"] .profile-stats,:root[data-theme="dark"] .mod-card,:root[data-theme="dark"] .link-card,:root[data-theme="dark"] .video-card,:root[data-theme="dark"] .drawer{background:#131820;border-color:#27303b;color:#f5f7fb}:root[data-theme="dark"] .hamburger span{background:#fff}:root[data-theme="dark"] .profile-hero{background:radial-gradient(circle at 50% 20%,rgba(46,96,143,.18),transparent 35%),#080b10}:root[data-theme="dark"] .profile-handle{background:#151b23;border-color:#2b3340;color:#c2c8d1}:root[data-theme="dark"] .profile-intro,:root[data-theme="dark"] .profile-tagline,:root[data-theme="dark"] .profile-stats span{color:#c3c8d1}:root[data-theme="dark"] .content-shell{background:#0e131a}:root[data-theme="dark"] .plain-section{background:#080b10}:root[data-theme="dark"] .mod-copy p,:root[data-theme="dark"] .link-card small,:root[data-theme="dark"] .video-card small{color:#a3aab5}:root[data-theme="dark"] .open-icon,:root[data-theme="dark"] .drawer nav a,:root[data-theme="dark"] .drawer nav button{background:#1a2029;border-color:#2c3440;color:#fff}:root[data-theme="dark"] .warning-modal>div{background:#141922;color:#fff}:root[data-theme="dark"] .warning-modal p{background:#1c232d;border-color:#333c48;color:#c5cad2}@keyframes blink{50%{opacity:0}}@media(max-width:360px){.floating-head{padding-left:12px;padding-right:12px}.clock-pill{padding:0 12px;gap:7px}.clock-pill span{display:none}.profile-hero h1{font-size:30px}.shell-inner{width:calc(100% - 24px)}.mod-card{grid-template-columns:58px minmax(0,1fr) 52px;gap:10px;padding:12px}.mod-icon{width:58px;height:58px}.cloud-button{width:52px;height:52px}.mod-copy h3{font-size:15px}.mod-copy p{font-size:12px}.detail-body{width:calc(100% - 22px)}.detail-app{grid-template-columns:90px 1fr}.detail-app>img{width:90px;height:90px}.detail-app h1{font-size:24px}}

/* v4.1 navigation and spacing polish */
html{scroll-behavior:smooth;scroll-padding-top:88px}
#games,#get-key,#file-mod,#video-mod{scroll-margin-top:88px}
.plain-section,.content-shell{isolation:isolate}
.plain-section{padding:52px 0}
.content-shell{padding-top:44px;padding-bottom:52px}
.shell-inner>h2{margin:18px 0 22px}
.games-stack,.link-stack,.video-stack{gap:12px}
.drawer{width:min(286px,calc(100% - 30px));padding:22px 20px}
.drawer>img{width:62px;height:62px}
.drawer>strong{margin:10px 0 18px;font-size:20px}
.drawer nav{gap:10px}
.drawer nav a,.drawer nav button{min-height:54px;display:flex;flex-direction:column;justify-content:center;padding:12px 15px;border-radius:16px}
.chat-fab{display:none!important}
@media(max-width:390px){.profile-hero{padding-bottom:48px}.plain-section{padding:46px 0}.content-shell{padding-top:40px;padding-bottom:46px}.shell-inner>h2{font-size:29px}.drawer{right:12px;top:12px;bottom:12px;width:calc(100% - 44px);border-radius:30px}}

/* v4.2: cleaner controls, balanced detail page, real preview gallery */
.floating-head{background:linear-gradient(180deg,rgba(244,246,250,.94),rgba(244,246,250,.72),rgba(244,246,250,0));backdrop-filter:blur(10px)}
.clock-pill{height:auto;padding:4px 0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:12px}
.clock-pill b{font-size:16px;letter-spacing:1.2px}
.clock-pill i{font-size:16px}
.hamburger{width:48px;height:48px;border-radius:0;background:transparent;box-shadow:none}
.hamburger span{width:27px;height:2.5px}
.square-icon.key-download{background:linear-gradient(145deg,#0b4b83,#1878be);box-shadow:0 9px 20px rgba(17,89,145,.22)}
.square-icon.key-download.green{background:linear-gradient(145deg,#0a4c27,#137b40);box-shadow:0 9px 20px rgba(15,107,54,.22)}
.square-icon.key-download svg{width:30px;height:30px;stroke:#fff;stroke-width:2.2}

.game-detail{background:#f2eee8;color:#18350e;overflow-x:hidden}
.detail-banner{height:258px;background-position:center;background-size:cover}
.detail-banner>div{background:linear-gradient(180deg,rgba(4,8,13,.04) 34%,rgba(242,238,232,.52) 70%,#f2eee8 100%)}
.detail-body{width:min(100% - 28px,430px);margin:-46px auto 0;padding-bottom:58px}
.detail-app-card{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:end;padding:0 2px 8px;min-height:108px}
.detail-icon{width:96px;height:96px;border-radius:24px;object-fit:cover;box-shadow:0 12px 26px rgba(20,24,31,.22);border:1px solid rgba(255,255,255,.7)}
.detail-copy{min-width:0;padding-bottom:2px}
.detail-tags{margin:0 0 8px;flex-wrap:wrap}
.detail-app-card h1{margin:0;color:#22570e;font-size:27px;line-height:1.06;font-weight:900;letter-spacing:-.7px;overflow-wrap:anywhere}
.downloads{display:flex;align-items:center;gap:7px;margin:9px 0 0;color:#5d754d;font-size:14px;font-weight:700}
.downloads svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.detail-body blockquote{margin:18px 4px 18px;padding:3px 0 3px 16px;font-size:15px}
.detail-buttons{gap:11px}
.detail-buttons a{min-height:56px;border-radius:18px;font-size:17px;gap:10px;padding:0 18px}
.detail-buttons svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.key-button{margin-top:11px}
.key-button span{margin-left:2px}
.detail-card{margin-top:20px;border-radius:24px}
.detail-card h2{display:flex;align-items:center;gap:10px;padding:18px 20px;font-size:18px}
.detail-card h2 svg{width:22px;height:22px;fill:none;stroke:#63aee4;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.preview-card{padding-bottom:16px}
.preview-stage{position:relative;margin:16px;height:226px;border-radius:18px;overflow:hidden;background:#050812}
.preview-stage>img{display:block;width:100%;height:100%;object-fit:cover}
.preview-stage button{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:34px;line-height:1;display:grid;place-items:center}
.preview-stage [data-preview-prev]{left:12px}.preview-stage [data-preview-next]{right:12px}
.preview-stage span{position:absolute;right:12px;bottom:10px;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:12px;font-weight:800}
.preview-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:88px;gap:10px;overflow-x:auto;padding:0 16px 2px;scrollbar-width:none}.preview-thumbs::-webkit-scrollbar{display:none}
.preview-thumbs button{padding:0;border:2px solid transparent;border-radius:13px;background:transparent;overflow:hidden;aspect-ratio:1.45}.preview-thumbs button.active{border-color:#2f80ed}.preview-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.preview-link{display:flex;align-items:center;justify-content:center;min-height:58px;margin:16px;border-radius:16px;background:#edf5fc;color:#2375b5;text-decoration:none;font-weight:900}
.info-card dl div{padding:17px 20px;gap:14px}.info-card dt,.info-card dd{font-size:15px}.info-card dd{overflow-wrap:anywhere}
.feature-card li{line-height:1.35}
:root[data-theme="dark"] .floating-head{background:linear-gradient(180deg,rgba(8,11,16,.94),rgba(8,11,16,.7),transparent)}
:root[data-theme="dark"] .clock-pill{background:transparent;border:0;box-shadow:none}
:root[data-theme="dark"] .hamburger{background:transparent;box-shadow:none}
@media(max-width:360px){.detail-body{width:calc(100% - 20px);margin-top:-38px}.detail-app-card{grid-template-columns:82px minmax(0,1fr);gap:12px}.detail-icon{width:82px;height:82px;border-radius:21px}.detail-app-card h1{font-size:23px}.preview-stage{height:205px;margin:12px}.detail-buttons a{font-size:16px}}


/* v4.3: yêu cầu bố cục mới */
.floating-head{
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
}
.clock-pill,.hamburger{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.clock-pill{padding:0!important;border-radius:0!important}
.hamburger{width:48px;height:48px;border-radius:0!important}
:root[data-theme="dark"] .floating-head,
:root[data-theme="dark"] .clock-pill,
:root[data-theme="dark"] .hamburger{background:transparent!important;border:0!important;box-shadow:none!important}
#games,#get-key,#video-mod{scroll-margin-top:82px}
.key-download svg{fill:#fff!important;stroke:none!important;width:30px!important;height:30px!important}
.guide-button{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:16px 20px;
  border-radius:22px;
  background:linear-gradient(135deg,#e53b3b,#c82020);
  color:#fff;
  text-decoration:none;
  font-size:17px;
  font-weight:900;
  text-align:center;
  box-shadow:0 12px 26px rgba(210,39,39,.23);
}
.guide-button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.detail-buttons{gap:14px}
@media(max-width:420px){
  .guide-button{min-height:58px;border-radius:19px;font-size:15px;padding:14px 16px}
}


/* v4.5: hoàn tác icon, cân đều nút và thu gọn kích thước */
.floating-head{transition:opacity .22s ease,transform .22s ease;will-change:opacity,transform}
.floating-head.is-hidden{opacity:0;transform:translateY(-18px);pointer-events:none}
.detail-buttons{display:grid;gap:10px;margin-top:16px}
.detail-buttons a,
.guide-button{
  width:100%;
  min-height:50px!important;
  height:50px;
  margin:0!important;
  padding:0 15px!important;
  border-radius:16px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:15px!important;
  line-height:1.15;
  font-weight:900;
  box-sizing:border-box;
  white-space:normal;
}
.detail-buttons a svg,
.guide-button svg{width:20px!important;height:20px!important;flex:0 0 20px}
.guide-button{background:linear-gradient(135deg,#e53b3b,#c82020);color:#fff;box-shadow:0 8px 18px rgba(210,39,39,.2)}
.guide-button span{min-width:0;text-align:center}
.key-button span:last-child{margin-left:0}
@media(max-width:360px){
  .detail-buttons a,.guide-button{height:48px;min-height:48px!important;padding:0 12px!important;font-size:14px!important;border-radius:15px!important}
  .detail-buttons a svg,.guide-button svg{width:19px!important;height:19px!important;flex-basis:19px}
}

/* v4.6: compact key cards, true key icon, correct detail hierarchy */
.floating-head{
  position:absolute!important;
  inset:0 0 auto 0;
  height:76px!important;
  padding:14px 20px!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
}
.clock-pill,.hamburger{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.hamburger{width:42px!important;height:42px!important;border-radius:0!important;padding:0!important}
.hamburger span{width:25px!important;height:2.5px!important}
.profile-hero{padding-top:88px!important}

.link-card{
  grid-template-columns:56px minmax(0,1fr) 44px!important;
  min-height:92px!important;
  padding:12px 13px!important;
  gap:12px!important;
  border-radius:21px!important;
}
.square-icon{width:56px!important;height:56px!important;border-radius:16px!important}
.square-icon.key-download svg{width:29px!important;height:29px!important;fill:none!important;stroke:#fff!important;stroke-width:2.25!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.key-copy{min-width:0}
.key-copy strong{
  display:block!important;
  max-width:100%;
  margin:0!important;
  font-size:15px!important;
  line-height:1.15!important;
  letter-spacing:-.2px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.key-copy small{margin-top:4px!important;font-size:11.5px!important;line-height:1.2!important}
.key-live-time{
  display:block;
  margin-top:5px;
  color:#8a909a;
  font-size:10.5px;
  line-height:1;
  font-weight:800;
  letter-spacing:.15px;
  white-space:nowrap;
}
.open-icon{width:44px!important;height:44px!important;border-radius:13px!important;font-size:0!important}
.open-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* detail: badge belongs to copy, never floats over banner */
.detail-app-card{align-items:center!important;margin-top:0!important;padding-top:0!important}
.detail-copy{min-width:0}
.detail-tags{position:static!important;transform:none!important;margin:0 0 7px!important;justify-content:flex-start!important}
.detail-app-card h1{font-size:24px!important;line-height:1.08!important;overflow-wrap:normal!important;word-break:normal!important}
.platform-tag{position:static!important;inset:auto!important;transform:none!important}

@media(max-width:420px){
  .link-card{grid-template-columns:52px minmax(0,1fr) 40px!important;min-height:84px!important;padding:11px 12px!important;gap:10px!important}
  .square-icon{width:52px!important;height:52px!important;border-radius:15px!important}
  .open-icon{width:40px!important;height:40px!important}
  .key-copy strong{font-size:14px!important}
  .key-copy small{font-size:11px!important}
  .key-live-time{font-size:10px!important}
}

/* v4.7: key card exact one-line title, real date-time and corrected icons */
.link-card{
  grid-template-columns:52px minmax(0,1fr) 42px!important;
  min-height:88px!important;
  padding:11px 12px!important;
  gap:11px!important;
}
.square-icon.key-download{
  width:52px!important;
  height:52px!important;
  border-radius:15px!important;
}
.square-icon.key-download svg{
  width:27px!important;
  height:27px!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-width:2.25!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.key-copy strong{
  font-size:12.5px!important;
  line-height:1.15!important;
  letter-spacing:-.12px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.key-copy small{
  margin-top:3px!important;
  font-size:10.8px!important;
}
.key-live-time{
  margin-top:4px!important;
  color:#7b8493!important;
  font-size:10.5px!important;
  line-height:1.05!important;
  font-weight:600!important;
  letter-spacing:.05px!important;
  font-variant-numeric:tabular-nums;
  white-space:nowrap!important;
}
.open-icon{
  width:42px!important;
  height:42px!important;
  border-radius:13px!important;
}
.open-icon svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.75!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
@media(max-width:360px){
  .link-card{grid-template-columns:48px minmax(0,1fr) 38px!important;gap:9px!important;padding:10px!important;min-height:80px!important}
  .square-icon.key-download{width:48px!important;height:48px!important;border-radius:14px!important}
  .key-copy strong{font-size:11.5px!important}
  .key-copy small{font-size:10px!important}
  .key-live-time{font-size:9.5px!important}
  .open-icon{width:38px!important;height:38px!important;border-radius:12px!important}
}

/* v4.8: rebalance download detail and Get Key cards */
.game-detail .detail-banner{height:220px!important}
.game-detail .detail-body{margin-top:-54px!important;width:min(calc(100% - 28px),430px)!important}
.game-detail .detail-app-card{
  grid-template-columns:86px minmax(0,1fr)!important;
  gap:13px!important;
  min-height:92px!important;
  padding:0 2px 6px!important;
}
.game-detail .detail-icon{width:86px!important;height:86px!important;border-radius:21px!important}
.game-detail .detail-app-card h1{font-size:22px!important;line-height:1.08!important;letter-spacing:-.45px!important}
.game-detail .detail-tags{margin-bottom:5px!important}
.game-detail .platform-tag,.game-detail .featured-tag{font-size:11px!important;padding:4px 9px!important}
.game-detail .downloads{font-size:13.5px!important;margin-top:6px!important}
.game-detail .detail-buttons{gap:10px!important;margin-top:14px!important}
.game-detail .detail-buttons a,
.game-detail .guide-button{
  height:50px!important;
  min-height:50px!important;
  border-radius:16px!important;
  padding:0 14px!important;
  font-size:15px!important;
  gap:8px!important;
}
.game-detail .detail-buttons a svg,
.game-detail .guide-button svg{width:19px!important;height:19px!important;flex:0 0 19px!important}
.game-detail .key-button{margin-top:0!important}

#key-section .link-card{
  grid-template-columns:64px minmax(0,1fr) 48px!important;
  min-height:104px!important;
  padding:14px 15px!important;
  gap:13px!important;
  border-radius:23px!important;
}
#key-section .square-icon.key-download{
  width:64px!important;
  height:64px!important;
  border-radius:18px!important;
}
#key-section .square-icon.key-download svg{width:31px!important;height:31px!important}
#key-section .key-copy strong{
  font-size:14.5px!important;
  line-height:1.15!important;
  letter-spacing:-.2px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#key-section .key-copy small{font-size:11.5px!important;margin-top:4px!important}
#key-section .key-live-time{font-size:11px!important;margin-top:5px!important}
#key-section .open-icon{width:48px!important;height:48px!important;border-radius:14px!important}
#key-section .open-icon svg{width:21px!important;height:21px!important}

@media(max-width:380px){
  .game-detail .detail-banner{height:205px!important}
  .game-detail .detail-app-card{grid-template-columns:78px minmax(0,1fr)!important;gap:11px!important}
  .game-detail .detail-icon{width:78px!important;height:78px!important;border-radius:19px!important}
  .game-detail .detail-app-card h1{font-size:20px!important}
  .game-detail .detail-buttons a,.game-detail .guide-button{height:48px!important;min-height:48px!important;font-size:14px!important}
  #key-section .link-card{grid-template-columns:58px minmax(0,1fr) 44px!important;min-height:96px!important;padding:12px!important;gap:11px!important}
  #key-section .square-icon.key-download{width:58px!important;height:58px!important;border-radius:17px!important}
  #key-section .key-copy strong{font-size:13px!important}
  #key-section .key-copy small{font-size:10.8px!important}
  #key-section .key-live-time{font-size:10.3px!important}
  #key-section .open-icon{width:44px!important;height:44px!important}
}

/* v4.9: home game cards smaller, Get Key cards larger */
#games .games-stack{gap:12px!important}
#games .mod-card{
  grid-template-columns:58px minmax(0,1fr) 54px!important;
  min-height:104px!important;
  padding:13px 14px!important;
  gap:12px!important;
  border-radius:22px!important;
}
#games .mod-icon{width:58px!important;height:58px!important;border-radius:16px!important}
#games .mod-copy h3{font-size:15px!important;line-height:1.08!important;letter-spacing:-.25px!important}
#games .mod-copy p{font-size:11.5px!important;margin-top:3px!important}
#games .mod-tags{gap:6px!important;margin-top:7px!important}
#games .mod-tags span,#games .mod-tags a{font-size:10.5px!important;padding:4px 8px!important}
#games .cloud-button{width:54px!important;height:54px!important;border-radius:17px!important}
#games .cloud-button svg{width:25px!important;height:25px!important}

#get-key .link-stack{gap:14px!important}
#get-key .link-card{
  grid-template-columns:76px minmax(0,1fr) 54px!important;
  min-height:122px!important;
  padding:17px 18px!important;
  gap:16px!important;
  border-radius:25px!important;
}
#get-key .square-icon.key-download{
  width:76px!important;
  height:76px!important;
  border-radius:21px!important;
}
#get-key .square-icon.key-download svg{width:36px!important;height:36px!important}
#get-key .key-copy strong{
  font-size:16px!important;
  line-height:1.15!important;
  letter-spacing:-.25px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#get-key .key-copy small{font-size:12.5px!important;margin-top:5px!important}
#get-key .key-live-time{font-size:12px!important;margin-top:7px!important}
#get-key .open-icon{width:54px!important;height:54px!important;border-radius:16px!important}
#get-key .open-icon svg{width:23px!important;height:23px!important}

@media(max-width:380px){
  #games .mod-card{grid-template-columns:54px minmax(0,1fr) 50px!important;min-height:98px!important;padding:12px!important;gap:10px!important}
  #games .mod-icon{width:54px!important;height:54px!important;border-radius:15px!important}
  #games .mod-copy h3{font-size:14px!important}
  #games .cloud-button{width:50px!important;height:50px!important;border-radius:16px!important}
  #get-key .link-card{grid-template-columns:68px minmax(0,1fr) 50px!important;min-height:112px!important;padding:15px!important;gap:13px!important}
  #get-key .square-icon.key-download{width:68px!important;height:68px!important;border-radius:19px!important}
  #get-key .key-copy strong{font-size:14.5px!important}
  #get-key .key-copy small{font-size:11.5px!important}
  #get-key .key-live-time{font-size:11px!important}
  #get-key .open-icon{width:50px!important;height:50px!important}
}


/* v4.9.1 balance game/key cards */
.game-card{
min-height:118px!important;
padding:18px 20px!important;
}
.key-card{
min-height:118px!important;
padding:18px 20px!important;
}
.key-card .icon,
.game-card .icon{
width:72px!important;
height:72px!important;
flex:0 0 72px!important;
}
.key-card h3{
font-size:20px!important;
white-space:nowrap!important;
overflow:hidden!important;
text-overflow:ellipsis!important;
}
.key-card .open-btn,
.game-card .open-btn{
width:58px!important;
height:58px!important;
}


/* key card size fix */
.link-card .square-icon.key-download,
.link-card .square-icon{
width:52px!important;
height:52px!important;
min-width:52px!important;
border-radius:16px!important;
}
.link-card .square-icon svg{
width:18px!important;
height:18px!important;
}

/* FINAL FIX: Get Key icon/card scale must match Game Mods */
#get-key .link-card{
  grid-template-columns:54px minmax(0,1fr) 50px!important;
  min-height:98px!important;
  padding:12px!important;
  gap:10px!important;
  border-radius:23px!important;
}
#get-key .link-card .square-icon.key-download{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  border-radius:15px!important;
}
#get-key .link-card .square-icon.key-download svg{
  width:21px!important;
  height:21px!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-width:2.2!important;
}
#get-key .link-card .open-icon{
  width:50px!important;
  height:50px!important;
  border-radius:16px!important;
}
#get-key .link-card .key-copy strong{
  font-size:14px!important;
  line-height:1.15!important;
}
#get-key .link-card .key-copy small{
  font-size:11.5px!important;
  margin-top:3px!important;
}
#get-key .link-card .key-live-time{
  font-size:11px!important;
  margin-top:3px!important;
}

/* HOTFIX: Get Key card uses the same proportions as Game Mods */
#get-key .link-card{
  grid-template-columns:66px minmax(0,1fr) 58px!important;
  gap:13px!important;
  min-height:0!important;
  padding:15px!important;
  border-radius:23px!important;
}
#get-key .link-card .square-icon.key-download{
  width:66px!important;
  height:66px!important;
  min-width:66px!important;
  flex:0 0 66px!important;
  border-radius:17px!important;
}
#get-key .link-card .square-icon.key-download svg{
  width:24px!important;
  height:24px!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-width:2.1!important;
}
#get-key .link-card .open-icon{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  border-radius:17px!important;
}
#get-key .link-card .open-icon svg{
  width:24px!important;
  height:24px!important;
}
#get-key .link-card .key-copy strong{
  font-size:17px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#get-key .link-card .key-copy small{
  font-size:13px!important;
  line-height:1.2!important;
  margin-top:3px!important;
}
#get-key .link-card .key-live-time{
  font-size:12px!important;
  line-height:1.2!important;
  margin-top:3px!important;
}
@media(max-width:360px){
  #get-key .link-card{
    grid-template-columns:58px minmax(0,1fr) 52px!important;
    gap:10px!important;
    padding:12px!important;
  }
  #get-key .link-card .square-icon.key-download{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    flex-basis:58px!important;
  }
  #get-key .link-card .open-icon{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
  }
}

/* v4.9.2 match key card icon to game mods */
#get-key .link-card .square-icon.key-download{width:58px!important;height:58px!important;min-width:58px!important;border-radius:16px!important;}
#get-key .link-card .square-icon.key-download svg{width:30px!important;height:30px!important;}

/* ===== TD MOD Admin v5 ===== */
.admin-body{margin:0;background:#0a0d14;color:#f7f8fc;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.admin-layout{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.admin-sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;background:#0f131d;border-right:1px solid #252b38}.admin-brand{display:flex;align-items:center;gap:12px;padding:8px 10px 24px;font-size:19px;font-weight:900}.admin-brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#5b4ff6,#2196f3);box-shadow:0 10px 25px rgba(65,92,245,.3)}.admin-nav{display:grid;gap:6px}.admin-nav a{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:12px;color:#aeb5c5;text-decoration:none;font-weight:700}.admin-nav a:hover,.admin-nav a.active{background:#1a2030;color:#fff}.admin-nav .danger{color:#ff9292}.admin-main{min-width:0;padding:28px}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.admin-topbar h1{font-size:30px;margin:0}.admin-subtitle{color:#929bac;margin:5px 0 0}.admin-card{background:#111722;border:1px solid #262e3d;border-radius:18px;padding:20px;box-shadow:0 18px 45px rgba(0,0,0,.18)}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-field label{display:block;margin:0 0 8px;font-size:14px;font-weight:800;color:#dce1ea}.admin-field input,.admin-field select,.admin-field textarea,.admin-search{width:100%;box-sizing:border-box;border:1px solid #30394a;background:#0c111a;color:#fff;border-radius:12px;padding:12px 14px;outline:none;font:inherit}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus,.admin-search:focus{border-color:#5b69ff;box-shadow:0 0 0 3px rgba(91,105,255,.14)}.admin-field textarea{min-height:120px;resize:vertical}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.admin-btn{appearance:none;border:0;border-radius:11px;padding:11px 15px;background:#202839;color:#fff;text-decoration:none;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.admin-btn.primary{background:linear-gradient(135deg,#5c50f6,#287ff0)}.admin-btn.danger{background:#3a1c24;color:#ff9ca9}.admin-btn.ghost{border:1px solid #30394a;background:transparent}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.admin-stat{padding:20px;border-radius:17px;background:#111722;border:1px solid #262e3d}.admin-stat b{display:block;font-size:29px}.admin-stat span{color:#929bac;font-size:14px}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:14px 12px;border-bottom:1px solid #242c39;vertical-align:middle}.admin-table th{color:#8f99aa;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.admin-thumb{width:50px;height:50px;border-radius:13px;object-fit:cover;background:#202839}.admin-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#202a3c;color:#bcd1ff;font-size:12px;font-weight:800}.admin-badge.ok{background:#123226;color:#75e5ad}.admin-badge.off{background:#352027;color:#ff9eaa}.admin-alert{padding:13px 15px;border-radius:12px;margin-bottom:16px;background:#2c1920;color:#ffacb7;border:1px solid #5b2634}.admin-alert.success{background:#123226;color:#8ce9b8;border-color:#23523f}.admin-section-title{font-size:18px;margin:0 0 16px}.admin-check{display:flex;align-items:center;gap:9px;font-weight:700}.admin-check input{width:18px;height:18px}.admin-preview-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.admin-preview-list img{width:76px;height:76px;object-fit:cover;border-radius:12px;border:1px solid #30394a}.admin-empty{text-align:center;padding:36px;color:#8f99aa}.admin-mobile-head{display:none}.admin-login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 0,#1b2240,#090c13 55%)}.admin-login-card{width:min(430px,100%);background:#111722;border:1px solid #293144;border-radius:22px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.38)}
@media(max-width:900px){.admin-layout{display:block}.admin-sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid #252b38;padding:14px}.admin-brand{padding-bottom:12px}.admin-nav{display:flex;overflow:auto;padding-bottom:2px}.admin-nav a{white-space:nowrap}.admin-main{padding:20px 14px}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid,.admin-grid-3{grid-template-columns:1fr}.admin-topbar{align-items:flex-start}.admin-topbar h1{font-size:26px}}@media(max-width:520px){.admin-stats{grid-template-columns:1fr 1fr}.admin-stat{padding:15px}.admin-stat b{font-size:23px}.admin-card{padding:15px;border-radius:15px}.admin-table th:nth-child(3),.admin-table td:nth-child(3){display:none}.admin-btn{padding:10px 12px}}
/* Video Mod themes managed from admin */
.video-icon.video-theme-blue{background:linear-gradient(135deg,#32a7ee,#267acb)}
.video-icon.video-theme-purple{background:linear-gradient(135deg,#251277,#12085d)}
.video-icon.video-theme-red{background:linear-gradient(135deg,#ff4e5d,#c7182c)}
.video-icon.video-theme-green{background:linear-gradient(135deg,#20be73,#087a44)}
.video-icon.video-theme-orange{background:linear-gradient(135deg,#ffad22,#ed7400)}
.video-icon.video-theme-dark{background:linear-gradient(135deg,#30333c,#101218)}
.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:14px;border-bottom:1px solid var(--line,#2a2f3a);text-align:left;vertical-align:middle}.admin-table td form{display:inline}.admin-btn.danger{background:#d9364f;color:#fff;border-color:#d9364f}

/* Section label spacing and download icon refinement */
.section-label + .games-stack,.section-label + .link-stack,.section-label + .video-stack{margin-top:20px!important;}
#games .section-label svg{width:18px!important;height:18px!important;stroke-width:2.1!important;}
#warningText{white-space:pre-line;}

#warningText{white-space:normal;text-align:left;line-height:1.8;}

/* Preserve warning line breaks exactly as entered in admin */
#warningText{white-space:pre-wrap!important;text-align:left!important;line-height:1.75!important;overflow-wrap:anywhere;}

/* Trình quản lý nút hành động trong admin */
.button-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.button-manager-head .admin-section-title{margin-bottom:4px}.action-button-list{display:grid;gap:13px}.action-button-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:15px;border:1px solid #30394a;background:#0c111a;border-radius:15px}.action-button-item.dragging{opacity:.45}.action-button-drag{height:100%;min-height:44px;display:grid;place-items:center;border-radius:10px;background:#1a2230;color:#9eabc0;cursor:grab;font-size:21px;user-select:none}.action-button-drag:active{cursor:grabbing}.action-button-fields{min-width:0}.button-style-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:13px}.button-style-row>label:not(.admin-check){display:flex;align-items:center;gap:8px;color:#dce1ea;font-size:14px;font-weight:800}.button-style-row input[type=color]{width:44px;height:36px;padding:2px;border-radius:9px;cursor:pointer}.button-style-row .remove-action-button{margin-left:auto}.custom-action-button{background:var(--button-bg)!important;color:var(--button-text)!important;box-shadow:0 8px 20px color-mix(in srgb,var(--button-bg) 28%,transparent)!important;border:0!important}.custom-action-label{min-width:0;text-align:center}.custom-action-arrow{font-size:18px;line-height:1}.custom-action-buttons .custom-action-button svg{stroke:currentColor;fill:none}
@media(max-width:700px){.button-manager-head{display:grid}.button-manager-head .admin-btn{width:100%}.action-button-item{grid-template-columns:28px minmax(0,1fr);padding:11px;gap:9px}.button-style-row{align-items:flex-start}.button-style-row .remove-action-button{width:100%;margin-left:0}}

/* Admin: xóa ảnh cũ */
.admin-preview-delete{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:10px;border:1px solid #e3e6ee;border-radius:14px;background:#fff}
.admin-preview-delete img{width:100%;max-width:180px;height:110px;object-fit:cover;border-radius:10px}
.admin-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:10px}
.admin-preview-grid .admin-preview-delete img{max-width:none;height:110px}
.danger-check{color:#c62828!important;font-weight:800}

/* Popup chọn loại APK */
.download-choice-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .18s ease}
.download-choice-modal.show{opacity:1}
.download-choice-backdrop{position:absolute;inset:0;background:rgba(9,12,18,.62);backdrop-filter:blur(5px)}
.download-choice-dialog{position:relative;width:min(100%,390px);padding:26px 20px 20px;border-radius:26px;background:#fff;color:#19380f;box-shadow:0 24px 70px rgba(0,0,0,.28);transform:translateY(14px) scale(.98);transition:transform .18s ease}
.download-choice-modal.show .download-choice-dialog{transform:none}
.download-choice-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f0f1f4;font-size:26px;line-height:1;cursor:pointer}
.download-choice-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:18px;display:grid;place-items:center;background:#e8f8ef;color:#18a85a}
.download-choice-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.download-choice-dialog h2{text-align:center;margin:0;font-size:24px}
.download-choice-dialog>p{text-align:center;margin:7px 20px 18px;color:#6d7768;font-size:14px}
.download-choice-list{display:grid;gap:11px}
.download-choice-list a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:16px;border-radius:17px;background:#f6f8f4;border:1px solid #e4eadf;color:#183b10;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}
.download-choice-list a:hover{transform:translateY(-1px);border-color:#9ed4aa;box-shadow:0 8px 20px rgba(30,110,52,.10)}
.download-choice-list strong{font-size:17px}
.download-choice-list span{grid-column:1;color:#74806f;font-size:13px}
.download-choice-list b{grid-column:2;grid-row:1/3;font-size:22px;color:#19a85a}

/* Download choice popup v53 */
.download-choice-modal[hidden]{display:none!important}
.download-choice-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.download-choice-modal.show{opacity:1;visibility:visible}
.download-choice-backdrop{position:absolute;inset:0;background:rgba(8,10,14,.68);backdrop-filter:blur(7px)}
.download-choice-dialog{position:relative;width:min(100%,430px);padding:52px 28px 28px;border-radius:32px;background:var(--modal-bg,#fff)!important;color:var(--modal-text,#202124)!important;box-shadow:0 28px 80px rgba(0,0,0,.38);transform:translateY(16px) scale(.97);transition:transform .2s ease;text-align:center;overflow:hidden}
.download-choice-modal.show .download-choice-dialog{transform:none}
.download-choice-close-x{position:absolute;right:15px;top:13px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(127,127,127,.12);color:inherit;font-size:27px;line-height:1;cursor:pointer}
.download-choice-icon{width:88px;height:88px;margin:0 auto 22px;border-radius:25px;display:grid;place-items:center;background:linear-gradient(145deg,#11572d,#0d3e22);color:#43e58b;overflow:hidden}
.download-choice-icon img{width:100%;height:100%;object-fit:cover}
.download-choice-icon svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.download-choice-dialog h2{margin:0;font-size:30px;line-height:1.18;color:inherit}
.download-choice-dialog>p{margin:12px 4px 26px;color:color-mix(in srgb,var(--modal-text,#202124) 68%,transparent);font-size:17px;line-height:1.45}
.download-choice-list{display:grid;gap:14px}
.download-choice-list a{min-height:82px;padding:15px 22px;border:0;border-radius:24px;background:var(--choice-bg)!important;color:var(--choice-text)!important;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 13px 28px color-mix(in srgb,var(--choice-bg) 28%,transparent);transition:transform .15s ease,filter .15s ease}
.download-choice-list a:active{transform:scale(.98)}
.download-choice-list a svg{width:29px;height:29px;flex:0 0 29px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.download-choice-list .choice-copy{display:grid;text-align:left;line-height:1.15}
.download-choice-list strong{font-size:21px;color:inherit}
.download-choice-list small{margin-top:5px;font-size:12px;color:inherit;opacity:.82}
.download-choice-cancel{margin-top:22px;padding:10px 18px;border:0;background:transparent;color:var(--close-color,#e46b70);font:inherit;font-size:18px;font-weight:800;cursor:pointer}
@media(max-width:480px){.download-choice-dialog{padding:44px 20px 22px;border-radius:28px}.download-choice-icon{width:78px;height:78px;border-radius:22px;margin-bottom:18px}.download-choice-dialog h2{font-size:27px}.download-choice-dialog>p{font-size:15px;margin-bottom:22px}.download-choice-list a{min-height:74px;border-radius:21px;padding:13px 18px}.download-choice-list strong{font-size:19px}}


/* Hiệu ứng tải trang */
.site-loader{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;background:#070a10;color:#fff;transition:opacity .5s ease,visibility .5s ease;overflow:hidden}
.site-loader::before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 50% 48%,rgba(45,112,255,.18),transparent 26%),radial-gradient(circle at 50% 50%,rgba(113,62,255,.1),transparent 42%);animation:loaderGlow 1.8s ease-in-out infinite alternate}
.site-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.site-loader-inner{position:relative;z-index:1;width:min(260px,72vw);display:grid;justify-items:center;text-align:center}
.site-loader-mark{position:relative;width:68px;height:68px;margin-bottom:24px;filter:drop-shadow(0 0 18px rgba(56,130,255,.7))}
.site-loader-mark span,.site-loader-mark i,.site-loader-mark b{position:absolute;inset:50% auto auto 50%;display:block;transform:translate(-50%,-50%) rotate(45deg);border-radius:7px}
.site-loader-mark span{width:34px;height:34px;background:linear-gradient(145deg,#47a6ff,#3155ff);animation:loaderDiamond 1.1s cubic-bezier(.65,0,.35,1) infinite}
.site-loader-mark i{width:49px;height:49px;border:1px solid rgba(89,151,255,.42);animation:loaderRing 1.5s linear infinite}
.site-loader-mark b{width:61px;height:61px;border:1px solid rgba(113,74,255,.18);animation:loaderRing 2s linear infinite reverse}
.site-loader-title{font-size:18px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 18px rgba(81,126,255,.42)}
.site-loader-progress{width:100%;height:5px;margin-top:17px;background:rgba(255,255,255,.09);border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.site-loader-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3e65ff,#42b8ff);box-shadow:0 0 13px rgba(59,139,255,.75);transition:width .18s ease}
.site-loader small{margin-top:9px;color:rgba(255,255,255,.64);font-size:12px;font-weight:800;letter-spacing:.08em}
body.site-loading{overflow:hidden}
@keyframes loaderDiamond{0%,100%{transform:translate(-50%,-50%) rotate(45deg) scale(.82);opacity:.65}50%{transform:translate(-50%,-50%) rotate(225deg) scale(1);opacity:1}}
@keyframes loaderRing{to{transform:translate(-50%,-50%) rotate(405deg)}}
@keyframes loaderGlow{from{transform:scale(.92);opacity:.6}to{transform:scale(1.08);opacity:1}}
@media(prefers-reduced-motion:reduce){.site-loader-mark span,.site-loader-mark i,.site-loader-mark b,.site-loader::before{animation:none}.site-loader{transition-duration:.15s}}

/* Admin game manager dễ dùng + sắp xếp game */
.admin-filter-card{margin-bottom:16px}.admin-filter-actions{margin-top:16px}.game-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.game-manager-head .admin-section-title{margin-bottom:4px}.game-order-table tbody tr{transition:opacity .15s,background .15s}.game-order-table tbody tr.dragging{opacity:.4;background:#182238}.game-drag-handle{width:38px;height:42px;border:1px solid #334057;border-radius:10px;background:#182131;color:#aebbd1;font-size:21px;cursor:grab}.game-drag-handle:active{cursor:grabbing}.sort-order-input{width:72px!important;text-align:center;padding:10px 6px!important}.game-admin-info{display:flex;align-items:center;gap:12px;min-width:230px}.game-admin-info>div{display:grid;gap:3px}.game-admin-info small,.game-admin-info span{color:#929bac;font-size:12px}.game-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:330px}.game-row-actions .admin-btn{padding:9px 11px}.admin-badge.featured{margin-left:5px;background:#3b2f10;color:#ffd66d}
@media(max-width:700px){.game-manager-head{display:grid}.game-manager-head .admin-btn{width:100%}.game-order-table thead{display:none}.game-order-table,.game-order-table tbody,.game-order-table tr,.game-order-table td{display:block;width:100%}.game-order-table tr{position:relative;margin-bottom:13px;padding:14px;border:1px solid #2b3546;border-radius:15px;background:#0d131d}.game-order-table td{padding:7px 0;border:0}.game-order-table td:first-child{position:absolute;right:12px;top:12px;width:auto}.game-order-table td:nth-child(2){width:95px;padding-top:0}.game-order-table td:nth-child(2)::before{content:'Vị trí: ';color:#929bac;font-size:12px;font-weight:800}.game-admin-info{padding-right:48px;min-width:0}.game-row-actions{min-width:0}.game-row-actions .admin-btn{flex:1;min-width:62px}.sort-order-input{display:inline-block;width:58px!important}.admin-topbar{display:grid}.admin-topbar>.admin-btn{width:100%}}

/* Dedicated game ordering page */
.sort-page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.sort-page-head>div{display:grid;gap:4px}.sort-page-head small{color:#929bac}.sort-game-cards{display:grid;gap:10px}.sort-game-card{display:grid;grid-template-columns:44px 38px 58px minmax(0,1fr) 105px;align-items:center;gap:12px;padding:12px;border:1px solid #2a3445;border-radius:15px;background:#0d131d;transition:.15s}.sort-game-card:hover{border-color:#485777;background:#111a27}.sort-game-card.dragging{opacity:.42;transform:scale(.99)}.sort-grip{width:40px;height:44px;border:1px solid #34425a;border-radius:11px;background:#182235;color:#c4cee0;font-size:21px;cursor:grab}.sort-rank{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#202b40;color:#a9c1ff;font-weight:900}.sort-game-card img{width:54px;height:54px;border-radius:13px;object-fit:cover}.sort-game-copy{display:grid;gap:4px;min-width:0}.sort-game-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sort-game-copy small{color:#929bac}.sort-game-card>label{display:grid;gap:5px;color:#929bac;font-size:11px;font-weight:800;text-transform:uppercase}.sort-game-card input{width:100%;box-sizing:border-box;border:1px solid #344057;background:#080d15;color:#fff;border-radius:10px;padding:9px;text-align:center;font-weight:900}
/* Modern admin login */
.admin-login-page{margin:0;min-height:100vh;background:#080c14;color:#f8faff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(330px,43%) 1fr}.login-brand-panel{position:relative;overflow:hidden;padding:clamp(38px,7vw,92px);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 10% 10%,rgba(91,79,246,.5),transparent 38%),radial-gradient(circle at 90% 80%,rgba(33,150,243,.35),transparent 40%),linear-gradient(145deg,#11182a,#0b101c)}.login-brand-panel:after{content:"";position:absolute;inset:auto -100px -130px auto;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018)}.login-logo{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#6d5dfc,#25a7ff);font-weight:1000;font-size:21px;box-shadow:0 18px 45px rgba(44,96,255,.35)}.login-brand-panel>span{margin-top:16px;color:#9eb0d2;font-size:13px;font-weight:900;letter-spacing:.14em}.login-brand-panel h1{font-size:clamp(38px,5vw,66px);line-height:1.02;margin:28px 0 18px;letter-spacing:-.045em}.login-brand-panel>p{max-width:520px;color:#aab6ca;font-size:17px;line-height:1.7}.login-feature{display:flex;gap:10px;align-items:center;margin-top:14px;color:#dfe7f6}.login-feature b{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:rgba(78,224,151,.13);color:#65e3a2}.login-form-panel{display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 20%,#151c2b,#090d15 52%)}.modern-login-card{width:min(430px,100%);box-sizing:border-box;padding:34px;border:1px solid #273146;border-radius:26px;background:rgba(16,22,34,.88);box-shadow:0 35px 90px rgba(0,0,0,.45);backdrop-filter:blur(20px)}.login-mobile-logo{display:none}.login-eyebrow{margin:0 0 10px;color:#7186ff;font-size:12px;font-weight:1000;letter-spacing:.14em}.modern-login-card h2{margin:0;font-size:32px;letter-spacing:-.03em}.login-help{margin:9px 0 27px;color:#929db0}.login-error{margin-bottom:18px;padding:12px 14px;border:1px solid #713140;border-radius:12px;background:#351923;color:#ffabb7}.login-field{display:grid;gap:8px;margin-bottom:16px}.login-field>span{font-size:13px;font-weight:850;color:#dfe5ef}.login-field>div{display:flex;align-items:center;border:1px solid #303a4d;border-radius:14px;background:#0a0f18;transition:.15s}.login-field>div:focus-within{border-color:#6674ff;box-shadow:0 0 0 4px rgba(102,116,255,.12)}.login-field i{width:44px;text-align:center;color:#7f8ba1;font-style:normal}.login-field input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;padding:14px 5px;font:inherit}.login-field button{border:0;background:transparent;color:#8798ff;padding:0 14px;font-weight:800;cursor:pointer}.login-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;border:0;border-radius:14px;padding:15px;background:linear-gradient(135deg,#6758f7,#258cf4);color:#fff;font-size:16px;font-weight:950;cursor:pointer;box-shadow:0 15px 35px rgba(55,89,244,.3)}.login-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}.login-back{display:block;margin-top:18px;text-align:center;color:#8e9aaf;text-decoration:none;font-weight:750}
@media(max-width:800px){.login-shell{display:block}.login-brand-panel{display:none}.login-form-panel{min-height:100vh;box-sizing:border-box;padding:20px}.modern-login-card{padding:25px;border-radius:22px}.login-mobile-logo{display:flex;align-items:center;gap:11px;margin-bottom:28px}.login-mobile-logo i{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#6d5dfc,#25a7ff);font-style:normal;font-weight:950}.sort-page-head{display:grid}.sort-page-head .admin-btn{width:100%}.sort-game-card{grid-template-columns:40px 32px 50px minmax(0,1fr)}.sort-game-card>label{grid-column:2/-1;grid-template-columns:auto 100px;align-items:center}.sort-game-card input{width:100px}.sort-game-copy small{font-size:11px}}

/* Custom platform badges: Android/iOS icon and colors are editable in Admin */
.platform-tag-custom{
  display:inline-flex!important;align-items:center!important;gap:5px!important;
  background:var(--platform-bg)!important;color:var(--platform-text)!important;
  border:1.5px solid var(--platform-border)!important;
  border-radius:999px!important;padding:4px 10px!important;font-weight:800!important;
  line-height:1!important;white-space:nowrap!important;
}
.platform-tag-custom svg{width:15px!important;height:15px!important;display:block!important;fill:var(--platform-icon)!important;stroke:var(--platform-icon)!important;stroke-width:1.25!important;stroke-linecap:round!important;stroke-linejoin:round!important;flex:none!important}
.key-platform-badge{width:max-content!important;margin-top:5px!important;font-size:10.5px!important;padding:3px 8px!important}
.key-platform-badge svg{width:13px!important;height:13px!important}
#get-key .key-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important}
@media(max-width:520px){.platform-tag-custom{font-size:10.5px!important;padding:3px 8px!important}.platform-tag-custom svg{width:13px!important;height:13px!important}.key-platform-badge{font-size:9.5px!important;padding:3px 7px!important}}

/* Get Key card layout refinement */
.link-card .key-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0!important}
.link-card .key-copy strong{display:block!important;margin:0!important;line-height:1.18!important}
.link-card .key-live-time{display:block!important;order:2!important;margin:5px 0 0!important;color:#737984!important;font-size:12px!important;line-height:1.15!important;font-weight:700!important}
.link-card .key-platform-badge{order:3!important;display:inline-flex!important;align-items:center!important;width:max-content!important;margin-top:7px!important}
.link-card .square-icon.key-download svg{width:29px!important;height:29px!important}

/* ===== Tương tác card game + hiệu ứng giao diện v55 ===== */
.game-card-clickable{cursor:pointer;isolation:isolate;transition:transform .28s cubic-bezier(.2,.75,.25,1),box-shadow .28s ease,border-color .28s ease;background-image:linear-gradient(115deg,rgba(255,255,255,0),rgba(101,186,235,.08),rgba(255,255,255,0));background-size:220% 100%;background-position:100% 0}
.game-card-clickable::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(circle at var(--mx,80%) var(--my,20%),rgba(100,190,241,.18),transparent 34%);opacity:0;transition:opacity .25s ease;pointer-events:none}
.game-card-clickable:hover,.game-card-clickable:focus-visible{transform:translateY(-4px) scale(1.008);border-color:rgba(84,174,229,.52);box-shadow:0 18px 38px rgba(36,64,92,.16);background-position:0 0;outline:none}
.game-card-clickable:hover::before,.game-card-clickable:focus-visible::before{opacity:1}
.game-card-clickable:active{transform:translateY(-1px) scale(.995)}
.game-card-clickable .mod-icon{transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease}
.game-card-clickable:hover .mod-icon{transform:scale(1.055) rotate(-1.5deg);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.game-card-clickable .cloud-button{position:relative;overflow:hidden;transition:transform .28s ease,filter .28s ease,box-shadow .28s ease}
.game-card-clickable .cloud-button::after{content:"";position:absolute;inset:-45%;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.45) 50%,transparent 62%);transform:translateX(-75%) rotate(8deg);transition:transform .6s ease}
.game-card-clickable:hover .cloud-button{transform:scale(1.07);filter:saturate(1.12);box-shadow:0 13px 28px rgba(17,89,145,.33)}
.game-card-clickable:hover .cloud-button::after{transform:translateX(75%) rotate(8deg)}
.game-card-clickable:hover .cloud-button svg{animation:cloudBounce .72s ease}
.section-label{position:relative;overflow:hidden;box-shadow:0 8px 22px rgba(63,153,211,.08);transition:transform .25s ease,box-shadow .25s ease}
.section-label::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);transform:translateX(-130%);animation:labelShine 5.5s ease-in-out infinite}
.link-card,.video-card{transition:transform .25s cubic-bezier(.2,.75,.25,1),box-shadow .25s ease,border-color .25s ease}
.link-card:hover,.video-card:hover{transform:translateY(-3px);border-color:rgba(91,173,225,.45);box-shadow:0 16px 34px rgba(38,57,79,.14)}
.link-card:active,.video-card:active{transform:scale(.985)}
.link-card .square-icon,.video-card .video-icon{transition:transform .3s ease,filter .3s ease}
.link-card:hover .square-icon,.video-card:hover .video-icon{transform:scale(1.055);filter:saturate(1.14)}
.profile-avatar{animation:avatarFloat 4.8s ease-in-out infinite}
.profile-stats{transition:transform .3s ease,box-shadow .3s ease}
.profile-stats:hover{transform:translateY(-3px);box-shadow:0 17px 36px rgba(36,43,56,.11)}
.clock-pill{animation:softFloat 4.2s ease-in-out infinite}
.hamburger{transition:transform .25s ease,box-shadow .25s ease}
.hamburger:hover{transform:rotate(2deg) scale(1.04);box-shadow:0 16px 34px rgba(42,48,62,.16)}
@keyframes cloudBounce{0%,100%{transform:translateY(0)}35%{transform:translateY(2px)}65%{transform:translateY(-3px)}}
@keyframes labelShine{0%,68%{transform:translateX(-130%)}82%,100%{transform:translateX(130%)}}
@keyframes avatarFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
:root[data-theme="dark"] .game-card-clickable{background-image:linear-gradient(115deg,rgba(255,255,255,0),rgba(50,131,183,.09),rgba(255,255,255,0))}
:root[data-theme="dark"] .game-card-clickable:hover,:root[data-theme="dark"] .game-card-clickable:focus-visible{border-color:rgba(84,174,229,.46);box-shadow:0 18px 40px rgba(0,0,0,.4)}
@media (hover:none){.game-card-clickable:hover,.link-card:hover,.video-card:hover,.profile-stats:hover{transform:none}.game-card-clickable:active{transform:scale(.985)}}
@media (prefers-reduced-motion:reduce){.game-card-clickable,.game-card-clickable *,.section-label::after,.profile-avatar,.clock-pill,.link-card,.video-card,.profile-stats{animation:none!important;transition:none!important}}

/* Floating background music player */
.site-music-player{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;gap:10px;max-width:min(340px,calc(100vw - 32px));padding:9px 11px 9px 9px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 14px 40px rgba(19,39,70,.2);backdrop-filter:blur(18px);transition:.25s ease}.site-music-player.music-dismissed,.site-music-player.music-player-hidden{display:none}.music-toggle{position:relative;display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:0;border-radius:50%;background:linear-gradient(135deg,#28c982,#178bd5);color:#fff;box-shadow:0 8px 20px rgba(23,139,213,.28);cursor:pointer}.music-toggle svg{width:21px;height:21px;fill:currentColor}.music-pause-icon,.site-music-player.is-playing .music-play-icon{display:none}.site-music-player.is-playing .music-pause-icon{display:block}.music-meta{min-width:0;display:flex;flex-direction:column;line-height:1.2}.music-meta strong{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#18202a}.music-meta small{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#68727f}.music-close{width:28px;height:28px;border:0;background:transparent;color:#7a8490;font-size:22px;cursor:pointer}.music-equalizer{display:none;position:absolute;bottom:5px;gap:2px;align-items:end}.music-equalizer i{display:block;width:2px;height:5px;background:#fff;border-radius:2px;animation:musicBars .7s ease-in-out infinite alternate}.music-equalizer i:nth-child(2){animation-delay:.18s}.music-equalizer i:nth-child(3){animation-delay:.35s}.site-music-player.is-playing .music-equalizer{display:flex}@keyframes musicBars{to{height:11px}}@media(max-width:520px){.site-music-player{bottom:84px}.music-meta strong,.music-meta small{max-width:145px}}


/* v56: biểu tượng thời gian tự đổi theo giờ Việt Nam */
.clock-pill .time-icon{display:inline-grid;place-items:center;min-width:22px;font-style:normal;line-height:1;filter:drop-shadow(0 3px 7px rgba(89,113,255,.25));transform-origin:center}
.clock-pill .time-icon.time-icon-pop{animation:timeIconPop .48s cubic-bezier(.2,.8,.2,1)}
@keyframes timeIconPop{0%{opacity:0;transform:translateY(5px) scale(.65) rotate(-12deg)}65%{transform:translateY(-2px) scale(1.16) rotate(4deg)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.clock-pill .time-icon.time-icon-pop{animation:none!important}}

/* Huy hiệu xác minh premium: ánh sáng, nhịp thở và phản hồi khi chạm */
.profile-hero h1{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.verified-badge{--verify-color:#2498f3;--verify-glow:#2da8ff;--verify-size:31px;--verify-speed:3.2s;position:relative;display:inline-grid;place-items:center;width:var(--verify-size);height:var(--verify-size);flex:0 0 var(--verify-size);vertical-align:middle;filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--verify-glow) 42%,transparent));transform-origin:center;isolation:isolate;cursor:pointer;outline:none;animation:verifiedFloat var(--verify-speed) ease-in-out infinite}
.verified-badge svg{position:relative;z-index:2;width:100%;height:100%;overflow:visible}
.verified-badge-shape{fill:var(--verify-color);stroke:rgba(255,255,255,.38);stroke-width:1.15;transform-origin:center;animation:verifiedPulse var(--verify-speed) ease-in-out infinite}
.verified-badge-check{fill:none;stroke:#fff;stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:18;stroke-dashoffset:18;animation:verifiedDraw .75s .18s cubic-bezier(.2,.8,.2,1) forwards}
.verified-badge::before,.verified-badge::after{content:"";position:absolute;inset:-5px;border-radius:50%;z-index:0;pointer-events:none}
.verified-badge::before{background:radial-gradient(circle,color-mix(in srgb,var(--verify-glow) 42%,transparent),transparent 68%);opacity:.7;animation:verifiedGlow var(--verify-speed) ease-in-out infinite}
.verified-badge::after{inset:-2px;border:1.5px solid color-mix(in srgb,var(--verify-glow) 60%,transparent);opacity:0;animation:verifiedRing var(--verify-speed) ease-out infinite}
.verified-badge i{position:absolute;z-index:3;inset:3px;border-radius:50%;overflow:hidden;pointer-events:none}
.verified-badge i::after{content:"";position:absolute;top:-40%;left:-85%;width:45%;height:180%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:rotate(22deg);animation:verifiedShine calc(var(--verify-speed)*1.65) ease-in-out infinite}
.verified-badge:hover,.verified-badge:focus-visible{animation-play-state:paused;transform:scale(1.12) rotate(4deg);filter:drop-shadow(0 0 12px var(--verify-glow))}
.verified-badge:active{transform:scale(.9) rotate(-7deg)}
@keyframes verifiedDraw{to{stroke-dashoffset:0}}
@keyframes verifiedFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(2deg)}}
@keyframes verifiedPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}
@keyframes verifiedGlow{0%,100%{opacity:.38;transform:scale(.9)}50%{opacity:.9;transform:scale(1.22)}}
@keyframes verifiedRing{0%,48%{opacity:0;transform:scale(.72)}58%{opacity:.7}82%,100%{opacity:0;transform:scale(1.48)}}
@keyframes verifiedShine{0%,58%{transform:translateX(0) rotate(22deg);opacity:0}65%{opacity:1}82%,100%{transform:translateX(430%) rotate(22deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.verified-badge,.verified-badge-shape,.verified-badge::before,.verified-badge::after,.verified-badge i::after{animation:none}.verified-badge-check{stroke-dashoffset:0;animation:none}}

/* Giữ lời chào theo thời gian luôn hiển thị trên điện thoại. */
.clock-pill #greeting{display:inline!important;white-space:nowrap;opacity:1;visibility:visible}
@media(max-width:360px){.clock-pill #greeting{display:inline!important;font-size:10px}.clock-pill{gap:5px}.clock-pill b{font-size:13px}}

/* v58: cân cỡ lời chào với đồng hồ và phóng to menu điều hướng */
.clock-pill #greeting{
  display:inline!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.35px!important;
  white-space:nowrap!important;
}
.clock-pill b{
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
}
.hamburger{
  width:58px!important;
  height:58px!important;
  border-radius:19px!important;
  gap:6px!important;
}
.hamburger span{
  width:31px!important;
  height:3px!important;
}
.drawer{
  width:min(330px,calc(100% - 24px))!important;
  padding:28px!important;
  border-radius:30px!important;
}
.drawer>button{
  right:18px!important;
  top:14px!important;
  width:42px!important;
  height:42px!important;
  border-radius:12px!important;
  font-size:34px!important;
  line-height:1!important;
}
.drawer>img{
  width:82px!important;
  height:82px!important;
}
.drawer>strong{
  margin:16px 0 24px!important;
  font-size:25px!important;
  line-height:1.15!important;
}
.drawer nav{
  gap:12px!important;
}
.drawer nav a,.drawer nav button{
  min-height:74px!important;
  padding:18px 20px!important;
  border-radius:19px!important;
  font-size:19px!important;
  line-height:1.2!important;
  font-weight:900!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.drawer nav button small{
  margin-top:4px!important;
  font-size:14px!important;
  line-height:1.2!important;
}
@media(max-width:360px){
  .clock-pill{padding:0 12px!important;gap:6px!important}
  .clock-pill #greeting,.clock-pill b{font-size:13px!important}
  .clock-pill .time-icon{min-width:18px!important;font-size:16px!important}
  .drawer{padding:24px!important}
  .drawer nav a,.drawer nav button{min-height:68px!important;font-size:18px!important}
}

/* Phân loại game: tiêu đề lớn + mục nhỏ */
.game-section-group{scroll-margin-top:92px;margin-top:26px}.game-section-title{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:29px;line-height:1.1;font-weight:900;letter-spacing:-.7px}.game-section-title span{font-size:25px}.game-category-group{scroll-margin-top:92px;margin:0 0 28px}.game-category-title{margin:0 0 12px;padding-left:2px;font-size:17px;font-weight:900;color:var(--ink);letter-spacing:.2px}.game-category-title:after{content:"";display:block;width:42px;height:3px;margin-top:7px;border-radius:99px;background:linear-gradient(90deg,#60b9eb,transparent)}
.drawer-profile{display:flex;align-items:center;gap:12px;margin:0 38px 16px 0}.drawer-profile img{width:52px;height:52px;border-radius:50%;object-fit:cover}.drawer-profile strong{font-size:18px}.drawer-group{display:grid;gap:7px}.drawer-parent{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between}.drawer-parent i{font-style:normal;font-size:18px;transition:.2s}.drawer-group.open .drawer-parent i{transform:rotate(180deg)}.drawer-submenu{display:none;padding:2px 0 4px 9px;gap:5px}.drawer-group.open .drawer-submenu{display:grid}.drawer-submenu a{min-height:42px!important;padding:9px 12px!important;font-size:13px!important;background:rgba(100,120,150,.08)!important}.drawer-submenu a span{margin-right:6px;opacity:.55}.drawer-section-link{font-weight:900!important;background:rgba(80,160,220,.13)!important}.category-admin-block{margin-top:14px;border:1px solid var(--line,#dde2ea);border-radius:16px;overflow:hidden}.category-admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:rgba(120,140,170,.08)}.category-admin-head b,.category-admin-head small{display:block}.category-admin-head small{margin-top:3px;opacity:.7}.admin-check{display:flex;align-items:center;gap:8px;margin:12px 0}.admin-check input{width:auto}
@media(max-width:390px){.game-section-title{font-size:25px}.drawer{width:calc(100% - 66px)!important;padding:18px!important}.drawer nav a,.drawer nav button{min-height:48px!important;font-size:15px!important}.drawer-submenu a{min-height:39px!important;font-size:12.5px!important}}

/* v70: một cấp tiêu đề + menu gọn */
.game-section-group{margin-top:28px;scroll-margin-top:90px}.game-section-title{margin:0 0 18px;font-size:30px}.key-section-group{margin-top:24px}.game-category-title,.game-category-group{display:none!important}
.drawer{top:50%;bottom:auto;right:18px;width:min(330px,calc(100% - 36px));max-height:min(620px,calc(100vh - 36px));padding:20px;border-radius:24px;transform:translate(110%,-50%);overflow:auto}.drawer.show{transform:translate(0,-50%)}.drawer-profile{margin-bottom:14px}.drawer-profile img{width:48px;height:48px}.drawer-profile strong{font-size:17px}.drawer nav{gap:8px}.drawer nav a,.drawer nav button{min-height:50px!important;padding:11px 14px!important;border-radius:14px!important;font-size:15px!important}.drawer-parent{flex-direction:row!important}.drawer-parent i{transform:rotate(0deg);font-size:23px}.drawer-group.open .drawer-parent i{transform:rotate(90deg)}.drawer-submenu{padding:4px 0 2px 12px;gap:5px}.drawer-submenu a{min-height:42px!important;padding:9px 12px!important;font-size:13px!important}.drawer>button{width:36px;height:36px;right:13px;top:12px;border-radius:10px;background:#f0f2f5;font-size:24px;line-height:1}
@media(max-width:390px){.drawer{right:14px;width:calc(100% - 52px)!important;padding:18px!important;max-height:calc(100vh - 34px)}.game-section-title{font-size:27px}}

/* Menu v2.1: căn thẳng hàng các mục chính */
.drawer nav a.drawer-direct-link,.drawer nav button.drawer-parent,.drawer nav button.drawer-theme-row{
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%;
}
.drawer-main-label{display:flex;align-items:center;gap:11px;min-width:0;text-align:left}
.drawer-item-icon{display:inline-grid;place-items:center;flex:0 0 25px;width:25px;font-size:18px;line-height:1;font-style:normal}
.drawer-direct-link>i{font-style:normal;font-size:23px;opacity:.7}
.drawer-theme-row .drawer-main-label>span{display:block}
.drawer-theme-row small{margin-top:2px}
.drawer-submenu{margin-left:36px!important;padding-left:0!important}
@media(max-width:390px){.drawer-item-icon{flex-basis:23px;width:23px;font-size:17px}.drawer-main-label{gap:9px}}

/* Preview badge + popup: tách biệt hoàn toàn với gallery trang chi tiết. */
.preview-pill{appearance:none;display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:3px 7px;border:1.5px solid #a9d5ef;border-radius:999px;background:#eef8ff;color:#5daee1;font:900 11px/1 Nunito,system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.preview-pill svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.preview-pill b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#d6efff;color:#57a8dc;font-size:10px;line-height:1}
.key-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:7px}
.key-tags .key-platform-badge{order:initial!important;margin-top:0!important}
.key-card .open-icon{display:grid;text-decoration:none}
.gallery-modal[hidden]{display:none!important}
.gallery-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .18s ease}
.gallery-modal.show{opacity:1;pointer-events:auto}
.gallery-backdrop{position:absolute;inset:0;background:rgba(16,18,22,.78);backdrop-filter:blur(7px)}
.gallery-dialog{position:relative;width:min(620px,100%);max-height:calc(100dvh - 40px);overflow:hidden;border-radius:25px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.34);transform:translateY(10px) scale(.985);transition:transform .18s ease}
.gallery-modal.show .gallery-dialog{transform:none}
.gallery-dialog header{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:14px 18px;border-bottom:1px solid #e2e5e9}
.gallery-dialog h3{margin:0;font-size:20px;line-height:1.2;font-weight:900}
.gallery-dialog header button{width:48px;height:48px;border:0;border-radius:15px;background:#f0f2f5;color:#7c838e;font-size:38px;line-height:1;cursor:pointer}
.gallery-stage{position:relative;margin:18px 18px 0;height:min(48vw,350px);min-height:210px;border-radius:20px;overflow:hidden;background:#090d13}
.gallery-stage>img{display:block;width:100%;height:100%;object-fit:contain}
.gallery-stage button{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(0,0,0,.52);color:#fff;font-size:34px;line-height:1;display:grid;place-items:center;cursor:pointer}
.gallery-prev{left:12px}.gallery-next{right:12px}
.gallery-stage span{position:absolute;right:12px;top:12px;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff;font-size:12px;font-weight:900}
.gallery-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:88px;gap:10px;overflow-x:auto;padding:18px;scrollbar-width:none}
.gallery-thumbs::-webkit-scrollbar{display:none}
.gallery-thumbs button{padding:0;border:2px solid transparent;border-radius:12px;background:transparent;overflow:hidden;aspect-ratio:1.45;cursor:pointer}
.gallery-thumbs button.active{border-color:#2f9ee8}
.gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
body.gallery-open{overflow:hidden}
:root[data-theme="dark"] .gallery-dialog{background:#131820;color:#f5f7fb}
:root[data-theme="dark"] .gallery-dialog header{border-color:#2a323d}
:root[data-theme="dark"] .gallery-dialog header button{background:#202731;color:#c6ccd5}
@media(max-width:520px){.gallery-modal{padding:18px}.gallery-dialog{border-radius:24px}.gallery-dialog header{min-height:66px}.gallery-dialog h3{font-size:18px}.gallery-stage{height:48vw;min-height:220px;margin:14px 14px 0}.gallery-thumbs{grid-auto-columns:82px;padding:14px}.preview-pill{padding:3px 7px}}

/* v7: preview pill compact, same size as Android/iOS badge; hide title icons */
.game-section-title>span{display:none!important}
.preview-pill{
  min-height:24px!important;
  padding:3px 10px!important;
  gap:5px!important;
  border-width:1.5px!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
}
.preview-pill svg{width:13px!important;height:13px!important}
.preview-pill b{display:none!important}
.key-tags .preview-pill,.mod-tags .preview-pill{margin:0!important;align-self:center!important}
@media(max-width:520px){
  .preview-pill{min-height:24px!important;padding:3px 8px!important;font-size:10.5px!important}
  .preview-pill svg{width:13px!important;height:13px!important}
}
